mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-06 03:21:12 +07:00
IDEA-215432: UnstableApiUsage\ScheduledForRemoval inspections: check if containing declaration is marked with annotation
If a class is marked with @ApiStatus.Internal annotation, all its methods must be considered internal, even if invocation is performed via a subclass and no explicit reference onto a class exists. If a package is marked with @ApiStatus.Internal, all its classes and their members must be considered internal. GitOrigin-RevId: f8bcb2a91cf958b878cd45a58d4fed69297fd372
This commit is contained in:
committed by
intellij-monorepo-bot
parent
fcac91fe5f
commit
f04eaad9a2
@@ -3,6 +3,7 @@ package com.intellij.codeInspection
|
||||
|
||||
import com.intellij.analysis.JvmAnalysisBundle
|
||||
import com.intellij.codeInsight.AnnotationUtil
|
||||
import com.intellij.codeInspection.UnstableApiUsageInspection.Companion.findAnnotationOfItselfOrContainingDeclaration
|
||||
import com.intellij.codeInspection.apiUsage.ApiUsageProcessor
|
||||
import com.intellij.codeInspection.apiUsage.ApiUsageUastVisitor
|
||||
import com.intellij.codeInspection.deprecation.DeprecationInspectionBase
|
||||
@@ -37,14 +38,6 @@ private class ScheduledForRemovalApiUsageProcessor(
|
||||
private companion object {
|
||||
private val ANNOTATION_NAME = ApiStatus.ScheduledForRemoval::class.java.canonicalName
|
||||
|
||||
fun findScheduledForRemovalAnnotation(psiModifierListOwner: PsiModifierListOwner): PsiAnnotation? {
|
||||
val ownAnnotation = AnnotationUtil.findAnnotation(psiModifierListOwner, listOf(ANNOTATION_NAME), false)
|
||||
if (ownAnnotation != null) {
|
||||
return ownAnnotation
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
fun isLibraryElement(element: PsiElement): Boolean {
|
||||
if (ApplicationManager.getApplication().isUnitTestMode) {
|
||||
return true
|
||||
@@ -81,7 +74,10 @@ private class ScheduledForRemovalApiUsageProcessor(
|
||||
if (!isLibraryElement(target)) {
|
||||
return
|
||||
}
|
||||
val scheduledForRemovalAnnotation = findScheduledForRemovalAnnotation(target) ?: return
|
||||
val scheduledForRemovalAnnotation = findAnnotationOfItselfOrContainingDeclaration(target, listOf(ANNOTATION_NAME), false)
|
||||
if (scheduledForRemovalAnnotation == null) {
|
||||
return
|
||||
}
|
||||
val elementToHighlight = (sourceNode as? UDeclaration)?.uastAnchor.sourcePsiElement ?: sourceNode.sourcePsi
|
||||
if (elementToHighlight != null) {
|
||||
val message = buildMessage(scheduledForRemovalAnnotation, target, isMethodOverriding)
|
||||
|
||||
@@ -10,10 +10,7 @@ import com.intellij.codeInspection.ui.SingleCheckboxOptionsPanel
|
||||
import com.intellij.codeInspection.util.SpecialAnnotationsUtil
|
||||
import com.intellij.openapi.application.ApplicationManager
|
||||
import com.intellij.openapi.roots.ProjectFileIndex
|
||||
import com.intellij.psi.PsiClass
|
||||
import com.intellij.psi.PsiElement
|
||||
import com.intellij.psi.PsiMethod
|
||||
import com.intellij.psi.PsiModifierListOwner
|
||||
import com.intellij.psi.*
|
||||
import com.intellij.psi.util.PsiUtilCore
|
||||
import com.intellij.util.ArrayUtilRt
|
||||
import com.siyeh.ig.ui.ExternalizableStringSet
|
||||
@@ -35,6 +32,26 @@ class UnstableApiUsageInspection : LocalInspectionTool() {
|
||||
"org.apache.http.annotation.Beta",
|
||||
"org.gradle.api.Incubating"
|
||||
)
|
||||
|
||||
fun findAnnotationOfItselfOrContainingDeclaration(
|
||||
listOwner: PsiModifierListOwner,
|
||||
annotationNames: Collection<String>,
|
||||
includeExternalAnnotations: Boolean
|
||||
): PsiAnnotation? {
|
||||
val annotation = AnnotationUtil.findAnnotation(listOwner, annotationNames, !includeExternalAnnotations)
|
||||
if (annotation != null) {
|
||||
return annotation
|
||||
}
|
||||
if (listOwner is PsiMember) {
|
||||
val containingClass = listOwner.containingClass
|
||||
if (containingClass != null) {
|
||||
return findAnnotationOfItselfOrContainingDeclaration(containingClass, annotationNames, includeExternalAnnotations)
|
||||
}
|
||||
}
|
||||
val packageName = (listOwner.containingFile as? PsiClassOwner)?.packageName ?: return null
|
||||
val psiPackage = JavaPsiFacade.getInstance(listOwner.project).findPackage(packageName) ?: return null
|
||||
return findAnnotationOfItselfOrContainingDeclaration(psiPackage, annotationNames, includeExternalAnnotations)
|
||||
}
|
||||
}
|
||||
|
||||
@JvmField
|
||||
@@ -70,7 +87,7 @@ class UnstableApiUsageInspection : LocalInspectionTool() {
|
||||
private class UnstableApiUsageProcessor(
|
||||
private val problemsHolder: ProblemsHolder,
|
||||
private val ignoreInsideImports: Boolean,
|
||||
private val annotations: List<String>
|
||||
private val unstableAnnotationNames: List<String>
|
||||
) : ApiUsageProcessor {
|
||||
|
||||
private companion object {
|
||||
@@ -112,8 +129,8 @@ private class UnstableApiUsageProcessor(
|
||||
if (!isLibraryElement(target)) {
|
||||
return
|
||||
}
|
||||
val annotations = AnnotationUtil.findAllAnnotations(target, annotations, false)
|
||||
if (annotations.isEmpty()) {
|
||||
val unstableAnnotation = UnstableApiUsageInspection.findAnnotationOfItselfOrContainingDeclaration(target, unstableAnnotationNames, true)
|
||||
if (unstableAnnotation == null) {
|
||||
return
|
||||
}
|
||||
val targetName = getPresentableName(target)
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.intellij.codeInspection
|
||||
|
||||
import com.intellij.analysis.JvmAnalysisBundle
|
||||
import com.intellij.codeInspection.UnstableApiUsageInspection.Companion.DEFAULT_UNSTABLE_API_ANNOTATIONS
|
||||
import com.intellij.codeInspection.UnstableApiUsageInspection.Companion.findAnnotationOfItselfOrContainingDeclaration
|
||||
import com.intellij.codeInspection.util.SpecialAnnotationsUtil
|
||||
import com.intellij.lang.jvm.JvmModifier
|
||||
import com.intellij.psi.*
|
||||
@@ -122,32 +123,32 @@ class UnstableTypeUsedInSignatureInspection : LocalInspectionTool() {
|
||||
}
|
||||
|
||||
private fun checkReferencesUnstableType(psiType: PsiType, declaration: UDeclaration): Boolean {
|
||||
val (typeName, unstableAnnotationName) = findReferencedUnstableType(psiType.deepComponentType) ?: return false
|
||||
val (unstableClass, unstableAnnotation) = findReferencedUnstableType(psiType.deepComponentType) ?: return false
|
||||
val className = unstableClass.qualifiedName ?: return false
|
||||
val annotationName = unstableAnnotation.qualifiedName ?: return false
|
||||
val message = when (declaration) {
|
||||
is UMethod -> JvmAnalysisBundle.message("jvm.inspections.unstable.type.used.in.method.signature.description", unstableAnnotationName, typeName)
|
||||
is UField -> JvmAnalysisBundle.message("jvm.inspections.unstable.type.used.in.field.signature.description", unstableAnnotationName, typeName)
|
||||
else -> JvmAnalysisBundle.message("jvm.inspections.unstable.type.used.in.class.signature.description", unstableAnnotationName, typeName)
|
||||
is UMethod -> JvmAnalysisBundle.message("jvm.inspections.unstable.type.used.in.method.signature.description", annotationName, className)
|
||||
is UField -> JvmAnalysisBundle.message("jvm.inspections.unstable.type.used.in.field.signature.description", annotationName, className)
|
||||
else -> JvmAnalysisBundle.message("jvm.inspections.unstable.type.used.in.class.signature.description", annotationName, className)
|
||||
}
|
||||
val elementToHighlight = declaration.uastAnchor.sourcePsiElement ?: return false
|
||||
problemsHolder.registerProblem(elementToHighlight, message, ProblemHighlightType.GENERIC_ERROR_OR_WARNING)
|
||||
return true
|
||||
}
|
||||
|
||||
//Returns <class name> and <unstable annotation name>
|
||||
private fun findReferencedUnstableType(psiType: PsiType): Pair<String, String>? {
|
||||
private fun findReferencedUnstableType(psiType: PsiType): Pair<PsiClass, PsiAnnotation>? {
|
||||
if (psiType is PsiClassType) {
|
||||
val uClass = psiType.resolve()?.toUElement(UClass::class.java)
|
||||
if (uClass != null) {
|
||||
val unstableApiAnnotation = findUnstableAnnotation(uClass)
|
||||
val psiClass = psiType.resolve()
|
||||
if (psiClass != null) {
|
||||
val unstableApiAnnotation = findAnnotationOfItselfOrContainingDeclaration(psiClass, unstableApiAnnotations, false)
|
||||
if (unstableApiAnnotation != null) {
|
||||
val className = uClass.qualifiedName ?: psiType.className
|
||||
return className to unstableApiAnnotation
|
||||
return psiClass to unstableApiAnnotation
|
||||
}
|
||||
}
|
||||
for (parameterType in psiType.parameters) {
|
||||
val unstableType = findReferencedUnstableType(parameterType)
|
||||
if (unstableType != null) {
|
||||
return unstableType
|
||||
val parameterResult = findReferencedUnstableType(parameterType)
|
||||
if (parameterResult != null) {
|
||||
return parameterResult
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
import pkg.<warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning>;
|
||||
import static pkg.<warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning>.NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS;
|
||||
import static pkg.<warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning>.staticNonAnnotatedMethodInAnnotatedClass;
|
||||
import static pkg.<warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning>.<warning descr="'NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS' is scheduled for removal in 123.456">NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS</warning>;
|
||||
import static pkg.<warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning>.<warning descr="'staticNonAnnotatedMethodInAnnotatedClass()' is scheduled for removal in 123.456">staticNonAnnotatedMethodInAnnotatedClass</warning>;
|
||||
import static pkg.<warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning>.<warning descr="'ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS' is scheduled for removal in 123.456">ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS</warning>;
|
||||
import static pkg.<warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning>.<warning descr="'staticAnnotatedMethodInAnnotatedClass()' is scheduled for removal in 123.456">staticAnnotatedMethodInAnnotatedClass</warning>;
|
||||
|
||||
@@ -13,7 +13,7 @@ import static pkg.NonAnnotatedClass.<warning descr="'staticAnnotatedMethodInNonA
|
||||
|
||||
import pkg.<warning descr="'pkg.AnnotatedEnum' is scheduled for removal in 123.456">AnnotatedEnum</warning>;
|
||||
import pkg.NonAnnotatedEnum;
|
||||
import static pkg.<warning descr="'pkg.AnnotatedEnum' is scheduled for removal in 123.456">AnnotatedEnum</warning>.NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM;
|
||||
import static pkg.<warning descr="'pkg.AnnotatedEnum' is scheduled for removal in 123.456">AnnotatedEnum</warning>.<warning descr="'NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is scheduled for removal in 123.456">NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>;
|
||||
import static pkg.<warning descr="'pkg.AnnotatedEnum' is scheduled for removal in 123.456">AnnotatedEnum</warning>.<warning descr="'ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is scheduled for removal in 123.456">ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>;
|
||||
import static pkg.NonAnnotatedEnum.NON_ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM;
|
||||
import static pkg.NonAnnotatedEnum.<warning descr="'ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM' is scheduled for removal in 123.456">ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM</warning>;
|
||||
@@ -21,17 +21,17 @@ import static pkg.NonAnnotatedEnum.<warning descr="'ANNOTATED_VALUE_IN_NON_ANNOT
|
||||
import pkg.<warning descr="'pkg.AnnotatedAnnotation' is scheduled for removal in 123.456">AnnotatedAnnotation</warning>;
|
||||
import pkg.NonAnnotatedAnnotation;
|
||||
|
||||
import <warning descr="'annotatedPkg' is scheduled for removal in 123.456">annotatedPkg</warning>.ClassInAnnotatedPkg;
|
||||
import <warning descr="'annotatedPkg' is scheduled for removal in 123.456">annotatedPkg</warning>.<warning descr="'annotatedPkg.ClassInAnnotatedPkg' is scheduled for removal in 123.456">ClassInAnnotatedPkg</warning>;
|
||||
|
||||
public class ScheduledForRemovalElementsTest {
|
||||
public void test() {
|
||||
String s = <warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning>.NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS;
|
||||
<warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning>.staticNonAnnotatedMethodInAnnotatedClass();
|
||||
<warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning> annotatedClassInstanceViaNonAnnotatedConstructor = new <warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning>();
|
||||
s = annotatedClassInstanceViaNonAnnotatedConstructor.nonAnnotatedFieldInAnnotatedClass;
|
||||
annotatedClassInstanceViaNonAnnotatedConstructor.nonAnnotatedMethodInAnnotatedClass();
|
||||
s = NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS;
|
||||
staticNonAnnotatedMethodInAnnotatedClass();
|
||||
String s = <warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning>.<warning descr="'NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS' is scheduled for removal in 123.456">NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS</warning>;
|
||||
<warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning>.<warning descr="'staticNonAnnotatedMethodInAnnotatedClass()' is scheduled for removal in 123.456">staticNonAnnotatedMethodInAnnotatedClass</warning>();
|
||||
<warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning> annotatedClassInstanceViaNonAnnotatedConstructor = new <warning descr="'AnnotatedClass()' is scheduled for removal in 123.456"><warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning></warning>();
|
||||
s = annotatedClassInstanceViaNonAnnotatedConstructor.<warning descr="'nonAnnotatedFieldInAnnotatedClass' is scheduled for removal in 123.456">nonAnnotatedFieldInAnnotatedClass</warning>;
|
||||
annotatedClassInstanceViaNonAnnotatedConstructor.<warning descr="'nonAnnotatedMethodInAnnotatedClass()' is scheduled for removal in 123.456">nonAnnotatedMethodInAnnotatedClass</warning>();
|
||||
s = <warning descr="'NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS' is scheduled for removal in 123.456">NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS</warning>;
|
||||
<warning descr="'staticNonAnnotatedMethodInAnnotatedClass()' is scheduled for removal in 123.456">staticNonAnnotatedMethodInAnnotatedClass</warning>();
|
||||
|
||||
s = <warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning>.<warning descr="'ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS' is scheduled for removal in 123.456">ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS</warning>;
|
||||
<warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning>.<warning descr="'staticAnnotatedMethodInAnnotatedClass()' is scheduled for removal in 123.456">staticAnnotatedMethodInAnnotatedClass</warning>();
|
||||
@@ -61,8 +61,8 @@ public class ScheduledForRemovalElementsTest {
|
||||
|
||||
// ---------------------------------
|
||||
|
||||
<warning descr="'pkg.AnnotatedEnum' is scheduled for removal in 123.456">AnnotatedEnum</warning> nonAnnotatedValueInAnnotatedEnum = <warning descr="'pkg.AnnotatedEnum' is scheduled for removal in 123.456">AnnotatedEnum</warning>.NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM;
|
||||
nonAnnotatedValueInAnnotatedEnum = NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM;
|
||||
<warning descr="'pkg.AnnotatedEnum' is scheduled for removal in 123.456">AnnotatedEnum</warning> nonAnnotatedValueInAnnotatedEnum = <warning descr="'pkg.AnnotatedEnum' is scheduled for removal in 123.456">AnnotatedEnum</warning>.<warning descr="'NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is scheduled for removal in 123.456">NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>;
|
||||
nonAnnotatedValueInAnnotatedEnum = <warning descr="'NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is scheduled for removal in 123.456">NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>;
|
||||
<warning descr="'pkg.AnnotatedEnum' is scheduled for removal in 123.456">AnnotatedEnum</warning> annotatedValueInAnnotatedEnum = <warning descr="'pkg.AnnotatedEnum' is scheduled for removal in 123.456">AnnotatedEnum</warning>.<warning descr="'ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is scheduled for removal in 123.456">ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>;
|
||||
annotatedValueInAnnotatedEnum = <warning descr="'ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is scheduled for removal in 123.456">ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>;
|
||||
|
||||
@@ -74,7 +74,7 @@ public class ScheduledForRemovalElementsTest {
|
||||
// ---------------------------------
|
||||
|
||||
@<warning descr="'pkg.AnnotatedAnnotation' is scheduled for removal in 123.456">AnnotatedAnnotation</warning> class C1 {}
|
||||
@<warning descr="'pkg.AnnotatedAnnotation' is scheduled for removal in 123.456">AnnotatedAnnotation</warning>(nonAnnotatedAttributeInAnnotatedAnnotation = "123") class C2 {}
|
||||
@<warning descr="'pkg.AnnotatedAnnotation' is scheduled for removal in 123.456">AnnotatedAnnotation</warning>(<warning descr="'nonAnnotatedAttributeInAnnotatedAnnotation' is scheduled for removal in 123.456">nonAnnotatedAttributeInAnnotatedAnnotation</warning> = "123") class C2 {}
|
||||
@<warning descr="'pkg.AnnotatedAnnotation' is scheduled for removal in 123.456">AnnotatedAnnotation</warning>(<warning descr="'annotatedAttributeInAnnotatedAnnotation' is scheduled for removal in 123.456">annotatedAttributeInAnnotatedAnnotation</warning> = "123") class C3 {}
|
||||
@NonAnnotatedAnnotation class C4 {}
|
||||
@NonAnnotatedAnnotation(nonAnnotatedAttributeInNonAnnotatedAnnotation = "123") class C5 {}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import pkg.<warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning>
|
||||
import pkg.<warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning>.NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS
|
||||
import pkg.<warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning>.staticNonAnnotatedMethodInAnnotatedClass
|
||||
import pkg.<warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning>.<warning descr="'NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS' is scheduled for removal in 123.456">NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS</warning>
|
||||
import pkg.<warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning>.<warning descr="'staticNonAnnotatedMethodInAnnotatedClass()' is scheduled for removal in 123.456">staticNonAnnotatedMethodInAnnotatedClass</warning>
|
||||
import pkg.<warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning>.<warning descr="'ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS' is scheduled for removal in 123.456">ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS</warning>
|
||||
import pkg.<warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning>.<warning descr="'staticAnnotatedMethodInAnnotatedClass()' is scheduled for removal in 123.456">staticAnnotatedMethodInAnnotatedClass</warning>
|
||||
|
||||
@@ -12,7 +12,7 @@ import pkg.NonAnnotatedClass.<warning descr="'staticAnnotatedMethodInNonAnnotate
|
||||
|
||||
import pkg.<warning descr="'pkg.AnnotatedEnum' is scheduled for removal in 123.456">AnnotatedEnum</warning>
|
||||
import pkg.NonAnnotatedEnum
|
||||
import pkg.<warning descr="'pkg.AnnotatedEnum' is scheduled for removal in 123.456">AnnotatedEnum</warning>.NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM
|
||||
import pkg.<warning descr="'pkg.AnnotatedEnum' is scheduled for removal in 123.456">AnnotatedEnum</warning>.<warning descr="'NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is scheduled for removal in 123.456">NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>
|
||||
import pkg.<warning descr="'pkg.AnnotatedEnum' is scheduled for removal in 123.456">AnnotatedEnum</warning>.<warning descr="'ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is scheduled for removal in 123.456">ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>
|
||||
import pkg.NonAnnotatedEnum.NON_ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM
|
||||
import pkg.NonAnnotatedEnum.<warning descr="'ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM' is scheduled for removal in 123.456">ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM</warning>
|
||||
@@ -20,18 +20,18 @@ import pkg.NonAnnotatedEnum.<warning descr="'ANNOTATED_VALUE_IN_NON_ANNOTATED_EN
|
||||
import pkg.<warning descr="'pkg.AnnotatedAnnotation' is scheduled for removal in 123.456">AnnotatedAnnotation</warning>
|
||||
import pkg.NonAnnotatedAnnotation
|
||||
|
||||
import <warning descr="'annotatedPkg' is scheduled for removal in 123.456">annotatedPkg</warning>.ClassInAnnotatedPkg
|
||||
import <warning descr="'annotatedPkg' is scheduled for removal in 123.456">annotatedPkg</warning>.<warning descr="'annotatedPkg.ClassInAnnotatedPkg' is scheduled for removal in 123.456">ClassInAnnotatedPkg</warning>
|
||||
|
||||
@Suppress("ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE", "UNUSED_VALUE")
|
||||
class ScheduledForRemovalElementsTest {
|
||||
fun test() {
|
||||
var s = <warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning>.NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS
|
||||
<warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning>.staticNonAnnotatedMethodInAnnotatedClass()
|
||||
val annotatedClassInstanceViaNonAnnotatedConstructor : <warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning> = <warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning>()
|
||||
s = annotatedClassInstanceViaNonAnnotatedConstructor.nonAnnotatedFieldInAnnotatedClass
|
||||
annotatedClassInstanceViaNonAnnotatedConstructor.nonAnnotatedMethodInAnnotatedClass()
|
||||
s = NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS
|
||||
staticNonAnnotatedMethodInAnnotatedClass()
|
||||
var s = <warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning>.<warning descr="'NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS' is scheduled for removal in 123.456">NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS</warning>
|
||||
<warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning>.<warning descr="'staticNonAnnotatedMethodInAnnotatedClass()' is scheduled for removal in 123.456">staticNonAnnotatedMethodInAnnotatedClass</warning>()
|
||||
val annotatedClassInstanceViaNonAnnotatedConstructor : <warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning> = <warning descr="'AnnotatedClass()' is scheduled for removal in 123.456"><warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning></warning>()
|
||||
s = annotatedClassInstanceViaNonAnnotatedConstructor.<warning descr="'nonAnnotatedFieldInAnnotatedClass' is scheduled for removal in 123.456">nonAnnotatedFieldInAnnotatedClass</warning>
|
||||
annotatedClassInstanceViaNonAnnotatedConstructor.<warning descr="'nonAnnotatedMethodInAnnotatedClass()' is scheduled for removal in 123.456">nonAnnotatedMethodInAnnotatedClass</warning>()
|
||||
s = <warning descr="'NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS' is scheduled for removal in 123.456">NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS</warning>
|
||||
<warning descr="'staticNonAnnotatedMethodInAnnotatedClass()' is scheduled for removal in 123.456">staticNonAnnotatedMethodInAnnotatedClass</warning>()
|
||||
|
||||
s = <warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning>.<warning descr="'ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS' is scheduled for removal in 123.456">ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS</warning>
|
||||
<warning descr="'pkg.AnnotatedClass' is scheduled for removal in 123.456">AnnotatedClass</warning>.<warning descr="'staticAnnotatedMethodInAnnotatedClass()' is scheduled for removal in 123.456">staticAnnotatedMethodInAnnotatedClass</warning>()
|
||||
@@ -61,8 +61,8 @@ class ScheduledForRemovalElementsTest {
|
||||
|
||||
// ---------------------------------
|
||||
|
||||
var nonAnnotatedValueInAnnotatedEnum : <warning descr="'pkg.AnnotatedEnum' is scheduled for removal in 123.456">AnnotatedEnum</warning> = <warning descr="'pkg.AnnotatedEnum' is scheduled for removal in 123.456">AnnotatedEnum</warning>.NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM
|
||||
nonAnnotatedValueInAnnotatedEnum = NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM
|
||||
var nonAnnotatedValueInAnnotatedEnum : <warning descr="'pkg.AnnotatedEnum' is scheduled for removal in 123.456">AnnotatedEnum</warning> = <warning descr="'pkg.AnnotatedEnum' is scheduled for removal in 123.456">AnnotatedEnum</warning>.<warning descr="'NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is scheduled for removal in 123.456">NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>
|
||||
nonAnnotatedValueInAnnotatedEnum = <warning descr="'NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is scheduled for removal in 123.456">NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>
|
||||
var annotatedValueInAnnotatedEnum : <warning descr="'pkg.AnnotatedEnum' is scheduled for removal in 123.456">AnnotatedEnum</warning> = <warning descr="'pkg.AnnotatedEnum' is scheduled for removal in 123.456">AnnotatedEnum</warning>.<warning descr="'ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is scheduled for removal in 123.456">ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>
|
||||
annotatedValueInAnnotatedEnum = <warning descr="'ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is scheduled for removal in 123.456">ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>
|
||||
|
||||
@@ -74,7 +74,7 @@ class ScheduledForRemovalElementsTest {
|
||||
// ---------------------------------
|
||||
|
||||
@<warning descr="'pkg.AnnotatedAnnotation' is scheduled for removal in 123.456">AnnotatedAnnotation</warning> class C1
|
||||
@<warning descr="'pkg.AnnotatedAnnotation' is scheduled for removal in 123.456">AnnotatedAnnotation</warning>(nonAnnotatedAttributeInAnnotatedAnnotation = "123") class C2
|
||||
@<warning descr="'pkg.AnnotatedAnnotation' is scheduled for removal in 123.456">AnnotatedAnnotation</warning>(<warning descr="'nonAnnotatedAttributeInAnnotatedAnnotation' is scheduled for removal in 123.456">nonAnnotatedAttributeInAnnotatedAnnotation</warning> = "123") class C2
|
||||
@<warning descr="'pkg.AnnotatedAnnotation' is scheduled for removal in 123.456">AnnotatedAnnotation</warning>(<warning descr="'annotatedAttributeInAnnotatedAnnotation' is scheduled for removal in 123.456">annotatedAttributeInAnnotatedAnnotation</warning> = "123") class C3
|
||||
@NonAnnotatedAnnotation class C4
|
||||
@NonAnnotatedAnnotation(nonAnnotatedAttributeInNonAnnotatedAnnotation = "123") class C5
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
import pkg.<warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning>;
|
||||
import static pkg.<warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning>.NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS;
|
||||
import static pkg.<warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning>.staticNonAnnotatedMethodInAnnotatedClass;
|
||||
import static pkg.<warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning>.<warning descr="'NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS' is marked unstable">NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS</warning>;
|
||||
import static pkg.<warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning>.<warning descr="'staticNonAnnotatedMethodInAnnotatedClass()' is marked unstable">staticNonAnnotatedMethodInAnnotatedClass</warning>;
|
||||
import static pkg.<warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning>.<warning descr="'ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS' is marked unstable">ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS</warning>;
|
||||
import static pkg.<warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning>.<warning descr="'staticAnnotatedMethodInAnnotatedClass()' is marked unstable">staticAnnotatedMethodInAnnotatedClass</warning>;
|
||||
|
||||
@@ -13,7 +13,7 @@ import static pkg.NonAnnotatedClass.<warning descr="'staticAnnotatedMethodInNonA
|
||||
|
||||
import pkg.<warning descr="'pkg.AnnotatedEnum' is marked unstable">AnnotatedEnum</warning>;
|
||||
import pkg.NonAnnotatedEnum;
|
||||
import static pkg.<warning descr="'pkg.AnnotatedEnum' is marked unstable">AnnotatedEnum</warning>.NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM;
|
||||
import static pkg.<warning descr="'pkg.AnnotatedEnum' is marked unstable">AnnotatedEnum</warning>.<warning descr="'NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is marked unstable">NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>;
|
||||
import static pkg.<warning descr="'pkg.AnnotatedEnum' is marked unstable">AnnotatedEnum</warning>.<warning descr="'ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is marked unstable">ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>;
|
||||
import static pkg.NonAnnotatedEnum.NON_ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM;
|
||||
import static pkg.NonAnnotatedEnum.<warning descr="'ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM' is marked unstable">ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM</warning>;
|
||||
@@ -21,17 +21,17 @@ import static pkg.NonAnnotatedEnum.<warning descr="'ANNOTATED_VALUE_IN_NON_ANNOT
|
||||
import pkg.<warning descr="'pkg.AnnotatedAnnotation' is marked unstable">AnnotatedAnnotation</warning>;
|
||||
import pkg.NonAnnotatedAnnotation;
|
||||
|
||||
import <warning descr="'annotatedPkg' is marked unstable">annotatedPkg</warning>.ClassInAnnotatedPkg;
|
||||
import <warning descr="'annotatedPkg' is marked unstable">annotatedPkg</warning>.<warning descr="'annotatedPkg.ClassInAnnotatedPkg' is marked unstable">ClassInAnnotatedPkg</warning>;
|
||||
|
||||
public class UnstableElementsTest {
|
||||
public void test() {
|
||||
String s = <warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning>.NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS;
|
||||
<warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning>.staticNonAnnotatedMethodInAnnotatedClass();
|
||||
<warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning> annotatedClassInstanceViaNonAnnotatedConstructor = new <warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning>();
|
||||
s = annotatedClassInstanceViaNonAnnotatedConstructor.nonAnnotatedFieldInAnnotatedClass;
|
||||
annotatedClassInstanceViaNonAnnotatedConstructor.nonAnnotatedMethodInAnnotatedClass();
|
||||
s = NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS;
|
||||
staticNonAnnotatedMethodInAnnotatedClass();
|
||||
String s = <warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning>.<warning descr="'NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS' is marked unstable">NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS</warning>;
|
||||
<warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning>.<warning descr="'staticNonAnnotatedMethodInAnnotatedClass()' is marked unstable">staticNonAnnotatedMethodInAnnotatedClass</warning>();
|
||||
<warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning> annotatedClassInstanceViaNonAnnotatedConstructor = new <warning descr="'AnnotatedClass()' is marked unstable"><warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning></warning>();
|
||||
s = annotatedClassInstanceViaNonAnnotatedConstructor.<warning descr="'nonAnnotatedFieldInAnnotatedClass' is marked unstable">nonAnnotatedFieldInAnnotatedClass</warning>;
|
||||
annotatedClassInstanceViaNonAnnotatedConstructor.<warning descr="'nonAnnotatedMethodInAnnotatedClass()' is marked unstable">nonAnnotatedMethodInAnnotatedClass</warning>();
|
||||
s = <warning descr="'NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS' is marked unstable">NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS</warning>;
|
||||
<warning descr="'staticNonAnnotatedMethodInAnnotatedClass()' is marked unstable">staticNonAnnotatedMethodInAnnotatedClass</warning>();
|
||||
|
||||
s = <warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning>.<warning descr="'ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS' is marked unstable">ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS</warning>;
|
||||
<warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning>.<warning descr="'staticAnnotatedMethodInAnnotatedClass()' is marked unstable">staticAnnotatedMethodInAnnotatedClass</warning>();
|
||||
@@ -61,8 +61,8 @@ public class UnstableElementsTest {
|
||||
|
||||
// ---------------------------------
|
||||
|
||||
<warning descr="'pkg.AnnotatedEnum' is marked unstable">AnnotatedEnum</warning> nonAnnotatedValueInAnnotatedEnum = <warning descr="'pkg.AnnotatedEnum' is marked unstable">AnnotatedEnum</warning>.NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM;
|
||||
nonAnnotatedValueInAnnotatedEnum = NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM;
|
||||
<warning descr="'pkg.AnnotatedEnum' is marked unstable">AnnotatedEnum</warning> nonAnnotatedValueInAnnotatedEnum = <warning descr="'pkg.AnnotatedEnum' is marked unstable">AnnotatedEnum</warning>.<warning descr="'NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is marked unstable">NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>;
|
||||
nonAnnotatedValueInAnnotatedEnum = <warning descr="'NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is marked unstable">NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>;
|
||||
<warning descr="'pkg.AnnotatedEnum' is marked unstable">AnnotatedEnum</warning> annotatedValueInAnnotatedEnum = <warning descr="'pkg.AnnotatedEnum' is marked unstable">AnnotatedEnum</warning>.<warning descr="'ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is marked unstable">ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>;
|
||||
annotatedValueInAnnotatedEnum = <warning descr="'ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is marked unstable">ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>;
|
||||
|
||||
@@ -74,7 +74,7 @@ public class UnstableElementsTest {
|
||||
// ---------------------------------
|
||||
|
||||
@<warning descr="'pkg.AnnotatedAnnotation' is marked unstable">AnnotatedAnnotation</warning> class C1 {}
|
||||
@<warning descr="'pkg.AnnotatedAnnotation' is marked unstable">AnnotatedAnnotation</warning>(nonAnnotatedAttributeInAnnotatedAnnotation = "123") class C2 {}
|
||||
@<warning descr="'pkg.AnnotatedAnnotation' is marked unstable">AnnotatedAnnotation</warning>(<warning descr="'nonAnnotatedAttributeInAnnotatedAnnotation' is marked unstable">nonAnnotatedAttributeInAnnotatedAnnotation</warning> = "123") class C2 {}
|
||||
@<warning descr="'pkg.AnnotatedAnnotation' is marked unstable">AnnotatedAnnotation</warning>(<warning descr="'annotatedAttributeInAnnotatedAnnotation' is marked unstable">annotatedAttributeInAnnotatedAnnotation</warning> = "123") class C3 {}
|
||||
@NonAnnotatedAnnotation class C4 {}
|
||||
@NonAnnotatedAnnotation(nonAnnotatedAttributeInNonAnnotatedAnnotation = "123") class C5 {}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import pkg.<warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning>
|
||||
import pkg.<warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning>.NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS
|
||||
import pkg.<warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning>.staticNonAnnotatedMethodInAnnotatedClass
|
||||
import pkg.<warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning>.<warning descr="'NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS' is marked unstable">NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS</warning>
|
||||
import pkg.<warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning>.<warning descr="'staticNonAnnotatedMethodInAnnotatedClass()' is marked unstable">staticNonAnnotatedMethodInAnnotatedClass</warning>
|
||||
import pkg.<warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning>.<warning descr="'ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS' is marked unstable">ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS</warning>
|
||||
import pkg.<warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning>.<warning descr="'staticAnnotatedMethodInAnnotatedClass()' is marked unstable">staticAnnotatedMethodInAnnotatedClass</warning>
|
||||
|
||||
@@ -12,7 +12,7 @@ import pkg.NonAnnotatedClass.<warning descr="'staticAnnotatedMethodInNonAnnotate
|
||||
|
||||
import pkg.<warning descr="'pkg.AnnotatedEnum' is marked unstable">AnnotatedEnum</warning>
|
||||
import pkg.NonAnnotatedEnum
|
||||
import pkg.<warning descr="'pkg.AnnotatedEnum' is marked unstable">AnnotatedEnum</warning>.NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM
|
||||
import pkg.<warning descr="'pkg.AnnotatedEnum' is marked unstable">AnnotatedEnum</warning>.<warning descr="'NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is marked unstable">NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>
|
||||
import pkg.<warning descr="'pkg.AnnotatedEnum' is marked unstable">AnnotatedEnum</warning>.<warning descr="'ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is marked unstable">ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>
|
||||
import pkg.NonAnnotatedEnum.NON_ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM
|
||||
import pkg.NonAnnotatedEnum.<warning descr="'ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM' is marked unstable">ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM</warning>
|
||||
@@ -20,18 +20,18 @@ import pkg.NonAnnotatedEnum.<warning descr="'ANNOTATED_VALUE_IN_NON_ANNOTATED_EN
|
||||
import pkg.<warning descr="'pkg.AnnotatedAnnotation' is marked unstable">AnnotatedAnnotation</warning>
|
||||
import pkg.NonAnnotatedAnnotation
|
||||
|
||||
import <warning descr="'annotatedPkg' is marked unstable">annotatedPkg</warning>.ClassInAnnotatedPkg
|
||||
import <warning descr="'annotatedPkg' is marked unstable">annotatedPkg</warning>.<warning descr="'annotatedPkg.ClassInAnnotatedPkg' is marked unstable">ClassInAnnotatedPkg</warning>
|
||||
|
||||
@Suppress("ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE", "UNUSED_VALUE")
|
||||
class UnstableElementsTest {
|
||||
fun test() {
|
||||
var s = <warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning>.NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS
|
||||
<warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning>.staticNonAnnotatedMethodInAnnotatedClass()
|
||||
val annotatedClassInstanceViaNonAnnotatedConstructor : <warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning> = <warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning>()
|
||||
s = annotatedClassInstanceViaNonAnnotatedConstructor.nonAnnotatedFieldInAnnotatedClass
|
||||
annotatedClassInstanceViaNonAnnotatedConstructor.nonAnnotatedMethodInAnnotatedClass()
|
||||
s = NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS
|
||||
staticNonAnnotatedMethodInAnnotatedClass()
|
||||
var s = <warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning>.<warning descr="'NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS' is marked unstable">NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS</warning>
|
||||
<warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning>.<warning descr="'staticNonAnnotatedMethodInAnnotatedClass()' is marked unstable">staticNonAnnotatedMethodInAnnotatedClass</warning>()
|
||||
val annotatedClassInstanceViaNonAnnotatedConstructor : <warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning> = <warning descr="'AnnotatedClass()' is marked unstable"><warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning></warning>()
|
||||
s = annotatedClassInstanceViaNonAnnotatedConstructor.<warning descr="'nonAnnotatedFieldInAnnotatedClass' is marked unstable">nonAnnotatedFieldInAnnotatedClass</warning>
|
||||
annotatedClassInstanceViaNonAnnotatedConstructor.<warning descr="'nonAnnotatedMethodInAnnotatedClass()' is marked unstable">nonAnnotatedMethodInAnnotatedClass</warning>()
|
||||
s = <warning descr="'NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS' is marked unstable">NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS</warning>
|
||||
<warning descr="'staticNonAnnotatedMethodInAnnotatedClass()' is marked unstable">staticNonAnnotatedMethodInAnnotatedClass</warning>()
|
||||
|
||||
s = <warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning>.<warning descr="'ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS' is marked unstable">ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS</warning>
|
||||
<warning descr="'pkg.AnnotatedClass' is marked unstable">AnnotatedClass</warning>.<warning descr="'staticAnnotatedMethodInAnnotatedClass()' is marked unstable">staticAnnotatedMethodInAnnotatedClass</warning>()
|
||||
@@ -61,8 +61,8 @@ class UnstableElementsTest {
|
||||
|
||||
// ---------------------------------
|
||||
|
||||
var nonAnnotatedValueInAnnotatedEnum : <warning descr="'pkg.AnnotatedEnum' is marked unstable">AnnotatedEnum</warning> = <warning descr="'pkg.AnnotatedEnum' is marked unstable">AnnotatedEnum</warning>.NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM
|
||||
nonAnnotatedValueInAnnotatedEnum = NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM
|
||||
var nonAnnotatedValueInAnnotatedEnum : <warning descr="'pkg.AnnotatedEnum' is marked unstable">AnnotatedEnum</warning> = <warning descr="'pkg.AnnotatedEnum' is marked unstable">AnnotatedEnum</warning>.<warning descr="'NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is marked unstable">NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>
|
||||
nonAnnotatedValueInAnnotatedEnum = <warning descr="'NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is marked unstable">NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>
|
||||
var annotatedValueInAnnotatedEnum : <warning descr="'pkg.AnnotatedEnum' is marked unstable">AnnotatedEnum</warning> = <warning descr="'pkg.AnnotatedEnum' is marked unstable">AnnotatedEnum</warning>.<warning descr="'ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is marked unstable">ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>
|
||||
annotatedValueInAnnotatedEnum = <warning descr="'ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is marked unstable">ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>
|
||||
|
||||
@@ -74,7 +74,7 @@ class UnstableElementsTest {
|
||||
// ---------------------------------
|
||||
|
||||
@<warning descr="'pkg.AnnotatedAnnotation' is marked unstable">AnnotatedAnnotation</warning> class C1
|
||||
@<warning descr="'pkg.AnnotatedAnnotation' is marked unstable">AnnotatedAnnotation</warning>(nonAnnotatedAttributeInAnnotatedAnnotation = "123") class C2
|
||||
@<warning descr="'pkg.AnnotatedAnnotation' is marked unstable">AnnotatedAnnotation</warning>(<warning descr="'nonAnnotatedAttributeInAnnotatedAnnotation' is marked unstable">nonAnnotatedAttributeInAnnotatedAnnotation</warning> = "123") class C2
|
||||
@<warning descr="'pkg.AnnotatedAnnotation' is marked unstable">AnnotatedAnnotation</warning>(<warning descr="'annotatedAttributeInAnnotatedAnnotation' is marked unstable">annotatedAttributeInAnnotatedAnnotation</warning> = "123") class C3
|
||||
@NonAnnotatedAnnotation class C4
|
||||
@NonAnnotatedAnnotation(nonAnnotatedAttributeInNonAnnotatedAnnotation = "123") class C5
|
||||
|
||||
Reference in New Issue
Block a user