Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKen Ryall2007-02-08 00:27:50 +0000
committerKen Ryall2007-02-08 00:27:50 +0000
commitfa70524c9519c8f992c0dc1106d36f0b1986a1fc (patch)
tree8bcf387718554378dda9e11edaab3bca268eb200
parenteec83cfb6653627aa24b456e87145d25a0c47e9f (diff)
downloadorg.eclipse.cdt-fa70524c9519c8f992c0dc1106d36f0b1986a1fc.tar.gz
org.eclipse.cdt-fa70524c9519c8f992c0dc1106d36f0b1986a1fc.tar.xz
org.eclipse.cdt-fa70524c9519c8f992c0dc1106d36f0b1986a1fc.zip
Fix bug 173197, allow CDI targets to provide an address factory.
-rw-r--r--debug/org.eclipse.cdt.debug.core/cdi/org/eclipse/cdt/debug/core/cdi/model/ICDITarget2.java7
-rw-r--r--debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CDebugTarget.java8
2 files changed, 15 insertions, 0 deletions
diff --git a/debug/org.eclipse.cdt.debug.core/cdi/org/eclipse/cdt/debug/core/cdi/model/ICDITarget2.java b/debug/org.eclipse.cdt.debug.core/cdi/org/eclipse/cdt/debug/core/cdi/model/ICDITarget2.java
index df1ba61b163..1c9772e6722 100644
--- a/debug/org.eclipse.cdt.debug.core/cdi/org/eclipse/cdt/debug/core/cdi/model/ICDITarget2.java
+++ b/debug/org.eclipse.cdt.debug.core/cdi/org/eclipse/cdt/debug/core/cdi/model/ICDITarget2.java
@@ -11,6 +11,7 @@
package org.eclipse.cdt.debug.core.cdi.model;
+import org.eclipse.cdt.core.IAddressFactory;
import org.eclipse.cdt.debug.core.model.IGlobalVariableDescriptor;
public interface ICDITarget2 extends ICDITarget {
@@ -21,4 +22,10 @@ public interface ICDITarget2 extends ICDITarget {
*/
IGlobalVariableDescriptor[] getGlobalVariables();
+ /**
+ * Returns an AddressFactory for use with this target.
+ * @return an IAddressFactory.
+ */
+ IAddressFactory getAddressFactory();
+
}
diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CDebugTarget.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CDebugTarget.java
index 17c70717533..bafaba662d8 100644
--- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CDebugTarget.java
+++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CDebugTarget.java
@@ -1625,6 +1625,14 @@ public class CDebugTarget extends CDebugElement implements ICDebugTarget, ICDIEv
fAddressFactory = file.getAddressFactory();
}
}
+ else {
+ // No binary file, possible when we do pure assembly level debug
+ // Without any binary file involved, ask CDI plugin for default
+ // AddressFactory, if any.
+ if (fCDITarget instanceof ICDITarget2) {
+ fAddressFactory = ((ICDITarget2) fCDITarget).getAddressFactory();
+ }
+ }
}
return fAddressFactory;
}

Back to the top