diff options
author | Tor Norbye <tnorbye@google.com> | 2014-09-04 20:44:00 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2014-09-04 20:44:01 +0000 |
commit | fb5a02906f644d044eb0286bf27d413ba0e05216 (patch) | |
tree | bca7d49005d81d10c70bc3f547df041c636b4300 /platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/XDebuggerEditorBase.java | |
parent | 9cde0e3c015174898df8b8f3672185941fad4786 (diff) | |
parent | d245f58efbfc26b13b9b9d5e52e6a83a0d76216c (diff) | |
download | idea-fb5a02906f644d044eb0286bf27d413ba0e05216.tar.gz |
Merge "Merge remote-tracking branch 'aosp/upstream-master' into merge"
Diffstat (limited to 'platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/XDebuggerEditorBase.java')
-rw-r--r-- | platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/XDebuggerEditorBase.java | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/XDebuggerEditorBase.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/XDebuggerEditorBase.java index 991036b7f438..61a499ccf4dd 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/XDebuggerEditorBase.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/ui/XDebuggerEditorBase.java @@ -59,7 +59,7 @@ public abstract class XDebuggerEditorBase { private final XDebuggerEditorsProvider myDebuggerEditorsProvider; @NotNull private final EvaluationMode myMode; @Nullable private final String myHistoryId; - private final XSourcePosition mySourcePosition; + @Nullable private XSourcePosition mySourcePosition; private int myHistoryIndex; private final JLabel myChooseFactory = new JLabel(); @@ -124,6 +124,13 @@ public abstract class XDebuggerEditorBase { return panel; } + public void setSourcePosition(@Nullable XSourcePosition sourcePosition) { + if (mySourcePosition != sourcePosition) { + mySourcePosition = sourcePosition; + setExpression(getExpression(), false); + } + } + @NotNull public EvaluationMode getMode() { return myMode; @@ -137,10 +144,16 @@ public abstract class XDebuggerEditorBase { protected abstract void doSetText(XExpression text); public void setExpression(@Nullable XExpression text) { + setExpression(text, true); + } + + private void setExpression(@Nullable XExpression text, boolean saveInHistory) { if (text == null) { text = getMode() == EvaluationMode.EXPRESSION ? XExpressionImpl.EMPTY_EXPRESSION : XExpressionImpl.EMPTY_CODE_FRAGMENT; } - saveTextInHistory(text); + if (saveInHistory) { + saveTextInHistory(text); + } Language language = text.getLanguage(); if (language == null) { if (mySourcePosition != null) { |