[Analysis API] fix IndexOutOfRangeException
Previously, the `KtFirUsualClassType.qualifiers` was empty for the local classes The reason was a RawFirBuilder setting up a containingClassForLocalAttr to the outer non-local class for the local class. It should be a null instead, see the localClassType.kt as an example ^KT-55510 fixed
This commit is contained in:
+1
-1
@@ -1,2 +1,2 @@
|
||||
KtType: Foo
|
||||
KtType: Foo.Bar
|
||||
PsiType: PsiType:Bar
|
||||
|
||||
Vendored
+11
@@ -0,0 +1,11 @@
|
||||
annotationsList: []
|
||||
classId: B
|
||||
classSymbol: KtNamedClassOrObjectSymbol(<local>/B)
|
||||
nullability: NON_NULLABLE
|
||||
ownTypeArguments: []
|
||||
qualifiers: [
|
||||
qualifier:
|
||||
name: B
|
||||
symbol: KtNamedClassOrObjectSymbol(<local>/B)
|
||||
typeArguments: []
|
||||
]
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
class A {
|
||||
fun aa() {
|
||||
class B()
|
||||
|
||||
fun cc<caret>c(): B
|
||||
}
|
||||
}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
annotationsList: []
|
||||
classId: A.B
|
||||
classSymbol: KtNamedClassOrObjectSymbol(<local>/B)
|
||||
nullability: NON_NULLABLE
|
||||
ownTypeArguments: []
|
||||
qualifiers: [
|
||||
qualifier:
|
||||
name: B
|
||||
symbol: KtNamedClassOrObjectSymbol(<local>/B)
|
||||
typeArguments: []
|
||||
]
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
annotationsList: []
|
||||
classId: B
|
||||
classSymbol: KtNamedClassOrObjectSymbol(<local>/B)
|
||||
nullability: NON_NULLABLE
|
||||
ownTypeArguments: [
|
||||
annotationsList: []
|
||||
classId: kotlin/Int
|
||||
classSymbol: KtNamedClassOrObjectSymbol(kotlin/Int)
|
||||
nullability: NON_NULLABLE
|
||||
ownTypeArguments: []
|
||||
qualifiers: [
|
||||
qualifier:
|
||||
name: Int
|
||||
symbol: KtNamedClassOrObjectSymbol(kotlin/Int)
|
||||
typeArguments: []
|
||||
]
|
||||
]
|
||||
qualifiers: [
|
||||
qualifier:
|
||||
name: B
|
||||
symbol: KtNamedClassOrObjectSymbol(<local>/B)
|
||||
typeArguments: [
|
||||
annotationsList: []
|
||||
classId: kotlin/Int
|
||||
classSymbol: KtNamedClassOrObjectSymbol(kotlin/Int)
|
||||
nullability: NON_NULLABLE
|
||||
ownTypeArguments: []
|
||||
qualifiers: [
|
||||
qualifier:
|
||||
name: Int
|
||||
symbol: KtNamedClassOrObjectSymbol(kotlin/Int)
|
||||
typeArguments: []
|
||||
]
|
||||
]
|
||||
]
|
||||
Vendored
+7
@@ -0,0 +1,7 @@
|
||||
class A {
|
||||
fun aa() {
|
||||
class B<T>()
|
||||
|
||||
fun cc<caret>c(): B<Int>
|
||||
}
|
||||
}
|
||||
Vendored
+35
@@ -0,0 +1,35 @@
|
||||
annotationsList: []
|
||||
classId: A.B
|
||||
classSymbol: KtNamedClassOrObjectSymbol(<local>/B)
|
||||
nullability: NON_NULLABLE
|
||||
ownTypeArguments: [
|
||||
annotationsList: []
|
||||
classId: kotlin/Int
|
||||
classSymbol: KtNamedClassOrObjectSymbol(kotlin/Int)
|
||||
nullability: NON_NULLABLE
|
||||
ownTypeArguments: []
|
||||
qualifiers: [
|
||||
qualifier:
|
||||
name: Int
|
||||
symbol: KtNamedClassOrObjectSymbol(kotlin/Int)
|
||||
typeArguments: []
|
||||
]
|
||||
]
|
||||
qualifiers: [
|
||||
qualifier:
|
||||
name: B
|
||||
symbol: KtNamedClassOrObjectSymbol(<local>/B)
|
||||
typeArguments: [
|
||||
annotationsList: []
|
||||
classId: kotlin/Int
|
||||
classSymbol: KtNamedClassOrObjectSymbol(kotlin/Int)
|
||||
nullability: NON_NULLABLE
|
||||
ownTypeArguments: []
|
||||
qualifiers: [
|
||||
qualifier:
|
||||
name: Int
|
||||
symbol: KtNamedClassOrObjectSymbol(kotlin/Int)
|
||||
typeArguments: []
|
||||
]
|
||||
]
|
||||
]
|
||||
Vendored
+15
@@ -0,0 +1,15 @@
|
||||
annotationsList: []
|
||||
classId: C
|
||||
classSymbol: KtNamedClassOrObjectSymbol(<local>/C)
|
||||
nullability: NON_NULLABLE
|
||||
ownTypeArguments: []
|
||||
qualifiers: [
|
||||
qualifier:
|
||||
name: B
|
||||
symbol: KtNamedClassOrObjectSymbol(<local>/B)
|
||||
typeArguments: []
|
||||
qualifier:
|
||||
name: C
|
||||
symbol: KtNamedClassOrObjectSymbol(<local>/C)
|
||||
typeArguments: []
|
||||
]
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
class A {
|
||||
fun aa() {
|
||||
class B {
|
||||
class C
|
||||
}
|
||||
|
||||
fun cc<caret>c(): B.C
|
||||
}
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
annotationsList: []
|
||||
classId: A.B.C
|
||||
classSymbol: KtNamedClassOrObjectSymbol(<local>/C)
|
||||
nullability: NON_NULLABLE
|
||||
ownTypeArguments: []
|
||||
qualifiers: [
|
||||
qualifier:
|
||||
name: B
|
||||
symbol: KtNamedClassOrObjectSymbol(<local>/B)
|
||||
typeArguments: []
|
||||
qualifier:
|
||||
name: C
|
||||
symbol: KtNamedClassOrObjectSymbol(<local>/C)
|
||||
typeArguments: []
|
||||
]
|
||||
Reference in New Issue
Block a user