import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrExpression;
import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrParenthesizedExpression;
import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrReferenceExpression;
+import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.literals.GrString;
import org.jetbrains.plugins.groovy.lang.psi.api.util.GrVariableDeclarationOwner;
import org.jetbrains.plugins.groovy.lang.psi.controlFlow.Instruction;
import org.jetbrains.plugins.groovy.lang.psi.dataFlow.DFAEngine;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Map;
import java.util.HashMap;
+import java.util.Map;
/**
* @author ilyas
public void inlineUsage(final UsageInfo usage, final PsiElement referenced) {
GrExpression exprToBeReplaced = (GrExpression) usage.getElement();
+ if (exprToBeReplaced == null) return;
assert variable.getInitializerGroovy() != null;
GrExpression initializerGroovy = variable.getInitializerGroovy();
assert initializerGroovy != null;
}
Project project = variable.getProject();
GroovyPsiElementFactory factory = GroovyPsiElementFactory.getInstance(project);
- GrExpression newExpr = factory.createExpressionFromText(tempExpr.getText());
-
+ GrExpression newExpr;
+ if (exprToBeReplaced.getParent() instanceof GrString && !(tempExpr instanceof GrReferenceExpression)) {
+ newExpr = factory.createExpressionFromText("{" + tempExpr.getText() + "}");
+ }
+ else {
+ newExpr = factory.createExpressionFromText(tempExpr.getText());
+ }
newExpr = exprToBeReplaced.replaceWithExpression(newExpr, true);
FileEditorManager manager = FileEditorManager.getInstance(project);
Editor editor = manager.getSelectedTextEditor();