diff --git a/debug/org.eclipse.cdt.debug.core/ChangeLog b/debug/org.eclipse.cdt.debug.core/ChangeLog index a4535ba0536..5a260286e46 100644 --- a/debug/org.eclipse.cdt.debug.core/ChangeLog +++ b/debug/org.eclipse.cdt.debug.core/ChangeLog @@ -4,6 +4,13 @@ 2002-10-11 Mikhail Khodjaiants * DisassemblyStorage.java: Changed the format of the disassembly view's output. +2002-10-11 Alain Magloire + + * ICDISourceManager.java (getMixedInstructions): Three + new methods to get the src and the intructions. + + * ICIDMixedInstruction: New Class that return the mixed + of source location and assembly instructions. 2002-10-10 Mikhail Khodjaiants * CVariable.java: Made the 'fChanged' field protected to access to it from the derived class (CRegister). diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/cdi/model/ICDIMixedInstruction.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/cdi/model/ICDIMixedInstruction.java new file mode 100644 index 00000000000..0ff221ee2b1 --- /dev/null +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/cdi/model/ICDIMixedInstruction.java @@ -0,0 +1,29 @@ +/* + *(c) Copyright QNX Software Systems Ltd. 2002. + * All Rights Reserved. + * + */ +package org.eclipse.cdt.debug.core.cdi.model; + +/** + * + * Represents a machine instruction. + * + * @since Jul 10, 2002 + */ +public interface ICDIMixedInstruction extends ICDIObject { + /** + * @return the line Number. + */ + int getLineNumber(); + + /** + * @return the file name + */ + String getFileName(); + + /** + * @return the array of instruction. + */ + ICDIInstruction[] getInstructions(); +} diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/MixedInstruction.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/MixedInstruction.java new file mode 100644 index 00000000000..f526de35720 --- /dev/null +++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/MixedInstruction.java @@ -0,0 +1,50 @@ +/* + *(c) Copyright QNX Software Systems Ltd. 2002. + * All Rights Reserved. + * + */ +package org.eclipse.cdt.debug.mi.core.cdi; + +import org.eclipse.cdt.debug.core.cdi.model.ICDIInstruction; +import org.eclipse.cdt.debug.core.cdi.model.ICDIMixedInstruction; +import org.eclipse.cdt.debug.mi.core.output.MIAsm; +import org.eclipse.cdt.debug.mi.core.output.MISrcAsm; + +/** + */ +public class MixedInstruction extends CObject implements ICDIMixedInstruction { + + MISrcAsm srcAsm; + + public MixedInstruction (CTarget target, MISrcAsm a) { + super(target); + srcAsm = a; + } + + /** + * @see org.eclipse.cdt.debug.core.cdi.model.ICDIMixedInstruction#getFileName() + */ + public String getFileName() { + return srcAsm.getFile(); + } + + /** + * @see org.eclipse.cdt.debug.core.cdi.model.ICDIMixedInstruction#getInstructions() + */ + public ICDIInstruction[] getInstructions() { + MIAsm[] asms = srcAsm.getMIAsms(); + ICDIInstruction[] instructions = new ICDIInstruction[asms.length]; + for (int i = 0; i < asms.length; i++) { + instructions[i] = new Instruction(getCTarget(), asms[i]); + } + return instructions; + } + + /** + * @see org.eclipse.cdt.debug.core.cdi.model.ICDIMixedInstruction#getLineNumber() + */ + public int getLineNumber() { + return srcAsm.getLine(); + } + +}