diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtLightElements.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtLightElements.kt index b2eb7e82a6b..eb2902e50a9 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtLightElements.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtLightElements.kt @@ -24,13 +24,13 @@ import org.jetbrains.kotlin.psi.KtDeclaration import org.jetbrains.kotlin.psi.KtElement import org.jetbrains.kotlin.resolve.jvm.diagnostics.JvmDeclarationOriginKind -interface KtLightElement : PsiNamedElement { +interface KtLightElement : PsiElement { val kotlinOrigin: T? val clsDelegate: D } -interface KtLightDeclaration : KtLightElement +interface KtLightDeclaration : KtLightElement, PsiNamedElement interface KtLightMember : PsiMember, KtLightDeclaration, PsiNameIdentifierOwner, PsiDocCommentOwner { val lightMemberOrigin: LightMemberOrigin? diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtLightPsiReferenceList.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtLightPsiReferenceList.kt index 8b6eb4c7edc..ba1d90cca4f 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtLightPsiReferenceList.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtLightPsiReferenceList.kt @@ -38,8 +38,6 @@ class KtLightPsiReferenceList ( inner class KtLightSuperTypeReference( override val clsDelegate: PsiJavaCodeReferenceElement ) : KtLightElement, PsiJavaCodeReferenceElement by clsDelegate { - override fun getName() = null - override fun setName(name: String) = throw UnsupportedOperationException() override val kotlinOrigin by lazyPub { val superTypeList = this@KtLightPsiReferenceList.kotlinOrigin ?: return@lazyPub null @@ -69,9 +67,6 @@ class KtLightPsiReferenceList ( clsDelegate.referenceElements.map { KtLightSuperTypeReference(it) }.toTypedArray() } - override fun getName() = null - override fun setName(name: String) = throw UnsupportedOperationException() - override fun getParent() = owner override fun getReferenceElements() = _referenceElements diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinReferencesSearcher.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinReferencesSearcher.kt index e23fba3a410..b7a1034f315 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinReferencesSearcher.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/search/ideaExtensions/KotlinReferencesSearcher.kt @@ -23,10 +23,7 @@ import com.intellij.psi.search.* import com.intellij.psi.search.searches.ReferencesSearch import com.intellij.util.Processor import org.jetbrains.kotlin.asJava.LightClassUtil -import org.jetbrains.kotlin.asJava.elements.KtLightElement -import org.jetbrains.kotlin.asJava.elements.KtLightField -import org.jetbrains.kotlin.asJava.elements.KtLightMethod -import org.jetbrains.kotlin.asJava.elements.KtLightParameter +import org.jetbrains.kotlin.asJava.elements.* import org.jetbrains.kotlin.asJava.namedUnwrappedElement import org.jetbrains.kotlin.asJava.toLightClass import org.jetbrains.kotlin.asJava.toLightElements @@ -245,7 +242,7 @@ class KotlinReferencesSearcher : QueryExecutorBase()?.toLightClass() if (originLightClass != null) { - val lightDeclarations: List?> = + val lightDeclarations: List?> = originLightClass.methods.map { it as? KtLightMethod } + originLightClass.fields.map { it as? KtLightField } diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveDeclarations/MoveKotlinDeclarationsProcessor.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveDeclarations/MoveKotlinDeclarationsProcessor.kt index f29e7b44642..99915fd830c 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveDeclarations/MoveKotlinDeclarationsProcessor.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/move/moveDeclarations/MoveKotlinDeclarationsProcessor.kt @@ -42,7 +42,7 @@ import com.intellij.util.IncorrectOperationException import com.intellij.util.containers.MultiMap import gnu.trove.THashMap import gnu.trove.TObjectHashingStrategy -import org.jetbrains.kotlin.asJava.elements.KtLightElement +import org.jetbrains.kotlin.asJava.elements.KtLightDeclaration import org.jetbrains.kotlin.asJava.toLightElements import org.jetbrains.kotlin.idea.codeInsight.shorten.addToBeShortenedDescendantsToWaitingSet import org.jetbrains.kotlin.idea.core.deleteSingle @@ -105,7 +105,7 @@ private object ElementHashingStrategy : TObjectHashingStrategy { override fun equals(e1: PsiElement?, e2: PsiElement?): Boolean { if (e1 === e2) return true // Name should be enough to distinguish different light elements based on the same original declaration - if (e1 is KtLightElement<*, *> && e2 is KtLightElement<*, *>) { + if (e1 is KtLightDeclaration<*, *> && e2 is KtLightDeclaration<*, *>) { return e1.kotlinOrigin == e2.kotlinOrigin && e1.name == e2.name } return e1 == e2 @@ -114,7 +114,7 @@ private object ElementHashingStrategy : TObjectHashingStrategy { override fun computeHashCode(e: PsiElement?): Int { return when (e) { null -> 0 - is KtLightElement<*, *> -> (e.kotlinOrigin?.hashCode() ?: 0) * 31 + (e.name?.hashCode() ?: 0) + is KtLightDeclaration<*, *> -> (e.kotlinOrigin?.hashCode() ?: 0) * 31 + (e.name?.hashCode() ?: 0) else -> e.hashCode() } } diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinPropertyProcessor.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinPropertyProcessor.kt index 73859f43f2b..8728f437e8b 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinPropertyProcessor.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/rename/RenameKotlinPropertyProcessor.kt @@ -34,7 +34,7 @@ import com.intellij.usageView.UsageInfo import com.intellij.usageView.UsageViewUtil import org.jetbrains.kotlin.asJava.* import org.jetbrains.kotlin.asJava.classes.KtLightClass -import org.jetbrains.kotlin.asJava.elements.KtLightElement +import org.jetbrains.kotlin.asJava.elements.KtLightDeclaration import org.jetbrains.kotlin.asJava.elements.KtLightMethod import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.descriptors.PropertyDescriptor @@ -100,7 +100,7 @@ class RenameKotlinPropertyProcessor : RenameKotlinPsiProcessor() { || (getterJvmName == null && (it.resolve() as? PsiNamedElement)?.name != setterJvmName) || (setterJvmName == null && (it.resolve() as? PsiNamedElement)?.name != getterJvmName) } - element is KtLightElement<*, *> -> { + element is KtLightDeclaration<*, *> -> { val name = element.name if (name == getterJvmName || name == setterJvmName) allReferences.filterNot { it is KtReference } else allReferences } diff --git a/ultimate/src/org/jetbrains/kotlin/idea/spring/references/KtSpringQualifierReference.kt b/ultimate/src/org/jetbrains/kotlin/idea/spring/references/KtSpringQualifierReference.kt index 7d33368fdc6..17c5d6bb0ab 100644 --- a/ultimate/src/org/jetbrains/kotlin/idea/spring/references/KtSpringQualifierReference.kt +++ b/ultimate/src/org/jetbrains/kotlin/idea/spring/references/KtSpringQualifierReference.kt @@ -24,7 +24,6 @@ import com.intellij.spring.model.highlighting.SpringAutowireUtil import com.intellij.spring.model.jam.qualifiers.SpringJamQualifier import com.intellij.spring.model.utils.SpringModelSearchers import com.intellij.spring.references.SpringQualifierReference -import com.intellij.util.IncorrectOperationException import org.jetbrains.kotlin.asJava.elements.KtLightElement import org.jetbrains.kotlin.asJava.toLightAnnotation import org.jetbrains.kotlin.asJava.toLightElements @@ -50,8 +49,6 @@ class KtSpringQualifierReference(element: KtStringTemplateExpression) : SpringQu class StringTemplatePsiLiteralWrapper( val element: KtStringTemplateExpression ) : PsiElement by element, PsiLiteralExpression, KtLightElement, PsiCompiledElement { - override fun getName() = null - override fun setName(newName: String) = throw IncorrectOperationException() override fun getValue() = element.plainContent override fun getType() = PsiType.getJavaLangString(element.manager, element.project.allScope())