diff --git a/analysis/light-classes-base/src/org/jetbrains/kotlin/asJava/elements/KtLightIdentifier.kt b/analysis/light-classes-base/src/org/jetbrains/kotlin/asJava/elements/KtLightIdentifier.kt index ac8772025b7..ba070c80778 100644 --- a/analysis/light-classes-base/src/org/jetbrains/kotlin/asJava/elements/KtLightIdentifier.kt +++ b/analysis/light-classes-base/src/org/jetbrains/kotlin/asJava/elements/KtLightIdentifier.kt @@ -20,12 +20,15 @@ abstract class KtLightIdentifierBase( override fun getContainingFile() = lightOwner.containingFile override fun getTextRange() = origin?.textRange ?: TextRange.EMPTY_RANGE override fun getTextOffset(): Int = origin?.textOffset ?: -1 + abstract override fun copy(): PsiElement } open class KtLightIdentifier( lightOwner: PsiElement, private val ktDeclaration: KtDeclaration? ) : KtLightIdentifierBase(lightOwner, ktDeclaration?.name) { + override fun copy(): PsiElement = KtLightIdentifier(parent, ktDeclaration) + override val origin: PsiElement? get() = when (ktDeclaration) { is KtSecondaryConstructor -> ktDeclaration.getConstructorKeyword() diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/SymbolLightIdentifier.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/SymbolLightIdentifier.kt index 28c77d21ac5..6a76b36169e 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/SymbolLightIdentifier.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/SymbolLightIdentifier.kt @@ -19,6 +19,7 @@ internal class SymbolLightIdentifier( lightOwner: PsiElement, private val ktSymbol: KtSymbol? ) : KtLightIdentifierBase(lightOwner, (ktSymbol as? KtNamedSymbol)?.name?.identifierOrNullIfSpecial) { + override fun copy(): PsiElement = SymbolLightIdentifier(parent, ktSymbol) override val origin: PsiElement? get() = when (val ktDeclaration = ktSymbol?.psi) {