From a2ef4d28c4046bcde29c7e4ab2a9a66463d725a3 Mon Sep 17 00:00:00 2001 From: Dmitrii Gridin Date: Tue, 24 Jan 2023 14:10:47 +0100 Subject: [PATCH] [SLC] SymbolLightAbstractAnnotation: implement some common methods ^KT-56046 --- .../annotations/SymbolLightAbstractAnnotation.kt | 6 ++++++ .../SymbolLightAnnotationForAnnotationCall.kt | 13 ++++--------- .../symbol/annotations/SymbolLightLazyAnnotation.kt | 8 -------- .../annotations/SymbolLightSimpleAnnotation.kt | 8 -------- 4 files changed, 10 insertions(+), 25 deletions(-) diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightAbstractAnnotation.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightAbstractAnnotation.kt index b254778ca90..f4c26209188 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightAbstractAnnotation.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightAbstractAnnotation.kt @@ -6,6 +6,7 @@ package org.jetbrains.kotlin.light.classes.symbol.annotations import com.intellij.psi.* +import com.intellij.psi.impl.PsiImplUtil import org.jetbrains.kotlin.asJava.classes.cannotModify import org.jetbrains.kotlin.asJava.classes.lazyPub import org.jetbrains.kotlin.asJava.elements.KtLightElement @@ -48,6 +49,11 @@ internal abstract class SymbolLightAbstractAnnotation(parent: PsiElement) : override fun setDeclaredAttributeValue(attributeName: String?, value: T?) = cannotModify() + override fun findAttributeValue(attributeName: String?): PsiAnnotationMemberValue? = PsiImplUtil.findAttributeValue(this, attributeName) + + override fun findDeclaredAttributeValue(attributeName: String?): PsiAnnotationMemberValue? = + PsiImplUtil.findDeclaredAttributeValue(this, attributeName) + override fun accept(visitor: PsiElementVisitor) { if (visitor is JavaElementVisitor) { visitor.visitAnnotation(this) diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightAnnotationForAnnotationCall.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightAnnotationForAnnotationCall.kt index f04f6a42d16..b1bd70afcfa 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightAnnotationForAnnotationCall.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightAnnotationForAnnotationCall.kt @@ -5,8 +5,10 @@ package org.jetbrains.kotlin.light.classes.symbol.annotations -import com.intellij.psi.* -import com.intellij.psi.impl.PsiImplUtil +import com.intellij.psi.PsiAnnotation +import com.intellij.psi.PsiAnnotationParameterList +import com.intellij.psi.PsiElement +import com.intellij.psi.PsiModifierList import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationApplication import org.jetbrains.kotlin.asJava.classes.lazyPub import org.jetbrains.kotlin.light.classes.symbol.basicIsEquivalentTo @@ -16,13 +18,6 @@ internal class SymbolLightAnnotationForAnnotationCall( private val annotationCall: KtAnnotationApplication, parent: PsiModifierList, ) : SymbolLightAbstractAnnotation(parent) { - - override fun findAttributeValue(attributeName: String?): PsiAnnotationMemberValue? = - PsiImplUtil.findAttributeValue(this, attributeName) - - override fun findDeclaredAttributeValue(attributeName: String?) = - PsiImplUtil.findDeclaredAttributeValue(this, attributeName) - private val _parameterList: PsiAnnotationParameterList by lazyPub { SymbolLightLazyAnnotationParameterList(this, lazyOf(annotationCall.arguments)) } diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightLazyAnnotation.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightLazyAnnotation.kt index 522ca59d76f..40983b15106 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightLazyAnnotation.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightLazyAnnotation.kt @@ -5,10 +5,8 @@ package org.jetbrains.kotlin.light.classes.symbol.annotations -import com.intellij.psi.PsiAnnotationMemberValue import com.intellij.psi.PsiAnnotationParameterList import com.intellij.psi.PsiModifierList -import com.intellij.psi.impl.PsiImplUtil import org.jetbrains.kotlin.analysis.api.KtAnalysisSession import org.jetbrains.kotlin.analysis.api.annotations.KtAnnotationApplication import org.jetbrains.kotlin.analysis.api.annotations.annotations @@ -81,12 +79,6 @@ internal class SymbolLightLazyAnnotation private constructor( override fun getParameterList(): PsiAnnotationParameterList = _parameterList - override fun findAttributeValue(attributeName: String?): PsiAnnotationMemberValue? = - PsiImplUtil.findAttributeValue(this, attributeName) - - override fun findDeclaredAttributeValue(attributeName: String?) = - PsiImplUtil.findDeclaredAttributeValue(this, attributeName) - override fun equals(other: Any?): Boolean = this === other || other is SymbolLightLazyAnnotation && other.classId == classId && diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightSimpleAnnotation.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightSimpleAnnotation.kt index add86f9addc..8a6720f9464 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightSimpleAnnotation.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/annotations/SymbolLightSimpleAnnotation.kt @@ -5,10 +5,8 @@ package org.jetbrains.kotlin.light.classes.symbol.annotations -import com.intellij.psi.PsiAnnotationMemberValue import com.intellij.psi.PsiAnnotationParameterList import com.intellij.psi.PsiElement -import com.intellij.psi.impl.PsiImplUtil import org.jetbrains.kotlin.analysis.api.annotations.KtNamedAnnotationValue import org.jetbrains.kotlin.asJava.classes.lazyPub import org.jetbrains.kotlin.psi.KtCallElement @@ -30,12 +28,6 @@ internal class SymbolLightSimpleAnnotation( override fun hashCode(): Int = fqName.hashCode() - override fun findAttributeValue(attributeName: String?): PsiAnnotationMemberValue? = - PsiImplUtil.findAttributeValue(this, attributeName) - - override fun findDeclaredAttributeValue(attributeName: String?) = - PsiImplUtil.findDeclaredAttributeValue(this, attributeName) - private val _parameterList: PsiAnnotationParameterList by lazyPub { SymbolLightLazyAnnotationParameterList(this, lazyOf(arguments)) }