diff --git a/analysis/symbol-light-classes/testData/structure/NestedClasses.kt b/analysis/symbol-light-classes/testData/structure/NestedClasses.kt new file mode 100644 index 00000000000..8017e0a861f --- /dev/null +++ b/analysis/symbol-light-classes/testData/structure/NestedClasses.kt @@ -0,0 +1,17 @@ +open class A { + class NestedInA { + open class NestedInNestedInA + + inner class InnerInNestedInA + } + + inner class InnerInA { + inner class InnerInInnerInA + } +} + +class B : A() { + class NestedInB : NestedInA.NestedInNestedInA() + + inner class InnerInB +} diff --git a/analysis/symbol-light-classes/testData/structure/NestedClasses.txt b/analysis/symbol-light-classes/testData/structure/NestedClasses.txt new file mode 100644 index 00000000000..1d99daeb867 --- /dev/null +++ b/analysis/symbol-light-classes/testData/structure/NestedClasses.txt @@ -0,0 +1,143 @@ +KtClass: + line: 3 + name: NestedInNestedInA + qualifier: A.NestedInA.NestedInNestedInA + light: SymbolLightClassForClassOrObject + name: NestedInNestedInA + qualifier: A.NestedInA.NestedInNestedInA + superTypes: [ + PsiType:Object + ] + superClass: ClsClassImpl: Object (java.lang.Object) + interfaces: [] + supers: [ + ClsClassImpl: Object (java.lang.Object) + ] + +KtClass: + line: 5 + name: InnerInNestedInA + qualifier: A.NestedInA.InnerInNestedInA + light: SymbolLightClassForClassOrObject + name: InnerInNestedInA + qualifier: A.NestedInA.InnerInNestedInA + superTypes: [ + PsiType:Object + ] + superClass: ClsClassImpl: Object (java.lang.Object) + interfaces: [] + supers: [ + ClsClassImpl: Object (java.lang.Object) + ] + +KtClass: + line: 2 + name: NestedInA + qualifier: A.NestedInA + light: SymbolLightClassForClassOrObject + name: NestedInA + qualifier: A.NestedInA + superTypes: [ + PsiType:Object + ] + superClass: ClsClassImpl: Object (java.lang.Object) + interfaces: [] + supers: [ + ClsClassImpl: Object (java.lang.Object) + ] + +KtClass: + line: 9 + name: InnerInInnerInA + qualifier: A.InnerInA.InnerInInnerInA + light: SymbolLightClassForClassOrObject + name: InnerInInnerInA + qualifier: A.InnerInA.InnerInInnerInA + superTypes: [ + PsiType:Object + ] + superClass: ClsClassImpl: Object (java.lang.Object) + interfaces: [] + supers: [ + ClsClassImpl: Object (java.lang.Object) + ] + +KtClass: + line: 8 + name: InnerInA + qualifier: A.InnerInA + light: SymbolLightClassForClassOrObject + name: InnerInA + qualifier: A.InnerInA + superTypes: [ + PsiType:Object + ] + superClass: ClsClassImpl: Object (java.lang.Object) + interfaces: [] + supers: [ + ClsClassImpl: Object (java.lang.Object) + ] + +KtClass: + line: 1 + name: A + qualifier: A + light: SymbolLightClassForClassOrObject + name: A + qualifier: A + superTypes: [ + PsiType:Object + ] + superClass: ClsClassImpl: Object (java.lang.Object) + interfaces: [] + supers: [ + ClsClassImpl: Object (java.lang.Object) + ] + +KtClass: + line: 14 + name: NestedInB + qualifier: B.NestedInB + light: SymbolLightClassForClassOrObject + name: NestedInB + qualifier: B.NestedInB + superTypes: [ + PsiType:NestedInNestedInA + ] + superClass: SymbolLightClassForClassOrObject: NestedInNestedInA (A.NestedInA.NestedInNestedInA) + interfaces: [] + supers: [ + SymbolLightClassForClassOrObject: NestedInNestedInA (A.NestedInA.NestedInNestedInA) + ] + +KtClass: + line: 16 + name: InnerInB + qualifier: B.InnerInB + light: SymbolLightClassForClassOrObject + name: InnerInB + qualifier: B.InnerInB + superTypes: [ + PsiType:Object + ] + superClass: ClsClassImpl: Object (java.lang.Object) + interfaces: [] + supers: [ + ClsClassImpl: Object (java.lang.Object) + ] + +KtClass: + line: 13 + name: B + qualifier: B + light: SymbolLightClassForClassOrObject + name: B + qualifier: B + superTypes: [ + PsiType:A + ] + superClass: SymbolLightClassForClassOrObject: A (A) + interfaces: [] + supers: [ + SymbolLightClassForClassOrObject: A (A) + ] diff --git a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/decompiled/SymbolLightClassesStructureForLibraryTestGenerated.java b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/decompiled/SymbolLightClassesStructureForLibraryTestGenerated.java index c7d7f044092..4d62e3d5558 100644 --- a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/decompiled/SymbolLightClassesStructureForLibraryTestGenerated.java +++ b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/decompiled/SymbolLightClassesStructureForLibraryTestGenerated.java @@ -54,6 +54,12 @@ public class SymbolLightClassesStructureForLibraryTestGenerated extends Abstract runTest("analysis/symbol-light-classes/testData/structure/Interfaces.kt"); } + @Test + @TestMetadata("NestedClasses.kt") + public void testNestedClasses() throws Exception { + runTest("analysis/symbol-light-classes/testData/structure/NestedClasses.kt"); + } + @Test @TestMetadata("Objects.kt") public void testObjects() throws Exception { diff --git a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesStructureForSourceTestGenerated.java b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesStructureForSourceTestGenerated.java index 93084065b6f..6913eefae78 100644 --- a/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesStructureForSourceTestGenerated.java +++ b/analysis/symbol-light-classes/tests/org/jetbrains/kotlin/light/classes/symbol/source/SymbolLightClassesStructureForSourceTestGenerated.java @@ -54,6 +54,12 @@ public class SymbolLightClassesStructureForSourceTestGenerated extends AbstractS runTest("analysis/symbol-light-classes/testData/structure/Interfaces.kt"); } + @Test + @TestMetadata("NestedClasses.kt") + public void testNestedClasses() throws Exception { + runTest("analysis/symbol-light-classes/testData/structure/NestedClasses.kt"); + } + @Test @TestMetadata("Objects.kt") public void testObjects() throws Exception {