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);
}
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
@@ -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