diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/api/statements/expressions/literals/GrLiteral.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/api/statements/expressions/literals/GrLiteral.java index 797684b0d03c..f543c5aea6cb 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/api/statements/expressions/literals/GrLiteral.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/api/statements/expressions/literals/GrLiteral.java @@ -23,4 +23,5 @@ import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrExpres * @author ilyas */ public interface GrLiteral extends GrExpression, PsiLiteral { + void setStringValue(String value); } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/literals/GrAbstractLiteral.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/literals/GrAbstractLiteral.java new file mode 100644 index 000000000000..e41ec6c04f85 --- /dev/null +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/literals/GrAbstractLiteral.java @@ -0,0 +1,21 @@ +package org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.literals; + +import com.intellij.lang.ASTNode; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.literals.GrLiteral; +import org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.GrExpressionImpl; +import org.jetbrains.plugins.groovy.lang.resolve.GroovyStringLiteralManipulator; + + +public abstract class GrAbstractLiteral extends GrExpressionImpl implements GrLiteral { + + public GrAbstractLiteral(@NotNull ASTNode node) { + super(node); + } + + @Override + public void setStringValue(String value) { + new GroovyStringLiteralManipulator().handleContentChange(this, value); + + } +} diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/literals/GrLiteralImpl.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/literals/GrLiteralImpl.java index 704e5df0b239..d97758a4f99d 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/literals/GrLiteralImpl.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/literals/GrLiteralImpl.java @@ -43,7 +43,7 @@ import static org.jetbrains.plugins.groovy.lang.lexer.GroovyTokenTypes.*; /** * @author ilyas */ -public class GrLiteralImpl extends GrExpressionImpl implements GrLiteral, PsiLanguageInjectionHost { +public class GrLiteralImpl extends GrAbstractLiteral implements GrLiteral, PsiLanguageInjectionHost { private static final Function TYPE_CALCULATOR = new NullableFunction() { @Override diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/literals/GrStringImpl.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/literals/GrStringImpl.java index 16a2964096a6..161f3a5bded8 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/literals/GrStringImpl.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/literals/GrStringImpl.java @@ -35,7 +35,7 @@ import java.util.List; /** * @author ilyas */ -public class GrStringImpl extends GrExpressionImpl implements GrString { +public class GrStringImpl extends GrAbstractLiteral implements GrString { private static final Function TYPE_CALCULATOR = new Function() { @Override public PsiType fun(GrStringImpl grString) {