From 7766362ff18eddd6fdf55fabe32004c33c3be718 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Tue, 25 Oct 2022 11:00:50 +0200 Subject: [PATCH] [Analysis API] render full symbol in generatedPrimaryConstructorProperty in DebugSymbolRenderer --- .../api/symbols/DebugSymbolRenderer.kt | 62 +++-- .../symbolByPsi/annotations.descriptors.txt | 239 ++++++++++++++++++ .../symbols/symbolByPsi/annotations.txt | 108 +++++++- .../classPrimaryConstructor.descriptors.txt | 131 ++++++++++ .../symbolByPsi/classPrimaryConstructor.txt | 54 +++- .../symbolByPsi/delegateField.descriptors.txt | 162 +++++++++++- .../symbols/symbolByPsi/delegateField.txt | 162 +++++++++++- .../destructuringDeclaration.descriptors.txt | 239 ++++++++++++++++++ .../symbolByPsi/destructuringDeclaration.txt | 108 +++++++- .../enumValueMember.descriptors.txt | 54 +++- .../symbols/symbolByPsi/enumValueMember.txt | 54 +++- 11 files changed, 1332 insertions(+), 41 deletions(-) create mode 100644 analysis/analysis-api/testData/symbols/symbolByPsi/annotations.descriptors.txt create mode 100644 analysis/analysis-api/testData/symbols/symbolByPsi/classPrimaryConstructor.descriptors.txt create mode 100644 analysis/analysis-api/testData/symbols/symbolByPsi/destructuringDeclaration.descriptors.txt diff --git a/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/DebugSymbolRenderer.kt b/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/DebugSymbolRenderer.kt index b80ef6d16bb..524f1f72c2d 100644 --- a/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/DebugSymbolRenderer.kt +++ b/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/symbols/DebugSymbolRenderer.kt @@ -61,13 +61,13 @@ public class DebugSymbolRenderer( .declaredMemberExtensionFunctions .filter { it.name == "getContainingModule" } .forEach { - renderFunction(it, this@KtAnalysisSession, symbol) + renderFunction(it, renderSymbolsFully = false, this@KtAnalysisSession, symbol) } KtSymbolInfoProviderMixIn::class.declaredMemberExtensionProperties .asSequence() .filter { (it.extensionReceiverParameter?.type?.classifier as? KClass<*>)?.isInstance(symbol) == true } - .forEach { renderProperty(it, this@KtAnalysisSession, symbol) } + .forEach { renderProperty(it, renderSymbolsFully = false, this@KtAnalysisSession, symbol) } } } @@ -77,30 +77,30 @@ public class DebugSymbolRenderer( renderSymbolHeader(symbol) withIndent { - renderProperty(KtCallableSymbol::callableIdIfNonLocal, symbol) + renderProperty(KtCallableSymbol::callableIdIfNonLocal, renderSymbolsFully = false, symbol) if (symbol is KtNamedSymbol) { - renderProperty(KtNamedSymbol::name, symbol) + renderProperty(KtNamedSymbol::name, renderSymbolsFully = false, symbol) } - renderProperty(KtCallableSymbol::origin, symbol) + renderProperty(KtCallableSymbol::origin, renderSymbolsFully = false, symbol) } } context(KtAnalysisSession) - private fun PrettyPrinter.renderFunction(function: KFunction<*>, vararg args: Any) { + private fun PrettyPrinter.renderFunction(function: KFunction<*>, renderSymbolsFully: Boolean, vararg args: Any) { appendLine().append(function.name).append(": ") - renderFunctionCall(function, args) + renderFunctionCall(function, renderSymbolsFully, args) } context(KtAnalysisSession) - private fun PrettyPrinter.renderProperty(property: KProperty<*>, vararg args: Any) { + private fun PrettyPrinter.renderProperty(property: KProperty<*>, renderSymbolsFully: Boolean, vararg args: Any) { appendLine().append(property.name).append(": ") - renderFunctionCall(property.getter, args) + renderFunctionCall(property.getter, renderSymbolsFully, args) } context(KtAnalysisSession) - private fun PrettyPrinter.renderFunctionCall(function: KFunction<*>, args: Array) { + private fun PrettyPrinter.renderFunctionCall(function: KFunction<*>, renderSymbolsFully: Boolean, args: Array) { try { - renderValue(function.call(*args)) + renderValue(function.call(*args), renderSymbolsFully) } catch (e: InvocationTargetException) { append("Could not render due to ").appendLine(e.cause.toString()) } @@ -116,7 +116,13 @@ public class DebugSymbolRenderer( .filterIsInstance>() .filter { it.name !in ignoredPropertyNames } .sortedBy { it.name } - .forEach { renderProperty(it, symbol) } + .forEach { member -> + renderProperty( + member, + renderSymbolsFully = member.name == KtValueParameterSymbol::generatedPrimaryConstructorProperty.name, + symbol + ) + } } } @@ -127,29 +133,29 @@ public class DebugSymbolRenderer( } context(KtAnalysisSession) - private fun PrettyPrinter.renderList(values: List<*>) { + private fun PrettyPrinter.renderList(values: List<*>, renderSymbolsFully: Boolean) { if (values.isEmpty()) { append("[]") return } withIndentInSquareBrackets { - printCollection(values, separator = "\n") { renderValue(it) } + printCollection(values, separator = "\n") { renderValue(it, renderSymbolsFully) } } } context(KtAnalysisSession) - private fun PrettyPrinter.renderSymbolTag(symbol: KtSymbol) { + private fun PrettyPrinter.renderSymbolTag(symbol: KtSymbol, renderSymbolsFully: Boolean) { fun renderId(id: Any?, symbol: KtSymbol) { if (id != null) { - renderValue(id) + renderValue(id, renderSymbolsFully) } else { val outerName = (symbol as? KtPossiblyNamedSymbol)?.name ?: SpecialNames.NO_NAME_PROVIDED append("/" + outerName.asString()) } } - if (symbol is KtPropertyGetterSymbol || symbol is KtPropertySetterSymbol || symbol is KtValueParameterSymbol) { + if (renderSymbolsFully || symbol is KtPropertyGetterSymbol || symbol is KtPropertySetterSymbol || symbol is KtValueParameterSymbol) { renderSymbol(symbol) return } @@ -159,7 +165,7 @@ public class DebugSymbolRenderer( when (symbol) { is KtClassLikeSymbol -> renderId(symbol.classIdIfNonLocal, symbol) is KtCallableSymbol -> renderId(symbol.callableIdIfNonLocal, symbol) - is KtNamedSymbol -> renderValue(symbol.name) + is KtNamedSymbol -> renderValue(symbol.name, renderSymbolsFully = false) else -> error("Unsupported symbol ${symbol::class.java.name}") } append(")") @@ -173,13 +179,13 @@ public class DebugSymbolRenderer( context(KtAnalysisSession) private fun PrettyPrinter.renderNamedConstantValue(value: KtNamedAnnotationValue) { append(value.name.render()).append(" = ") - renderValue(value.expression) + renderValue(value.expression, renderSymbolsFully = false) } context(KtAnalysisSession) private fun PrettyPrinter.renderType(type: KtType) { if (type.annotations.isNotEmpty()) { - renderList(type.annotations) + renderList(type.annotations, renderSymbolsFully = false) append(' ') } when (type) { @@ -190,19 +196,19 @@ public class DebugSymbolRenderer( context(KtAnalysisSession) private fun PrettyPrinter.renderAnnotationApplication(call: KtAnnotationApplication) { - renderValue(call.classId) + renderValue(call.classId, renderSymbolsFully = false) append('(') call.arguments.sortedBy { it.name }.forEachIndexed { index, value -> if (index > 0) { append(", ") } - renderValue(value) + renderValue(value, renderSymbolsFully = false) } append(')') withIndent { appendLine().append("psi: ") - renderValue(call.psi?.javaClass?.simpleName) + renderValue(call.psi?.javaClass?.simpleName, renderSymbolsFully = false) } } @@ -215,10 +221,10 @@ public class DebugSymbolRenderer( } context(KtAnalysisSession) - private fun PrettyPrinter.renderValue(value: Any?) { + private fun PrettyPrinter.renderValue(value: Any?, renderSymbolsFully: Boolean) { when (value) { // Symbol-related values - is KtSymbol -> renderSymbolTag(value) + is KtSymbol -> renderSymbolTag(value, renderSymbolsFully) is KtType -> renderType(value) is KtAnnotationValue -> renderAnnotationValue(value) is KtNamedAnnotationValue -> renderNamedConstantValue(value) @@ -240,7 +246,7 @@ public class DebugSymbolRenderer( is ULong -> append(value.toString()) // Java values is Enum<*> -> append(value.name) - is List<*> -> renderList(value) + is List<*> -> renderList(value, renderSymbolsFully = false) else -> append(value.toString()) } } @@ -249,7 +255,7 @@ public class DebugSymbolRenderer( private fun PrettyPrinter.rendeContextReceiver(receiver: KtContextReceiver) { append("ContextReceiver(") receiver.label?.let { label -> - renderValue(label) + renderValue(label, renderSymbolsFully = false) append("@") } renderType(receiver.type) @@ -301,7 +307,7 @@ public class DebugSymbolRenderer( context(KtAnalysisSession) private fun PrettyPrinter.renderAnnotationsList(value: KtAnnotationsList) { - renderList(value.annotations) + renderList(value.annotations, renderSymbolsFully = false) } private fun getSymbolApiClass(symbol: KtSymbol): KClass<*> { diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/annotations.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/annotations.descriptors.txt new file mode 100644 index 00000000000..f1f3c2eb5bc --- /dev/null +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/annotations.descriptors.txt @@ -0,0 +1,239 @@ +KtConstructorSymbol: + annotationsList: [] + callableIdIfNonLocal: null + containingClassIdIfNonLocal: Anno + contextReceivers: [] + hasStableParameterNames: true + isExtension: false + isPrimary: true + origin: SOURCE + receiverType: null + returnType: Anno + symbolKind: CLASS_MEMBER + typeParameters: [] + valueParameters: [ + KtValueParameterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: + annotationsList: [] + callableIdIfNonLocal: /Anno.param1 + contextReceivers: [] + getter: KtPropertyGetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: false + hasStableParameterNames: true + isDefault: true + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + receiverType: null + returnType: kotlin/String + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [] + visibility: Public + getDispatchReceiver(): Anno + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + hasBackingField: true + hasGetter: true + hasSetter: false + initializer: null + isConst: false + isDelegatedProperty: false + isExtension: false + isFromPrimaryConstructor: false + isLateInit: false + isOverride: false + isStatic: false + isVal: true + modality: FINAL + name: param1 + origin: SOURCE + receiverType: null + returnType: kotlin/String + setter: null + symbolKind: CLASS_MEMBER + typeParameters: [] + visibility: Public + getDispatchReceiver(): Anno + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + getterDeprecationStatus: null + javaGetterName: getParam1 + javaSetterName: null + setterDeprecationStatus: null + hasDefaultValue: false + isCrossinline: false + isExtension: false + isImplicitLambdaParameter: false + isNoinline: false + isVararg: false + name: param1 + origin: SOURCE + receiverType: null + returnType: kotlin/String + symbolKind: LOCAL + typeParameters: [] + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + KtValueParameterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: + annotationsList: [] + callableIdIfNonLocal: /Anno.param2 + contextReceivers: [] + getter: KtPropertyGetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: false + hasStableParameterNames: true + isDefault: true + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + receiverType: null + returnType: kotlin/Int + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [] + visibility: Public + getDispatchReceiver(): Anno + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + hasBackingField: true + hasGetter: true + hasSetter: false + initializer: null + isConst: false + isDelegatedProperty: false + isExtension: false + isFromPrimaryConstructor: false + isLateInit: false + isOverride: false + isStatic: false + isVal: true + modality: FINAL + name: param2 + origin: SOURCE + receiverType: null + returnType: kotlin/Int + setter: null + symbolKind: CLASS_MEMBER + typeParameters: [] + visibility: Public + getDispatchReceiver(): Anno + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + getterDeprecationStatus: null + javaGetterName: getParam2 + javaSetterName: null + setterDeprecationStatus: null + hasDefaultValue: false + isCrossinline: false + isExtension: false + isImplicitLambdaParameter: false + isNoinline: false + isVararg: false + name: param2 + origin: SOURCE + receiverType: null + returnType: kotlin/Int + symbolKind: LOCAL + typeParameters: [] + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + ] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + +KtNamedClassOrObjectSymbol: + annotationsList: [] + classIdIfNonLocal: Anno + classKind: ANNOTATION_CLASS + companionObject: null + contextReceivers: [] + isData: false + isExternal: false + isFun: false + isInline: false + isInner: false + modality: FINAL + name: Anno + origin: SOURCE + superTypes: [ + kotlin/Annotation + ] + symbolKind: TOP_LEVEL + typeParameters: [] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + +KtFunctionSymbol: + annotationsList: [ + Anno(param1 = "funparam", param2 = 3) + psi: KtAnnotationEntry + ] + callableIdIfNonLocal: /X.x + contextReceivers: [] + hasStableParameterNames: true + isBuiltinFunctionInvoke: false + isExtension: false + isExternal: false + isInfix: false + isInline: false + isOperator: false + isOverride: false + isStatic: false + isSuspend: false + modality: FINAL + name: x + origin: SOURCE + receiverType: null + returnType: kotlin/Unit + symbolKind: CLASS_MEMBER + typeParameters: [] + valueParameters: [] + visibility: Public + getDispatchReceiver(): X + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + +KtNamedClassOrObjectSymbol: + annotationsList: [ + Anno(param1 = "param", param2 = 2) + psi: KtAnnotationEntry + ] + classIdIfNonLocal: X + classKind: CLASS + companionObject: null + contextReceivers: [] + isData: false + isExternal: false + isFun: false + isInline: false + isInner: false + modality: FINAL + name: X + origin: SOURCE + superTypes: [ + kotlin/Any + ] + symbolKind: TOP_LEVEL + typeParameters: [] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/annotations.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/annotations.txt index 93ed55ba341..6cb91797eb5 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/annotations.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/annotations.txt @@ -16,7 +16,59 @@ KtConstructorSymbol: annotationsList: [] callableIdIfNonLocal: null contextReceivers: [] - generatedPrimaryConstructorProperty: KtKotlinPropertySymbol(/Anno.param1) + generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: + annotationsList: [] + callableIdIfNonLocal: /Anno.param1 + contextReceivers: [] + getter: KtPropertyGetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: false + hasStableParameterNames: true + isDefault: true + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + receiverType: null + returnType: kotlin/String + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [] + visibility: Public + getDispatchReceiver(): Anno + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + hasBackingField: true + hasGetter: true + hasSetter: false + initializer: KtNonConstantInitializerValue(val param1: String) + isConst: false + isDelegatedProperty: false + isExtension: false + isFromPrimaryConstructor: true + isLateInit: false + isOverride: false + isStatic: false + isVal: true + modality: FINAL + name: param1 + origin: SOURCE + receiverType: null + returnType: kotlin/String + setter: null + symbolKind: CLASS_MEMBER + typeParameters: [] + visibility: Public + getDispatchReceiver(): Anno + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + getterDeprecationStatus: null + javaGetterName: getParam1 + javaSetterName: null + setterDeprecationStatus: null hasDefaultValue: false isCrossinline: false isExtension: false @@ -35,7 +87,59 @@ KtConstructorSymbol: annotationsList: [] callableIdIfNonLocal: null contextReceivers: [] - generatedPrimaryConstructorProperty: KtKotlinPropertySymbol(/Anno.param2) + generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: + annotationsList: [] + callableIdIfNonLocal: /Anno.param2 + contextReceivers: [] + getter: KtPropertyGetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: false + hasStableParameterNames: true + isDefault: true + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + receiverType: null + returnType: kotlin/Int + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [] + visibility: Public + getDispatchReceiver(): Anno + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + hasBackingField: true + hasGetter: true + hasSetter: false + initializer: KtNonConstantInitializerValue(val param2: Int) + isConst: false + isDelegatedProperty: false + isExtension: false + isFromPrimaryConstructor: true + isLateInit: false + isOverride: false + isStatic: false + isVal: true + modality: FINAL + name: param2 + origin: SOURCE + receiverType: null + returnType: kotlin/Int + setter: null + symbolKind: CLASS_MEMBER + typeParameters: [] + visibility: Public + getDispatchReceiver(): Anno + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + getterDeprecationStatus: null + javaGetterName: getParam2 + javaSetterName: null + setterDeprecationStatus: null hasDefaultValue: false isCrossinline: false isExtension: false diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/classPrimaryConstructor.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/classPrimaryConstructor.descriptors.txt new file mode 100644 index 00000000000..f295688f04e --- /dev/null +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/classPrimaryConstructor.descriptors.txt @@ -0,0 +1,131 @@ +KtConstructorSymbol: + annotationsList: [] + callableIdIfNonLocal: null + containingClassIdIfNonLocal: A + contextReceivers: [] + hasStableParameterNames: true + isExtension: false + isPrimary: true + origin: SOURCE + receiverType: null + returnType: A + symbolKind: CLASS_MEMBER + typeParameters: [] + valueParameters: [ + KtValueParameterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: + annotationsList: [] + callableIdIfNonLocal: /A.a + contextReceivers: [] + getter: KtPropertyGetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: false + hasStableParameterNames: true + isDefault: true + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + receiverType: null + returnType: kotlin/Int + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [] + visibility: Public + getDispatchReceiver(): A + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + hasBackingField: true + hasGetter: true + hasSetter: false + initializer: null + isConst: false + isDelegatedProperty: false + isExtension: false + isFromPrimaryConstructor: false + isLateInit: false + isOverride: false + isStatic: false + isVal: true + modality: FINAL + name: a + origin: SOURCE + receiverType: null + returnType: kotlin/Int + setter: null + symbolKind: CLASS_MEMBER + typeParameters: [] + visibility: Public + getDispatchReceiver(): A + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + getterDeprecationStatus: null + javaGetterName: getA + javaSetterName: null + setterDeprecationStatus: null + hasDefaultValue: false + isCrossinline: false + isExtension: false + isImplicitLambdaParameter: false + isNoinline: false + isVararg: false + name: a + origin: SOURCE + receiverType: null + returnType: kotlin/Int + symbolKind: LOCAL + typeParameters: [] + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + KtValueParameterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + generatedPrimaryConstructorProperty: null + hasDefaultValue: false + isCrossinline: false + isExtension: false + isImplicitLambdaParameter: false + isNoinline: false + isVararg: false + name: b + origin: SOURCE + receiverType: null + returnType: kotlin/String + symbolKind: LOCAL + typeParameters: [] + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + ] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + +KtNamedClassOrObjectSymbol: + annotationsList: [] + classIdIfNonLocal: A + classKind: CLASS + companionObject: null + contextReceivers: [] + isData: false + isExternal: false + isFun: false + isInline: false + isInner: false + modality: FINAL + name: A + origin: SOURCE + superTypes: [ + kotlin/Any + ] + symbolKind: TOP_LEVEL + typeParameters: [] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/classPrimaryConstructor.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/classPrimaryConstructor.txt index 2fb2eea6345..1a049f1f334 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/classPrimaryConstructor.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/classPrimaryConstructor.txt @@ -16,7 +16,59 @@ KtConstructorSymbol: annotationsList: [] callableIdIfNonLocal: null contextReceivers: [] - generatedPrimaryConstructorProperty: KtKotlinPropertySymbol(/A.a) + generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: + annotationsList: [] + callableIdIfNonLocal: /A.a + contextReceivers: [] + getter: KtPropertyGetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: false + hasStableParameterNames: true + isDefault: true + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + receiverType: null + returnType: kotlin/Int + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [] + visibility: Public + getDispatchReceiver(): A + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + hasBackingField: true + hasGetter: true + hasSetter: false + initializer: KtNonConstantInitializerValue(val a: Int) + isConst: false + isDelegatedProperty: false + isExtension: false + isFromPrimaryConstructor: true + isLateInit: false + isOverride: false + isStatic: false + isVal: true + modality: FINAL + name: a + origin: SOURCE + receiverType: null + returnType: kotlin/Int + setter: null + symbolKind: CLASS_MEMBER + typeParameters: [] + visibility: Public + getDispatchReceiver(): A + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + getterDeprecationStatus: null + javaGetterName: getA + javaSetterName: null + setterDeprecationStatus: null hasDefaultValue: false isCrossinline: false isExtension: false diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/delegateField.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/delegateField.descriptors.txt index d220c9dc612..d42cb3ec42f 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/delegateField.descriptors.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/delegateField.descriptors.txt @@ -16,7 +16,59 @@ KtConstructorSymbol: annotationsList: [] callableIdIfNonLocal: null contextReceivers: [] - generatedPrimaryConstructorProperty: KtKotlinPropertySymbol(/MyColor.x) + generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: + annotationsList: [] + callableIdIfNonLocal: /MyColor.x + contextReceivers: [] + getter: KtPropertyGetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: false + hasStableParameterNames: true + isDefault: true + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + receiverType: null + returnType: kotlin/Int + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [] + visibility: Public + getDispatchReceiver(): MyColor + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + hasBackingField: true + hasGetter: true + hasSetter: false + initializer: null + isConst: false + isDelegatedProperty: false + isExtension: false + isFromPrimaryConstructor: false + isLateInit: false + isOverride: false + isStatic: false + isVal: true + modality: FINAL + name: x + origin: SOURCE + receiverType: null + returnType: kotlin/Int + setter: null + symbolKind: CLASS_MEMBER + typeParameters: [] + visibility: Public + getDispatchReceiver(): MyColor + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + getterDeprecationStatus: null + javaGetterName: getX + javaSetterName: null + setterDeprecationStatus: null hasDefaultValue: false isCrossinline: false isExtension: false @@ -35,7 +87,59 @@ KtConstructorSymbol: annotationsList: [] callableIdIfNonLocal: null contextReceivers: [] - generatedPrimaryConstructorProperty: KtKotlinPropertySymbol(/MyColor.y) + generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: + annotationsList: [] + callableIdIfNonLocal: /MyColor.y + contextReceivers: [] + getter: KtPropertyGetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: false + hasStableParameterNames: true + isDefault: true + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + receiverType: null + returnType: kotlin/Int + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [] + visibility: Public + getDispatchReceiver(): MyColor + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + hasBackingField: true + hasGetter: true + hasSetter: false + initializer: null + isConst: false + isDelegatedProperty: false + isExtension: false + isFromPrimaryConstructor: false + isLateInit: false + isOverride: false + isStatic: false + isVal: true + modality: FINAL + name: y + origin: SOURCE + receiverType: null + returnType: kotlin/Int + setter: null + symbolKind: CLASS_MEMBER + typeParameters: [] + visibility: Public + getDispatchReceiver(): MyColor + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + getterDeprecationStatus: null + javaGetterName: getY + javaSetterName: null + setterDeprecationStatus: null hasDefaultValue: false isCrossinline: false isExtension: false @@ -54,7 +158,59 @@ KtConstructorSymbol: annotationsList: [] callableIdIfNonLocal: null contextReceivers: [] - generatedPrimaryConstructorProperty: KtKotlinPropertySymbol(/MyColor.z) + generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: + annotationsList: [] + callableIdIfNonLocal: /MyColor.z + contextReceivers: [] + getter: KtPropertyGetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: false + hasStableParameterNames: true + isDefault: true + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + receiverType: null + returnType: kotlin/Int + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [] + visibility: Public + getDispatchReceiver(): MyColor + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + hasBackingField: true + hasGetter: true + hasSetter: false + initializer: null + isConst: false + isDelegatedProperty: false + isExtension: false + isFromPrimaryConstructor: false + isLateInit: false + isOverride: false + isStatic: false + isVal: true + modality: FINAL + name: z + origin: SOURCE + receiverType: null + returnType: kotlin/Int + setter: null + symbolKind: CLASS_MEMBER + typeParameters: [] + visibility: Public + getDispatchReceiver(): MyColor + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + getterDeprecationStatus: null + javaGetterName: getZ + javaSetterName: null + setterDeprecationStatus: null hasDefaultValue: false isCrossinline: false isExtension: false diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/delegateField.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/delegateField.txt index 49c749a8243..61224a36735 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/delegateField.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/delegateField.txt @@ -16,7 +16,59 @@ KtConstructorSymbol: annotationsList: [] callableIdIfNonLocal: null contextReceivers: [] - generatedPrimaryConstructorProperty: KtKotlinPropertySymbol(/MyColor.x) + generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: + annotationsList: [] + callableIdIfNonLocal: /MyColor.x + contextReceivers: [] + getter: KtPropertyGetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: false + hasStableParameterNames: true + isDefault: true + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + receiverType: null + returnType: kotlin/Int + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [] + visibility: Public + getDispatchReceiver(): MyColor + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + hasBackingField: true + hasGetter: true + hasSetter: false + initializer: KtNonConstantInitializerValue(val x: Int) + isConst: false + isDelegatedProperty: false + isExtension: false + isFromPrimaryConstructor: true + isLateInit: false + isOverride: false + isStatic: false + isVal: true + modality: FINAL + name: x + origin: SOURCE + receiverType: null + returnType: kotlin/Int + setter: null + symbolKind: CLASS_MEMBER + typeParameters: [] + visibility: Public + getDispatchReceiver(): MyColor + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + getterDeprecationStatus: null + javaGetterName: getX + javaSetterName: null + setterDeprecationStatus: null hasDefaultValue: false isCrossinline: false isExtension: false @@ -35,7 +87,59 @@ KtConstructorSymbol: annotationsList: [] callableIdIfNonLocal: null contextReceivers: [] - generatedPrimaryConstructorProperty: KtKotlinPropertySymbol(/MyColor.y) + generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: + annotationsList: [] + callableIdIfNonLocal: /MyColor.y + contextReceivers: [] + getter: KtPropertyGetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: false + hasStableParameterNames: true + isDefault: true + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + receiverType: null + returnType: kotlin/Int + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [] + visibility: Public + getDispatchReceiver(): MyColor + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + hasBackingField: true + hasGetter: true + hasSetter: false + initializer: KtNonConstantInitializerValue(val y: Int) + isConst: false + isDelegatedProperty: false + isExtension: false + isFromPrimaryConstructor: true + isLateInit: false + isOverride: false + isStatic: false + isVal: true + modality: FINAL + name: y + origin: SOURCE + receiverType: null + returnType: kotlin/Int + setter: null + symbolKind: CLASS_MEMBER + typeParameters: [] + visibility: Public + getDispatchReceiver(): MyColor + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + getterDeprecationStatus: null + javaGetterName: getY + javaSetterName: null + setterDeprecationStatus: null hasDefaultValue: false isCrossinline: false isExtension: false @@ -54,7 +158,59 @@ KtConstructorSymbol: annotationsList: [] callableIdIfNonLocal: null contextReceivers: [] - generatedPrimaryConstructorProperty: KtKotlinPropertySymbol(/MyColor.z) + generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: + annotationsList: [] + callableIdIfNonLocal: /MyColor.z + contextReceivers: [] + getter: KtPropertyGetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: false + hasStableParameterNames: true + isDefault: true + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + receiverType: null + returnType: kotlin/Int + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [] + visibility: Public + getDispatchReceiver(): MyColor + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + hasBackingField: true + hasGetter: true + hasSetter: false + initializer: KtNonConstantInitializerValue(val z: Int) + isConst: false + isDelegatedProperty: false + isExtension: false + isFromPrimaryConstructor: true + isLateInit: false + isOverride: false + isStatic: false + isVal: true + modality: FINAL + name: z + origin: SOURCE + receiverType: null + returnType: kotlin/Int + setter: null + symbolKind: CLASS_MEMBER + typeParameters: [] + visibility: Public + getDispatchReceiver(): MyColor + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + getterDeprecationStatus: null + javaGetterName: getZ + javaSetterName: null + setterDeprecationStatus: null hasDefaultValue: false isCrossinline: false isExtension: false diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/destructuringDeclaration.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/destructuringDeclaration.descriptors.txt new file mode 100644 index 00000000000..ebce635f493 --- /dev/null +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/destructuringDeclaration.descriptors.txt @@ -0,0 +1,239 @@ +KtConstructorSymbol: + annotationsList: [] + callableIdIfNonLocal: null + containingClassIdIfNonLocal: P + contextReceivers: [] + hasStableParameterNames: true + isExtension: false + isPrimary: true + origin: SOURCE + receiverType: null + returnType: P + symbolKind: CLASS_MEMBER + typeParameters: [] + valueParameters: [ + KtValueParameterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: + annotationsList: [] + callableIdIfNonLocal: /P.x + contextReceivers: [] + getter: KtPropertyGetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: false + hasStableParameterNames: true + isDefault: true + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + receiverType: null + returnType: kotlin/Int + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [] + visibility: Public + getDispatchReceiver(): P + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + hasBackingField: true + hasGetter: true + hasSetter: false + initializer: null + isConst: false + isDelegatedProperty: false + isExtension: false + isFromPrimaryConstructor: false + isLateInit: false + isOverride: false + isStatic: false + isVal: true + modality: FINAL + name: x + origin: SOURCE + receiverType: null + returnType: kotlin/Int + setter: null + symbolKind: CLASS_MEMBER + typeParameters: [] + visibility: Public + getDispatchReceiver(): P + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + getterDeprecationStatus: null + javaGetterName: getX + javaSetterName: null + setterDeprecationStatus: null + hasDefaultValue: false + isCrossinline: false + isExtension: false + isImplicitLambdaParameter: false + isNoinline: 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 + contextReceivers: [] + generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: + annotationsList: [] + callableIdIfNonLocal: /P.y + contextReceivers: [] + getter: KtPropertyGetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: false + hasStableParameterNames: true + isDefault: true + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + receiverType: null + returnType: kotlin/Int + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [] + visibility: Public + getDispatchReceiver(): P + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + hasBackingField: true + hasGetter: true + hasSetter: false + initializer: null + isConst: false + isDelegatedProperty: false + isExtension: false + isFromPrimaryConstructor: false + isLateInit: false + isOverride: false + isStatic: false + isVal: true + modality: FINAL + name: y + origin: SOURCE + receiverType: null + returnType: kotlin/Int + setter: null + symbolKind: CLASS_MEMBER + typeParameters: [] + visibility: Public + getDispatchReceiver(): P + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + getterDeprecationStatus: null + javaGetterName: getY + javaSetterName: null + setterDeprecationStatus: null + hasDefaultValue: false + isCrossinline: false + isExtension: false + isImplicitLambdaParameter: false + isNoinline: false + isVararg: false + name: y + origin: SOURCE + receiverType: null + returnType: kotlin/Int + symbolKind: LOCAL + typeParameters: [] + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + ] + visibility: Public + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + +KtNamedClassOrObjectSymbol: + annotationsList: [] + classIdIfNonLocal: P + classKind: CLASS + companionObject: null + contextReceivers: [] + 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 + contextReceivers: [] + 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 + contextReceivers: [] + 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 + contextReceivers: [] + 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 \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/destructuringDeclaration.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/destructuringDeclaration.txt index a3fe51586e0..bbea82d95a9 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/destructuringDeclaration.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/destructuringDeclaration.txt @@ -16,7 +16,59 @@ KtConstructorSymbol: annotationsList: [] callableIdIfNonLocal: null contextReceivers: [] - generatedPrimaryConstructorProperty: KtKotlinPropertySymbol(/P.x) + generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: + annotationsList: [] + callableIdIfNonLocal: /P.x + contextReceivers: [] + getter: KtPropertyGetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: false + hasStableParameterNames: true + isDefault: true + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + receiverType: null + returnType: kotlin/Int + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [] + visibility: Public + getDispatchReceiver(): P + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + hasBackingField: true + hasGetter: true + hasSetter: false + initializer: KtNonConstantInitializerValue(val x: Int) + isConst: false + isDelegatedProperty: false + isExtension: false + isFromPrimaryConstructor: true + isLateInit: false + isOverride: false + isStatic: false + isVal: true + modality: FINAL + name: x + origin: SOURCE + receiverType: null + returnType: kotlin/Int + setter: null + symbolKind: CLASS_MEMBER + typeParameters: [] + visibility: Public + getDispatchReceiver(): P + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + getterDeprecationStatus: null + javaGetterName: getX + javaSetterName: null + setterDeprecationStatus: null hasDefaultValue: false isCrossinline: false isExtension: false @@ -35,7 +87,59 @@ KtConstructorSymbol: annotationsList: [] callableIdIfNonLocal: null contextReceivers: [] - generatedPrimaryConstructorProperty: KtKotlinPropertySymbol(/P.y) + generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: + annotationsList: [] + callableIdIfNonLocal: /P.y + contextReceivers: [] + getter: KtPropertyGetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: false + hasStableParameterNames: true + isDefault: true + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + receiverType: null + returnType: kotlin/Int + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [] + visibility: Public + getDispatchReceiver(): P + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + hasBackingField: true + hasGetter: true + hasSetter: false + initializer: KtNonConstantInitializerValue(val y: Int) + isConst: false + isDelegatedProperty: false + isExtension: false + isFromPrimaryConstructor: true + isLateInit: false + isOverride: false + isStatic: false + isVal: true + modality: FINAL + name: y + origin: SOURCE + receiverType: null + returnType: kotlin/Int + setter: null + symbolKind: CLASS_MEMBER + typeParameters: [] + visibility: Public + getDispatchReceiver(): P + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + getterDeprecationStatus: null + javaGetterName: getY + javaSetterName: null + setterDeprecationStatus: null hasDefaultValue: false isCrossinline: false isExtension: false diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/enumValueMember.descriptors.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/enumValueMember.descriptors.txt index a84583f06d6..ac5d864f11c 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/enumValueMember.descriptors.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/enumValueMember.descriptors.txt @@ -16,7 +16,59 @@ KtConstructorSymbol: annotationsList: [] callableIdIfNonLocal: null contextReceivers: [] - generatedPrimaryConstructorProperty: KtKotlinPropertySymbol(/Style.value) + generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: + annotationsList: [] + callableIdIfNonLocal: /Style.value + contextReceivers: [] + getter: KtPropertyGetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: false + hasStableParameterNames: true + isDefault: true + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + receiverType: null + returnType: kotlin/String + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [] + visibility: Public + getDispatchReceiver(): Style + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + hasBackingField: true + hasGetter: true + hasSetter: false + initializer: null + isConst: false + isDelegatedProperty: false + isExtension: false + isFromPrimaryConstructor: false + isLateInit: false + isOverride: false + isStatic: false + isVal: true + modality: FINAL + name: value + origin: SOURCE + receiverType: null + returnType: kotlin/String + setter: null + symbolKind: CLASS_MEMBER + typeParameters: [] + visibility: Public + getDispatchReceiver(): Style + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + getterDeprecationStatus: null + javaGetterName: getValue + javaSetterName: null + setterDeprecationStatus: null hasDefaultValue: false isCrossinline: false isExtension: false diff --git a/analysis/analysis-api/testData/symbols/symbolByPsi/enumValueMember.txt b/analysis/analysis-api/testData/symbols/symbolByPsi/enumValueMember.txt index 3121549d2d4..04404253da0 100644 --- a/analysis/analysis-api/testData/symbols/symbolByPsi/enumValueMember.txt +++ b/analysis/analysis-api/testData/symbols/symbolByPsi/enumValueMember.txt @@ -16,7 +16,59 @@ KtConstructorSymbol: annotationsList: [] callableIdIfNonLocal: null contextReceivers: [] - generatedPrimaryConstructorProperty: KtKotlinPropertySymbol(/Style.value) + generatedPrimaryConstructorProperty: KtKotlinPropertySymbol: + annotationsList: [] + callableIdIfNonLocal: /Style.value + contextReceivers: [] + getter: KtPropertyGetterSymbol: + annotationsList: [] + callableIdIfNonLocal: null + contextReceivers: [] + hasBody: false + hasStableParameterNames: true + isDefault: true + isExtension: false + isInline: false + isOverride: false + modality: FINAL + origin: SOURCE + receiverType: null + returnType: kotlin/String + symbolKind: ACCESSOR + typeParameters: [] + valueParameters: [] + visibility: Public + getDispatchReceiver(): Style + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + hasBackingField: true + hasGetter: true + hasSetter: false + initializer: KtNonConstantInitializerValue(val value: String) + isConst: false + isDelegatedProperty: false + isExtension: false + isFromPrimaryConstructor: true + isLateInit: false + isOverride: false + isStatic: false + isVal: true + modality: FINAL + name: value + origin: SOURCE + receiverType: null + returnType: kotlin/String + setter: null + symbolKind: CLASS_MEMBER + typeParameters: [] + visibility: Public + getDispatchReceiver(): Style + getContainingModule: KtSourceModule "Sources of main" + deprecationStatus: null + getterDeprecationStatus: null + javaGetterName: getValue + javaSetterName: null + setterDeprecationStatus: null hasDefaultValue: false isCrossinline: false isExtension: false