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 a626e8c..c50b626 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,9 +1,5 @@ - /* * 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; @@ -19,8 +15,10 @@ 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; /** @@ -29,8 +27,8 @@ import org.eclipse.debug.core.model.LineBreakpoint; * 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, @@ -44,7 +42,7 @@ public class XDebugLineBreakpoint extends LineBreakpoint { * 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$ + protected static final String TYPE_NAME = "net.sourceforge.phpeclipse.debug.typeName"; //$NON-NLS-1$ // public PHPLineBreakpoint() { // } @@ -52,37 +50,30 @@ public class XDebugLineBreakpoint extends LineBreakpoint { // 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). - * + * * @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); - IWorkspaceRunnable wr= new IWorkspaceRunnable() { + IWorkspaceRunnable wr = new IWorkspaceRunnable() { public void run(IProgressMonitor monitor) throws CoreException { - + // create the marker setMarker(resource.createMarker(XDEBUG_LINE_BREAKPOINT)); @@ -92,15 +83,15 @@ public class XDebugLineBreakpoint extends LineBreakpoint { // 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); @@ -108,7 +99,7 @@ public class XDebugLineBreakpoint extends LineBreakpoint { setRegistered(false); } } - + 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)); @@ -120,22 +111,67 @@ public class XDebugLineBreakpoint extends LineBreakpoint { } attributes.put(TYPE_NAME, "typeName"); attributes.put(BREAKPOINT_ID,new Integer(-1)); - } + } + - /* (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 - { + + public void setID(int id) throws CoreException { ensureMarker().setAttribute(BREAKPOINT_ID,id); } - public int getID() throws CoreException - { + + 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 int getChangeID() throws CoreException { + return ensureMarker().getAttribute(CHANGE_ID, 1); + } + + 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; + } + + /** + * @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; + } }