Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoreutarass2011-06-22 18:41:12 -0400
committereutarass2011-06-22 18:41:12 -0400
commitddc47ae9bada830e072522e4cc6251e8008f00a3 (patch)
tree832d514fec42ac92cbec58d1a324a26de465232d /plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse
parent020352cf3f921603eeffecbe57f2a8af51a1d50a (diff)
downloadorg.eclipse.tcf-ddc47ae9bada830e072522e4cc6251e8008f00a3.tar.gz
org.eclipse.tcf-ddc47ae9bada830e072522e4cc6251e8008f00a3.tar.xz
org.eclipse.tcf-ddc47ae9bada830e072522e4cc6251e8008f00a3.zip
TCF Debugger: fixed: the debugger should update Variables and Expressions views on memory map changes.
Diffstat (limited to 'plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse')
-rw-r--r--plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFChildrenExpressions.java4
-rw-r--r--plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFChildrenLocalVariables.java5
-rw-r--r--plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFChildrenSubExpressions.java8
-rw-r--r--plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeArrayPartition.java4
-rw-r--r--plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeExecContext.java1
-rw-r--r--plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeExpression.java11
-rw-r--r--plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeStackFrame.java4
7 files changed, 36 insertions, 1 deletions
diff --git a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFChildrenExpressions.java b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFChildrenExpressions.java
index 8824ba145..3287b80ed 100644
--- a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFChildrenExpressions.java
+++ b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFChildrenExpressions.java
@@ -32,6 +32,10 @@ public class TCFChildrenExpressions extends TCFChildren {
for (TCFNode n : getNodes()) ((TCFNodeExpression)n).onMemoryChanged();
}
+ void onMemoryMapChanged() {
+ for (TCFNode n : getNodes()) ((TCFNodeExpression)n).onMemoryMapChanged();
+ }
+
private TCFNodeExpression findScript(String text) {
for (TCFNode n : getNodes()) {
TCFNodeExpression e = (TCFNodeExpression)n;
diff --git a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFChildrenLocalVariables.java b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFChildrenLocalVariables.java
index fdc1eed18..16b0ba6b2 100644
--- a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFChildrenLocalVariables.java
+++ b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFChildrenLocalVariables.java
@@ -38,6 +38,11 @@ public class TCFChildrenLocalVariables extends TCFChildren {
for (TCFNode n : getNodes()) ((TCFNodeExpression)n).onMemoryChanged();
}
+ void onMemoryMapChanged() {
+ reset();
+ for (TCFNode n : getNodes()) ((TCFNodeExpression)n).onMemoryMapChanged();
+ }
+
@Override
protected boolean startDataRetrieval() {
IExpressions exps = node.model.getLaunch().getService(IExpressions.class);
diff --git a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFChildrenSubExpressions.java b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFChildrenSubExpressions.java
index f1420319c..3b97f1ad9 100644
--- a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFChildrenSubExpressions.java
+++ b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFChildrenSubExpressions.java
@@ -62,6 +62,14 @@ public class TCFChildrenSubExpressions extends TCFChildren {
}
}
+ void onMemoryMapChanged() {
+ reset();
+ for (TCFNode n : getNodes()) {
+ if (n instanceof TCFNodeExpression) ((TCFNodeExpression)n).onMemoryMapChanged();
+ if (n instanceof TCFNodeArrayPartition) ((TCFNodeArrayPartition)n).onMemoryMapChanged();
+ }
+ }
+
void onCastToTypeChanged() {
cancel();
TCFNode a[] = getNodes().toArray(new TCFNode[getNodes().size()]);
diff --git a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeArrayPartition.java b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeArrayPartition.java
index e120666fa..fdaad03db 100644
--- a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeArrayPartition.java
+++ b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeArrayPartition.java
@@ -93,6 +93,10 @@ public class TCFNodeArrayPartition extends TCFNode {
children.onMemoryChanged();
}
+ void onMemoryMapChanged() {
+ children.onMemoryMapChanged();
+ }
+
@Override
public int compareTo(TCFNode n) {
TCFNodeArrayPartition p = (TCFNodeArrayPartition)n;
diff --git a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeExecContext.java b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeExecContext.java
index cdeb301d1..c6fa54b55 100644
--- a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeExecContext.java
+++ b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeExecContext.java
@@ -1281,6 +1281,7 @@ public class TCFNodeExecContext extends TCFNode implements ISymbolOwner {
children_exec.onMemoryMapChanged();
children_stack.onMemoryMapChanged();
children_modules.onMemoryMapChanged();
+ children_exps.onMemoryMapChanged();
postModulesChangedDelta();
}
diff --git a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeExpression.java b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeExpression.java
index a7909ea2f..0ceeea760 100644
--- a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeExpression.java
+++ b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeExpression.java
@@ -528,6 +528,17 @@ public class TCFNodeExpression extends TCFNode implements IElementEditor, ICastT
postAllChangedDelta();
}
+ void onMemoryMapChanged() {
+ value.reset();
+ type.reset();
+ type_name.reset();
+ string.reset();
+ children.onMemoryMapChanged();
+ if (parent instanceof TCFNodeExpression) return;
+ if (parent instanceof TCFNodeArrayPartition) return;
+ postAllChangedDelta();
+ }
+
void onValueChanged() {
value.reset();
type.reset();
diff --git a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeStackFrame.java b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeStackFrame.java
index d8c0712aa..f2b51b29d 100644
--- a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeStackFrame.java
+++ b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeStackFrame.java
@@ -441,7 +441,9 @@ public class TCFNodeStackFrame extends TCFNode {
void onMemoryMapChanged() {
line_info.reset();
func_info.reset();
- postStateChangedDelta();
+ children_vars.onMemoryMapChanged();
+ children_exps.onMemoryMapChanged();
+ postAllChangedDelta();
}
void onMemoryChanged() {

Back to the top