From db5d9940dff93656a431e5835ea88d95ab875ebb Mon Sep 17 00:00:00 2001 From: Mikhael Bogdanov Date: Mon, 20 Jun 2016 16:04:11 +0300 Subject: [PATCH] Added 'isInline' implementation to property accessor descriptors --- .../AccessorForPropertyDescriptor.java | 4 +-- .../synthetic/JavaSyntheticPropertiesScope.kt | 2 ++ .../kotlin/resolve/DescriptorResolver.java | 7 ++-- .../serialization/DescriptorSerializer.kt | 5 +-- .../descriptors/JavaPropertyDescriptor.java | 4 +-- .../descriptors/LazyJavaClassMemberScope.kt | 4 +-- .../impl/PropertyAccessorDescriptorImpl.java | 5 ++- .../impl/PropertyDescriptorImpl.java | 4 +-- .../impl/PropertyGetterDescriptorImpl.java | 3 +- .../impl/PropertySetterDescriptorImpl.java | 4 ++- .../kotlin/resolve/DescriptorFactory.java | 34 +++++++++++-------- core/deserialization/src/descriptors.proto | 1 + .../jetbrains/kotlin/serialization/Flags.java | 5 ++- .../deserialization/MemberDeserializer.kt | 4 +++ .../res/syntheticDescriptorGeneration.kt | 1 + 15 files changed, 56 insertions(+), 31 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/AccessorForPropertyDescriptor.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/AccessorForPropertyDescriptor.java index fc268590774..c9618dc2b82 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/AccessorForPropertyDescriptor.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/AccessorForPropertyDescriptor.java @@ -95,7 +95,7 @@ public class AccessorForPropertyDescriptor extends PropertyDescriptorImpl implem public static class Getter extends PropertyGetterDescriptorImpl implements AccessorForCallableDescriptor { public Getter(AccessorForPropertyDescriptor property) { super(property, Annotations.Companion.getEMPTY(), Modality.FINAL, Visibilities.LOCAL, - /* isDefault = */ false, /* isExternal = */ false, Kind.DECLARATION, null, SourceElement.NO_SOURCE); + /* isDefault = */ false, /* isExternal = */ false, /* isInline = */false, Kind.DECLARATION, null, SourceElement.NO_SOURCE); initialize(property.getType()); } @@ -117,7 +117,7 @@ public class AccessorForPropertyDescriptor extends PropertyDescriptorImpl implem public static class Setter extends PropertySetterDescriptorImpl implements AccessorForCallableDescriptor{ public Setter(AccessorForPropertyDescriptor property) { super(property, Annotations.Companion.getEMPTY(), Modality.FINAL, Visibilities.LOCAL, - /* isDefault = */ false, /* isExternal = */ false, Kind.DECLARATION, null, SourceElement.NO_SOURCE); + /* isDefault = */ false, /* isExternal = */ false, /* isInline = */ false, Kind.DECLARATION, null, SourceElement.NO_SOURCE); initializeDefault(); } diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/synthetic/JavaSyntheticPropertiesScope.kt b/compiler/frontend.java/src/org/jetbrains/kotlin/synthetic/JavaSyntheticPropertiesScope.kt index 2a98c65ed3b..8343d1106c7 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/synthetic/JavaSyntheticPropertiesScope.kt +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/synthetic/JavaSyntheticPropertiesScope.kt @@ -317,6 +317,7 @@ class JavaSyntheticPropertiesScope(storageManager: StorageManager, private val l visibility, false, getMethod.isExternal, + false, CallableMemberDescriptor.Kind.SYNTHESIZED, null, SourceElement.NO_SOURCE) @@ -329,6 +330,7 @@ class JavaSyntheticPropertiesScope(storageManager: StorageManager, private val l syntheticExtensionVisibility(setMethod), false, setMethod.isExternal, + false, CallableMemberDescriptor.Kind.SYNTHESIZED, null, SourceElement.NO_SOURCE) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/DescriptorResolver.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/DescriptorResolver.java index 77c44157820..1a3f60d7b60 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/DescriptorResolver.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/DescriptorResolver.java @@ -925,6 +925,7 @@ public class DescriptorResolver { resolveModalityFromModifiers(setter, propertyDescriptor.getModality()), resolveVisibilityFromModifiers(setter, propertyDescriptor.getVisibility()), /* isDefault = */ false, setter.hasModifier(EXTERNAL_KEYWORD), + property.hasModifier(KtTokens.INLINE_KEYWORD) || setter.hasModifier(KtTokens.INLINE_KEYWORD), CallableMemberDescriptor.Kind.DECLARATION, null, KotlinSourceElementKt.toSourceElement(setter) ); KtTypeReference returnTypeReference = setter.getReturnTypeReference(); @@ -973,7 +974,8 @@ public class DescriptorResolver { else if (property.isVar()) { Annotations setterAnnotations = annotationSplitter.getAnnotationsForTarget(PROPERTY_SETTER); setterDescriptor = DescriptorFactory.createSetter(propertyDescriptor, setterAnnotations, !property.hasDelegate(), - /* isExternal = */ false, propertyDescriptor.getSource()); + /* isExternal = */ false, property.hasModifier(KtTokens.INLINE_KEYWORD), + propertyDescriptor.getSource()); } if (!property.isVar()) { @@ -1005,6 +1007,7 @@ public class DescriptorResolver { resolveModalityFromModifiers(getter, propertyDescriptor.getModality()), resolveVisibilityFromModifiers(getter, propertyDescriptor.getVisibility()), /* isDefault = */ false, getter.hasModifier(EXTERNAL_KEYWORD), + property.hasModifier(KtTokens.INLINE_KEYWORD) || getter.hasModifier(KtTokens.INLINE_KEYWORD), CallableMemberDescriptor.Kind.DECLARATION, null, KotlinSourceElementKt.toSourceElement(getter) ); KotlinType returnType = @@ -1015,7 +1018,7 @@ public class DescriptorResolver { else { Annotations getterAnnotations = annotationSplitter.getAnnotationsForTarget(PROPERTY_GETTER); getterDescriptor = DescriptorFactory.createGetter(propertyDescriptor, getterAnnotations, !property.hasDelegate(), - /* isExternal = */ false); + /* isExternal = */ false, property.hasModifier(KtTokens.INLINE_KEYWORD)); getterDescriptor.initialize(propertyDescriptor.getType()); } return getterDescriptor; diff --git a/compiler/serialization/src/org/jetbrains/kotlin/serialization/DescriptorSerializer.kt b/compiler/serialization/src/org/jetbrains/kotlin/serialization/DescriptorSerializer.kt index 3bb9953ca00..e0cda7e89c6 100644 --- a/compiler/serialization/src/org/jetbrains/kotlin/serialization/DescriptorSerializer.kt +++ b/compiler/serialization/src/org/jetbrains/kotlin/serialization/DescriptorSerializer.kt @@ -141,7 +141,7 @@ class DescriptorSerializer private constructor( val hasAnnotations = descriptor.annotations.getAllAnnotations().isNotEmpty() - val propertyFlags = Flags.getAccessorFlags(hasAnnotations, descriptor.visibility, descriptor.modality, false, false) + val propertyFlags = Flags.getAccessorFlags(hasAnnotations, descriptor.visibility, descriptor.modality, false, false, false) val getter = descriptor.getter if (getter != null) { @@ -593,7 +593,8 @@ class DescriptorSerializer private constructor( accessor.visibility, accessor.modality, !accessor.isDefault, - accessor.isExternal + accessor.isExternal, + accessor.isInline ) } diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/descriptors/JavaPropertyDescriptor.java b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/descriptors/JavaPropertyDescriptor.java index 1b8b0f04323..d659b3f8356 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/descriptors/JavaPropertyDescriptor.java +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/descriptors/JavaPropertyDescriptor.java @@ -112,7 +112,7 @@ public class JavaPropertyDescriptor extends PropertyDescriptorImpl implements Ja if (getter != null) { newGetter = new PropertyGetterDescriptorImpl( enhanced, getter.getAnnotations(), getter.getModality(), getter.getVisibility(), - getter.isDefault(), getter.isExternal(), getKind(), getter, getter.getSource() + getter.isDefault(), getter.isExternal(), getter.isInline(), getKind(), getter, getter.getSource() ); newGetter.setInitialSignatureDescriptor(getter.getInitialSignatureDescriptor()); newGetter.initialize(enhancedReturnType); @@ -123,7 +123,7 @@ public class JavaPropertyDescriptor extends PropertyDescriptorImpl implements Ja if (setter != null) { newSetter = new PropertySetterDescriptorImpl( enhanced, setter.getAnnotations(), setter.getModality(), setter.getVisibility(), - setter.isDefault(), setter.isExternal(), getKind(), setter, setter.getSource() + setter.isDefault(), setter.isExternal(), setter.isInline(), getKind(), setter, setter.getSource() ); newSetter.setInitialSignatureDescriptor(newSetter.getInitialSignatureDescriptor()); newSetter.initialize(setter.getValueParameters().get(0)); diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassMemberScope.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassMemberScope.kt index 48eb1f12a25..6bf5848c755 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassMemberScope.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassMemberScope.kt @@ -444,7 +444,7 @@ class LazyJavaClassMemberScope( val getter = DescriptorFactory.createGetter( propertyDescriptor, getterMethod.annotations, /* isDefault = */false, - /* isExternal = */ false, getterMethod.source + /* isExternal = */ false, /* isInline = */ false, getterMethod.source ).apply { initialSignatureDescriptor = getterMethod initialize(propertyDescriptor.type) @@ -452,7 +452,7 @@ class LazyJavaClassMemberScope( val setter = setterMethod?.let { setterMethod -> DescriptorFactory.createSetter(propertyDescriptor, setterMethod.annotations, /* isDefault = */false, - /* isExternal = */ false, setterMethod.visibility, setterMethod.source + /* isExternal = */ false, /* isInline = */ false, setterMethod.visibility, setterMethod.source ).apply { initialSignatureDescriptor = setterMethod } diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertyAccessorDescriptorImpl.java b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertyAccessorDescriptorImpl.java index 97a17355ca8..68655362ac0 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertyAccessorDescriptorImpl.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertyAccessorDescriptorImpl.java @@ -33,6 +33,7 @@ public abstract class PropertyAccessorDescriptorImpl extends DeclarationDescript private final boolean isExternal; private final Modality modality; private final PropertyDescriptor correspondingProperty; + private final boolean isInline; private final Kind kind; private Visibility visibility; @Nullable @@ -46,6 +47,7 @@ public abstract class PropertyAccessorDescriptorImpl extends DeclarationDescript @NotNull Name name, boolean isDefault, boolean isExternal, + boolean isInline, Kind kind, @NotNull SourceElement source ) { @@ -55,6 +57,7 @@ public abstract class PropertyAccessorDescriptorImpl extends DeclarationDescript this.correspondingProperty = correspondingProperty; this.isDefault = isDefault; this.isExternal = isExternal; + this.isInline = isInline; this.kind = kind; } @@ -86,7 +89,7 @@ public abstract class PropertyAccessorDescriptorImpl extends DeclarationDescript @Override public boolean isInline() { - return false; + return isInline; } @Override diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertyDescriptorImpl.java b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertyDescriptorImpl.java index 5cef2fd0d3c..435bb328f3d 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertyDescriptorImpl.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertyDescriptorImpl.java @@ -260,7 +260,7 @@ public class PropertyDescriptorImpl extends VariableDescriptorWithInitializerImp PropertyGetterDescriptorImpl newGetter = getter == null ? null : new PropertyGetterDescriptorImpl( substitutedDescriptor, getter.getAnnotations(), newModality, normalizeVisibility(getter.getVisibility(), kind), - getter.isDefault(), getter.isExternal(), kind, original == null ? null : original.getGetter(), + getter.isDefault(), getter.isExternal(), getter.isInline(), kind, original == null ? null : original.getGetter(), SourceElement.NO_SOURCE ); if (newGetter != null) { @@ -270,7 +270,7 @@ public class PropertyDescriptorImpl extends VariableDescriptorWithInitializerImp } PropertySetterDescriptorImpl newSetter = setter == null ? null : new PropertySetterDescriptorImpl( substitutedDescriptor, setter.getAnnotations(), newModality, normalizeVisibility(setter.getVisibility(), kind), - setter.isDefault(), setter.isExternal(), kind, original == null ? null : original.getSetter(), + setter.isDefault(), setter.isExternal(), setter.isInline(), kind, original == null ? null : original.getSetter(), SourceElement.NO_SOURCE ); if (newSetter != null) { diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertyGetterDescriptorImpl.java b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertyGetterDescriptorImpl.java index fadc34ae159..c9da3cb08b9 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertyGetterDescriptorImpl.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertyGetterDescriptorImpl.java @@ -40,12 +40,13 @@ public class PropertyGetterDescriptorImpl extends PropertyAccessorDescriptorImpl @NotNull Visibility visibility, boolean isDefault, boolean isExternal, + boolean isInline, @NotNull Kind kind, @Nullable PropertyGetterDescriptor original, @NotNull SourceElement source ) { super(modality, visibility, correspondingProperty, annotations, Name.special(""), - isDefault, isExternal, kind, source); + isDefault, isExternal, isInline, kind, source); this.original = original != null ? original : this; } diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertySetterDescriptorImpl.java b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertySetterDescriptorImpl.java index 776789a99ca..0e09437b919 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertySetterDescriptorImpl.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/impl/PropertySetterDescriptorImpl.java @@ -42,12 +42,13 @@ public class PropertySetterDescriptorImpl extends PropertyAccessorDescriptorImpl @NotNull Visibility visibility, boolean isDefault, boolean isExternal, + boolean isInline, @NotNull Kind kind, @Nullable PropertySetterDescriptor original, @NotNull SourceElement source ) { super(modality, visibility, correspondingProperty, annotations, Name.special(""), - isDefault, isExternal, kind, source); + isDefault, isExternal, isInline, kind, source); this.original = original != null ? original : this; } @@ -107,4 +108,5 @@ public class PropertySetterDescriptorImpl extends PropertyAccessorDescriptorImpl public PropertySetterDescriptor getOriginal() { return this.original; } + } diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorFactory.java b/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorFactory.java index a857fc52930..a90c2d37fd5 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorFactory.java +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorFactory.java @@ -48,7 +48,7 @@ public class DescriptorFactory { @NotNull PropertyDescriptor propertyDescriptor, @NotNull Annotations annotations ) { - return createSetter(propertyDescriptor, annotations, true, false, propertyDescriptor.getSource()); + return createSetter(propertyDescriptor, annotations, true, false, false, propertyDescriptor.getSource()); } @NotNull @@ -57,9 +57,10 @@ public class DescriptorFactory { @NotNull Annotations annotations, boolean isDefault, boolean isExternal, + boolean isInline, @NotNull SourceElement sourceElement ) { - return createSetter(propertyDescriptor, annotations, isDefault, isExternal, propertyDescriptor.getVisibility(), sourceElement); + return createSetter(propertyDescriptor, annotations, isDefault, isExternal, isInline, propertyDescriptor.getVisibility(), sourceElement); } @NotNull @@ -68,12 +69,13 @@ public class DescriptorFactory { @NotNull Annotations annotations, boolean isDefault, boolean isExternal, + boolean isInline, @NotNull Visibility visibility, @NotNull SourceElement sourceElement ) { PropertySetterDescriptorImpl setterDescriptor = new PropertySetterDescriptorImpl( propertyDescriptor, annotations, propertyDescriptor.getModality(), visibility, isDefault, isExternal, - CallableMemberDescriptor.Kind.DECLARATION, null, sourceElement + isInline, CallableMemberDescriptor.Kind.DECLARATION, null, sourceElement ); setterDescriptor.initializeDefault(); return setterDescriptor; @@ -84,17 +86,7 @@ public class DescriptorFactory { @NotNull PropertyDescriptor propertyDescriptor, @NotNull Annotations annotations ) { - return createGetter(propertyDescriptor, annotations, true, false); - } - - @NotNull - public static PropertyGetterDescriptorImpl createGetter( - @NotNull PropertyDescriptor propertyDescriptor, - @NotNull Annotations annotations, - boolean isDefault, - boolean isExternal - ) { - return createGetter(propertyDescriptor, annotations, isDefault, isExternal, propertyDescriptor.getSource()); + return createGetter(propertyDescriptor, annotations, true, false, false); } @NotNull @@ -103,11 +95,23 @@ public class DescriptorFactory { @NotNull Annotations annotations, boolean isDefault, boolean isExternal, + boolean isInline + ) { + return createGetter(propertyDescriptor, annotations, isDefault, isExternal, isInline, propertyDescriptor.getSource()); + } + + @NotNull + public static PropertyGetterDescriptorImpl createGetter( + @NotNull PropertyDescriptor propertyDescriptor, + @NotNull Annotations annotations, + boolean isDefault, + boolean isExternal, + boolean isInline, @NotNull SourceElement sourceElement ) { return new PropertyGetterDescriptorImpl( propertyDescriptor, annotations, propertyDescriptor.getModality(), propertyDescriptor.getVisibility(), - isDefault, isExternal, CallableMemberDescriptor.Kind.DECLARATION, null, sourceElement + isDefault, isExternal, isInline, CallableMemberDescriptor.Kind.DECLARATION, null, sourceElement ); } diff --git a/core/deserialization/src/descriptors.proto b/core/deserialization/src/descriptors.proto index 85d3dd98f4c..61cd5e70129 100644 --- a/core/deserialization/src/descriptors.proto +++ b/core/deserialization/src/descriptors.proto @@ -300,6 +300,7 @@ message Property { Modality isNotDefault isExternal + isInline */ optional int32 getter_flags = 7 /* absent => same as property */; optional int32 setter_flags = 8 /* absent => same as property */; diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/Flags.java b/core/deserialization/src/org/jetbrains/kotlin/serialization/Flags.java index e3a5b9f9da3..d5dc9fcae27 100644 --- a/core/deserialization/src/org/jetbrains/kotlin/serialization/Flags.java +++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/Flags.java @@ -73,6 +73,7 @@ public class Flags { public static final BooleanFlagField IS_NOT_DEFAULT = FlagField.booleanAfter(MODALITY); public static final BooleanFlagField IS_EXTERNAL_ACCESSOR = FlagField.booleanAfter(IS_NOT_DEFAULT); + public static final BooleanFlagField IS_INLINE_ACCESSOR = FlagField.booleanAfter(IS_EXTERNAL_ACCESSOR); // --- @@ -180,13 +181,15 @@ public class Flags { @NotNull Visibility visibility, @NotNull Modality modality, boolean isNotDefault, - boolean isExternal + boolean isExternal, + boolean isInlineAccessor ) { return HAS_ANNOTATIONS.toFlags(hasAnnotations) | MODALITY.toFlags(modality(modality)) | VISIBILITY.toFlags(visibility(visibility)) | IS_NOT_DEFAULT.toFlags(isNotDefault) | IS_EXTERNAL_ACCESSOR.toFlags(isExternal) + | IS_INLINE_ACCESSOR.toFlags(isInlineAccessor) ; } diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/MemberDeserializer.kt b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/MemberDeserializer.kt index c81b4579dd1..41945f2c8e5 100644 --- a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/MemberDeserializer.kt +++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/MemberDeserializer.kt @@ -69,6 +69,7 @@ class MemberDeserializer(private val c: DeserializationContext) { val getterFlags = proto.getterFlags val isNotDefault = proto.hasGetterFlags() && Flags.IS_NOT_DEFAULT.get(getterFlags) val isExternal = proto.hasGetterFlags() && Flags.IS_EXTERNAL_ACCESSOR.get(getterFlags) + val isInline = proto.hasGetterFlags() && Flags.IS_INLINE_ACCESSOR.get(getterFlags) val getter = if (isNotDefault) { PropertyGetterDescriptorImpl( property, @@ -77,6 +78,7 @@ class MemberDeserializer(private val c: DeserializationContext) { Deserialization.visibility(Flags.VISIBILITY.get(getterFlags)), /* isDefault = */ !isNotDefault, /* isExternal = */ isExternal, + isInline, property.kind, null, SourceElement.NO_SOURCE ) } @@ -94,6 +96,7 @@ class MemberDeserializer(private val c: DeserializationContext) { val setterFlags = proto.setterFlags val isNotDefault = proto.hasSetterFlags() && Flags.IS_NOT_DEFAULT.get(setterFlags) val isExternal = proto.hasSetterFlags() && Flags.IS_EXTERNAL_ACCESSOR.get(setterFlags) + val isInline = proto.hasGetterFlags() && Flags.IS_INLINE_ACCESSOR.get(setterFlags) if (isNotDefault) { val setter = PropertySetterDescriptorImpl( property, @@ -102,6 +105,7 @@ class MemberDeserializer(private val c: DeserializationContext) { Deserialization.visibility(Flags.VISIBILITY.get(setterFlags)), /* isDefault = */ !isNotDefault, /* isExternal = */ isExternal, + isInline, property.kind, null, SourceElement.NO_SOURCE ) val setterLocal = local.childContext(setter, listOf()) diff --git a/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/synthetic/res/syntheticDescriptorGeneration.kt b/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/synthetic/res/syntheticDescriptorGeneration.kt index e113b9f5929..841b80d0ec6 100644 --- a/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/synthetic/res/syntheticDescriptorGeneration.kt +++ b/plugins/android-extensions/android-extensions-compiler/src/org/jetbrains/kotlin/android/synthetic/res/syntheticDescriptorGeneration.kt @@ -123,6 +123,7 @@ private fun genProperty( Visibilities.PUBLIC, false, false, + false, CallableMemberDescriptor.Kind.SYNTHESIZED, null, SourceElement.NO_SOURCE