diff options
Diffstat (limited to 'java/debugger/impl/src/com/intellij/debugger/engine/JavaValueModifier.java')
-rw-r--r-- | java/debugger/impl/src/com/intellij/debugger/engine/JavaValueModifier.java | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/java/debugger/impl/src/com/intellij/debugger/engine/JavaValueModifier.java b/java/debugger/impl/src/com/intellij/debugger/engine/JavaValueModifier.java index c7e59106beb8..5aa037191c17 100644 --- a/java/debugger/impl/src/com/intellij/debugger/engine/JavaValueModifier.java +++ b/java/debugger/impl/src/com/intellij/debugger/engine/JavaValueModifier.java @@ -34,6 +34,7 @@ import com.intellij.openapi.progress.ProcessCanceledException; import com.intellij.openapi.progress.util.ProgressIndicatorListenerAdapter; import com.intellij.openapi.progress.util.ProgressWindowWithNotification; import com.intellij.openapi.ui.Messages; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.psi.PsiDocumentManager; import com.intellij.psi.PsiFile; import com.intellij.ui.SimpleColoredComponent; @@ -62,9 +63,12 @@ public class JavaValueModifier extends XValueModifier { @Override public String getInitialValueEditorText() { Value value = myJavaValue.getDescriptor().getValue(); - if (value instanceof PrimitiveValue || value instanceof StringReference) { + if (value instanceof PrimitiveValue) { return myJavaValue.getValueString(); } + else if (value instanceof StringReference) { + return StringUtil.wrapWithDoubleQuote(DebuggerUtils.translateStringValue(myJavaValue.getValueString())); + } return null; } @@ -96,10 +100,12 @@ public class JavaValueModifier extends XValueModifier { @Override public void setValue(@NotNull String expression, @NotNull XModificationCallback callback) { final NodeDescriptorImpl descriptor = myJavaValue.getDescriptor(); - if (!(descriptor instanceof ValueDescriptorImpl)) { + if(!((ValueDescriptorImpl)descriptor).canSetValue()) { return; } - if(!((ValueDescriptorImpl)descriptor).canSetValue()) { + + if (myJavaValue.getEvaluationContext().getSuspendContext().isResumed()) { + callback.errorOccurred(DebuggerBundle.message("error.context.has.changed")); return; } |