diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtNamedDeclarationStub.java b/compiler/frontend/src/org/jetbrains/kotlin/psi/KtNamedDeclarationStub.java index c79d7caf83f..5497609bfd4 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtNamedDeclarationStub.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/psi/KtNamedDeclarationStub.java @@ -90,7 +90,14 @@ abstract class KtNamedDeclarationStub> extends removeModifier(KtTokens.OPERATOR_KEYWORD); } - return identifier.replace(KtPsiFactory(this).createNameIdentifier(name)); + PsiElement newIdentifier = KtPsiFactory(this).createNameIdentifierIfPossible(name); + if (newIdentifier != null) { + identifier.replace(newIdentifier); + } + else { + identifier.delete(); + } + return this; } @Override diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtPsiFactory.kt b/compiler/frontend/src/org/jetbrains/kotlin/psi/KtPsiFactory.kt index 2d48f5a7a74..1556b1d265f 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/KtPsiFactory.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/psi/KtPsiFactory.kt @@ -286,9 +286,9 @@ class KtPsiFactory @JvmOverloads constructor(private val project: Project, val m return declarations.first() as TDeclaration } - fun createNameIdentifier(name: String): PsiElement { - return createProperty(name, null, false).nameIdentifier!! - } + fun createNameIdentifier(name: String) = createNameIdentifierIfPossible(name)!! + + fun createNameIdentifierIfPossible(name: String) = createProperty(name, null, false).nameIdentifier fun createSimpleName(name: String): KtSimpleNameExpression { return createProperty(name, null, false, name).initializer as KtSimpleNameExpression