Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick Chuong2011-01-11 15:01:48 +0000
committerPatrick Chuong2011-01-11 15:01:48 +0000
commit99b80471846fd6725ee00b613f8ca58ca2c8da00 (patch)
treedfd7609f42421093bc364ff7ba17200b94609a51
parent13602e8d7ad6e83911c7d01dad9ce1c6bf5ed45d (diff)
downloadorg.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.
-rw-r--r--dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/model/DisassemblyDocument.java3
-rw-r--r--dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/provisional/DisassemblySelection.java24
-rw-r--r--dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/provisional/IDisassemblySelection.java6
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();
}

Back to the top