[SLC] Order parent classes before nested classes in structure test results
- This improves the readability of the result files.
This commit is contained in:
committed by
Space Team
parent
9ac639e0d3
commit
223c793258
@@ -16,18 +16,6 @@ BaseInterface.class:
|
||||
]
|
||||
|
||||
EnumClassWithInterface.class:
|
||||
KtEnumEntry:
|
||||
line: 7
|
||||
name: NewFirstEntry
|
||||
qualifier: one.two.EnumClassWithInterface.NewFirstEntry
|
||||
light: null
|
||||
|
||||
KtEnumEntry:
|
||||
line: 9
|
||||
name: NewSecondEntryWithBody
|
||||
qualifier: one.two.EnumClassWithInterface.NewSecondEntryWithBody
|
||||
light: null
|
||||
|
||||
KtClass:
|
||||
line: 6
|
||||
name: EnumClassWithInterface
|
||||
@@ -48,19 +36,19 @@ EnumClassWithInterface.class:
|
||||
KtLightClassForDecompiledDeclaration: BaseInterface (one.two.BaseInterface)
|
||||
]
|
||||
|
||||
EnumEntries.class:
|
||||
KtEnumEntry:
|
||||
line: 7
|
||||
name: FirstEntry
|
||||
qualifier: one.two.EnumEntries.FirstEntry
|
||||
name: NewFirstEntry
|
||||
qualifier: one.two.EnumClassWithInterface.NewFirstEntry
|
||||
light: null
|
||||
|
||||
KtEnumEntry:
|
||||
line: 9
|
||||
name: SecondEntryWithBody
|
||||
qualifier: one.two.EnumEntries.SecondEntryWithBody
|
||||
name: NewSecondEntryWithBody
|
||||
qualifier: one.two.EnumClassWithInterface.NewSecondEntryWithBody
|
||||
light: null
|
||||
|
||||
EnumEntries.class:
|
||||
KtClass:
|
||||
line: 6
|
||||
name: EnumEntries
|
||||
@@ -77,3 +65,15 @@ EnumEntries.class:
|
||||
ClsClassImpl: Enum (java.lang.Enum)
|
||||
]
|
||||
|
||||
KtEnumEntry:
|
||||
line: 7
|
||||
name: FirstEntry
|
||||
qualifier: one.two.EnumEntries.FirstEntry
|
||||
light: null
|
||||
|
||||
KtEnumEntry:
|
||||
line: 9
|
||||
name: SecondEntryWithBody
|
||||
qualifier: one.two.EnumEntries.SecondEntryWithBody
|
||||
light: null
|
||||
|
||||
|
||||
@@ -14,6 +14,22 @@ KtClass:
|
||||
ClsClassImpl: Object (java.lang.Object)
|
||||
]
|
||||
|
||||
KtClass:
|
||||
line: 5
|
||||
name: EnumEntries
|
||||
qualifier: one.two.EnumEntries
|
||||
light: SymbolLightClassForClassOrObject
|
||||
name: EnumEntries
|
||||
qualifier: one.two.EnumEntries
|
||||
superTypes: [
|
||||
PsiType:Enum<EnumEntries>
|
||||
]
|
||||
superClass: ClsClassImpl: Enum (java.lang.Enum)
|
||||
interfaces: []
|
||||
supers: [
|
||||
ClsClassImpl: Enum (java.lang.Enum)
|
||||
]
|
||||
|
||||
KtEnumEntry:
|
||||
line: 6
|
||||
name: FirstEntry
|
||||
@@ -37,19 +53,23 @@ KtEnumEntry:
|
||||
]
|
||||
|
||||
KtClass:
|
||||
line: 5
|
||||
name: EnumEntries
|
||||
qualifier: one.two.EnumEntries
|
||||
line: 14
|
||||
name: EnumClassWithInterface
|
||||
qualifier: one.two.EnumClassWithInterface
|
||||
light: SymbolLightClassForClassOrObject
|
||||
name: EnumEntries
|
||||
qualifier: one.two.EnumEntries
|
||||
name: EnumClassWithInterface
|
||||
qualifier: one.two.EnumClassWithInterface
|
||||
superTypes: [
|
||||
PsiType:Enum<EnumEntries>
|
||||
PsiType:Enum<EnumClassWithInterface>
|
||||
PsiType:BaseInterface
|
||||
]
|
||||
superClass: ClsClassImpl: Enum (java.lang.Enum)
|
||||
interfaces: []
|
||||
interfaces: [
|
||||
SymbolLightClassForInterface: BaseInterface (one.two.BaseInterface)
|
||||
]
|
||||
supers: [
|
||||
ClsClassImpl: Enum (java.lang.Enum)
|
||||
SymbolLightClassForInterface: BaseInterface (one.two.BaseInterface)
|
||||
]
|
||||
|
||||
KtEnumEntry:
|
||||
@@ -74,23 +94,3 @@ KtEnumEntry:
|
||||
SymbolLightClassForClassOrObject: EnumClassWithInterface (one.two.EnumClassWithInterface)
|
||||
]
|
||||
|
||||
KtClass:
|
||||
line: 14
|
||||
name: EnumClassWithInterface
|
||||
qualifier: one.two.EnumClassWithInterface
|
||||
light: SymbolLightClassForClassOrObject
|
||||
name: EnumClassWithInterface
|
||||
qualifier: one.two.EnumClassWithInterface
|
||||
superTypes: [
|
||||
PsiType:Enum<EnumClassWithInterface>
|
||||
PsiType:BaseInterface
|
||||
]
|
||||
superClass: ClsClassImpl: Enum (java.lang.Enum)
|
||||
interfaces: [
|
||||
SymbolLightClassForInterface: BaseInterface (one.two.BaseInterface)
|
||||
]
|
||||
supers: [
|
||||
ClsClassImpl: Enum (java.lang.Enum)
|
||||
SymbolLightClassForInterface: BaseInterface (one.two.BaseInterface)
|
||||
]
|
||||
|
||||
|
||||
@@ -1,4 +1,20 @@
|
||||
B.class:
|
||||
KtClass:
|
||||
line: 4
|
||||
name: B
|
||||
qualifier: B
|
||||
light: KtLightClassForDecompiledDeclaration
|
||||
name: B
|
||||
qualifier: B
|
||||
superTypes: [
|
||||
PsiType:A
|
||||
]
|
||||
superClass: KtLightClassForDecompiledDeclaration: A (A)
|
||||
interfaces: []
|
||||
supers: [
|
||||
KtLightClassForDecompiledDeclaration: A (A)
|
||||
]
|
||||
|
||||
KtClass:
|
||||
line: 5
|
||||
name: NestedInB
|
||||
@@ -31,23 +47,39 @@ B.class:
|
||||
ClsClassImpl: Object (java.lang.Object)
|
||||
]
|
||||
|
||||
A.class:
|
||||
KtClass:
|
||||
line: 4
|
||||
name: B
|
||||
qualifier: B
|
||||
name: A
|
||||
qualifier: A
|
||||
light: KtLightClassForDecompiledDeclaration
|
||||
name: B
|
||||
qualifier: B
|
||||
name: A
|
||||
qualifier: A
|
||||
superTypes: [
|
||||
PsiType:A
|
||||
PsiType:Object
|
||||
]
|
||||
superClass: KtLightClassForDecompiledDeclaration: A (A)
|
||||
superClass: ClsClassImpl: Object (java.lang.Object)
|
||||
interfaces: []
|
||||
supers: [
|
||||
KtLightClassForDecompiledDeclaration: A (A)
|
||||
ClsClassImpl: Object (java.lang.Object)
|
||||
]
|
||||
|
||||
KtClass:
|
||||
line: 5
|
||||
name: NestedInA
|
||||
qualifier: A.NestedInA
|
||||
light: KtLightClassForDecompiledDeclaration
|
||||
name: NestedInA
|
||||
qualifier: A.NestedInA
|
||||
superTypes: [
|
||||
PsiType:Object
|
||||
]
|
||||
superClass: ClsClassImpl: Object (java.lang.Object)
|
||||
interfaces: []
|
||||
supers: [
|
||||
ClsClassImpl: Object (java.lang.Object)
|
||||
]
|
||||
|
||||
A.class:
|
||||
KtClass:
|
||||
line: 6
|
||||
name: NestedInNestedInA
|
||||
@@ -81,12 +113,12 @@ A.class:
|
||||
]
|
||||
|
||||
KtClass:
|
||||
line: 5
|
||||
name: NestedInA
|
||||
qualifier: A.NestedInA
|
||||
line: 13
|
||||
name: InnerInA
|
||||
qualifier: A.InnerInA
|
||||
light: KtLightClassForDecompiledDeclaration
|
||||
name: NestedInA
|
||||
qualifier: A.NestedInA
|
||||
name: InnerInA
|
||||
qualifier: A.InnerInA
|
||||
superTypes: [
|
||||
PsiType:Object
|
||||
]
|
||||
@@ -111,35 +143,3 @@ A.class:
|
||||
supers: [
|
||||
ClsClassImpl: Object (java.lang.Object)
|
||||
]
|
||||
|
||||
KtClass:
|
||||
line: 13
|
||||
name: InnerInA
|
||||
qualifier: A.InnerInA
|
||||
light: KtLightClassForDecompiledDeclaration
|
||||
name: InnerInA
|
||||
qualifier: A.InnerInA
|
||||
superTypes: [
|
||||
PsiType:Object
|
||||
]
|
||||
superClass: ClsClassImpl: Object (java.lang.Object)
|
||||
interfaces: []
|
||||
supers: [
|
||||
ClsClassImpl: Object (java.lang.Object)
|
||||
]
|
||||
|
||||
KtClass:
|
||||
line: 4
|
||||
name: A
|
||||
qualifier: A
|
||||
light: KtLightClassForDecompiledDeclaration
|
||||
name: A
|
||||
qualifier: A
|
||||
superTypes: [
|
||||
PsiType:Object
|
||||
]
|
||||
superClass: ClsClassImpl: Object (java.lang.Object)
|
||||
interfaces: []
|
||||
supers: [
|
||||
ClsClassImpl: Object (java.lang.Object)
|
||||
]
|
||||
|
||||
@@ -1,3 +1,35 @@
|
||||
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: 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: 3
|
||||
name: NestedInNestedInA
|
||||
@@ -31,12 +63,12 @@ KtClass:
|
||||
]
|
||||
|
||||
KtClass:
|
||||
line: 2
|
||||
name: NestedInA
|
||||
qualifier: A.NestedInA
|
||||
line: 8
|
||||
name: InnerInA
|
||||
qualifier: A.InnerInA
|
||||
light: SymbolLightClassForClassOrObject
|
||||
name: NestedInA
|
||||
qualifier: A.NestedInA
|
||||
name: InnerInA
|
||||
qualifier: A.InnerInA
|
||||
superTypes: [
|
||||
PsiType:Object
|
||||
]
|
||||
@@ -63,35 +95,19 @@ KtClass:
|
||||
]
|
||||
|
||||
KtClass:
|
||||
line: 8
|
||||
name: InnerInA
|
||||
qualifier: A.InnerInA
|
||||
line: 13
|
||||
name: B
|
||||
qualifier: B
|
||||
light: SymbolLightClassForClassOrObject
|
||||
name: InnerInA
|
||||
qualifier: A.InnerInA
|
||||
name: B
|
||||
qualifier: B
|
||||
superTypes: [
|
||||
PsiType:Object
|
||||
PsiType:A
|
||||
]
|
||||
superClass: ClsClassImpl: Object (java.lang.Object)
|
||||
superClass: SymbolLightClassForClassOrObject: A (A)
|
||||
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)
|
||||
SymbolLightClassForClassOrObject: A (A)
|
||||
]
|
||||
|
||||
KtClass:
|
||||
@@ -126,18 +142,3 @@ KtClass:
|
||||
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)
|
||||
]
|
||||
|
||||
+5
-5
@@ -15,7 +15,7 @@ import org.jetbrains.kotlin.asJava.toLightClass
|
||||
import org.jetbrains.kotlin.psi.KtClassOrObject
|
||||
import org.jetbrains.kotlin.psi.KtEnumEntry
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.psi.psiUtil.forEachDescendantOfType
|
||||
import org.jetbrains.kotlin.psi.psiUtil.forEachDescendantOfTypeInPreorder
|
||||
import org.jetbrains.kotlin.psi.psiUtil.startOffset
|
||||
import org.jetbrains.kotlin.test.model.TestModule
|
||||
import org.jetbrains.kotlin.test.services.TestServices
|
||||
@@ -109,7 +109,7 @@ open class AbstractSymbolLightClassesStructureTestBase(
|
||||
val classOrObject = ktFile.declarations.singleOrNull() as? KtClassOrObject ?: return
|
||||
handleCompiledClassDeclaration(classOrObject, text)
|
||||
} else {
|
||||
ktFile.forEachDescendantOfType<KtClassOrObject> { classOrObject ->
|
||||
ktFile.forEachDescendantOfTypeInPreorder<KtClassOrObject> { classOrObject ->
|
||||
handleClassDeclaration(classOrObject, text)
|
||||
appendLine()
|
||||
}
|
||||
@@ -121,6 +121,9 @@ open class AbstractSymbolLightClassesStructureTestBase(
|
||||
* compiled code in this test results in exceptions. Hence, we have to traverse nested classes and enum entries manually.
|
||||
*/
|
||||
private fun PrettyPrinter.handleCompiledClassDeclaration(classOrObject: KtClassOrObject, text: String) {
|
||||
handleClassDeclaration(classOrObject, text)
|
||||
appendLine()
|
||||
|
||||
classOrObject.declarations.forEach { declaration ->
|
||||
when (declaration) {
|
||||
is KtEnumEntry -> {
|
||||
@@ -131,9 +134,6 @@ open class AbstractSymbolLightClassesStructureTestBase(
|
||||
is KtClassOrObject -> handleCompiledClassDeclaration(declaration, text)
|
||||
}
|
||||
}
|
||||
|
||||
handleClassDeclaration(classOrObject, text)
|
||||
appendLine()
|
||||
}
|
||||
|
||||
private fun PrettyPrinter.handleClassDeclaration(declaration: KtClassOrObject, fileText: String) {
|
||||
|
||||
Reference in New Issue
Block a user