[AA FIR] support symbol restoring for static members

^KT-55487 Fixed
This commit is contained in:
Dmitrii Gridin
2022-12-14 23:33:36 +01:00
committed by Space Team
parent f3c7972d20
commit e476150025
34 changed files with 581 additions and 18 deletions
@@ -0,0 +1,46 @@
KtFunctionSymbol:
annotationsList: []
callableIdIfNonLocal: /MyKotlinEnum.valueOf
contextReceivers: []
contractEffects: []
hasStableParameterNames: true
isBuiltinFunctionInvoke: false
isExtension: false
isExternal: false
isInfix: false
isInline: false
isOperator: false
isOverride: false
isStatic: false
isSuspend: false
modality: FINAL
name: valueOf
origin: SOURCE_MEMBER_GENERATED
receiverParameter: null
returnType: MyKotlinEnum
symbolKind: CLASS_MEMBER
typeParameters: []
valueParameters: [
KtValueParameterSymbol:
annotationsList: []
callableIdIfNonLocal: null
contextReceivers: []
generatedPrimaryConstructorProperty: null
hasDefaultValue: false
isCrossinline: false
isExtension: false
isImplicitLambdaParameter: false
isNoinline: false
isVararg: false
name: value
origin: SOURCE
receiverParameter: null
returnType: kotlin/String
symbolKind: LOCAL
typeParameters: []
getContainingModule: KtSourceModule "Sources of main"
deprecationStatus: null
]
visibility: Public
getContainingModule: KtSourceModule "Sources of main"
deprecationStatus: null
@@ -0,0 +1,9 @@
// DO_NOT_CHECK_SYMBOL_RESTORE_K1
enum class MyKotlinEnum {
FirstEntry, SecondEntry;
}
fun test() {
MyKotlinEnum.val<caret>ueOf("")
}
@@ -0,0 +1 @@
fun valueOf(value: kotlin.String): MyKotlinEnum
@@ -0,0 +1,46 @@
KtFunctionSymbol:
annotationsList: []
callableIdIfNonLocal: /MyKotlinEnum.valueOf
contextReceivers: []
contractEffects: []
hasStableParameterNames: true
isBuiltinFunctionInvoke: false
isExtension: false
isExternal: false
isInfix: false
isInline: false
isOperator: false
isOverride: false
isStatic: true
isSuspend: false
modality: FINAL
name: valueOf
origin: SOURCE_MEMBER_GENERATED
receiverParameter: null
returnType: MyKotlinEnum
symbolKind: CLASS_MEMBER
typeParameters: []
valueParameters: [
KtValueParameterSymbol:
annotationsList: []
callableIdIfNonLocal: null
contextReceivers: []
generatedPrimaryConstructorProperty: null
hasDefaultValue: false
isCrossinline: false
isExtension: false
isImplicitLambdaParameter: false
isNoinline: false
isVararg: false
name: value
origin: SOURCE_MEMBER_GENERATED
receiverParameter: null
returnType: kotlin/String
symbolKind: LOCAL
typeParameters: []
getContainingModule: KtSourceModule "Sources of main"
deprecationStatus: null
]
visibility: Public
getContainingModule: KtSourceModule "Sources of main"
deprecationStatus: null
@@ -0,0 +1,26 @@
KtFunctionSymbol:
annotationsList: []
callableIdIfNonLocal: /MyKotlinEnum.values
contextReceivers: []
contractEffects: []
hasStableParameterNames: true
isBuiltinFunctionInvoke: false
isExtension: false
isExternal: false
isInfix: false
isInline: false
isOperator: false
isOverride: false
isStatic: false
isSuspend: false
modality: FINAL
name: values
origin: SOURCE_MEMBER_GENERATED
receiverParameter: null
returnType: kotlin/Array<MyKotlinEnum>
symbolKind: CLASS_MEMBER
typeParameters: []
valueParameters: []
visibility: Public
getContainingModule: KtSourceModule "Sources of main"
deprecationStatus: null
@@ -0,0 +1,9 @@
// DO_NOT_CHECK_SYMBOL_RESTORE_K1
enum class MyKotlinEnum {
FirstEntry, SecondEntry;
}
fun test() {
MyKotlinEnum.valu<caret>es()
}
@@ -0,0 +1 @@
fun values(): kotlin.Array<MyKotlinEnum>
@@ -0,0 +1,26 @@
KtFunctionSymbol:
annotationsList: []
callableIdIfNonLocal: /MyKotlinEnum.values
contextReceivers: []
contractEffects: []
hasStableParameterNames: true
isBuiltinFunctionInvoke: false
isExtension: false
isExternal: false
isInfix: false
isInline: false
isOperator: false
isOverride: false
isStatic: true
isSuspend: false
modality: FINAL
name: values
origin: SOURCE_MEMBER_GENERATED
receiverParameter: null
returnType: kotlin/Array<MyKotlinEnum>
symbolKind: CLASS_MEMBER
typeParameters: []
valueParameters: []
visibility: Public
getContainingModule: KtSourceModule "Sources of main"
deprecationStatus: null
@@ -0,0 +1,9 @@
// FILE: main.kt
fun some() {
JavaClass().f<caret>oo();
}
// FILE: JavaClass.java
public class JavaClass {
public void foo() {};
}
@@ -0,0 +1 @@
open fun foo()
@@ -0,0 +1,27 @@
KtFunctionSymbol:
annotationsList: []
callableIdIfNonLocal: /JavaClass.foo
contextReceivers: []
contractEffects: []
hasStableParameterNames: false
isBuiltinFunctionInvoke: false
isExtension: false
isExternal: false
isInfix: false
isInline: false
isOperator: false
isOverride: false
isStatic: false
isSuspend: false
modality: OPEN
name: foo
origin: JAVA
receiverParameter: null
returnType: kotlin/Unit
symbolKind: CLASS_MEMBER
typeParameters: []
valueParameters: []
visibility: Public
getDispatchReceiver(): JavaClass
getContainingModule: KtSourceModule "Sources of main"
deprecationStatus: null
@@ -0,0 +1 @@
var field: kotlin.Int
@@ -0,0 +1,17 @@
KtJavaFieldSymbol:
annotationsList: []
callableIdIfNonLocal: /JavaClass.field
contextReceivers: []
isExtension: false
isStatic: true
isVal: false
modality: FINAL
name: field
origin: JAVA
receiverParameter: null
returnType: kotlin/Int
symbolKind: CLASS_MEMBER
typeParameters: []
visibility: Public
getContainingModule: KtSourceModule "Sources of main"
deprecationStatus: null
@@ -0,0 +1,10 @@
// DO_NOT_CHECK_SYMBOL_RESTORE_K1
// FILE: main.kt
fun some() {
JavaClass.f<caret>ield;
}
// FILE: JavaClass.java
public class JavaClass {
public static int field = 1;
}
@@ -0,0 +1 @@
open var field: kotlin.Int
@@ -0,0 +1,17 @@
KtJavaFieldSymbol:
annotationsList: []
callableIdIfNonLocal: /JavaClass.field
contextReceivers: []
isExtension: false
isStatic: true
isVal: false
modality: OPEN
name: field
origin: JAVA
receiverParameter: null
returnType: kotlin/Int
symbolKind: CLASS_MEMBER
typeParameters: []
visibility: Public
getContainingModule: KtSourceModule "Sources of main"
deprecationStatus: null
@@ -0,0 +1,10 @@
// DO_NOT_CHECK_SYMBOL_RESTORE_K1
// FILE: main.kt
fun some() {
JavaClass.f<caret>oo();
}
// FILE: JavaClass.java
public class JavaClass {
public static void foo() {};
}
@@ -0,0 +1 @@
open fun foo()
@@ -0,0 +1,26 @@
KtFunctionSymbol:
annotationsList: []
callableIdIfNonLocal: /JavaClass.foo
contextReceivers: []
contractEffects: []
hasStableParameterNames: false
isBuiltinFunctionInvoke: false
isExtension: false
isExternal: false
isInfix: false
isInline: false
isOperator: false
isOverride: false
isStatic: true
isSuspend: false
modality: OPEN
name: foo
origin: JAVA
receiverParameter: null
returnType: kotlin/Unit
symbolKind: CLASS_MEMBER
typeParameters: []
valueParameters: []
visibility: Public
getContainingModule: KtSourceModule "Sources of main"
deprecationStatus: null
@@ -0,0 +1,2 @@
val JavaClass.foo: kotlin.Int
get()
@@ -0,0 +1,67 @@
KtSyntheticJavaPropertySymbol:
annotationsList: []
callableIdIfNonLocal: /JavaClass.foo
contextReceivers: []
getter: KtPropertyGetterSymbol:
annotationsList: []
callableIdIfNonLocal: /JavaClass.getFoo
contextReceivers: []
hasBody: false
hasStableParameterNames: true
isDefault: false
isExtension: false
isInline: false
isOverride: false
modality: FINAL
origin: SOURCE_MEMBER_GENERATED
receiverParameter: KtReceiverParameterSymbol:
annotationsList: []
origin: SOURCE
owningCallableSymbol: KtSyntheticJavaPropertySymbol(/JavaClass.foo)
type: JavaClass
getContainingModule: Could not render due to kotlin.NotImplementedError: An operation is not implemented: org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.KtFe10ReceiverParameterSymbol
deprecationStatus: null
returnType: kotlin/Int
symbolKind: ACCESSOR
typeParameters: []
valueParameters: []
visibility: Public
getContainingModule: Could not render due to kotlin.NotImplementedError: An operation is not implemented: org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.KtFe10DescPropertyGetterSymbol
deprecationStatus: null
hasBackingField: true
hasGetter: true
hasSetter: false
initializer: null
isDelegatedProperty: false
isExtension: true
isFromPrimaryConstructor: false
isOverride: false
isStatic: false
isVal: true
javaGetterSymbol: KtFunctionSymbol(/JavaClass.getFoo)
javaSetterSymbol: null
modality: FINAL
name: foo
origin: JAVA_SYNTHETIC_PROPERTY
receiverParameter: KtReceiverParameterSymbol:
annotationsList: []
origin: SOURCE
owningCallableSymbol: KtSyntheticJavaPropertySymbol(/JavaClass.foo)
type: JavaClass
getContainingModule: Could not render due to kotlin.NotImplementedError: An operation is not implemented: org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.KtFe10ReceiverParameterSymbol
deprecationStatus: null
returnType: kotlin/Int
setter: null
symbolKind: CLASS_MEMBER
typeParameters: []
visibility: Public
getContainingModule: Could not render due to kotlin.NotImplementedError: An operation is not implemented: org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.KtFe10DescSyntheticJavaPropertySymbol
deprecationStatus: null
getterDeprecationStatus: null
javaGetterName: getFoo
javaSetterName: null
setterDeprecationStatus: null
@@ -0,0 +1,10 @@
// DO_NOT_CHECK_SYMBOL_RESTORE_K1
// FILE: main.kt
fun some() {
JavaClass().f<caret>oo;
}
// FILE: JavaClass.java
public class JavaClass {
public int getFoo() { return 1; };
}
@@ -0,0 +1,2 @@
open val foo: kotlin.Int
get()
@@ -0,0 +1,53 @@
KtSyntheticJavaPropertySymbol:
annotationsList: []
callableIdIfNonLocal: /JavaClass.foo
contextReceivers: []
getter: KtPropertyGetterSymbol:
annotationsList: []
callableIdIfNonLocal: /JavaClass.getFoo
contextReceivers: []
hasBody: false
hasStableParameterNames: true
isDefault: false
isExtension: false
isInline: false
isOverride: false
modality: OPEN
origin: JAVA_SYNTHETIC_PROPERTY
receiverParameter: null
returnType: kotlin/Int
symbolKind: ACCESSOR
typeParameters: []
valueParameters: []
visibility: Public
getDispatchReceiver(): JavaClass
getContainingModule: KtSourceModule "Sources of main"
deprecationStatus: null
hasBackingField: true
hasGetter: true
hasSetter: false
initializer: null
isDelegatedProperty: false
isExtension: false
isFromPrimaryConstructor: false
isOverride: false
isStatic: false
isVal: true
javaGetterSymbol: KtFunctionSymbol(/JavaClass.getFoo)
javaSetterSymbol: null
modality: OPEN
name: foo
origin: JAVA_SYNTHETIC_PROPERTY
receiverParameter: null
returnType: kotlin/Int
setter: null
symbolKind: CLASS_MEMBER
typeParameters: []
visibility: Public
getDispatchReceiver(): JavaClass
getContainingModule: KtSourceModule "Sources of main"
deprecationStatus: null
getterDeprecationStatus: null
javaGetterName: getFoo
javaSetterName: null
setterDeprecationStatus: null