Generate backing fields and initializers for external constants

This commit is contained in:
Dmitry Petrov
2018-09-19 14:29:07 +03:00
parent ec8bdff5c7
commit d03237bebc
3 changed files with 23 additions and 5 deletions
@@ -12,6 +12,7 @@ import org.jetbrains.kotlin.resolve.source.KotlinSourceElement
fun PropertyDescriptor.hasBackingField(bindingContext: BindingContext?): Boolean = when {
kind == CallableMemberDescriptor.Kind.FAKE_OVERRIDE -> overriddenDescriptors.any { it.hasBackingField(bindingContext) }
source is KotlinSourceElement && bindingContext != null -> bindingContext.get(BindingContext.BACKING_FIELD_REQUIRED, this) ?: false
compileTimeInitializer != null -> true
getter != null -> false
else -> true
}