Change Signature: Fix NPE on rendering empty parameter names

This commit is contained in:
Alexey Sedunov
2017-08-07 16:12:14 +03:00
parent 8439e15c6e
commit 0b44386800
2 changed files with 11 additions and 4 deletions
@@ -90,7 +90,14 @@ abstract class KtNamedDeclarationStub<T extends KotlinStubWithFqName<?>> extends
removeModifier(KtTokens.OPERATOR_KEYWORD); 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 @Override
@@ -286,9 +286,9 @@ class KtPsiFactory @JvmOverloads constructor(private val project: Project, val m
return declarations.first() as TDeclaration return declarations.first() as TDeclaration
} }
fun createNameIdentifier(name: String): PsiElement { fun createNameIdentifier(name: String) = createNameIdentifierIfPossible(name)!!
return createProperty(name, null, false).nameIdentifier!!
} fun createNameIdentifierIfPossible(name: String) = createProperty(name, null, false).nameIdentifier
fun createSimpleName(name: String): KtSimpleNameExpression { fun createSimpleName(name: String): KtSimpleNameExpression {
return createProperty(name, null, false, name).initializer as KtSimpleNameExpression return createProperty(name, null, false, name).initializer as KtSimpleNameExpression