[SLC] replace some of SymbolLightIdentifier with KtLightIdentifier

^KT-54051
This commit is contained in:
Dmitrii Gridin
2022-11-16 08:39:25 +01:00
committed by Space Team
parent 577bc243d2
commit 0b8b4bfe82
7 changed files with 22 additions and 37 deletions
@@ -18,9 +18,9 @@ import org.jetbrains.kotlin.analysis.project.structure.KtModule
import org.jetbrains.kotlin.asJava.classes.getParentForLocalDeclaration
import org.jetbrains.kotlin.asJava.classes.lazyPub
import org.jetbrains.kotlin.asJava.elements.KtLightField
import org.jetbrains.kotlin.asJava.elements.KtLightIdentifier
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
import org.jetbrains.kotlin.asJava.toLightClass
import org.jetbrains.kotlin.light.classes.symbol.SymbolLightIdentifier
import org.jetbrains.kotlin.light.classes.symbol.annotations.hasDeprecatedAnnotation
import org.jetbrains.kotlin.light.classes.symbol.annotations.hasJvmFieldAnnotation
import org.jetbrains.kotlin.light.classes.symbol.annotations.hasJvmStaticAnnotation
@@ -72,9 +72,7 @@ abstract class SymbolLightClassForClassOrObject(protected val classOrObject: KtC
abstract override fun getOwnMethods(): List<PsiMethod>
private val _identifier: PsiIdentifier by lazyPub {
withClassOrObjectSymbol {
SymbolLightIdentifier(this@SymbolLightClassForClassOrObject, it)
}
KtLightIdentifier(this, classOrObject)
}
override fun getNameIdentifier(): PsiIdentifier? = _identifier
@@ -15,7 +15,9 @@ import org.jetbrains.annotations.NonNls
import org.jetbrains.kotlin.asJava.builder.LightMemberOrigin
import org.jetbrains.kotlin.asJava.classes.KtLightClass
import org.jetbrains.kotlin.asJava.classes.cannotModify
import org.jetbrains.kotlin.asJava.classes.lazyPub
import org.jetbrains.kotlin.asJava.elements.KtLightField
import org.jetbrains.kotlin.asJava.elements.KtLightIdentifier
import org.jetbrains.kotlin.idea.KotlinLanguage
import org.jetbrains.kotlin.light.classes.symbol.SymbolLightMemberBase
import org.jetbrains.kotlin.light.classes.symbol.basicIsEquivalentTo
@@ -38,6 +40,12 @@ internal abstract class SymbolLightField protected constructor(
override fun getContainingFile(): PsiFile? = containingClass.containingFile
override fun hasInitializer(): Boolean = initializer !== null
private val _identifier: PsiIdentifier by lazyPub {
KtLightIdentifier(this, kotlinOrigin)
}
override fun getNameIdentifier(): PsiIdentifier = _identifier
override fun computeConstantValue(): Any? = null
override fun computeConstantValue(visitedVars: MutableSet<PsiVariable>?): Any? = computeConstantValue()
@@ -14,7 +14,6 @@ import org.jetbrains.kotlin.asJava.classes.cannotModify
import org.jetbrains.kotlin.asJava.classes.lazyPub
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
import org.jetbrains.kotlin.light.classes.symbol.NullabilityType
import org.jetbrains.kotlin.light.classes.symbol.SymbolLightIdentifier
import org.jetbrains.kotlin.light.classes.symbol.annotations.computeAnnotations
import org.jetbrains.kotlin.light.classes.symbol.classes.SymbolLightClass
import org.jetbrains.kotlin.light.classes.symbol.classes.SymbolLightClassForEnumEntry
@@ -90,14 +89,6 @@ internal class SymbolLightFieldForEnumEntry(
override fun getType(): PsiType = _type
override fun getInitializer(): PsiExpression? = null
private val _identifier: PsiIdentifier by lazyPub {
withEnumEntrySymbol { enumEntrySymbol ->
SymbolLightIdentifier(this@SymbolLightFieldForEnumEntry, enumEntrySymbol)
}
}
override fun getNameIdentifier(): PsiIdentifier = _identifier
override fun isValid(): Boolean = enumEntry.isValid
override fun hashCode(): Int = enumEntry.hashCode()
@@ -5,14 +5,16 @@
package org.jetbrains.kotlin.light.classes.symbol.fields
import com.intellij.psi.*
import com.intellij.psi.PsiExpression
import com.intellij.psi.PsiModifier
import com.intellij.psi.PsiModifierList
import com.intellij.psi.PsiType
import org.jetbrains.annotations.NotNull
import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
import org.jetbrains.kotlin.analysis.api.symbols.KtNamedClassOrObjectSymbol
import org.jetbrains.kotlin.asJava.builder.LightMemberOrigin
import org.jetbrains.kotlin.asJava.classes.KtLightClass
import org.jetbrains.kotlin.asJava.classes.lazyPub
import org.jetbrains.kotlin.light.classes.symbol.SymbolLightIdentifier
import org.jetbrains.kotlin.light.classes.symbol.annotations.SymbolLightSimpleAnnotation
import org.jetbrains.kotlin.light.classes.symbol.annotations.hasDeprecatedAnnotation
import org.jetbrains.kotlin.light.classes.symbol.classes.analyzeForLightClasses
@@ -61,14 +63,6 @@ internal class SymbolLightFieldForObject(
} ?: nonExistentType()
}
private val _identifier: PsiIdentifier by lazyPub {
withObjectDeclarationSymbol { objectSymbol ->
SymbolLightIdentifier(this@SymbolLightFieldForObject, objectSymbol)
}
}
override fun getNameIdentifier(): PsiIdentifier = _identifier
override fun getType(): PsiType = _type
override fun getInitializer(): PsiExpression? = null //TODO
@@ -5,7 +5,10 @@
package org.jetbrains.kotlin.light.classes.symbol.fields
import com.intellij.psi.*
import com.intellij.psi.PsiExpression
import com.intellij.psi.PsiModifier
import com.intellij.psi.PsiModifierList
import com.intellij.psi.PsiType
import org.jetbrains.kotlin.analysis.api.KtAnalysisSession
import org.jetbrains.kotlin.analysis.api.KtConstantInitializerValue
import org.jetbrains.kotlin.analysis.api.base.KtConstantValue
@@ -69,14 +72,6 @@ internal class SymbolLightFieldForProperty(
override fun isDeprecated(): Boolean = _isDeprecated
private val _identifier: PsiIdentifier by lazyPub {
withPropertySymbol { propertySymbol ->
SymbolLightIdentifier(this@SymbolLightFieldForProperty, propertySymbol)
}
}
override fun getNameIdentifier(): PsiIdentifier = _identifier
override fun getType(): PsiType = _returnedType
override fun getName(): String = fieldName
@@ -20,6 +20,7 @@ import org.jetbrains.kotlin.asJava.builder.LightMemberOrigin
import org.jetbrains.kotlin.asJava.classes.METHOD_INDEX_FOR_GETTER
import org.jetbrains.kotlin.asJava.classes.METHOD_INDEX_FOR_SETTER
import org.jetbrains.kotlin.asJava.classes.lazyPub
import org.jetbrains.kotlin.asJava.elements.KtLightIdentifier
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
import org.jetbrains.kotlin.light.classes.symbol.*
import org.jetbrains.kotlin.light.classes.symbol.annotations.computeAnnotations
@@ -190,9 +191,7 @@ internal class SymbolLightAccessorMethod(
override fun isDeprecated(): Boolean = _isDeprecated
private val _identifier: PsiIdentifier by lazyPub {
analyzeForLightClasses(ktModule) {
SymbolLightIdentifier(this@SymbolLightAccessorMethod, propertySymbol())
}
KtLightIdentifier(this, containingPropertyDeclaration)
}
override fun getNameIdentifier(): PsiIdentifier = _identifier
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.light.classes.symbol.methods
import com.intellij.psi.*
import org.jetbrains.kotlin.asJava.builder.LightMemberOrigin
import org.jetbrains.kotlin.asJava.classes.lazyPub
import org.jetbrains.kotlin.light.classes.symbol.SymbolLightIdentifier
import org.jetbrains.kotlin.asJava.elements.KtLightIdentifier
import org.jetbrains.kotlin.light.classes.symbol.classes.SymbolLightClassForClassOrObject
import org.jetbrains.kotlin.light.classes.symbol.classes.analyzeForLightClasses
import org.jetbrains.kotlin.light.classes.symbol.modifierLists.SymbolLightMemberModifierList
@@ -29,7 +29,7 @@ internal class SymbolLightNoArgConstructor(
override fun getTypeParameters(): Array<PsiTypeParameter> = PsiTypeParameter.EMPTY_ARRAY
private val _identifier: PsiIdentifier by lazyPub {
SymbolLightIdentifier(this, ktSymbol = null)
KtLightIdentifier(this, ktDeclaration = null)
}
override fun getNameIdentifier(): PsiIdentifier = _identifier