[FIR-IDE] Add DestructuringDeclarationEntry to SymbolProvider

This commit is contained in:
Kristoffer Andersen
2022-05-10 14:11:39 +02:00
committed by Ilya Kirillov
parent b6371a5b9a
commit 3af0e57406
11 changed files with 203 additions and 4 deletions
@@ -0,0 +1,9 @@
fun destruct(): kotlin.Int
data class P {
constructor(x: kotlin.Int, y: kotlin.Int)
val x: kotlin.Int
val y: kotlin.Int
}
@@ -0,0 +1,6 @@
data class P(val x: Int, val y: Int)
fun destruct(): Int {
val (l, r) = P(1, 2)
return l + r
}
@@ -0,0 +1,15 @@
fun destruct(): kotlin.Int
class P {
constructor(x: kotlin.Int, y: kotlin.Int)
val x: kotlin.Int
val y: kotlin.Int
operator fun component1(): kotlin.Int
operator fun component2(): kotlin.Int
fun copy(x: kotlin.Int = ..., y: kotlin.Int = ...): P
}
@@ -0,0 +1,128 @@
KtValueParameterSymbol:
annotationsList: []
callableIdIfNonLocal: null
generatedPrimaryConstructorProperty: KtKotlinPropertySymbol(/P.x)
hasDefaultValue: false
isExtension: false
isImplicitLambdaParameter: false
isVararg: false
name: x
origin: SOURCE
receiverType: null
returnType: kotlin/Int
symbolKind: LOCAL
typeParameters: []
getContainingModule: KtSourceModule "Sources of main"
deprecationStatus: null
KtValueParameterSymbol:
annotationsList: []
callableIdIfNonLocal: null
generatedPrimaryConstructorProperty: KtKotlinPropertySymbol(/P.y)
hasDefaultValue: false
isExtension: false
isImplicitLambdaParameter: false
isVararg: false
name: y
origin: SOURCE
receiverType: null
returnType: kotlin/Int
symbolKind: LOCAL
typeParameters: []
getContainingModule: KtSourceModule "Sources of main"
deprecationStatus: null
KtConstructorSymbol:
annotationsList: []
callableIdIfNonLocal: null
containingClassIdIfNonLocal: P
hasStableParameterNames: true
isExtension: false
isPrimary: true
origin: SOURCE
receiverType: null
returnType: P
symbolKind: CLASS_MEMBER
typeParameters: []
valueParameters: [
KtValueParameterSymbol(x)
KtValueParameterSymbol(y)
]
visibility: Public
getContainingModule: KtSourceModule "Sources of main"
deprecationStatus: null
KtNamedClassOrObjectSymbol:
annotationsList: []
classIdIfNonLocal: P
classKind: CLASS
companionObject: null
isData: true
isExternal: false
isFun: false
isInline: false
isInner: false
modality: FINAL
name: P
origin: SOURCE
superTypes: [
kotlin/Any
]
symbolKind: TOP_LEVEL
typeParameters: []
visibility: Public
getContainingModule: KtSourceModule "Sources of main"
deprecationStatus: null
KtLocalVariableSymbol:
annotationsList: []
callableIdIfNonLocal: null
isExtension: false
isVal: true
name: l
origin: SOURCE
receiverType: null
returnType: kotlin/Int
symbolKind: LOCAL
typeParameters: []
getContainingModule: KtSourceModule "Sources of main"
deprecationStatus: null
KtLocalVariableSymbol:
annotationsList: []
callableIdIfNonLocal: null
isExtension: false
isVal: true
name: r
origin: SOURCE
receiverType: null
returnType: kotlin/Int
symbolKind: LOCAL
typeParameters: []
getContainingModule: KtSourceModule "Sources of main"
deprecationStatus: null
KtFunctionSymbol:
annotationsList: []
callableIdIfNonLocal: /destruct
hasStableParameterNames: true
isBuiltinFunctionInvoke: false
isExtension: false
isExternal: false
isInfix: false
isInline: false
isOperator: false
isOverride: false
isStatic: false
isSuspend: false
modality: FINAL
name: destruct
origin: SOURCE
receiverType: null
returnType: kotlin/Int
symbolKind: TOP_LEVEL
typeParameters: []
valueParameters: []
visibility: Public
getContainingModule: KtSourceModule "Sources of main"
deprecationStatus: null