KT-64080 [LL] Resolve super calls to BODY_RESOLVE for on-air resolve

^KT-64080 Fixed
This commit is contained in:
Roman Golyshev
2023-12-06 14:42:24 +01:00
parent 3c7dfc0e5b
commit f266a44356
21 changed files with 289 additions and 1 deletions
@@ -0,0 +1,19 @@
Tower Data Context:
Element 0
Scope: FirDefaultStarImportingScope
Element 1
Scope: FirExplicitStarImportingScope
Element 2
Scope: FirDefaultSimpleImportingScope
Element 3
Scope: FirDefaultSimpleImportingScope
Element 4
Scope: FirPackageMemberScope
Element 5
Scope: FirExplicitSimpleImportingScope
Element 6
Implicit receiver:
FirRegularClassSymbol public final class MyClass : R|kotlin/Any|
Type: test.MyClass
Element 7
Scope: FirLocalScope
@@ -0,0 +1,6 @@
KT element: KtNameReferenceExpression
FIR element: FirPropertyAccessExpressionImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|test/property|
@@ -0,0 +1,7 @@
package test
val property = 10
class MyClass(i: Int) {
constructor(): this(prop<caret>erty)
}
@@ -0,0 +1,19 @@
Tower Data Context:
Element 0
Scope: FirDefaultStarImportingScope
Element 1
Scope: FirExplicitStarImportingScope
Element 2
Scope: FirDefaultSimpleImportingScope
Element 3
Scope: FirDefaultSimpleImportingScope
Element 4
Scope: FirPackageMemberScope
Element 5
Scope: FirExplicitSimpleImportingScope
Element 6
Implicit receiver:
FirRegularClassSymbol public final class Child : R|test/Base|
Type: test.Child
Element 7
Scope: FirLocalScope
@@ -0,0 +1,6 @@
KT element: KtNameReferenceExpression
FIR element: FirPropertyAccessExpressionImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|test/property|
@@ -0,0 +1,7 @@
package test
open class Base(action: Int)
val property = 10
class Child : Base(prop<caret>erty)
@@ -0,0 +1,19 @@
Tower Data Context:
Element 0
Scope: FirDefaultStarImportingScope
Element 1
Scope: FirExplicitStarImportingScope
Element 2
Scope: FirDefaultSimpleImportingScope
Element 3
Scope: FirDefaultSimpleImportingScope
Element 4
Scope: FirPackageMemberScope
Element 5
Scope: FirExplicitSimpleImportingScope
Element 6
Implicit receiver:
FirRegularClassSymbol public final class Child : R|test/Base|
Type: test.Child
Element 7
Scope: FirLocalScope
@@ -0,0 +1,6 @@
KT element: KtNameReferenceExpression
FIR element: FirPropertyAccessExpressionImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|test/property|
@@ -0,0 +1,9 @@
package test
open class Base(i: Int)
val property = 10
class Child : Base {
constructor(): super(prop<caret>erty)
}
@@ -0,0 +1,19 @@
Tower Data Context:
Element 0
Scope: FirDefaultStarImportingScope
Element 1
Scope: FirExplicitStarImportingScope
Element 2
Scope: FirDefaultSimpleImportingScope
Element 3
Scope: FirDefaultSimpleImportingScope
Element 4
Scope: FirPackageMemberScope
Element 5
Scope: FirExplicitSimpleImportingScope
Element 6
Implicit receiver:
FirRegularClassSymbol public final class MyClass : R|test/MyInterface|
Type: test.MyClass
Element 7
Scope: FirLocalScope
@@ -0,0 +1,6 @@
KT element: KtNameReferenceExpression
FIR element: FirPropertyAccessExpressionImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|test/property|
@@ -0,0 +1,7 @@
package test
interface MyInterface
val property: MyInterface = object : MyInterface {}
class MyClass: MyInterface by prop<caret>erty
@@ -0,0 +1,27 @@
Tower Data Context:
Element 0
Scope: FirDefaultStarImportingScope
Element 1
Scope: FirExplicitStarImportingScope
Element 2
Scope: FirDefaultSimpleImportingScope
Element 3
Scope: FirDefaultSimpleImportingScope
Element 4
Scope: FirPackageMemberScope
Element 5
Scope: FirExplicitSimpleImportingScope
Element 6
Implicit receiver:
FirRegularClassSymbol public final companion object Companion : R|test/MyInterface|
Type: test.MyClass.Companion
Element 7
Scope: FirNestedClassifierScopeImpl
Classifiers:
FirRegularClassSymbol public final companion object Companion : R|test/MyInterface|
Element 8
Implicit receiver:
FirRegularClassSymbol public final class MyClass : R|test/MyInterface|
Type: test.MyClass
Element 9
Scope: FirLocalScope
@@ -0,0 +1,6 @@
KT element: KtNameReferenceExpression
FIR element: FirResolvedQualifierImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
Q|test/MyClass.Companion|
@@ -0,0 +1,7 @@
package test
interface MyInterface
class MyClass: MyInterface by Comp<caret>anion {
companion object : MyInterface
}
@@ -0,0 +1,17 @@
Tower Data Context:
Element 0
Scope: FirDefaultStarImportingScope
Element 1
Scope: FirExplicitStarImportingScope
Element 2
Scope: FirDefaultSimpleImportingScope
Element 3
Scope: FirDefaultSimpleImportingScope
Element 4
Scope: FirPackageMemberScope
Element 5
Scope: FirExplicitSimpleImportingScope
Element 6
Implicit receiver:
FirRegularClassSymbol public final class MyClass : R|test/MyInterface|
Type: test.MyClass
@@ -0,0 +1,6 @@
KT element: KtNameReferenceExpression
FIR element: FirPropertyAccessExpressionImpl
FIR source kind: KtRealSourceElementKind
FIR element rendered:
R|<local>/param|
@@ -0,0 +1,5 @@
package test
interface MyInterface
class MyClass(param: MyInterface): MyInterface by par<caret>am