Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java7
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/model/IBreakpoint.java50
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugElement.java11
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugTarget.java17
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDisconnect.java6
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/model/IExpression.java8
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate.java17
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlock.java5
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.java9
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/model/IPersistableSourceLocator.java8
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/model/IProcess.java8
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegister.java7
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegisterGroup.java5
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISourceLocator.java17
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStackFrame.java21
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStep.java6
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamMonitor.java10
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy.java6
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISuspendResume.java6
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/model/ITerminate.java6
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/model/IThread.java16
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValue.java10
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValueModification.java8
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/model/IVariable.java8
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html2
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java8
26 files changed, 87 insertions, 195 deletions
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java
index 18ea01f41..2e9671cbe 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java
@@ -18,6 +18,7 @@ import org.eclipse.core.runtime.PlatformObject;
import org.eclipse.core.runtime.Status;
import org.eclipse.debug.core.DebugException;
import org.eclipse.debug.core.DebugPlugin;
+import org.eclipse.debug.core.IBreakpointManager;
import org.eclipse.debug.internal.core.DebugCoreMessages;
/**
@@ -89,6 +90,12 @@ public abstract class Breakpoint extends PlatformObject implements IBreakpoint {
public void setRegistered(boolean registered) throws CoreException {
if (isRegistered() != registered) {
setAttribute(REGISTERED, registered);
+ IBreakpointManager mgr = DebugPlugin.getDefault().getBreakpointManager();
+ if (registered) {
+ mgr.addBreakpoint(this);
+ } else {
+ mgr.removeBreakpoint(this, false);
+ }
}
}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IBreakpoint.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IBreakpoint.java
index 13c5267fb..47f875722 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IBreakpoint.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IBreakpoint.java
@@ -18,7 +18,7 @@ import org.eclipse.debug.core.DebugPlugin;
* <p>
* A breakpoint is defined in two parts:
* <ol>
- * <li>By an extension of kind <code>"org.eclipse.debug.core.breakpoints"</li>
+ * <li>By an extension of kind <code>"org.eclipse.debug.core.breakpoints"</code></li>
* <li>By a marker definition that corresponds to the above breakpoint extension</li>
* </ol>
* <p>
@@ -70,7 +70,7 @@ public interface IBreakpoint extends IAdaptable {
public static final String BREAKPOINT_MARKER = DebugPlugin.PLUGIN_ID + ".breakpointMarker"; //$NON-NLS-1$
/**
- * Line breakpoint marker type.
+ * Line breakpoint marker type
* (value <code>"org.eclipse.debug.core.lineBreakpoint"</code>).
*/
public static final String LINE_BREAKPOINT_MARKER = DebugPlugin.PLUGIN_ID + ".lineBreakpointMarker"; //$NON-NLS-1$
@@ -85,17 +85,16 @@ public interface IBreakpoint extends IAdaptable {
public static final String ENABLED= "org.eclipse.debug.core.enabled"; //$NON-NLS-1$
/**
- * Breakpoint marker attribute (value <code>"org.eclipse.debug.core.id"</code>).
+ * Debug model identifier breakpoint marker attribute (value <code>"org.eclipse.debug.core.id"</code>).
* The attribute is a <code>String</code> corresponding to the
- * identifier of the debug model a breakpoint is
- * associated with.
+ * identifier of the debug model a breakpoint is associated with.
*/
public static final String ID= "org.eclipse.debug.core.id"; //$NON-NLS-1$
/**
* Registered breakpoint marker attribute (value <code>"org.eclipse.debug.core.registered"</code>).
* The attribute is a <code>boolean</code> corresponding to
- * whether a breakpoint has been added to the breakpoint manager.
+ * whether a breakpoint has been registered with the breakpoint manager.
*
* @see org.eclipse.core.resources.IMarker#getAttribute(String, boolean)
*/
@@ -112,17 +111,11 @@ public interface IBreakpoint extends IAdaptable {
public static final String PERSISTED= "org.eclipse.debug.core.persisted"; //$NON-NLS-1$
/**
- * Attribute name for the <code>"markerType"</code> attribute of
- * a breakpoint extension.
- */
- public static final String MARKER_TYPE= "markerType"; //$NON-NLS-1$
-
- /**
* Deletes this breakpoint's underlying marker, and removes
* this breakpoint from the breakpoint manager.
*
- * @exception CoreException if deleting the underlying marker throws
- * a <code>CoreException<code>.
+ * @exception CoreException if unable to delete this breakpoint's
+ * underlying marker
*/
public void delete() throws CoreException;
@@ -154,8 +147,8 @@ public interface IBreakpoint extends IAdaptable {
* Returns whether this breakpoint is enabled
*
* @return whether this breakpoint is enabled
- * @exception CoreException if a <code>CoreException</code> is
- * thrown when retrieving the enabled attribute from the underlying marker
+ * @exception CoreException if unable to access the associated
+ * attribute from this breakpoint's underlying marker
*/
public boolean isEnabled() throws CoreException;
/**
@@ -164,8 +157,8 @@ public interface IBreakpoint extends IAdaptable {
* enabled parameter.
*
* @param enabled whether this breakpoint should be enabled
- * @exception CoreException if a <code>CoreException</code> is thrown
- * when setting the attribute on the underlying marker.
+ * @exception CoreException if unable to set the associated attribute on
+ * this breakpoint's underlying marker.
*/
public void setEnabled(boolean enabled) throws CoreException;
@@ -175,22 +168,19 @@ public interface IBreakpoint extends IAdaptable {
*
* @return whether this breakpoint is currently registered with
* the breakpoint manager
- * @exception CoreException if a <code>CoreException</code> is thrown
- * when accessing the attribute on the underlying marker
+ * @exception CoreException if unable to access the associated
+ * attribute on this breakpoint's underlying marker
*/
public boolean isRegistered() throws CoreException;
/**
* Sets whether this breakpoint is currently registered with the
- * breakpoint manager. This method is only used by the breakpoint
- * manager, such that when breakpoints are restored on workspace
- * startup, the breakpoint manager knows which breakpoints should
- * be added to the breakpoint manager.
+ * breakpoint manager.
*
* @param registered whether this breakpoint is registered with the
* breakpoint manager
- * @exception CoreException if a <code>CoreException</code> is thrown
- * when setting the attribute on the underlying marker.
+ * @exception CoreException if unable to set the associated attribute
+ * on this breakpoint's underlying marker.
*/
public void setRegistered(boolean registered) throws CoreException;
@@ -202,8 +192,8 @@ public interface IBreakpoint extends IAdaptable {
* specific type), breakpoints define this functionality.
*
* @return whether this breakpoint is to be persisted
- * @exception CoreException if a <code>CoreException</code> is thrown
- * when accessing the attribute on the underlying marker
+ * @exception CoreException if unable to access the associated attribute
+ * on this breakpoint's underlying marker
*/
public boolean isPersisted() throws CoreException;
@@ -216,8 +206,8 @@ public interface IBreakpoint extends IAdaptable {
* breakpoint's marker definition is defined as not persisted.
*
* @param persist whether this breakpoint is to be persisted
- * @exception CoreException if a <code>CoreException</code> is thrown
- * when setting the attribute on the underlying marker.
+ * @exception CoreException if unable to set the associated attribute on
+ * this breakpoint's underlying marker.
*/
public void setPersisted(boolean registered) throws CoreException;
}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugElement.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugElement.java
index 7ca045d1e..8f9ab7558 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugElement.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugElement.java
@@ -31,12 +31,6 @@ import org.eclipse.debug.core.ILaunch;
* <p>
* Clients may implement this interface.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
*/
public interface IDebugElement extends IAdaptable {
@@ -57,7 +51,10 @@ public interface IDebugElement extends IAdaptable {
* Returns the launch this target is contained in,
* or <code>null</code> if not yet registered with
* a launch.
- *
+ * <p>
+ * [Issue: Specification will be changed to not allow null
+ * to be returned.]
+ * </p>
* @return launch or <code>null</code>
*/
public ILaunch getLaunch();
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugTarget.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugTarget.java
index 925c8ee79..b177a835c 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugTarget.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugTarget.java
@@ -11,8 +11,8 @@ import org.eclipse.debug.core.IBreakpointListener;
/**
* A debug target is a debuggable execution context. For example, a debug target
* may represent a debuggable process or a virtual machine. A debug target is the root
- * of the debug element hierarchy. A debug target is of element type <code>DEBUG_TARGET</code>,
- * and contains threads. Minimally, a debug target supports the following capabilities:
+ * of the debug element hierarchy. A debug targetcontains threads. Minimally, a debug
+ * target supports the following:
* <ul>
* <li>terminate
* <li>suspend/resume
@@ -26,12 +26,6 @@ import org.eclipse.debug.core.IBreakpointListener;
* <p>
* Clients may implement this interface.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @see ITerminate
* @see ISuspendResume
* @see IBreakpointListener
@@ -44,6 +38,9 @@ public interface IDebugTarget extends IDebugElement, ITerminate, ISuspendResume,
* Returns the system process associated with this debug target
* or <code>null</code> if no system process is associated with
* this debug target.
+ *
+ * @return the system process associated with this debug target
+ * or <code>null</code> if none
*/
public IProcess getProcess();
/**
@@ -61,9 +58,9 @@ public interface IDebugTarget extends IDebugElement, ITerminate, ISuspendResume,
public IThread[] getThreads() throws DebugException;
/**
- * Returns whether this debug target contains any threads.
+ * Returns whether this debug target currently contains any threads.
*
- * @return whether this debug target contains any threads
+ * @return whether this debug target currently contains any threads
* @exception DebugException if this method fails. Reasons include:
* <ul><li>Failure communicating with the debug target. The DebugException's
* status code contains the underlying exception responsible for
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDisconnect.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDisconnect.java
index 8ed1336c4..7e06b6c4a 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDisconnect.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDisconnect.java
@@ -13,12 +13,6 @@ import org.eclipse.debug.core.DebugException;
* <p>
* Clients may implement this interface.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @see IDebugTarget
*/
public interface IDisconnect {
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IExpression.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IExpression.java
index 4e7f1173c..6713ef5be 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IExpression.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IExpression.java
@@ -21,12 +21,6 @@ package org.eclipse.debug.core.model;
* <p>
* Clients are intended to implement this interface.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @since 2.0
*/
public interface IExpression extends IDebugElement {
@@ -40,7 +34,7 @@ public interface IExpression extends IDebugElement {
/**
* Returns the current value of this expression or
- * <code>code</code> null if this expression does not
+ * <code>null</code> if this expression does not
* currently have a value.
*
* @return value or <code>null</code>
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate.java
index 7ea2384da..7c5eb64c6 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate.java
@@ -12,24 +12,16 @@ import org.eclipse.debug.core.ILaunchConfiguration;
import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
/**
- * Note: This interface is yet experimental.
- * <p>
* A launch configuration delegate performs launching for a
* specific type of launch configuration. A launch configuration
* delegate is defined by the <code>delegate</code> attribute
* of a <code>launchConfigurationType</code> extension.
- * </p>
* <p>
* This interface is intended to be implemented by clients.
* </p>
- * <p>
- * <b>NOTE:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @see org.eclipse.debug.core.ILaunchConfigurationType
* @see ILaunchConfiguration
+ * @since 2.0
*/
public interface ILaunchConfigurationDelegate {
@@ -39,6 +31,13 @@ public interface ILaunchConfigurationDelegate {
* configuration. The resulting launch object is registered with the
* launch manager. Returns <code>null</code> if the launch is not
* completed.
+ * <p>
+ * [Issue: this API is being changed. A launch object will be created
+ * and registered before this method is called, and will be passed
+ * as a parameter to this method. This delegate will add targets and
+ * processes to the launch as required. This method will not return
+ * a value (i.e. will be 'void').]
+ * </p>
*
* @param configuration the configuration to launch
* @param mode the mode in which to launch, one of the mode constants
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlock.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlock.java
index c81815a85..49f379638 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlock.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlock.java
@@ -13,11 +13,6 @@ import org.eclipse.debug.core.DebugException;
* and a length. Not all debug architectures support the retrieval
* of memory blocks.
*
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @see IMemoryBlockRetrieval
* @since 2.0
*/
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.java
index 94620a7e7..d6c8a77a5 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.java
@@ -8,15 +8,10 @@ package org.eclipse.debug.core.model;
import org.eclipse.debug.core.DebugException;
/**
- * Some debug targets support the retrieval of arbitrary blocks of
- * memory.
+ * Supports the retrieval of arbitrary blocks of memory.
*
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @see IMemoryBlock
+ * @since 2.0
*/
public interface IMemoryBlockRetrieval {
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IPersistableSourceLocator.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IPersistableSourceLocator.java
index e8c9399b0..e8fec3d85 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IPersistableSourceLocator.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IPersistableSourceLocator.java
@@ -11,7 +11,7 @@ import org.eclipse.debug.core.ILaunchConfiguration;
/**
* A source locator that can be persisted and restored,
* to be used with a specfic launch configuration.
- * The debug plug-in defines source locator extension
+ * The debug plug-in defines a source locator extension
* point for persistable source locators.
* <p>
* A source locator extension is defined in <code>plugin.xml</code>.
@@ -37,12 +37,6 @@ import org.eclipse.debug.core.ILaunchConfiguration;
* <p>
* Clients may implement this interface.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @see org.eclipse.debug.core.ILaunch
* @see IStackFrame
* @see org.eclipse.debug.ui.IDebugModelPresentation
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IProcess.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IProcess.java
index 127dda4ff..40c57798b 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IProcess.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IProcess.java
@@ -19,12 +19,6 @@ import org.eclipse.core.runtime.IAdaptable;
* provides an implementation of this interface for a
* <code>java.lang.Process</code>.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @see org.eclipse.debug.core.DebugPlugin#newProcess(Process, String)
*/
public interface IProcess extends IAdaptable, ITerminate {
@@ -40,6 +34,8 @@ public interface IProcess extends IAdaptable, ITerminate {
* <code>null</code> if this element is not registered with
* an launch. This is a convenience method for
* <code>ILaunchManager.findLaunch(IProcess)</code>.
+ *
+ * [Issue: this API will be changed to never return null.]
*
* @return the launch this process is contained in
*/
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegister.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegister.java
index 7fd7baf0d..6fecca6ee 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegister.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegister.java
@@ -8,15 +8,10 @@ package org.eclipse.debug.core.model;
import org.eclipse.debug.core.DebugException;
/**
- * Some debug architectures provide access to registers.
* A register is a special kind of variable that is contained
* in a register group. Each register has a name and a value.
+ * Not all debug architectures provide access to registers.
*
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @since 2.0
*/
public interface IRegister extends IVariable {
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegisterGroup.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegisterGroup.java
index f9fe6d4e3..4a330f1b9 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegisterGroup.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegisterGroup.java
@@ -14,11 +14,6 @@ import org.eclipse.debug.core.DebugException;
* grouped logically. For example, a floating point
* register group.
*
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @since 2.0
*/
public interface IRegisterGroup extends IDebugElement {
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISourceLocator.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISourceLocator.java
index 7a69c7ff8..181b83dd2 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISourceLocator.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISourceLocator.java
@@ -8,15 +8,15 @@ package org.eclipse.debug.core.model;
import org.eclipse.debug.core.model.IStackFrame;
/**
- * A source locator locates source elements for stack frames. Each
- * debug session launch (optionally) specifies a source locator which is
+ * A source locator locates source elements for stack frames. A launch (optionally)
+ * specifies a source locator which is
* used to locate source for that debug session. If a launch does not
* provide a source locator, source cannot be displayed.
* Abstraction of source lookup allows clients to hide implementation
* details of source location and representation.
* <p>
- * Generally, an implementor of a debug model will also implement launchers
- * and source locators that work together as a whole. That is, the implementation
+ * Generally, an implementor of a debug model will also implement launch configuration types,
+ * delegates, and source locators that work together as a whole. That is, the implementation
* of a source locator will have knowledge of how to locate a source element
* for a stack frame. For example, a Java stack frame could define API which
* specifies a source file name. A Java source locator would use this information
@@ -31,15 +31,10 @@ import org.eclipse.debug.core.model.IStackFrame;
* <p>
* Clients may implement this interface.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @see org.eclipse.debug.core.ILaunch
- * @see IStackFrame
+ * @see org.eclipse.debug.core.model.IStackFrame
* @see org.eclipse.debug.ui.IDebugModelPresentation
+ * @see org.eclipse.debug.core.model.IPersistableSourceLocator
*/
public interface ISourceLocator {
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStackFrame.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStackFrame.java
index 2336ffb6f..dbdad2fe1 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStackFrame.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStackFrame.java
@@ -8,25 +8,24 @@ package org.eclipse.debug.core.model;
import org.eclipse.debug.core.DebugException;
/**
- * A stack frame represents an execution context in a suspended thread. A
- * stack frame is of element type <code>STACK_FRAME</code>. A stack frame
- * contains variables representing visible locals and arguments at the current
- * execution location. Minimally, a stack frame supports
- * the following capabilities:
+ * A stack frame represents an execution context in a suspended thread.
+ * A stack frame contains variables representing visible locals and arguments at
+ * the current execution location. Minimally, a stack frame supports
+ * the following:
* <ul>
* <li>suspend/resume (convenience to resume this stack frame's thread)
* <li>stepping
* <li>termination (convenience to terminate this stack frame's thread or debug target)
* </ul>
* <p>
- * An debug model implementation may choose to re-use or discard
+ * A debug model implementation may choose to re-use or discard
* stack frames on iterative thread suspensions. Clients
* cannot assume that stack frames are identical or equal across
* iterative thread suspensions and must check for equality on iterative
* suspensions if they wish to re-use the objects.
* </p>
* <p>
- * An debug model implementation that preserves equality
+ * A debug model implementation that preserves equality
* across iterative suspensions may display more desirable behavior in
* some clients. For example, if stack frames are preserved
* while stepping, a UI client would be able to update the UI incrementally,
@@ -35,12 +34,6 @@ import org.eclipse.debug.core.DebugException;
* <p>
* Clients may implement this interface.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @see IStep
* @see ISuspendResume
* @see ITerminate
@@ -50,6 +43,7 @@ public interface IStackFrame extends IDebugElement, IStep, ISuspendResume, ITerm
* Returns the thread this stack frame is contained in.
*
* @return thread
+ * @since 2.0
*/
public IThread getThread();
/**
@@ -62,6 +56,7 @@ public interface IStackFrame extends IDebugElement, IStep, ISuspendResume, ITerm
* status code contains the underlying exception responsible for
* the failure.</li>
* </ul>
+ * @since 2.0
*/
public IVariable[] getVariables() throws DebugException;
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStep.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStep.java
index efcb247a1..e45970d3e 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStep.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStep.java
@@ -14,12 +14,6 @@ import org.eclipse.debug.core.DebugException;
* <p>
* Clients may implement this interface.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
*/
public interface IStep {
/**
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamMonitor.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamMonitor.java
index 42704c761..a291aa5ce 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamMonitor.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamMonitor.java
@@ -16,12 +16,6 @@ import org.eclipse.debug.core.IStreamListener;
* provides an implementation of the <code>IStreamsProxy</code>
* interface must also provide an implementation of this interface.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @see IStreamsProxy
*/
public interface IStreamMonitor {
@@ -29,7 +23,7 @@ public interface IStreamMonitor {
* Adds the given listener to this stream monitor's registered listeners.
* Has no effect if an identical listener is already registered.
*
- * @param the listener to add
+ * @param listener the listener to add
*/
public void addListener(IStreamListener listener);
/**
@@ -43,7 +37,7 @@ public interface IStreamMonitor {
* Removes the given listener from this stream monitor's registered listeners.
* Has no effect if the listener is not already registered.
*
- * @param the listener to remove
+ * @param listener the listener to remove
*/
public void removeListener(IStreamListener listener);
}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy.java
index a75431dca..c43acae4d 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy.java
@@ -17,12 +17,6 @@ import java.io.IOException;
* Clients implementing the <code>IProcess</code> interface must also
* provide an implementation of this interface.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @see IProcess
*/
public interface IStreamsProxy {
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISuspendResume.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISuspendResume.java
index 35baafec7..d1d08f1cb 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISuspendResume.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISuspendResume.java
@@ -13,12 +13,6 @@ import org.eclipse.debug.core.DebugException;
* <p>
* Clients may implement this interface.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
*/
public interface ISuspendResume {
/**
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ITerminate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ITerminate.java
index b8b9f10b0..3848ffa97 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ITerminate.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ITerminate.java
@@ -13,12 +13,6 @@ import org.eclipse.debug.core.DebugException;
* <p>
* Clients may implement this interface.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
*/
public interface ITerminate {
/**
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IThread.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IThread.java
index 41a88a6e3..a350c572c 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IThread.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IThread.java
@@ -8,11 +8,10 @@ package org.eclipse.debug.core.model;
import org.eclipse.debug.core.DebugException;
/**
- * A thread is a sequential flow of execution in a debug target. A
- * thread is of element type <code>THREAD</code>. A thread contains
- * stack frames. Stack frames are only available when the thread is
- * suspended, and are returned in top-down order.
- * Minimally, a thread supports the following capabilities:
+ * A thread is a sequential flow of execution in a debug target.
+ * A thread contains stack frames. Stack frames are only available when the
+ * thread is suspended, and are returned in top-down order.
+ * Minimally, a thread supports the following:
* <ul>
* <li>suspend/resume
* <li>stepping
@@ -21,12 +20,6 @@ import org.eclipse.debug.core.DebugException;
* <p>
* Clients may implement this interface.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @see ISuspendResume
* @see IStep
* @see ITerminate
@@ -45,6 +38,7 @@ public interface IThread extends IDebugElement, ISuspendResume, IStep, ITerminat
* <ul><li>Failure communicating with the VM. The DebugException's
* status code contains the underlying exception responsible for
* the failure.</li>
+ * @since 2.0
*/
public IStackFrame[] getStackFrames() throws DebugException;
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValue.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValue.java
index b60e9cd53..0f6155e35 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValue.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValue.java
@@ -8,8 +8,7 @@ package org.eclipse.debug.core.model;
import org.eclipse.debug.core.DebugException;
/**
- * A value represents the value of a variable. A value is of element type <code>VALUE</code>.
- * A value does not have a parent - instead it has an associated variable.
+ * A value represents the value of a variable.
* A value representing a complex data structure contains variables.
* <p>
* An implementation may choose to re-use or discard
@@ -28,12 +27,6 @@ import org.eclipse.debug.core.DebugException;
* <p>
* Clients may implement this interface.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @see IVariable
*/
@@ -85,6 +78,7 @@ public interface IValue extends IDebugElement {
* <ul><li>Failure communicating with the VM. The DebugException's
* status code contains the underlying exception responsible for
* the failure.</li>
+ * @since 2.0
*/
public IVariable[] getVariables() throws DebugException;
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValueModification.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValueModification.java
index ec2e910ed..bd08b4e0c 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValueModification.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValueModification.java
@@ -13,12 +13,6 @@ import org.eclipse.debug.core.DebugException;
* <p>
* Clients may implement this interface.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @see IVariable
*/
public interface IValueModification {
@@ -43,6 +37,7 @@ public interface IValueModification {
* <li>TARGET_REQUEST_FAILED - The request failed in the target
* <li>NOT_SUPPORTED - The capability is not supported by the target
* </ul>
+ * @since 2.0
*/
public void setValue(IValue value) throws DebugException;
@@ -76,6 +71,7 @@ public interface IValueModification {
* <li>TARGET_REQUEST_FAILED - The request failed in the target
* <li>NOT_SUPPORTED - The capability is not supported by the target
* </ul>
+ * @since 2.0
*/
public boolean verifyValue(IValue value) throws DebugException;
}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IVariable.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IVariable.java
index cba2cece3..ff02764c3 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IVariable.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IVariable.java
@@ -9,7 +9,7 @@ import org.eclipse.debug.core.DebugException;
/**
* A variable represents a visible data structure in a stack frame
- * or value. A variable is of type <code>VARIABLE</code>.
+ * or value.
* Each variable has a value which may in turn contain more variables.
* A variable may support value modification.
* <p>
@@ -29,12 +29,6 @@ import org.eclipse.debug.core.DebugException;
* <p>
* Clients may implement this interface.
* </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
* @see IValue
* @see IStackFrame
* @see IValueModification
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html
index 3f9882d9c..adb722b52 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html
@@ -8,7 +8,7 @@
<body bgcolor="#FFFFFF">
-<p>Defines interfaces for a debug model to support an extensible set of debug architectures.</p>
+<p>Defines interfaces for a debug model elements, source lookup, and launching.</p>
<h2>Package Specification</h2>
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java
index 881d846f9..9db6e3fa6 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java
@@ -56,6 +56,12 @@ public class BreakpointManager implements IBreakpointManager, IResourceChangeLis
* String constants corresponding to XML extension keys
*/
private final static String CLASS = "class"; //$NON-NLS-1$
+
+ /**
+ * Attribute name for the <code>"markerType"</code> attribute of
+ * a breakpoint extension.
+ */
+ private static final String MARKER_TYPE= "markerType"; //$NON-NLS-1$
/**
* A collection of breakpoints registered with this manager.
@@ -177,7 +183,7 @@ public class BreakpointManager implements IBreakpointManager, IResourceChangeLis
IExtensionPoint ep= DebugPlugin.getDefault().getDescriptor().getExtensionPoint(DebugPlugin.EXTENSION_POINT_BREAKPOINTS);
IConfigurationElement[] elements = ep.getConfigurationElements();
for (int i= 0; i < elements.length; i++) {
- fBreakpointExtensions.put(elements[i].getAttribute(IBreakpoint.MARKER_TYPE), elements[i]);
+ fBreakpointExtensions.put(elements[i].getAttribute(MARKER_TYPE), elements[i]);
}
}

Back to the top