diff --git a/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/stubs/ClassFileToSourceStubConverter.kt b/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/stubs/ClassFileToSourceStubConverter.kt index e190349e1f9..1d8c6b65395 100644 --- a/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/stubs/ClassFileToSourceStubConverter.kt +++ b/plugins/kapt3/kapt3-compiler/src/org/jetbrains/kotlin/kapt3/stubs/ClassFileToSourceStubConverter.kt @@ -640,10 +640,7 @@ class ClassFileToSourceStubConverter(val kaptContext: KaptContextForStubGenerati lineMappings.registerField(containingClass, field) - val initializer = explicitInitializer - ?: convertPropertyInitializer(field) - ?: if (isFinal(field.access)) convertLiteralExpression(getDefaultValue(type)) else null - + val initializer = explicitInitializer ?: convertPropertyInitializer(field) return treeMaker.VarDef(modifiers, treeMaker.name(name), typeExpression, initializer).keepKdocComments(field) } @@ -672,6 +669,11 @@ class ClassFileToSourceStubConverter(val kaptContext: KaptContextForStubGenerati } } + if (isFinal(field.access)) { + val type = Type.getType(field.desc) + return convertLiteralExpression(getDefaultValue(type)) + } + return null }