diff options
author | Patrick Chuong | 2011-01-11 15:01:48 +0000 |
---|---|---|
committer | Patrick Chuong | 2011-01-11 15:01:48 +0000 |
commit | 99b80471846fd6725ee00b613f8ca58ca2c8da00 (patch) | |
tree | dfd7609f42421093bc364ff7ba17200b94609a51 | |
parent | 13602e8d7ad6e83911c7d01dad9ce1c6bf5ed45d (diff) | |
download | org.eclipse.cdt-99b80471846fd6725ee00b613f8ca58ca2c8da00.tar.gz org.eclipse.cdt-99b80471846fd6725ee00b613f8ca58ca2c8da00.tar.xz org.eclipse.cdt-99b80471846fd6725ee00b613f8ca58ca2c8da00.zip |
Bug 315443 - [disassembly] Not possible to remove breakpoint in disassembly view with double clicks
Port changes from HEAD.
3 files changed, 31 insertions, 2 deletions
diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/model/DisassemblyDocument.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/model/DisassemblyDocument.java index 38ee003f7ea..09d29a9c411 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/model/DisassemblyDocument.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/model/DisassemblyDocument.java @@ -7,6 +7,7 @@ * * Contributors: * Wind River Systems - initial API and implementation + * Patrick Chuong (Texas Instruments) - Bug 315443 *******************************************************************************/ package org.eclipse.cdt.dsf.debug.internal.ui.disassembly.model; @@ -1169,7 +1170,7 @@ public class DisassemblyDocument extends REDDocument implements IDisassemblyDocu } return pos; } - labelPos = new LabelPosition(0, labelLine.length(), address, null); + labelPos = new LabelPosition(0, labelLine.length(), address, label); pos = insertAddressRange(pos, labelPos, labelLine, true); addLabelPosition(labelPos); return pos; diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/provisional/DisassemblySelection.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/provisional/DisassemblySelection.java index 5fd760e5b74..36423f001d4 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/provisional/DisassemblySelection.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/provisional/DisassemblySelection.java @@ -7,6 +7,7 @@ * * Contributors: * Wind River Systems - initial API and implementation + * Patrick Chuong (Texas Instruments) - Bug 315443 *******************************************************************************/ package org.eclipse.cdt.dsf.debug.internal.ui.disassembly.provisional; @@ -16,6 +17,7 @@ import java.net.URI; import org.eclipse.cdt.core.IAddress; import org.eclipse.cdt.debug.internal.ui.disassembly.dsf.AddressRangePosition; import org.eclipse.cdt.debug.internal.ui.disassembly.dsf.DisassemblyPosition; +import org.eclipse.cdt.debug.internal.ui.disassembly.dsf.LabelPosition; import org.eclipse.cdt.dsf.debug.internal.ui.disassembly.SourcePosition; import org.eclipse.cdt.dsf.debug.internal.ui.disassembly.model.DisassemblyDocument; import org.eclipse.cdt.utils.Addr64; @@ -26,6 +28,7 @@ import org.eclipse.core.resources.IStorage; import org.eclipse.core.runtime.IPath; import org.eclipse.jface.text.BadLocationException; import org.eclipse.jface.text.ITextSelection; +import org.eclipse.jface.text.Position; /** * Default implementation of {@link IDisassemblySelection}. @@ -39,6 +42,7 @@ public class DisassemblySelection implements IDisassemblySelection { private IStorage fSourceFile; private int fSourceLine; private IAddress fStartAddress; + private String fLabel; /** * Create a disassembly selection from a normal text selection and a disassembly part. @@ -80,6 +84,17 @@ public class DisassemblySelection implements IDisassemblySelection { fStartAddress = null; } } + + try { + Position labelPosition = document.getPosition(DisassemblyDocument.CATEGORY_LABELS, offset, true); + if (labelPosition != null) { + if (labelPosition instanceof LabelPosition) { + fLabel = ((LabelPosition) labelPosition).fLabel; + } + } + } catch (Exception e) { + fLabel = null; + } } /* @@ -171,5 +186,12 @@ public class DisassemblySelection implements IDisassemblySelection { public IAddress getStartAddress() { return fStartAddress; } - + + /* + * (non-Javadoc) + * @see org.eclipse.cdt.dsf.debug.internal.ui.disassembly.provisional.IDisassemblySelection#getLabel() + */ + public String getLabel() { + return fLabel; + } }
\ No newline at end of file diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/provisional/IDisassemblySelection.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/provisional/IDisassemblySelection.java index 06531ad14f1..fdaf0d93b46 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/provisional/IDisassemblySelection.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/provisional/IDisassemblySelection.java @@ -7,6 +7,7 @@ * * Contributors: * Wind River Systems - initial API and implementation + * Patrick Chuong (Texas Instruments) - Bug 315443 *******************************************************************************/ package org.eclipse.cdt.dsf.debug.internal.ui.disassembly.provisional; @@ -46,4 +47,9 @@ public interface IDisassemblySelection extends ITextSelection { * @return the 0-based line number of the source file associated with the selection, -1 if not available */ int getSourceLine(); + + /** + * @return the label, may be <code>null</code> + */ + String getLabel(); } |