From 71405c34fa1971b76302b69ce6a8352077c1914a Mon Sep 17 00:00:00 2001 From: Svyatoslav Scherbina Date: Tue, 28 Aug 2018 13:51:55 +0300 Subject: [PATCH] Don't use fields for non-strict interop enum constants --- .../kotlin/native/interop/gen/jvm/StubGenerator.kt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/jvm/StubGenerator.kt b/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/jvm/StubGenerator.kt index 07d2649dad3..00450b59981 100644 --- a/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/jvm/StubGenerator.kt +++ b/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/jvm/StubGenerator.kt @@ -518,15 +518,15 @@ class StubGenerator( it.name !in macroConstantsByName } - val typeName: String + val kotlinType: KotlinType - val baseKotlinType = mirror(e.baseType).argType.render(kotlinFile) + val baseKotlinType = mirror(e.baseType).argType if (e.isAnonymous) { if (constants.isNotEmpty()) { out("// ${e.spelling}:") } - typeName = baseKotlinType + kotlinType = baseKotlinType } else { val typeMirror = mirror(EnumType(e)) if (typeMirror !is TypeMirror.ByValue) { @@ -538,18 +538,18 @@ class StubGenerator( val varTypeClassifier = typeMirror.pointedType.classifier val valueTypeClassifier = typeMirror.valueType.classifier out("typealias ${kotlinFile.declare(varTypeClassifier)} = $varTypeName") - out("typealias ${kotlinFile.declare(valueTypeClassifier)} = $baseKotlinType") + out("typealias ${kotlinFile.declare(valueTypeClassifier)} = ${baseKotlinType.render(kotlinFile)}") if (constants.isNotEmpty()) { out("") } - typeName = typeMirror.valueType.render(kotlinFile) + kotlinType = typeMirror.valueType } for (constant in constants) { val literal = integerLiteral(e.baseType, constant.value) ?: continue - out("val ${constant.name.asSimpleName()}: $typeName = $literal") + out(topLevelValWithGetter(constant.name, kotlinType, literal)) } }