/** * */ package org.keplerproject.ldt.debug.core.breakpoints; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IMarker; import org.eclipse.core.resources.IWorkspaceRunnable; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.debug.core.model.IBreakpoint; /** * @author jasonsantos */ public class LuaRunToLineBreakpoint extends LuaLineBreakpoint { public LuaRunToLineBreakpoint(final IFile resource, final int lineNumber) throws CoreException { IWorkspaceRunnable runnable = new IWorkspaceRunnable() { public void run(IProgressMonitor monitor) throws CoreException { IMarker marker = ResourcesPlugin .getWorkspace() .getRoot() .createMarker( "org.eclipse.ldt.debug.core.markerType.lineBreakpoint"); setMarker(marker); marker.setAttribute(IBreakpoint.ENABLED, Boolean.TRUE); marker.setAttribute(IMarker.LINE_NUMBER, lineNumber); marker.setAttribute(IBreakpoint.ID, getModelIdentifier()); fSourceFile = resource; } }; run(getMarkerRule(resource), runnable); } /** * Returns whether this breakpoint is a run-to-line breakpoint * * @return whether this breakpoint is a run-to-line breakpoint */ @Override public boolean isRunToLineBreakpoint() { return true; } }