From 315573d99f863772a280d5e1d7ad13a1a67a4566 Mon Sep 17 00:00:00 2001 From: Marco Pennekamp Date: Wed, 20 Sep 2023 23:45:39 +0200 Subject: [PATCH] [SLC] Add SLC structure tests for nested classes ^KT-62038 --- .../testData/structure/NestedClasses.kt | 17 +++ .../testData/structure/NestedClasses.txt | 143 ++++++++++++++++++ ...assesStructureForLibraryTestGenerated.java | 6 + ...lassesStructureForSourceTestGenerated.java | 6 + 4 files changed, 172 insertions(+) create mode 100644 analysis/symbol-light-classes/testData/structure/NestedClasses.kt create mode 100644 analysis/symbol-light-classes/testData/structure/NestedClasses.txt 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 {