From 407463cb327190ff53cea874c9ce1d1e716940b9 Mon Sep 17 00:00:00 2001 From: Mikhail Khodjaiants Date: Mon, 15 Nov 2004 22:28:38 +0000 Subject: [PATCH] Fix for bug 78604: Disassembly causes Java exception when disassembling beyond fn(?). Added the "getAddressFactory" method to the "IDisassembly" interface. --- debug/org.eclipse.cdt.debug.core/ChangeLog | 1 + .../org/eclipse/cdt/debug/core/model/IDisassembly.java | 8 ++++++++ .../cdt/debug/internal/core/model/Disassembly.java | 8 ++++++++ 3 files changed, 17 insertions(+) diff --git a/debug/org.eclipse.cdt.debug.core/ChangeLog b/debug/org.eclipse.cdt.debug.core/ChangeLog index 0a4f89ad040..89ad186dbf2 100644 --- a/debug/org.eclipse.cdt.debug.core/ChangeLog +++ b/debug/org.eclipse.cdt.debug.core/ChangeLog @@ -1,3 +1,4 @@ +2004-11-15 Mikhail Khodjaiants Fix for bug 78604: Disassembly causes Java exception when disassembling beyond fn(?). Added the "getAddressFactory" method to the "IDisassembly" interface. * IDisassembly.java diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/model/IDisassembly.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/model/IDisassembly.java index b7153cd86ab..0de24d65f7b 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/model/IDisassembly.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/model/IDisassembly.java @@ -10,6 +10,7 @@ ***********************************************************************/ package org.eclipse.cdt.debug.core.model; +import org.eclipse.cdt.core.IAddressFactory; import org.eclipse.debug.core.DebugException; /** @@ -25,4 +26,11 @@ public interface IDisassembly extends ICDebugElement { * @throws DebugException if this method fails. */ IDisassemblyBlock getDisassemblyBlock( ICStackFrame frame ) throws DebugException; + + /** + * Returns the address factory associated with this element. + * + * @return the address factory + */ + IAddressFactory getAddressFactory(); } diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/Disassembly.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/Disassembly.java index 732b64a0108..c1ef5302c41 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/Disassembly.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/Disassembly.java @@ -13,6 +13,7 @@ package org.eclipse.cdt.debug.internal.core.model; import java.math.BigInteger; import java.util.ArrayList; import org.eclipse.cdt.core.IAddress; +import org.eclipse.cdt.core.IAddressFactory; import org.eclipse.cdt.debug.core.CDebugCorePlugin; import org.eclipse.cdt.debug.core.ICDebugConstants; import org.eclipse.cdt.debug.core.cdi.CDIException; @@ -140,4 +141,11 @@ public class Disassembly extends CDebugElement implements IDisassembly { } fireChangeEvent( DebugEvent.CONTENT ); } + + /* (non-Javadoc) + * @see org.eclipse.cdt.debug.core.model.IDisassembly#getAddressFactory() + */ + public IAddressFactory getAddressFactory() { + return ((CDebugTarget)getDebugTarget()).getAddressFactory(); + } }