Add "Find Usages" tests for local classes/objects

This commit is contained in:
Alexey Sedunov
2013-12-04 18:31:38 +04:00
parent 8981208ac9
commit fb831a9a2a
67 changed files with 639 additions and 1 deletions
@@ -0,0 +1,5 @@
// PSI_ELEMENT: com.intellij.psi.PsiClass
// OPTIONS: derivedClasses
public class <caret>A {
}
@@ -0,0 +1,12 @@
fun foo() {
public trait T: A
val a = object: A()
fun bar() {
val b = object: T
}
}
@@ -0,0 +1,3 @@
Unclassified usage (2: 18) public trait T: A
Unclassified usage (4: 13) val a = object: A()
Unclassified usage (7: 17) val b = object: T
@@ -1,3 +1,5 @@
Unclassified usage (1: 19) public open class X: A()
Unclassified usage (3: 14) public trait T: A
Unclassified usage (5: 19) public open class Y: X()
Unclassified usage (7: 14) public class Z: Y(), T
Unclassified usage (7: 14) public class Z: Y(), T
@@ -0,0 +1,5 @@
// PSI_ELEMENT: com.intellij.psi.PsiClass
// OPTIONS: derivedClasses
public class <caret>A {
}
@@ -0,0 +1,11 @@
fun foo() {
public open class X: A()
public trait T: A
fun bar() {
public open class Y: X()
public class Z: Y(), T
}
}
@@ -0,0 +1,5 @@
Unclassified usage (2: 23) public open class X: A()
Unclassified usage (4: 18) public trait T: A
Unclassified usage (7: 27) public open class Y: X()
Unclassified usage (9: 22) public class Z: Y(), T
Unclassified usage (9: 22) public class Z: Y(), T
@@ -0,0 +1,5 @@
// PSI_ELEMENT: com.intellij.psi.PsiClass
// OPTIONS: derivedClasses
public class <caret>A {
}
@@ -0,0 +1,12 @@
fun foo() {
public trait T: A
public object O1: A()
fun bar() {
public object O2: T
}
}
@@ -0,0 +1,3 @@
Unclassified usage (2: 18) public trait T: A
Unclassified usage (4: 19) public object O1: A()
Unclassified usage (7: 23) public object O2: T
@@ -0,0 +1,5 @@
// PSI_ELEMENT: com.intellij.psi.PsiClass
// OPTIONS: derivedClasses
public class <caret>A {
}
@@ -0,0 +1,6 @@
public trait T: A
public object O1: A()
public object O2: T
@@ -0,0 +1,3 @@
Unclassified usage (1: 14) public trait T: A
Unclassified usage (3: 15) public object O1: A()
Unclassified usage (5: 15) public object O2: T
@@ -0,0 +1,5 @@
// PSI_ELEMENT: com.intellij.psi.PsiClass
// OPTIONS: implementingClasses
public interface <caret>A {
}
@@ -0,0 +1,12 @@
fun foo() {
open class X: A
val a = object: A
fun bar() {
val b = object: X()
}
}
@@ -0,0 +1,3 @@
Unclassified usage (2: 16) open class X: A
Unclassified usage (4: 13) val a = object: A
Unclassified usage (7: 17) val b = object: X()
@@ -0,0 +1,5 @@
// PSI_ELEMENT: com.intellij.psi.PsiClass
// OPTIONS: implementingClasses
public interface <caret>A {
}
@@ -0,0 +1,11 @@
fun foo() {
open class X: A
trait T: A
fun bar() {
public open class Y: X()
public class Z: T
}
}
@@ -0,0 +1,3 @@
Unclassified usage (2: 16) open class X: A
Unclassified usage (7: 27) public open class Y: X()
Unclassified usage (9: 22) public class Z: T
@@ -0,0 +1,5 @@
// PSI_ELEMENT: com.intellij.psi.PsiClass
// OPTIONS: implementingClasses
public interface <caret>A {
}
@@ -0,0 +1,12 @@
fun foo() {
open class T: A
object O1: A
fun bar() {
object O2: T()
}
}
@@ -0,0 +1,3 @@
Unclassified usage (2: 16) open class T: A
Unclassified usage (4: 12) object O1: A
Unclassified usage (7: 16) object O2: T()
@@ -0,0 +1,5 @@
// PSI_ELEMENT: com.intellij.psi.PsiClass
// OPTIONS: derivedInterfaces
public interface <caret>A {
}
@@ -0,0 +1,11 @@
fun foo() {
open class X: A
trait T: A
fun bar() {
public trait Y: X
public class Z: T
}
}
@@ -0,0 +1,2 @@
Unclassified usage (4: 11) trait T: A
Unclassified usage (7: 22) public trait Y: X
@@ -0,0 +1,5 @@
// PSI_ELEMENT: com.intellij.psi.PsiClass
// OPTIONS: implementingClasses
public interface <caret>A {
}
@@ -0,0 +1,6 @@
public open class T: A
public object O1: A()
public object O2: T()
@@ -0,0 +1,3 @@
Unclassified usage (1: 19) public open class T: A
Unclassified usage (3: 15) public object O1: A()
Unclassified usage (5: 15) public object O2: T()
@@ -0,0 +1,5 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: derivedClasses
open class <caret>A {
}
@@ -0,0 +1,20 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: derivedClasses
fun foo() {
trait Z: A {
}
fun doSomething(x: A, y: A) {
}
doSomething(object : A() {}, object: Z {})
fun bar() {
val x = object: Z {
}
}
}
@@ -0,0 +1,3 @@
Unclassified usage (13: 17) doSomething(object : A() {}, object: Z {})
Unclassified usage (13: 34) doSomething(object : A() {}, object: Z {})
Unclassified usage (16: 17) val x = object: Z {
@@ -0,0 +1,13 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: derivedClasses
trait X {
}
open class <caret>A: X {
}
trait Y: X {
}
@@ -0,0 +1,22 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: derivedClasses
fun foo() {
open class B: A() {
}
open class C: Y {
}
fun bar() {
trait Z: A {
}
trait U: Z {
}
}
}
@@ -0,0 +1 @@
Unclassified usage (5: 16) open class B: A() {
@@ -0,0 +1,5 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: derivedClasses
open class <caret>A {
}
@@ -0,0 +1,14 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: derivedClasses
fun foo() {
trait Z: A {
}
object O1: A()
fun bar() {
object O2: Z
}
}
@@ -0,0 +1,2 @@
Unclassified usage (12: 16) object O2: Z
Unclassified usage (9: 12) object O1: A()
@@ -0,0 +1,13 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: derivedInterfaces
trait X {
}
open class <caret>A: X {
}
trait Y: X {
}
@@ -0,0 +1,22 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: derivedInterfaces
fun foo() {
open class B: A() {
}
open class C: Y {
}
fun bar() {
trait Z: A {
}
trait U: Z {
}
}
}
@@ -0,0 +1,2 @@
Unclassified usage (14: 15) trait Z: A {
Unclassified usage (18: 15) trait U: Z {
@@ -0,0 +1,5 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: derivedClasses
open class <caret>A {
}
@@ -0,0 +1,9 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: derivedClasses
trait Z: A {
}
object O1: A()
object O2: Z
@@ -0,0 +1,2 @@
Unclassified usage (7: 8) object O1: A()
Unclassified usage (9: 8) object O2: Z
@@ -0,0 +1,16 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: derivedClasses
fun foo() {
open class <caret>A
val b = object: A() {}
trait T: A
fun bar() {
val c = object: A() {}
val d = object: T {}
}
}
@@ -0,0 +1,3 @@
Unclassified usage (11: 17) val c = object: A() {}
Unclassified usage (13: 17) val d = object: T {}
Unclassified usage (6: 13) val b = object: A() {}
@@ -0,0 +1,16 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: derivedClasses
fun foo() {
open class <caret>A
class B: A()
trait T: A
fun bar() {
class C: A()
class D: T
}
}
@@ -0,0 +1,3 @@
Unclassified usage (11: 15) class C: A()
Unclassified usage (13: 15) class D: T
Unclassified usage (6: 11) class B: A()
@@ -0,0 +1,16 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: derivedClasses
fun foo() {
open class <caret>A
object B: A()
trait T: A
fun bar() {
object C: A()
object D: T
}
}
@@ -0,0 +1,3 @@
Unclassified usage (11: 16) object C: A()
Unclassified usage (13: 16) object D: T
Unclassified usage (6: 12) object B: A()
@@ -0,0 +1,12 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: derivedInterfaces
fun foo() {
open class <caret>A
trait T: A
fun bar() {
trait U: T
}
}
@@ -0,0 +1,2 @@
Unclassified usage (6: 11) trait T: A
Unclassified usage (9: 15) trait U: T
@@ -0,0 +1,9 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: derivedClasses
trait <caret>X {
}
open class A: X {
}
@@ -0,0 +1,16 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: derivedClasses
fun foo() {
fun doSomething(a: X, b: X) {
}
doSomething(object : A() {}, object: X {})
fun bar() {
val x = object O2: X {
}
}
}
@@ -0,0 +1,3 @@
Unclassified usage (7: 12) open class A: X {
Unclassified usage (9: 17) doSomething(object : A() {}, object: X {})
Unclassified usage (9: 34) doSomething(object : A() {}, object: X {})
@@ -0,0 +1,13 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: derivedClasses
trait <caret>X {
}
open class A: X {
}
trait Y: X {
}
@@ -0,0 +1,22 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: derivedClasses
fun foo() {
open class B: A() {
}
open class C: Y {
}
fun bar() {
trait Z: A {
}
trait U: Z {
}
}
}
@@ -0,0 +1,3 @@
Unclassified usage (5: 16) open class B: A() {
Unclassified usage (7: 12) open class A: X {
Unclassified usage (9: 16) open class C: Y {
@@ -0,0 +1,9 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: derivedClasses
trait <caret>X {
}
open class A: X {
}
@@ -0,0 +1,14 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: derivedClasses
fun foo() {
object O1: A() {
}
fun bar() {
object O2: X {
}
}
}
@@ -0,0 +1,3 @@
Unclassified usage (10: 16) object O2: X {
Unclassified usage (5: 12) object O1: A() {
Unclassified usage (7: 12) open class A: X {
@@ -0,0 +1,9 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: derivedInterfaces
trait <caret>X {
}
open class A: X {
}
@@ -0,0 +1,18 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: derivedInterfaces
fun foo() {
open class B: A() {
}
fun bar() {
trait Z: A {
}
trait U: Z {
}
}
}
@@ -0,0 +1,2 @@
Unclassified usage (10: 15) trait Z: A {
Unclassified usage (14: 15) trait U: Z {
@@ -0,0 +1,13 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: derivedClasses
trait <caret>X {
}
open class A: X {
}
trait Y: X {
}
@@ -0,0 +1,9 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: derivedClasses
object O1: A() {
}
object O2: X {
}
@@ -0,0 +1,3 @@
Unclassified usage (3: 8) object O1: A() {
Unclassified usage (7: 12) open class A: X {
Unclassified usage (7: 8) object O2: X {
@@ -125,11 +125,36 @@ public class JetFindUsagesTestGenerated extends AbstractJetFindUsagesTest {
doTest("idea/testData/findUsages/kotlin/findClassUsages/kotlinClassConstructorUsages.0.kt");
}
@TestMetadata("kotlinClassDerivedAnonymousObjects.0.kt")
public void testKotlinClassDerivedAnonymousObjects() throws Exception {
doTest("idea/testData/findUsages/kotlin/findClassUsages/kotlinClassDerivedAnonymousObjects.0.kt");
}
@TestMetadata("kotlinClassDerivedClasses.0.kt")
public void testKotlinClassDerivedClasses() throws Exception {
doTest("idea/testData/findUsages/kotlin/findClassUsages/kotlinClassDerivedClasses.0.kt");
}
@TestMetadata("kotlinClassDerivedLocalClasses.0.kt")
public void testKotlinClassDerivedLocalClasses() throws Exception {
doTest("idea/testData/findUsages/kotlin/findClassUsages/kotlinClassDerivedLocalClasses.0.kt");
}
@TestMetadata("kotlinClassDerivedLocalObjects.0.kt")
public void testKotlinClassDerivedLocalObjects() throws Exception {
doTest("idea/testData/findUsages/kotlin/findClassUsages/kotlinClassDerivedLocalObjects.0.kt");
}
@TestMetadata("kotlinClassDerivedLocalTraits.0.kt")
public void testKotlinClassDerivedLocalTraits() throws Exception {
doTest("idea/testData/findUsages/kotlin/findClassUsages/kotlinClassDerivedLocalTraits.0.kt");
}
@TestMetadata("kotlinClassDerivedObjects.0.kt")
public void testKotlinClassDerivedObjects() throws Exception {
doTest("idea/testData/findUsages/kotlin/findClassUsages/kotlinClassDerivedObjects.0.kt");
}
@TestMetadata("kotlinClassDerivedTraits.0.kt")
public void testKotlinClassDerivedTraits() throws Exception {
doTest("idea/testData/findUsages/kotlin/findClassUsages/kotlinClassDerivedTraits.0.kt");
@@ -165,6 +190,26 @@ public class JetFindUsagesTestGenerated extends AbstractJetFindUsagesTest {
doTest("idea/testData/findUsages/kotlin/findClassUsages/kotlinInnerClassAllUsages.0.kt");
}
@TestMetadata("kotlinLocalClassDerivedAnonymousObjects.0.kt")
public void testKotlinLocalClassDerivedAnonymousObjects() throws Exception {
doTest("idea/testData/findUsages/kotlin/findClassUsages/kotlinLocalClassDerivedAnonymousObjects.0.kt");
}
@TestMetadata("kotlinLocalClassDerivedLocalClasses.0.kt")
public void testKotlinLocalClassDerivedLocalClasses() throws Exception {
doTest("idea/testData/findUsages/kotlin/findClassUsages/kotlinLocalClassDerivedLocalClasses.0.kt");
}
@TestMetadata("kotlinLocalClassDerivedLocalObjects.0.kt")
public void testKotlinLocalClassDerivedLocalObjects() throws Exception {
doTest("idea/testData/findUsages/kotlin/findClassUsages/kotlinLocalClassDerivedLocalObjects.0.kt");
}
@TestMetadata("kotlinLocalClassDerivedLocalTraits.0.kt")
public void testKotlinLocalClassDerivedLocalTraits() throws Exception {
doTest("idea/testData/findUsages/kotlin/findClassUsages/kotlinLocalClassDerivedLocalTraits.0.kt");
}
@TestMetadata("kotlinLocalClassUsages1.0.kt")
public void testKotlinLocalClassUsages1() throws Exception {
doTest("idea/testData/findUsages/kotlin/findClassUsages/kotlinLocalClassUsages1.0.kt");
@@ -185,11 +230,36 @@ public class JetFindUsagesTestGenerated extends AbstractJetFindUsagesTest {
doTest("idea/testData/findUsages/kotlin/findClassUsages/kotlinPrivateClassUsages.0.kt");
}
@TestMetadata("kotlinTraitDerivedAnonymousObjects.0.kt")
public void testKotlinTraitDerivedAnonymousObjects() throws Exception {
doTest("idea/testData/findUsages/kotlin/findClassUsages/kotlinTraitDerivedAnonymousObjects.0.kt");
}
@TestMetadata("kotlinTraitDerivedClasses.0.kt")
public void testKotlinTraitDerivedClasses() throws Exception {
doTest("idea/testData/findUsages/kotlin/findClassUsages/kotlinTraitDerivedClasses.0.kt");
}
@TestMetadata("kotlinTraitDerivedLocalClasses.0.kt")
public void testKotlinTraitDerivedLocalClasses() throws Exception {
doTest("idea/testData/findUsages/kotlin/findClassUsages/kotlinTraitDerivedLocalClasses.0.kt");
}
@TestMetadata("kotlinTraitDerivedLocalObjects.0.kt")
public void testKotlinTraitDerivedLocalObjects() throws Exception {
doTest("idea/testData/findUsages/kotlin/findClassUsages/kotlinTraitDerivedLocalObjects.0.kt");
}
@TestMetadata("kotlinTraitDerivedLocalTraits.0.kt")
public void testKotlinTraitDerivedLocalTraits() throws Exception {
doTest("idea/testData/findUsages/kotlin/findClassUsages/kotlinTraitDerivedLocalTraits.0.kt");
}
@TestMetadata("kotlinTraitDerivedObjects.0.kt")
public void testKotlinTraitDerivedObjects() throws Exception {
doTest("idea/testData/findUsages/kotlin/findClassUsages/kotlinTraitDerivedObjects.0.kt");
}
@TestMetadata("kotlinTraitDerivedTraits.0.kt")
public void testKotlinTraitDerivedTraits() throws Exception {
doTest("idea/testData/findUsages/kotlin/findClassUsages/kotlinTraitDerivedTraits.0.kt");
@@ -491,11 +561,31 @@ public class JetFindUsagesTestGenerated extends AbstractJetFindUsagesTest {
doTest("idea/testData/findUsages/java/findJavaClassUsages/JKClassAllUsages.0.java");
}
@TestMetadata("JKClassDerivedAnonymousObjects.0.java")
public void testJKClassDerivedAnonymousObjects() throws Exception {
doTest("idea/testData/findUsages/java/findJavaClassUsages/JKClassDerivedAnonymousObjects.0.java");
}
@TestMetadata("JKClassDerivedClasses.0.java")
public void testJKClassDerivedClasses() throws Exception {
doTest("idea/testData/findUsages/java/findJavaClassUsages/JKClassDerivedClasses.0.java");
}
@TestMetadata("JKClassDerivedLocalClasses.0.java")
public void testJKClassDerivedLocalClasses() throws Exception {
doTest("idea/testData/findUsages/java/findJavaClassUsages/JKClassDerivedLocalClasses.0.java");
}
@TestMetadata("JKClassDerivedLocalObjects.0.java")
public void testJKClassDerivedLocalObjects() throws Exception {
doTest("idea/testData/findUsages/java/findJavaClassUsages/JKClassDerivedLocalObjects.0.java");
}
@TestMetadata("JKClassDerivedObjects.0.java")
public void testJKClassDerivedObjects() throws Exception {
doTest("idea/testData/findUsages/java/findJavaClassUsages/JKClassDerivedObjects.0.java");
}
@TestMetadata("JKClassFieldsUsages.0.java")
public void testJKClassFieldsUsages() throws Exception {
doTest("idea/testData/findUsages/java/findJavaClassUsages/JKClassFieldsUsages.0.java");
@@ -516,11 +606,36 @@ public class JetFindUsagesTestGenerated extends AbstractJetFindUsagesTest {
doTest("idea/testData/findUsages/java/findJavaClassUsages/JKInnerClassAllUsages.0.java");
}
@TestMetadata("JKInterfaceDerivedAnonymousObjects.0.java")
public void testJKInterfaceDerivedAnonymousObjects() throws Exception {
doTest("idea/testData/findUsages/java/findJavaClassUsages/JKInterfaceDerivedAnonymousObjects.0.java");
}
@TestMetadata("JKInterfaceDerivedClasses.0.java")
public void testJKInterfaceDerivedClasses() throws Exception {
doTest("idea/testData/findUsages/java/findJavaClassUsages/JKInterfaceDerivedClasses.0.java");
}
@TestMetadata("JKInterfaceDerivedLocalClasses.0.java")
public void testJKInterfaceDerivedLocalClasses() throws Exception {
doTest("idea/testData/findUsages/java/findJavaClassUsages/JKInterfaceDerivedLocalClasses.0.java");
}
@TestMetadata("JKInterfaceDerivedLocalObjects.0.java")
public void testJKInterfaceDerivedLocalObjects() throws Exception {
doTest("idea/testData/findUsages/java/findJavaClassUsages/JKInterfaceDerivedLocalObjects.0.java");
}
@TestMetadata("JKInterfaceDerivedLocalTraits.0.java")
public void testJKInterfaceDerivedLocalTraits() throws Exception {
doTest("idea/testData/findUsages/java/findJavaClassUsages/JKInterfaceDerivedLocalTraits.0.java");
}
@TestMetadata("JKInterfaceDerivedObjects.0.java")
public void testJKInterfaceDerivedObjects() throws Exception {
doTest("idea/testData/findUsages/java/findJavaClassUsages/JKInterfaceDerivedObjects.0.java");
}
@TestMetadata("JKNestedClassAllUsages.0.java")
public void testJKNestedClassAllUsages() throws Exception {
doTest("idea/testData/findUsages/java/findJavaClassUsages/JKNestedClassAllUsages.0.java");