From eaa58c3ec226b94a8613439f21efd6e199bfba4c Mon Sep 17 00:00:00 2001 From: Nicolay Mitropolsky Date: Thu, 28 Jun 2018 20:43:51 +0300 Subject: [PATCH] `KtLightParameter` should have a `KtLightModifierList` anyway otherwise we wouldn't get proper annotations for `equals` in data-classes --- .../kotlin/asJava/elements/KtLightParameter.kt | 16 ++++------------ .../testData/converter/dataClass.txt | 4 +++- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtLightParameter.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtLightParameter.kt index 048bb0b3570..b68687cc6bf 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtLightParameter.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtLightParameter.kt @@ -14,7 +14,7 @@ import com.intellij.psi.search.LocalSearchScope import com.intellij.psi.search.SearchScope import com.intellij.util.IncorrectOperationException import org.jetbrains.annotations.NonNls -import org.jetbrains.kotlin.asJava.builder.LightMemberOriginForDeclaration +import org.jetbrains.kotlin.asJava.classes.lazyPub import org.jetbrains.kotlin.idea.KotlinLanguage import org.jetbrains.kotlin.psi.KtFunction import org.jetbrains.kotlin.psi.KtParameter @@ -29,7 +29,8 @@ class KtLightParameter( ) : LightParameter(clsDelegate.name ?: "p$index", clsDelegate.type, method, KotlinLanguage.INSTANCE), KtLightDeclaration { - private val modifierList: PsiModifierList + private val lightModifierList by lazyPub { KtLightSimpleModifierList(this, emptySet()) } + private var lightIdentifier: KtLightIdentifier? = null override val kotlinOrigin: KtParameter? @@ -56,16 +57,7 @@ class KtLightParameter( return setter?.parameter } - init { - if (method.lightMemberOrigin is LightMemberOriginForDeclaration) { - this.modifierList = KtLightSimpleModifierList(this, emptySet()) - } - else { - this.modifierList = super.getModifierList() - } - } - - override fun getModifierList(): PsiModifierList = modifierList + override fun getModifierList(): PsiModifierList = lightModifierList override fun getNavigationElement(): PsiElement = kotlinOrigin ?: super.getNavigationElement() diff --git a/plugins/kapt3/kapt3-compiler/testData/converter/dataClass.txt b/plugins/kapt3/kapt3-compiler/testData/converter/dataClass.txt index ae4fff7c02e..7342fc46d0d 100644 --- a/plugins/kapt3/kapt3-compiler/testData/converter/dataClass.txt +++ b/plugins/kapt3/kapt3-compiler/testData/converter/dataClass.txt @@ -52,6 +52,7 @@ public final class User { return null; } + @org.jetbrains.annotations.NotNull() @java.lang.Override() public java.lang.String toString() { return null; @@ -63,7 +64,8 @@ public final class User { } @java.lang.Override() - public boolean equals(java.lang.Object p0) { + public boolean equals(@org.jetbrains.annotations.Nullable() + java.lang.Object p0) { return false; } }