Lateinit property backing field now inherits visibility from the property setter
This commit is contained in:
@@ -311,6 +311,7 @@ public class PropertyCodegen {
|
||||
|
||||
FieldOwnerContext backingFieldContext = context;
|
||||
boolean takeVisibilityFromDescriptor = propertyDescriptor.isLateInit() || propertyDescriptor.isConst();
|
||||
boolean takeVisibilityFromSetter = propertyDescriptor.isLateInit() && propertyDescriptor.getSetter() != null;
|
||||
if (AsmUtil.isInstancePropertyWithStaticBackingField(propertyDescriptor) ) {
|
||||
modifiers |= ACC_STATIC;
|
||||
|
||||
@@ -338,6 +339,10 @@ public class PropertyCodegen {
|
||||
modifiers |= ACC_DEPRECATED;
|
||||
}
|
||||
}
|
||||
else if (takeVisibilityFromSetter) {
|
||||
// For lateinits, we take visibility from setter, if any
|
||||
modifiers |= getVisibilityAccessFlag(propertyDescriptor.getSetter());
|
||||
}
|
||||
else if (takeVisibilityFromDescriptor) {
|
||||
modifiers |= getVisibilityAccessFlag(propertyDescriptor);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user