[Analysis API] render full symbol in generatedPrimaryConstructorProperty in DebugSymbolRenderer

This commit is contained in:
Ilya Kirillov
2022-10-25 11:00:50 +02:00
committed by teamcity
parent e2416f48fe
commit 7766362ff1
11 changed files with 1332 additions and 41 deletions
@@ -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<out Any>) {
private fun PrettyPrinter.renderFunctionCall(function: KFunction<*>, renderSymbolsFully: Boolean, args: Array<out Any>) {
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<KProperty<*>>()
.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("<local>/" + 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<*> {
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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