diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KtLightField.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KtLightField.kt index f6be5ef78ee..0cc51f5e692 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KtLightField.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KtLightField.kt @@ -68,7 +68,11 @@ sealed class KtLightFieldImpl( @Throws(IncorrectOperationException::class) override fun setName(@NonNls name: String) = throw IncorrectOperationException("Not supported") - private val _modifierList by lazy { clsDelegate.modifierList?.let { KtLightModifierList(it, this) } } + private val _modifierList by lazy { + if (lightMemberOrigin is LightMemberOriginForDeclaration) + clsDelegate.modifierList?.let { KtLightModifierList(it, this) } + else clsDelegate.modifierList + } override fun getModifierList() = _modifierList diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KtLightMethod.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KtLightMethod.kt index a038874997b..eb18963d2f9 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KtLightMethod.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KtLightMethod.kt @@ -111,7 +111,11 @@ sealed class KtLightMethodImpl( throw IncorrectOperationException(JavaCoreBundle.message("psi.error.attempt.to.edit.class.file")) } - private val _modifierList by lazy { KtLightModifierList(clsDelegate.modifierList, this) } + private val _modifierList by lazy { + if (lightMethodOrigin is LightMemberOriginForDeclaration) + KtLightModifierList(clsDelegate.modifierList, this) + else clsDelegate.modifierList + } override fun getModifierList() = _modifierList diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KtLightParameter.java b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KtLightParameter.java index cd12080d840..9f82b1f532d 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KtLightParameter.java +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KtLightParameter.java @@ -50,12 +50,17 @@ public class KtLightParameter extends LightParameter implements KtLightDeclarati this.index = index; this.method = method; - this.modifierList = new KtLightModifierListWithExplicitModifiers(this, ArrayUtil.EMPTY_STRING_ARRAY) { - @Override - public PsiAnnotationOwner getDelegate() { - return delegate.getModifierList(); - } - }; + if (method.getLightMethodOrigin() instanceof LightMemberOriginForDeclaration) { + this.modifierList = new KtLightModifierListWithExplicitModifiers(this, ArrayUtil.EMPTY_STRING_ARRAY) { + @Override + public PsiAnnotationOwner getDelegate() { + return delegate.getModifierList(); + } + }; + } + else { + this.modifierList = super.getModifierList(); + } } @NotNull