Fix caching of light class data for nested classes

This commit is contained in:
Alexey Sedunov
2013-12-17 17:03:51 +04:00
parent 09642df623
commit 1d03f9f151
31 changed files with 378 additions and 54 deletions
@@ -0,0 +1,5 @@
// PSI_ELEMENT: com.intellij.psi.PsiClass
// OPTIONS: derivedClasses
public class <caret>A {
}
@@ -0,0 +1,11 @@
public class Outer {
public open class X: A()
public trait T: A
public class Inner {
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,10 @@
class Outer {
public trait T: A
public object O1: A()
class Inner {
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: implementingClasses
public interface <caret>A {
}
@@ -0,0 +1,11 @@
class Outer {
public open class X: A
public trait T: A
class Inner {
public open class Y: X()
public class Z: Y(), T
}
}
@@ -0,0 +1,4 @@
Unclassified usage (2: 23) public open class X: 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: implementingClasses
public interface <caret>A {
}
@@ -0,0 +1,9 @@
class Outer {
public open class T: A
public object O1: A()
class Inner {
public object O2: T()
}
}
@@ -0,0 +1,3 @@
Unclassified usage (2: 23) public open class T: A
Unclassified usage (4: 19) public object O1: A()
Unclassified usage (7: 23) public object O2: T()
@@ -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,21 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: derivedClasses
class Outer {
open class B: A() {
}
open class C: Y {
}
class Inner {
trait Z: A {
}
class U: Z {
}
}
}
@@ -0,0 +1,2 @@
Unclassified usage (17: 15) class U: Z {
Unclassified usage (4: 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,13 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: derivedClasses
class Outer {
trait Z: A {
}
object O1: A()
class Inner {
object O2: Z
}
}
@@ -0,0 +1,2 @@
Unclassified usage (11: 16) object O2: Z
Unclassified usage (8: 12) object O1: A()
@@ -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,21 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: derivedClasses
class Outer {
open class B: A() {
}
open class C: Y {
}
class Inner {
trait Z: A {
}
trait U: Z {
}
}
}
@@ -0,0 +1,3 @@
Unclassified usage (4: 16) open class B: A() {
Unclassified usage (7: 12) open class A: X {
Unclassified usage (8: 16) open class C: Y {
@@ -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,13 @@
// PSI_ELEMENT: org.jetbrains.jet.lang.psi.JetClass
// OPTIONS: derivedClasses
class Outer {
object O1: A() {
}
class Inner {
object O2: X {
}
}
}
@@ -0,0 +1,3 @@
Unclassified usage (4: 12) object O1: A() {
Unclassified usage (7: 12) open class A: X {
Unclassified usage (9: 16) object O2: X {