[Analysis API] support creating KtSymbol by K/JS dynamic scope

^KT-61257 fixed
This commit is contained in:
Ilya Kirillov
2023-10-23 17:08:09 +02:00
committed by Space Team
parent 91edbeb747
commit a90562c0da
25 changed files with 441 additions and 18 deletions
@@ -0,0 +1,6 @@
// TARGET_PLATFORM: JS
// DO_NOT_CHECK_SYMBOL_RESTORE
fun foo(jsObject: dynamic) {
jsObject.dynamic<caret>FunctionCall()
}
@@ -0,0 +1 @@
infix operator fun dynamicFunctionCall(vararg args: dynamic): dynamic
@@ -0,0 +1,55 @@
KtFunctionSymbol:
annotationsList: []
callableIdIfNonLocal: null
contextReceivers: []
contractEffects: []
hasStableParameterNames: true
isActual: false
isBuiltinFunctionInvoke: false
isExpect: false
isExtension: false
isExternal: false
isInfix: true
isInline: false
isOperator: true
isOverride: false
isStatic: false
isSuspend: false
modality: FINAL
name: dynamicFunctionCall
origin: JS_DYNAMIC
receiverParameter: null
returnType: KtDynamicType:
annotationsList: []
type: dynamic
symbolKind: CLASS_MEMBER
typeParameters: []
valueParameters: [
KtValueParameterSymbol:
annotationsList: []
callableIdIfNonLocal: null
contextReceivers: []
generatedPrimaryConstructorProperty: null
hasDefaultValue: false
isCrossinline: false
isExtension: false
isImplicitLambdaParameter: false
isNoinline: false
isVararg: true
name: args
origin: JS_DYNAMIC
receiverParameter: null
returnType: KtDynamicType:
annotationsList: []
type: dynamic
symbolKind: LOCAL
typeParameters: []
getContainingModule: KtSourceModule "Sources of main"
deprecationStatus: null
]
visibility: Public
getDispatchReceiver(): KtDynamicType:
annotationsList: []
type: dynamic
getContainingModule: KtSourceModule "Sources of main"
deprecationStatus: null
@@ -0,0 +1,6 @@
// TARGET_PLATFORM: JS
// DO_NOT_CHECK_SYMBOL_RESTORE
fun foo(jsObject: dynamic) {
jsObject.dynamic<caret>FunctionCall(1, "str")
}
@@ -0,0 +1 @@
infix operator fun dynamicFunctionCall(vararg args: dynamic): dynamic
@@ -0,0 +1,55 @@
KtFunctionSymbol:
annotationsList: []
callableIdIfNonLocal: null
contextReceivers: []
contractEffects: []
hasStableParameterNames: true
isActual: false
isBuiltinFunctionInvoke: false
isExpect: false
isExtension: false
isExternal: false
isInfix: true
isInline: false
isOperator: true
isOverride: false
isStatic: false
isSuspend: false
modality: FINAL
name: dynamicFunctionCall
origin: JS_DYNAMIC
receiverParameter: null
returnType: KtDynamicType:
annotationsList: []
type: dynamic
symbolKind: CLASS_MEMBER
typeParameters: []
valueParameters: [
KtValueParameterSymbol:
annotationsList: []
callableIdIfNonLocal: null
contextReceivers: []
generatedPrimaryConstructorProperty: null
hasDefaultValue: false
isCrossinline: false
isExtension: false
isImplicitLambdaParameter: false
isNoinline: false
isVararg: true
name: args
origin: JS_DYNAMIC
receiverParameter: null
returnType: KtDynamicType:
annotationsList: []
type: dynamic
symbolKind: LOCAL
typeParameters: []
getContainingModule: KtSourceModule "Sources of main"
deprecationStatus: null
]
visibility: Public
getDispatchReceiver(): KtDynamicType:
annotationsList: []
type: dynamic
getContainingModule: KtSourceModule "Sources of main"
deprecationStatus: null
@@ -0,0 +1,6 @@
// TARGET_PLATFORM: JS
// DO_NOT_CHECK_SYMBOL_RESTORE
fun foo(jsObject: dynamic) {
jsObject.dynamic<caret>PropertyAcess
}
@@ -0,0 +1 @@
var dynamicPropertyAcess: dynamic
@@ -0,0 +1,40 @@
KtKotlinPropertySymbol:
annotationsList: []
backingFieldSymbol: null
callableIdIfNonLocal: null
contextReceivers: []
getter: null
hasBackingField: true
hasGetter: false
hasSetter: false
initializer: null
isActual: false
isConst: false
isDelegatedProperty: false
isExpect: false
isExtension: false
isFromPrimaryConstructor: false
isLateInit: false
isOverride: false
isStatic: false
isVal: false
modality: FINAL
name: dynamicPropertyAcess
origin: JS_DYNAMIC
receiverParameter: null
returnType: KtDynamicType:
annotationsList: []
type: dynamic
setter: null
symbolKind: CLASS_MEMBER
typeParameters: []
visibility: Public
getDispatchReceiver(): KtDynamicType:
annotationsList: []
type: dynamic
getContainingModule: KtSourceModule "Sources of main"
deprecationStatus: null
getterDeprecationStatus: null
javaGetterName: getDynamicPropertyAcess
javaSetterName: setDynamicPropertyAcess
setterDeprecationStatus: null