diff options
author | Ken Ryall | 2007-02-08 00:27:50 +0000 |
---|---|---|
committer | Ken Ryall | 2007-02-08 00:27:50 +0000 |
commit | fa70524c9519c8f992c0dc1106d36f0b1986a1fc (patch) | |
tree | 8bcf387718554378dda9e11edaab3bca268eb200 | |
parent | eec83cfb6653627aa24b456e87145d25a0c47e9f (diff) | |
download | org.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.
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; } |