X-Git-Url: http://secure.phpeclipse.com
diff --git a/net.sourceforge.phpeclipse.xdebug.core/src/net/sourceforge/phpeclipse/xdebug/php/model/XDebugLineBreakpoint.java b/net.sourceforge.phpeclipse.xdebug.core/src/net/sourceforge/phpeclipse/xdebug/php/model/XDebugLineBreakpoint.java
index bdfe73d..2ee792b 100644
--- a/net.sourceforge.phpeclipse.xdebug.core/src/net/sourceforge/phpeclipse/xdebug/php/model/XDebugLineBreakpoint.java
+++ b/net.sourceforge.phpeclipse.xdebug.core/src/net/sourceforge/phpeclipse/xdebug/php/model/XDebugLineBreakpoint.java
@@ -1,11 +1,9 @@
/*
* Created on 25.11.2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
*/
package net.sourceforge.phpeclipse.xdebug.php.model;
+
import java.util.HashMap;
import java.util.Map;
@@ -17,99 +15,83 @@ import org.eclipse.core.resources.IWorkspaceRunnable;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.debug.core.DebugPlugin;
+//import org.eclipse.debug.core.model.Breakpoint;
import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.LineBreakpoint;
+import org.eclipse.debug.core.model.ILineBreakpoint;
+//import org.eclipse.debug.core.model.LineBreakpoint;
+
/**
* @author Axel
- *
- * TODO To change the template for this generated type comment go to Window -
- * Preferences - Java - Code Style - Code Templates
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Style - Code Templates
*/
-public class XDebugLineBreakpoint extends LineBreakpoint {
+public class XDebugLineBreakpoint extends XDebugBreakpoint implements ILineBreakpoint /*extends LineBreakpoint*/ {
/**
- * Default constructor is required for the breakpoint manager to re-create
- * persisted breakpoints. After instantiating a breakpoint, the
- * setMarker(...)
method is called to restore this
- * breakpoint's attributes.
+ * Default constructor is required for the breakpoint manager
+ * to re-create persisted breakpoints. After instantiating a breakpoint,
+ * the setMarker(...)
method is called to restore
+ * this breakpoint's attributes.
*/
private static final String XDEBUG_LINE_BREAKPOINT = "net.sourceforge.phpeclipse.xdebug.core.XDebugLineBreakpoint"; //$NON-NLS-1$
/**
- * Breakpoint attribute storing the fully qualified name of the type this
- * breakpoint is located in. (value
- * "net.sourceforge.phpeclipse.debug.typeName"
). This
- * attribute is a String
.
+ * Breakpoint attribute storing the fully qualified name of the type
+ * this breakpoint is located in.
+ * (value "net.sourceforge.phpeclipse.debug.typeName"
). This attribute is a String
.
*/
protected static final String TYPE_NAME = "net.sourceforge.phpeclipse.debug.typeName"; //$NON-NLS-1$
- // public PHPLineBreakpoint() {
- // }
- //
- // public PHPLineBreakpoint(IResource resource, int lineNumber, int
- // charStart, int charEnd, int hitCount, boolean add, Map attributes) throws
- // DebugException {
- // this(resource, lineNumber, charStart, charEnd, hitCount, add, attributes,
- // PHP_LINE_BREAKPOINT);
- // }
- //
- // public PHPLineBreakpoint(IResource resource, int lineNumber, int
- // hitCount, boolean add, Map attributes) throws DebugException {
- // this(resource, lineNumber, -1, -1, hitCount, add, attributes,
- // PHP_LINE_BREAKPOINT);
- // }
-
- public static final String BREAKPOINT_ID = "XDebugLineBreakpointID";
-
+// public PHPLineBreakpoint() {
+// }
+//
+// public PHPLineBreakpoint(IResource resource, int lineNumber, int charStart, int charEnd, int hitCount, boolean add, Map attributes) throws DebugException {
+// this(resource, lineNumber, charStart, charEnd, hitCount, add, attributes, PHP_LINE_BREAKPOINT);
+// }
+//
+// public PHPLineBreakpoint(IResource resource, int lineNumber, int hitCount, boolean add, Map attributes) throws DebugException {
+// this(resource, lineNumber, -1, -1, hitCount, add, attributes, PHP_LINE_BREAKPOINT);
+// }
+
+
+ public static final String BREAKPOINT_ID ="XDebugLineBreakpointID";
+
public XDebugLineBreakpoint() {
}
-
+
/**
- * Constructs a line breakpoint on the given resource at the given line
- * number. The line number is 1-based (i.e. the first line of a file is line
- * number 1).
+ * Constructs a line breakpoint on the given resource at the given
+ * line number. The line number is 1-based (i.e. the first line of a
+ * file is line number 1).
*
- * @param resource
- * file on which to set the breakpoint
- * @param lineNumber
- * 1-based line number of the breakpoint
- * @throws CoreException
- * if unable to create the breakpoint
+ * @param resource file on which to set the breakpoint
+ * @param lineNumber 1-based line number of the breakpoint
+ * @throws CoreException if unable to create the breakpoint
*/
- public XDebugLineBreakpoint(final IResource resource, final int lineNumber)
- throws CoreException {
- // IMarker marker =
- // resource.createMarker("net.sourceforge.phpeclipse.xdebug.core.XDebugLineBreakpoint");
- // setMarker(marker);
- // setEnabled(true);
- // XDebugCorePlugin.log(IStatus.INFO,"Markertype: "+ marker.getType());
- // ensureMarker().setAttribute(IMarker.LINE_NUMBER, lineNumber);
- // ensureMarker().setAttribute(IBreakpoint.ID,
- // IXDebugConstants.ID_PHP_DEBUG_MODEL);
- // ensureMarker().setAttribute(BREAKPOINT_ID,-1);
+ public XDebugLineBreakpoint(final IResource resource, final int lineNumber) throws CoreException {
IWorkspaceRunnable wr = new IWorkspaceRunnable() {
public void run(IProgressMonitor monitor) throws CoreException {
-
+
// create the marker
setMarker(resource.createMarker(XDEBUG_LINE_BREAKPOINT));
// add attributes
Map attributes = new HashMap(10);
- addLineBreakpointAttributes(attributes, getModelIdentifier(),
- true, lineNumber, -1, -1);
+ addLineBreakpointAttributes(attributes, getModelIdentifier(), true, lineNumber, -1, -1);
// set attributes
ensureMarker().setAttributes(attributes);
-
+
// add to breakpoint manager if requested
- register(true);
+ register(true);
}
};
run(getMarkerRule(resource), wr);
}
-
+
protected void register(boolean register) throws CoreException {
if (register) {
DebugPlugin.getDefault().getBreakpointManager().addBreakpoint(this);
@@ -117,35 +99,75 @@ public class XDebugLineBreakpoint extends LineBreakpoint {
setRegistered(false);
}
}
-
- public void addLineBreakpointAttributes(Map attributes,
- String modelIdentifier, boolean enabled, int lineNumber,
- int charStart, int charEnd) {
+
+ public void addLineBreakpointAttributes(Map attributes, String modelIdentifier, boolean enabled, int lineNumber, int charStart, int charEnd) {
attributes.put(IBreakpoint.ID, modelIdentifier);
attributes.put(IBreakpoint.ENABLED, new Boolean(enabled));
attributes.put(IMarker.LINE_NUMBER, new Integer(lineNumber));
- if (charStart != -1) {
+ if (charStart!=-1)
+ {
attributes.put(IMarker.CHAR_START, new Integer(charStart));
attributes.put(IMarker.CHAR_END, new Integer(charEnd));
}
attributes.put(TYPE_NAME, "typeName");
- attributes.put(BREAKPOINT_ID, new Integer(-1));
- }
+ attributes.put(BREAKPOINT_ID,new Integer(-1));
+ }
- /*
- * (non-Javadoc)
- *
+
+ /* (non-Javadoc)
* @see org.eclipse.debug.core.model.IBreakpoint#getModelIdentifier()
*/
public String getModelIdentifier() {
return IXDebugConstants.ID_PHP_DEBUG_MODEL;
}
-
+
public void setID(int id) throws CoreException {
- ensureMarker().setAttribute(BREAKPOINT_ID, id);
+ ensureMarker().setAttribute(BREAKPOINT_ID,id);
+ }
+
+ public int getID() throws CoreException {
+ return ensureMarker().getAttribute(BREAKPOINT_ID,-1);
+ }
+
+ public int getHitCount() throws CoreException {
+ return ensureMarker().getAttribute(HIT_COUNT,-1);
+ //return fHitCount;
+ }
+
+ public void setHitCount(int newHitCount) throws CoreException {
+ ensureMarker().setAttribute(HIT_COUNT,newHitCount);
+ //fHitCount = newHitCount;
+ }
+ /**
+ * @see ILineBreakpoint#getLineNumber()
+ */
+ public int getLineNumber() throws CoreException {
+ IMarker m = getMarker();
+ if (m != null) {
+ return m.getAttribute(IMarker.LINE_NUMBER, -1);
+ }
+ return -1;
}
- public int getID() throws CoreException {
- return ensureMarker().getAttribute(BREAKPOINT_ID, -1);
+ /**
+ * @see ILineBreakpoint#getCharStart()
+ */
+ public int getCharStart() throws CoreException {
+ IMarker m = getMarker();
+ if (m != null) {
+ return m.getAttribute(IMarker.CHAR_START, -1);
+ }
+ return -1;
+ }
+
+ /**
+ * @see ILineBreakpoint#getCharEnd()
+ */
+ public int getCharEnd() throws CoreException {
+ IMarker m = getMarker();
+ if (m != null) {
+ return m.getAttribute(IMarker.CHAR_END, -1);
+ }
+ return -1;
}
-}
+}
\ No newline at end of file