mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-194133 ScheduledForRemovalInspection tests
This commit is contained in:
+83
@@ -0,0 +1,83 @@
|
||||
// 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.AnnotatedClass;
|
||||
import static pkg.AnnotatedClass.NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS;
|
||||
import static pkg.AnnotatedClass.staticNonAnnotatedMethodInAnnotatedClass;
|
||||
import static pkg.AnnotatedClass.ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS;
|
||||
import static pkg.AnnotatedClass.staticAnnotatedMethodInAnnotatedClass;
|
||||
|
||||
import pkg.NonAnnotatedClass;
|
||||
import static pkg.NonAnnotatedClass.NON_ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS;
|
||||
import static pkg.NonAnnotatedClass.staticNonAnnotatedMethodInNonAnnotatedClass;
|
||||
import static pkg.NonAnnotatedClass.ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS;
|
||||
import static pkg.NonAnnotatedClass.staticAnnotatedMethodInNonAnnotatedClass;
|
||||
|
||||
import pkg.AnnotatedEnum;
|
||||
import pkg.NonAnnotatedEnum;
|
||||
import static pkg.AnnotatedEnum.NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM;
|
||||
import static pkg.AnnotatedEnum.ANNOTATED_VALUE_IN_ANNOTATED_ENUM;
|
||||
import static pkg.NonAnnotatedEnum.NON_ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM;
|
||||
import static pkg.NonAnnotatedEnum.ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM;
|
||||
|
||||
import pkg.AnnotatedAnnotation;
|
||||
import pkg.NonAnnotatedAnnotation;
|
||||
|
||||
import annotatedPkg.ClassInAnnotatedPkg;
|
||||
|
||||
public class ScheduledForRemovalElementsIgnoreImportsTest {
|
||||
public void test() {
|
||||
String s = <warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning>.NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS;
|
||||
<warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning>.staticNonAnnotatedMethodInAnnotatedClass();
|
||||
<warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning> annotatedClassInstanceViaNonAnnotatedConstructor = new AnnotatedClass();
|
||||
s = annotatedClassInstanceViaNonAnnotatedConstructor.nonAnnotatedFieldInAnnotatedClass;
|
||||
annotatedClassInstanceViaNonAnnotatedConstructor.nonAnnotatedMethodInAnnotatedClass();
|
||||
s = NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS;
|
||||
staticNonAnnotatedMethodInAnnotatedClass();
|
||||
|
||||
s = <warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning>.<warning descr="'ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS' is scheduled for removal">ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS</warning>;
|
||||
<warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning>.<warning descr="'staticAnnotatedMethodInAnnotatedClass' is scheduled for removal">staticAnnotatedMethodInAnnotatedClass</warning>();
|
||||
<warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning> annotatedClassInstanceViaAnnotatedConstructor = new <warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning>("");
|
||||
s = annotatedClassInstanceViaAnnotatedConstructor.<warning descr="'annotatedFieldInAnnotatedClass' is scheduled for removal">annotatedFieldInAnnotatedClass</warning>;
|
||||
annotatedClassInstanceViaAnnotatedConstructor.<warning descr="'annotatedMethodInAnnotatedClass' is scheduled for removal">annotatedMethodInAnnotatedClass</warning>();
|
||||
s = <warning descr="'ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS' is scheduled for removal">ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS</warning>;
|
||||
<warning descr="'staticAnnotatedMethodInAnnotatedClass' is scheduled for removal">staticAnnotatedMethodInAnnotatedClass</warning>();
|
||||
|
||||
// ---------------------------------
|
||||
|
||||
s = NonAnnotatedClass.NON_ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS;
|
||||
NonAnnotatedClass.staticNonAnnotatedMethodInNonAnnotatedClass();
|
||||
NonAnnotatedClass nonAnnotatedClassInstanceViaNonAnnotatedConstructor = new NonAnnotatedClass();
|
||||
s = nonAnnotatedClassInstanceViaNonAnnotatedConstructor.nonAnnotatedFieldInNonAnnotatedClass;
|
||||
nonAnnotatedClassInstanceViaNonAnnotatedConstructor.nonAnnotatedMethodInNonAnnotatedClass();
|
||||
s = NON_ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS;
|
||||
staticNonAnnotatedMethodInNonAnnotatedClass();
|
||||
|
||||
s = NonAnnotatedClass.<warning descr="'ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS' is scheduled for removal">ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS</warning>;
|
||||
NonAnnotatedClass.<warning descr="'staticAnnotatedMethodInNonAnnotatedClass' is scheduled for removal">staticAnnotatedMethodInNonAnnotatedClass</warning>();
|
||||
NonAnnotatedClass nonAnnotatedClassInstanceViaAnnotatedConstructor = new <warning descr="'NonAnnotatedClass' is scheduled for removal">NonAnnotatedClass</warning>("");
|
||||
s = nonAnnotatedClassInstanceViaAnnotatedConstructor.<warning descr="'annotatedFieldInNonAnnotatedClass' is scheduled for removal">annotatedFieldInNonAnnotatedClass</warning>;
|
||||
nonAnnotatedClassInstanceViaAnnotatedConstructor.<warning descr="'annotatedMethodInNonAnnotatedClass' is scheduled for removal">annotatedMethodInNonAnnotatedClass</warning>();
|
||||
s = <warning descr="'ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS' is scheduled for removal">ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS</warning>;
|
||||
<warning descr="'staticAnnotatedMethodInNonAnnotatedClass' is scheduled for removal">staticAnnotatedMethodInNonAnnotatedClass</warning>();
|
||||
|
||||
// ---------------------------------
|
||||
|
||||
<warning descr="'AnnotatedEnum' is scheduled for removal">AnnotatedEnum</warning> nonAnnotatedValueInAnnotatedEnum = <warning descr="'AnnotatedEnum' is scheduled for removal">AnnotatedEnum</warning>.NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM;
|
||||
nonAnnotatedValueInAnnotatedEnum = NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM;
|
||||
<warning descr="'AnnotatedEnum' is scheduled for removal">AnnotatedEnum</warning> annotatedValueInAnnotatedEnum = <warning descr="'AnnotatedEnum' is scheduled for removal">AnnotatedEnum</warning>.<warning descr="'ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is scheduled for removal">ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>;
|
||||
annotatedValueInAnnotatedEnum = <warning descr="'ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is scheduled for removal">ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>;
|
||||
|
||||
NonAnnotatedEnum nonAnnotatedValueInNonAnnotatedEnum = NonAnnotatedEnum.NON_ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM;
|
||||
nonAnnotatedValueInNonAnnotatedEnum = NON_ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM;
|
||||
NonAnnotatedEnum annotatedValueInNonAnnotatedEnum = NonAnnotatedEnum.<warning descr="'ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM' is scheduled for removal">ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM</warning>;
|
||||
annotatedValueInNonAnnotatedEnum = <warning descr="'ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM' is scheduled for removal">ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM</warning>;
|
||||
|
||||
// ---------------------------------
|
||||
|
||||
@<warning descr="'AnnotatedAnnotation' is scheduled for removal">AnnotatedAnnotation</warning> class C1 {}
|
||||
@<warning descr="'AnnotatedAnnotation' is scheduled for removal">AnnotatedAnnotation</warning>(nonAnnotatedAttributeInAnnotatedAnnotation = "123") class C2 {}
|
||||
@<warning descr="'AnnotatedAnnotation' is scheduled for removal">AnnotatedAnnotation</warning>(<warning descr="'annotatedAttributeInAnnotatedAnnotation' is scheduled for removal">annotatedAttributeInAnnotatedAnnotation</warning> = "123") class C3 {}
|
||||
@NonAnnotatedAnnotation class C4 {}
|
||||
@NonAnnotatedAnnotation(nonAnnotatedAttributeInNonAnnotatedAnnotation = "123") class C5 {}
|
||||
@NonAnnotatedAnnotation(<warning descr="'annotatedAttributeInNonAnnotatedAnnotation' is scheduled for removal">annotatedAttributeInNonAnnotatedAnnotation</warning> = "123") class C6 {}
|
||||
}
|
||||
}
|
||||
+83
@@ -0,0 +1,83 @@
|
||||
// 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="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning>;
|
||||
import static pkg.<warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning>.NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS;
|
||||
import static pkg.<warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning>.staticNonAnnotatedMethodInAnnotatedClass;
|
||||
import static pkg.<warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning>.<warning descr="'ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS' is scheduled for removal">ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS</warning>;
|
||||
import static pkg.<warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning>.<warning descr="'staticAnnotatedMethodInAnnotatedClass' is scheduled for removal">staticAnnotatedMethodInAnnotatedClass</warning>;
|
||||
|
||||
import pkg.NonAnnotatedClass;
|
||||
import static pkg.NonAnnotatedClass.NON_ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS;
|
||||
import static pkg.NonAnnotatedClass.staticNonAnnotatedMethodInNonAnnotatedClass;
|
||||
import static pkg.NonAnnotatedClass.<warning descr="'ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS' is scheduled for removal">ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS</warning>;
|
||||
import static pkg.NonAnnotatedClass.<warning descr="'staticAnnotatedMethodInNonAnnotatedClass' is scheduled for removal">staticAnnotatedMethodInNonAnnotatedClass</warning>;
|
||||
|
||||
import pkg.<warning descr="'AnnotatedEnum' is scheduled for removal">AnnotatedEnum</warning>;
|
||||
import pkg.NonAnnotatedEnum;
|
||||
import static pkg.<warning descr="'AnnotatedEnum' is scheduled for removal">AnnotatedEnum</warning>.NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM;
|
||||
import static pkg.<warning descr="'AnnotatedEnum' is scheduled for removal">AnnotatedEnum</warning>.<warning descr="'ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is scheduled for removal">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">ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM</warning>;
|
||||
|
||||
import pkg.<warning descr="'AnnotatedAnnotation' is scheduled for removal">AnnotatedAnnotation</warning>;
|
||||
import pkg.NonAnnotatedAnnotation;
|
||||
|
||||
import <warning descr="'annotatedPkg' is scheduled for removal">annotatedPkg</warning>.ClassInAnnotatedPkg;
|
||||
|
||||
public class ScheduledForRemovalElementsTest {
|
||||
public void test() {
|
||||
String s = <warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning>.NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS;
|
||||
<warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning>.staticNonAnnotatedMethodInAnnotatedClass();
|
||||
<warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning> annotatedClassInstanceViaNonAnnotatedConstructor = new AnnotatedClass();
|
||||
s = annotatedClassInstanceViaNonAnnotatedConstructor.nonAnnotatedFieldInAnnotatedClass;
|
||||
annotatedClassInstanceViaNonAnnotatedConstructor.nonAnnotatedMethodInAnnotatedClass();
|
||||
s = NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS;
|
||||
staticNonAnnotatedMethodInAnnotatedClass();
|
||||
|
||||
s = <warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning>.<warning descr="'ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS' is scheduled for removal">ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS</warning>;
|
||||
<warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning>.<warning descr="'staticAnnotatedMethodInAnnotatedClass' is scheduled for removal">staticAnnotatedMethodInAnnotatedClass</warning>();
|
||||
<warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning> annotatedClassInstanceViaAnnotatedConstructor = new <warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning>("");
|
||||
s = annotatedClassInstanceViaAnnotatedConstructor.<warning descr="'annotatedFieldInAnnotatedClass' is scheduled for removal">annotatedFieldInAnnotatedClass</warning>;
|
||||
annotatedClassInstanceViaAnnotatedConstructor.<warning descr="'annotatedMethodInAnnotatedClass' is scheduled for removal">annotatedMethodInAnnotatedClass</warning>();
|
||||
s = <warning descr="'ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS' is scheduled for removal">ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS</warning>;
|
||||
<warning descr="'staticAnnotatedMethodInAnnotatedClass' is scheduled for removal">staticAnnotatedMethodInAnnotatedClass</warning>();
|
||||
|
||||
// ---------------------------------
|
||||
|
||||
s = NonAnnotatedClass.NON_ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS;
|
||||
NonAnnotatedClass.staticNonAnnotatedMethodInNonAnnotatedClass();
|
||||
NonAnnotatedClass nonAnnotatedClassInstanceViaNonAnnotatedConstructor = new NonAnnotatedClass();
|
||||
s = nonAnnotatedClassInstanceViaNonAnnotatedConstructor.nonAnnotatedFieldInNonAnnotatedClass;
|
||||
nonAnnotatedClassInstanceViaNonAnnotatedConstructor.nonAnnotatedMethodInNonAnnotatedClass();
|
||||
s = NON_ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS;
|
||||
staticNonAnnotatedMethodInNonAnnotatedClass();
|
||||
|
||||
s = NonAnnotatedClass.<warning descr="'ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS' is scheduled for removal">ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS</warning>;
|
||||
NonAnnotatedClass.<warning descr="'staticAnnotatedMethodInNonAnnotatedClass' is scheduled for removal">staticAnnotatedMethodInNonAnnotatedClass</warning>();
|
||||
NonAnnotatedClass nonAnnotatedClassInstanceViaAnnotatedConstructor = new <warning descr="'NonAnnotatedClass' is scheduled for removal">NonAnnotatedClass</warning>("");
|
||||
s = nonAnnotatedClassInstanceViaAnnotatedConstructor.<warning descr="'annotatedFieldInNonAnnotatedClass' is scheduled for removal">annotatedFieldInNonAnnotatedClass</warning>;
|
||||
nonAnnotatedClassInstanceViaAnnotatedConstructor.<warning descr="'annotatedMethodInNonAnnotatedClass' is scheduled for removal">annotatedMethodInNonAnnotatedClass</warning>();
|
||||
s = <warning descr="'ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS' is scheduled for removal">ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS</warning>;
|
||||
<warning descr="'staticAnnotatedMethodInNonAnnotatedClass' is scheduled for removal">staticAnnotatedMethodInNonAnnotatedClass</warning>();
|
||||
|
||||
// ---------------------------------
|
||||
|
||||
<warning descr="'AnnotatedEnum' is scheduled for removal">AnnotatedEnum</warning> nonAnnotatedValueInAnnotatedEnum = <warning descr="'AnnotatedEnum' is scheduled for removal">AnnotatedEnum</warning>.NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM;
|
||||
nonAnnotatedValueInAnnotatedEnum = NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM;
|
||||
<warning descr="'AnnotatedEnum' is scheduled for removal">AnnotatedEnum</warning> annotatedValueInAnnotatedEnum = <warning descr="'AnnotatedEnum' is scheduled for removal">AnnotatedEnum</warning>.<warning descr="'ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is scheduled for removal">ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>;
|
||||
annotatedValueInAnnotatedEnum = <warning descr="'ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is scheduled for removal">ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>;
|
||||
|
||||
NonAnnotatedEnum nonAnnotatedValueInNonAnnotatedEnum = NonAnnotatedEnum.NON_ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM;
|
||||
nonAnnotatedValueInNonAnnotatedEnum = NON_ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM;
|
||||
NonAnnotatedEnum annotatedValueInNonAnnotatedEnum = NonAnnotatedEnum.<warning descr="'ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM' is scheduled for removal">ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM</warning>;
|
||||
annotatedValueInNonAnnotatedEnum = <warning descr="'ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM' is scheduled for removal">ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM</warning>;
|
||||
|
||||
// ---------------------------------
|
||||
|
||||
@<warning descr="'AnnotatedAnnotation' is scheduled for removal">AnnotatedAnnotation</warning> class C1 {}
|
||||
@<warning descr="'AnnotatedAnnotation' is scheduled for removal">AnnotatedAnnotation</warning>(nonAnnotatedAttributeInAnnotatedAnnotation = "123") class C2 {}
|
||||
@<warning descr="'AnnotatedAnnotation' is scheduled for removal">AnnotatedAnnotation</warning>(<warning descr="'annotatedAttributeInAnnotatedAnnotation' is scheduled for removal">annotatedAttributeInAnnotatedAnnotation</warning> = "123") class C3 {}
|
||||
@NonAnnotatedAnnotation class C4 {}
|
||||
@NonAnnotatedAnnotation(nonAnnotatedAttributeInNonAnnotatedAnnotation = "123") class C5 {}
|
||||
@NonAnnotatedAnnotation(<warning descr="'annotatedAttributeInNonAnnotatedAnnotation' is scheduled for removal">annotatedAttributeInNonAnnotatedAnnotation</warning> = "123") class C6 {}
|
||||
}
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
package com.intellij.codeInspection.tests.java
|
||||
|
||||
import com.intellij.codeInspection.tests.ScheduledForRemovalInspectionTestBase
|
||||
import com.intellij.jvm.analysis.JvmAnalysisTestsUtil.TEST_DATA_PROJECT_RELATIVE_BASE_PATH
|
||||
import com.intellij.testFramework.TestDataPath
|
||||
|
||||
@TestDataPath("/testData/codeInspection/scheduledForRemoval")
|
||||
class ScheduledForRemovalInspectionTest: ScheduledForRemovalInspectionTestBase() {
|
||||
override fun getBasePath() = "${TEST_DATA_PROJECT_RELATIVE_BASE_PATH}/codeInspection/scheduledForRemoval"
|
||||
|
||||
fun testInspection() {
|
||||
getInspection().myIgnoreInsideImports = false
|
||||
myFixture.testHighlighting(true, false, false, "ScheduledForRemovalElementsTest.java")
|
||||
}
|
||||
|
||||
fun testIgnoreImports() {
|
||||
getInspection().myIgnoreInsideImports = true
|
||||
myFixture.testHighlighting(true, false, false, "ScheduledForRemovalElementsIgnoreImportsTest.java")
|
||||
}
|
||||
}
|
||||
+83
@@ -0,0 +1,83 @@
|
||||
import pkg.AnnotatedClass
|
||||
import pkg.AnnotatedClass.NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS
|
||||
import pkg.AnnotatedClass.staticNonAnnotatedMethodInAnnotatedClass
|
||||
import pkg.AnnotatedClass.ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS
|
||||
import pkg.AnnotatedClass.staticAnnotatedMethodInAnnotatedClass
|
||||
|
||||
import pkg.NonAnnotatedClass
|
||||
import pkg.NonAnnotatedClass.NON_ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS
|
||||
import pkg.NonAnnotatedClass.staticNonAnnotatedMethodInNonAnnotatedClass
|
||||
import pkg.NonAnnotatedClass.ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS
|
||||
import pkg.NonAnnotatedClass.staticAnnotatedMethodInNonAnnotatedClass
|
||||
|
||||
import pkg.AnnotatedEnum
|
||||
import pkg.NonAnnotatedEnum
|
||||
import pkg.AnnotatedEnum.NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM
|
||||
import pkg.AnnotatedEnum.ANNOTATED_VALUE_IN_ANNOTATED_ENUM
|
||||
import pkg.NonAnnotatedEnum.NON_ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM
|
||||
import pkg.NonAnnotatedEnum.ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM
|
||||
|
||||
import pkg.AnnotatedAnnotation
|
||||
import pkg.NonAnnotatedAnnotation
|
||||
|
||||
import annotatedPkg.ClassInAnnotatedPkg
|
||||
|
||||
@Suppress("ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE", "UNUSED_VALUE")
|
||||
class ScheduledForRemovalElementsIgnoreImportsTest {
|
||||
fun test() {
|
||||
var s = <warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning>.NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS
|
||||
<warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning>.staticNonAnnotatedMethodInAnnotatedClass()
|
||||
val annotatedClassInstanceViaNonAnnotatedConstructor : <warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning> = AnnotatedClass()
|
||||
s = annotatedClassInstanceViaNonAnnotatedConstructor.nonAnnotatedFieldInAnnotatedClass
|
||||
annotatedClassInstanceViaNonAnnotatedConstructor.nonAnnotatedMethodInAnnotatedClass()
|
||||
s = NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS
|
||||
staticNonAnnotatedMethodInAnnotatedClass()
|
||||
|
||||
s = <warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning>.<warning descr="'ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS' is scheduled for removal">ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS</warning>
|
||||
<warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning>.<warning descr="'staticAnnotatedMethodInAnnotatedClass' is scheduled for removal">staticAnnotatedMethodInAnnotatedClass</warning>()
|
||||
val annotatedClassInstanceViaAnnotatedConstructor : <warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning> = <warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning>("")
|
||||
s = annotatedClassInstanceViaAnnotatedConstructor.<warning descr="'annotatedFieldInAnnotatedClass' is scheduled for removal">annotatedFieldInAnnotatedClass</warning>
|
||||
annotatedClassInstanceViaAnnotatedConstructor.<warning descr="'annotatedMethodInAnnotatedClass' is scheduled for removal">annotatedMethodInAnnotatedClass</warning>()
|
||||
s = <warning descr="'ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS' is scheduled for removal">ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS</warning>
|
||||
<warning descr="'staticAnnotatedMethodInAnnotatedClass' is scheduled for removal">staticAnnotatedMethodInAnnotatedClass</warning>()
|
||||
|
||||
// ---------------------------------
|
||||
|
||||
s = NonAnnotatedClass.NON_ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS
|
||||
NonAnnotatedClass.staticNonAnnotatedMethodInNonAnnotatedClass()
|
||||
val nonAnnotatedClassInstanceViaNonAnnotatedConstructor = NonAnnotatedClass()
|
||||
s = nonAnnotatedClassInstanceViaNonAnnotatedConstructor.nonAnnotatedFieldInNonAnnotatedClass
|
||||
nonAnnotatedClassInstanceViaNonAnnotatedConstructor.nonAnnotatedMethodInNonAnnotatedClass()
|
||||
s = NON_ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS
|
||||
staticNonAnnotatedMethodInNonAnnotatedClass()
|
||||
|
||||
s = NonAnnotatedClass.<warning descr="'ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS' is scheduled for removal">ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS</warning>
|
||||
NonAnnotatedClass.<warning descr="'staticAnnotatedMethodInNonAnnotatedClass' is scheduled for removal">staticAnnotatedMethodInNonAnnotatedClass</warning>()
|
||||
val nonAnnotatedClassInstanceViaAnnotatedConstructor = <warning descr="'NonAnnotatedClass' is scheduled for removal">NonAnnotatedClass</warning>("")
|
||||
s = nonAnnotatedClassInstanceViaAnnotatedConstructor.<warning descr="'annotatedFieldInNonAnnotatedClass' is scheduled for removal">annotatedFieldInNonAnnotatedClass</warning>
|
||||
nonAnnotatedClassInstanceViaAnnotatedConstructor.<warning descr="'annotatedMethodInNonAnnotatedClass' is scheduled for removal">annotatedMethodInNonAnnotatedClass</warning>()
|
||||
s = <warning descr="'ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS' is scheduled for removal">ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS</warning>
|
||||
<warning descr="'staticAnnotatedMethodInNonAnnotatedClass' is scheduled for removal">staticAnnotatedMethodInNonAnnotatedClass</warning>()
|
||||
|
||||
// ---------------------------------
|
||||
|
||||
var nonAnnotatedValueInAnnotatedEnum : <warning descr="'AnnotatedEnum' is scheduled for removal">AnnotatedEnum</warning> = <warning descr="'AnnotatedEnum' is scheduled for removal">AnnotatedEnum</warning>.NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM
|
||||
nonAnnotatedValueInAnnotatedEnum = NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM
|
||||
var annotatedValueInAnnotatedEnum : <warning descr="'AnnotatedEnum' is scheduled for removal">AnnotatedEnum</warning> = <warning descr="'AnnotatedEnum' is scheduled for removal">AnnotatedEnum</warning>.<warning descr="'ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is scheduled for removal">ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>
|
||||
annotatedValueInAnnotatedEnum = <warning descr="'ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is scheduled for removal">ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>
|
||||
|
||||
var nonAnnotatedValueInNonAnnotatedEnum = NonAnnotatedEnum.NON_ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM
|
||||
nonAnnotatedValueInNonAnnotatedEnum = NON_ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM
|
||||
var annotatedValueInNonAnnotatedEnum = NonAnnotatedEnum.<warning descr="'ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM' is scheduled for removal">ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM</warning>
|
||||
annotatedValueInNonAnnotatedEnum = <warning descr="'ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM' is scheduled for removal">ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM</warning>
|
||||
|
||||
// ---------------------------------
|
||||
|
||||
@<warning descr="'AnnotatedAnnotation' is scheduled for removal">AnnotatedAnnotation</warning> class C1
|
||||
@<warning descr="'AnnotatedAnnotation' is scheduled for removal">AnnotatedAnnotation</warning>(nonAnnotatedAttributeInAnnotatedAnnotation = "123") class C2
|
||||
@<warning descr="'AnnotatedAnnotation' is scheduled for removal">AnnotatedAnnotation</warning>(<warning descr="'annotatedAttributeInAnnotatedAnnotation' is scheduled for removal">annotatedAttributeInAnnotatedAnnotation</warning> = "123") class C3
|
||||
@NonAnnotatedAnnotation class C4
|
||||
@NonAnnotatedAnnotation(nonAnnotatedAttributeInNonAnnotatedAnnotation = "123") class C5
|
||||
@NonAnnotatedAnnotation(<warning descr="'annotatedAttributeInNonAnnotatedAnnotation' is scheduled for removal">annotatedAttributeInNonAnnotatedAnnotation</warning> = "123") class C6
|
||||
}
|
||||
}
|
||||
+83
@@ -0,0 +1,83 @@
|
||||
import pkg.<warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning>
|
||||
import pkg.<warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning>.NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS
|
||||
import pkg.<warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning>.staticNonAnnotatedMethodInAnnotatedClass
|
||||
import pkg.<warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning>.<warning descr="'ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS' is scheduled for removal">ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS</warning>
|
||||
import pkg.<warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning>.<warning descr="'staticAnnotatedMethodInAnnotatedClass' is scheduled for removal">staticAnnotatedMethodInAnnotatedClass</warning>
|
||||
|
||||
import pkg.NonAnnotatedClass
|
||||
import pkg.NonAnnotatedClass.NON_ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS
|
||||
import pkg.NonAnnotatedClass.staticNonAnnotatedMethodInNonAnnotatedClass
|
||||
import pkg.NonAnnotatedClass.<warning descr="'ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS' is scheduled for removal">ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS</warning>
|
||||
import pkg.NonAnnotatedClass.<warning descr="'staticAnnotatedMethodInNonAnnotatedClass' is scheduled for removal">staticAnnotatedMethodInNonAnnotatedClass</warning>
|
||||
|
||||
import pkg.<warning descr="'AnnotatedEnum' is scheduled for removal">AnnotatedEnum</warning>
|
||||
import pkg.NonAnnotatedEnum
|
||||
import pkg.<warning descr="'AnnotatedEnum' is scheduled for removal">AnnotatedEnum</warning>.NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM
|
||||
import pkg.<warning descr="'AnnotatedEnum' is scheduled for removal">AnnotatedEnum</warning>.<warning descr="'ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is scheduled for removal">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">ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM</warning>
|
||||
|
||||
import pkg.<warning descr="'AnnotatedAnnotation' is scheduled for removal">AnnotatedAnnotation</warning>
|
||||
import pkg.NonAnnotatedAnnotation
|
||||
|
||||
import <warning descr="'annotatedPkg' is scheduled for removal">annotatedPkg</warning>.ClassInAnnotatedPkg
|
||||
|
||||
@Suppress("ASSIGNED_BUT_NEVER_ACCESSED_VARIABLE", "UNUSED_VALUE")
|
||||
class ScheduledForRemovalElementsTest {
|
||||
fun test() {
|
||||
var s = <warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning>.NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS
|
||||
<warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning>.staticNonAnnotatedMethodInAnnotatedClass()
|
||||
val annotatedClassInstanceViaNonAnnotatedConstructor : <warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning> = AnnotatedClass()
|
||||
s = annotatedClassInstanceViaNonAnnotatedConstructor.nonAnnotatedFieldInAnnotatedClass
|
||||
annotatedClassInstanceViaNonAnnotatedConstructor.nonAnnotatedMethodInAnnotatedClass()
|
||||
s = NON_ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS
|
||||
staticNonAnnotatedMethodInAnnotatedClass()
|
||||
|
||||
s = <warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning>.<warning descr="'ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS' is scheduled for removal">ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS</warning>
|
||||
<warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning>.<warning descr="'staticAnnotatedMethodInAnnotatedClass' is scheduled for removal">staticAnnotatedMethodInAnnotatedClass</warning>()
|
||||
val annotatedClassInstanceViaAnnotatedConstructor : <warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning> = <warning descr="'AnnotatedClass' is scheduled for removal">AnnotatedClass</warning>("")
|
||||
s = annotatedClassInstanceViaAnnotatedConstructor.<warning descr="'annotatedFieldInAnnotatedClass' is scheduled for removal">annotatedFieldInAnnotatedClass</warning>
|
||||
annotatedClassInstanceViaAnnotatedConstructor.<warning descr="'annotatedMethodInAnnotatedClass' is scheduled for removal">annotatedMethodInAnnotatedClass</warning>()
|
||||
s = <warning descr="'ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS' is scheduled for removal">ANNOTATED_CONSTANT_IN_ANNOTATED_CLASS</warning>
|
||||
<warning descr="'staticAnnotatedMethodInAnnotatedClass' is scheduled for removal">staticAnnotatedMethodInAnnotatedClass</warning>()
|
||||
|
||||
// ---------------------------------
|
||||
|
||||
s = NonAnnotatedClass.NON_ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS
|
||||
NonAnnotatedClass.staticNonAnnotatedMethodInNonAnnotatedClass()
|
||||
val nonAnnotatedClassInstanceViaNonAnnotatedConstructor = NonAnnotatedClass()
|
||||
s = nonAnnotatedClassInstanceViaNonAnnotatedConstructor.nonAnnotatedFieldInNonAnnotatedClass
|
||||
nonAnnotatedClassInstanceViaNonAnnotatedConstructor.nonAnnotatedMethodInNonAnnotatedClass()
|
||||
s = NON_ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS
|
||||
staticNonAnnotatedMethodInNonAnnotatedClass()
|
||||
|
||||
s = NonAnnotatedClass.<warning descr="'ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS' is scheduled for removal">ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS</warning>
|
||||
NonAnnotatedClass.<warning descr="'staticAnnotatedMethodInNonAnnotatedClass' is scheduled for removal">staticAnnotatedMethodInNonAnnotatedClass</warning>()
|
||||
val nonAnnotatedClassInstanceViaAnnotatedConstructor = <warning descr="'NonAnnotatedClass' is scheduled for removal">NonAnnotatedClass</warning>("")
|
||||
s = nonAnnotatedClassInstanceViaAnnotatedConstructor.<warning descr="'annotatedFieldInNonAnnotatedClass' is scheduled for removal">annotatedFieldInNonAnnotatedClass</warning>
|
||||
nonAnnotatedClassInstanceViaAnnotatedConstructor.<warning descr="'annotatedMethodInNonAnnotatedClass' is scheduled for removal">annotatedMethodInNonAnnotatedClass</warning>()
|
||||
s = <warning descr="'ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS' is scheduled for removal">ANNOTATED_CONSTANT_IN_NON_ANNOTATED_CLASS</warning>
|
||||
<warning descr="'staticAnnotatedMethodInNonAnnotatedClass' is scheduled for removal">staticAnnotatedMethodInNonAnnotatedClass</warning>()
|
||||
|
||||
// ---------------------------------
|
||||
|
||||
var nonAnnotatedValueInAnnotatedEnum : <warning descr="'AnnotatedEnum' is scheduled for removal">AnnotatedEnum</warning> = <warning descr="'AnnotatedEnum' is scheduled for removal">AnnotatedEnum</warning>.NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM
|
||||
nonAnnotatedValueInAnnotatedEnum = NON_ANNOTATED_VALUE_IN_ANNOTATED_ENUM
|
||||
var annotatedValueInAnnotatedEnum : <warning descr="'AnnotatedEnum' is scheduled for removal">AnnotatedEnum</warning> = <warning descr="'AnnotatedEnum' is scheduled for removal">AnnotatedEnum</warning>.<warning descr="'ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is scheduled for removal">ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>
|
||||
annotatedValueInAnnotatedEnum = <warning descr="'ANNOTATED_VALUE_IN_ANNOTATED_ENUM' is scheduled for removal">ANNOTATED_VALUE_IN_ANNOTATED_ENUM</warning>
|
||||
|
||||
var nonAnnotatedValueInNonAnnotatedEnum = NonAnnotatedEnum.NON_ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM
|
||||
nonAnnotatedValueInNonAnnotatedEnum = NON_ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM
|
||||
var annotatedValueInNonAnnotatedEnum = NonAnnotatedEnum.<warning descr="'ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM' is scheduled for removal">ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM</warning>
|
||||
annotatedValueInNonAnnotatedEnum = <warning descr="'ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM' is scheduled for removal">ANNOTATED_VALUE_IN_NON_ANNOTATED_ENUM</warning>
|
||||
|
||||
// ---------------------------------
|
||||
|
||||
@<warning descr="'AnnotatedAnnotation' is scheduled for removal">AnnotatedAnnotation</warning> class C1
|
||||
@<warning descr="'AnnotatedAnnotation' is scheduled for removal">AnnotatedAnnotation</warning>(nonAnnotatedAttributeInAnnotatedAnnotation = "123") class C2
|
||||
@<warning descr="'AnnotatedAnnotation' is scheduled for removal">AnnotatedAnnotation</warning>(<warning descr="'annotatedAttributeInAnnotatedAnnotation' is scheduled for removal">annotatedAttributeInAnnotatedAnnotation</warning> = "123") class C3
|
||||
@NonAnnotatedAnnotation class C4
|
||||
@NonAnnotatedAnnotation(nonAnnotatedAttributeInNonAnnotatedAnnotation = "123") class C5
|
||||
@NonAnnotatedAnnotation(<warning descr="'annotatedAttributeInNonAnnotatedAnnotation' is scheduled for removal">annotatedAttributeInNonAnnotatedAnnotation</warning> = "123") class C6
|
||||
}
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
package com.intellij.codeInspection.tests.kotlin
|
||||
|
||||
import com.intellij.codeInspection.tests.ScheduledForRemovalInspectionTestBase
|
||||
import com.intellij.jvm.analysis.JvmAnalysisKtTestsUtil.TEST_DATA_PROJECT_RELATIVE_BASE_PATH
|
||||
import com.intellij.openapi.vfs.VirtualFileFilter
|
||||
import com.intellij.testFramework.TestDataPath
|
||||
import com.intellij.testFramework.fixtures.impl.CodeInsightTestFixtureImpl
|
||||
|
||||
@TestDataPath("/testData/codeInspection/scheduledForRemoval")
|
||||
class KtScheduledForRemovalInspectionTest : ScheduledForRemovalInspectionTestBase() {
|
||||
override fun getBasePath() = "${TEST_DATA_PROJECT_RELATIVE_BASE_PATH}/codeInspection/scheduledForRemoval"
|
||||
|
||||
override fun performAdditionalSetUp() {
|
||||
// otherwise assertion in PsiFileImpl ("Access to tree elements not allowed") will not pass
|
||||
(myFixture as CodeInsightTestFixtureImpl).setVirtualFileFilter(VirtualFileFilter.NONE)
|
||||
}
|
||||
|
||||
fun testInspection() {
|
||||
getInspection().myIgnoreInsideImports = false
|
||||
myFixture.testHighlighting("ScheduledForRemovalElementsTest.kt")
|
||||
}
|
||||
|
||||
fun testIgnoreImports() {
|
||||
getInspection().myIgnoreInsideImports = true
|
||||
myFixture.testHighlighting("ScheduledForRemovalElementsIgnoreImportsTest.kt")
|
||||
}
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
package com.intellij.codeInspection.tests
|
||||
|
||||
import com.intellij.codeInspection.ScheduledForRemovalInspection
|
||||
import com.intellij.testFramework.builders.JavaModuleFixtureBuilder
|
||||
import com.intellij.util.PathUtil
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
|
||||
abstract class ScheduledForRemovalInspectionTestBase: AnnotatedElementUsageInspectionTestBase() {
|
||||
private val inspection = ScheduledForRemovalInspection()
|
||||
override fun getInspection() = inspection
|
||||
|
||||
override fun getAnnotationFqn(): String = "org.jetbrains.annotations.ApiStatus.ScheduledForRemoval"
|
||||
|
||||
override fun tuneFixture(moduleBuilder: JavaModuleFixtureBuilder<*>) {
|
||||
moduleBuilder.addLibrary("util", PathUtil.getJarPathForClass(ApiStatus::class.java))
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user