@Override public void invoke(@NotNull Project project, Editor editor, KtFile file) throws IncorrectOperationException { if (getElement() instanceof KtBinaryExpressionWithTypeRHS) { KtExpression left = ((KtBinaryExpressionWithTypeRHS) getElement()).getLeft(); KtTypeReference right = ((KtBinaryExpressionWithTypeRHS) getElement()).getRight(); if (right != null) { KtExpression expression = KtPsiFactoryKt.KtPsiFactory(file) .createExpression(left.getText() + operation + right.getText()); getElement().replace(expression); } } }
@NotNull private static KtProperty createProperty( @NotNull KtProperty property, @NotNull KotlinType propertyType, @Nullable String initializer) { KtTypeReference typeRef = property.getTypeReference(); String typeString = null; if (typeRef != null) { typeString = typeRef.getText(); } else if (!propertyType.isError()) { typeString = IdeDescriptorRenderers.SOURCE_CODE.renderType(propertyType); } return KtPsiFactoryKt.KtPsiFactory(property) .createProperty(property.getName(), typeString, property.isVar(), initializer); }