Java 类org.eclipse.debug.core.model.ILineBreakpoint 实例源码
项目:dsp4e
文件:DSPDebugTarget.java
private void addBreakpointToMap(IBreakpoint breakpoint) throws CoreException {
Assert.isTrue(supportsBreakpoint(breakpoint) && breakpoint instanceof ILineBreakpoint);
if (breakpoint instanceof ILineBreakpoint) {
ILineBreakpoint lineBreakpoint = (ILineBreakpoint) breakpoint;
IResource resource = lineBreakpoint.getMarker().getResource();
IPath location = resource.getLocation();
String path = location.toOSString();
String name = location.lastSegment();
int lineNumber = lineBreakpoint.getLineNumber();
Source source = new Source().setName(name).setPath(path);
List<SourceBreakpoint> sourceBreakpoints = targetBreakpoints.computeIfAbsent(source,
s -> new ArrayList<>());
sourceBreakpoints.add(new SourceBreakpoint().setLine(lineNumber));
}
}
项目:dsp4e
文件:DSPDebugTarget.java
private void deleteBreakpointFromMap(IBreakpoint breakpoint) throws CoreException {
Assert.isTrue(supportsBreakpoint(breakpoint) && breakpoint instanceof ILineBreakpoint);
if (breakpoint instanceof ILineBreakpoint) {
ILineBreakpoint lineBreakpoint = (ILineBreakpoint) breakpoint;
IResource resource = lineBreakpoint.getMarker().getResource();
IPath location = resource.getLocation();
String path = location.toOSString();
String name = location.lastSegment();
int lineNumber = lineBreakpoint.getLineNumber();
for (Entry<Source, List<SourceBreakpoint>> entry : targetBreakpoints.entrySet()) {
Source source = entry.getKey();
if (Objects.equals(name, source.name) && Objects.equals(path, source.path)) {
List<SourceBreakpoint> bps = entry.getValue();
for (Iterator<SourceBreakpoint> iterator = bps.iterator(); iterator.hasNext();) {
SourceBreakpoint sourceBreakpoint = (SourceBreakpoint) iterator.next();
if (Objects.equals(lineNumber, sourceBreakpoint.line)) {
iterator.remove();
}
}
}
}
}
}
项目:dsp4e
文件:DSPDebugModelPresentation.java
@Override
public IEditorInput getEditorInput(Object element) {
if (element instanceof ILineBreakpoint) {
return new FileEditorInput((IFile) ((ILineBreakpoint) element).getMarker().getResource());
}
IFileStore fileStore = EFS.getLocalFileSystem().getStore(new Path(element.toString()));
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
IFile[] files = root.findFilesForLocationURI(fileStore.toURI());
if (files != null) {
for (IFile file : files) {
if (file.exists()) {
return new FileEditorInput(file);
}
}
}
return new FileStoreEditorInput(fileStore);
}
项目:dsp4e
文件:DSPBreakpointAdapter.java
@Override
public void toggleLineBreakpoints(IWorkbenchPart part, ISelection selection) throws CoreException {
ITextEditor textEditor = getEditor(part);
if (textEditor != null) {
IResource resource = textEditor.getEditorInput().getAdapter(IResource.class);
ITextSelection textSelection = (ITextSelection) selection;
int lineNumber = textSelection.getStartLine();
IBreakpoint[] breakpoints = DebugPlugin.getDefault().getBreakpointManager()
.getBreakpoints(DSPPlugin.ID_DSP_DEBUG_MODEL);
for (int i = 0; i < breakpoints.length; i++) {
IBreakpoint breakpoint = breakpoints[i];
if (breakpoint instanceof ILineBreakpoint && resource.equals(breakpoint.getMarker().getResource())) {
if (((ILineBreakpoint) breakpoint).getLineNumber() == (lineNumber + 1)) {
// remove
breakpoint.delete();
return;
}
}
}
// create line breakpoint (doc line numbers start at 0)
DSPLineBreakpoint lineBreakpoint = new DSPLineBreakpoint(resource, lineNumber + 1);
DebugPlugin.getDefault().getBreakpointManager().addBreakpoint(lineBreakpoint);
}
}
项目:chromedevtools
文件:LineBreakpointAdapter.java
public void toggleLineBreakpoints(IWorkbenchPart part, ISelection selection)
throws CoreException {
ITextEditor textEditor = getEditor(part);
if (textEditor != null) {
IResource resource = (IResource) textEditor.getEditorInput().getAdapter(IResource.class);
ITextSelection textSelection = (ITextSelection) selection;
int lineNumber = textSelection.getStartLine();
IBreakpoint[] breakpoints = DebugPlugin.getDefault().getBreakpointManager().getBreakpoints(
getDebugModelId());
for (int i = 0; i < breakpoints.length; i++) {
IBreakpoint breakpoint = breakpoints[i];
if (resource.equals(breakpoint.getMarker().getResource())) {
if (((ILineBreakpoint) breakpoint).getLineNumber() == lineNumber + 1) {
// remove
breakpoint.delete();
return;
}
}
}
// Line numbers start with 0 in V8, with 1 in Eclipse.
ChromiumLineBreakpoint lineBreakpoint = new ChromiumLineBreakpoint(resource, lineNumber + 1,
getDebugModelId());
DebugPlugin.getDefault().getBreakpointManager().addBreakpoint(lineBreakpoint);
}
}
项目:teavm
文件:TeaVMDebugModelPresentation.java
@Override
public String getEditorId(IEditorInput input, Object element) {
IEditorRegistry registry = PlatformUI.getWorkbench().getEditorRegistry();
if (element instanceof IFile) {
IFile file = (IFile)element;
return registry.getDefaultEditor(file.getName()).getId();
} else if (element instanceof ILineBreakpoint) {
String fileName = ((ILineBreakpoint)element).getMarker().getResource().getName();
return registry.getDefaultEditor(fileName).getId();
} else if (element instanceof IStorage) {
IStorage storage = (IStorage)element;
return registry.getDefaultEditor(storage.getName()).getId();
} else if (element instanceof URL) {
URL url = (URL)element;
return registry.getDefaultEditor(url.getFile()).getId();
}
return null;
}
项目:teavm
文件:TeaVMDebugModelPresentation.java
@Override
public IEditorInput getEditorInput(Object element) {
if (element instanceof IFile) {
return new FileEditorInput((IFile)element);
}
if (element instanceof ILineBreakpoint) {
return new FileEditorInput((IFile)((ILineBreakpoint)element).getMarker().getResource());
}
if (element instanceof URL) {
return new URLEditorInput((URL)element);
}
if (element instanceof IStorage) {
return new StorageEditorInput((IStorage)element);
}
return null;
}
项目:dsp4e
文件:DSPDebugTarget.java
@Override
public boolean supportsBreakpoint(IBreakpoint breakpoint) {
if (!isTerminated() && breakpoint instanceof ILineBreakpoint) {
return true;
}
return false;
}
项目:monto-eclipse
文件:MontoDebugModelPresentation.java
@Override
public IEditorInput getEditorInput(Object element) {
if (element instanceof IFile) {
return new FileEditorInput((IFile) element);
} else if (element instanceof ILineBreakpoint) {
return new FileEditorInput((IFile) ((ILineBreakpoint) element).getMarker().getResource());
} else {
System.err.printf("Unexpected class in MontoDebugModelPresentation.getEditorInput(%s)\n",
element.getClass().getName());
return null;
}
}
项目:monto-eclipse
文件:MontoToggleBreakpointsTarget.java
@Override
public void toggleLineBreakpoints(IWorkbenchPart part, ISelection selection)
throws CoreException {
System.out.println("MontoToggleBreakpointsTarget.toggleLineBreakpoints()");
if (part != null && part instanceof UniversalEditor) {
UniversalEditor universalEditor = (UniversalEditor) part;
if (universalEditor.getParseController() instanceof MontoParseController) {
MontoParseController montoParseController =
(MontoParseController) universalEditor.getParseController();
IResource resource =
(IResource) universalEditor.getEditorInput().getAdapter(IResource.class);
ITextSelection textSelection = (ITextSelection) selection;
int lineNumber = textSelection.getStartLine();
// delete old breakpoints in lineNumber
IBreakpoint[] oldBreakpoints =
DebugPlugin.getDefault().getBreakpointManager().getBreakpoints(Activator.PLUGIN_ID);
boolean deletedBreakPoints = false;
for (IBreakpoint oldBreakpoint : oldBreakpoints) {
if (resource.equals(oldBreakpoint.getMarker().getResource())
&& ((ILineBreakpoint) oldBreakpoint).getLineNumber() == (lineNumber + 1)) {
deletedBreakPoints = true;
oldBreakpoint.delete();
}
}
if (!deletedBreakPoints) {
// create new one
DebugPlugin.getDefault().getBreakpointManager().addBreakpoint(
new MontoLineBreakpoint(resource, lineNumber + 1, montoParseController.getSource()));
}
}
}
}
项目:chromedevtools
文件:JsDebugModelPresentation.java
public static IEditorInput toEditorInput(Object element) {
if (element instanceof IFile) {
return new FileEditorInput((IFile) element);
}
if (element instanceof ILineBreakpoint) {
return new FileEditorInput(
(IFile) ((ILineBreakpoint) element).getMarker().getResource());
}
return null;
}
项目:birt
文件:ScriptModelPresentation.java
public String getEditorId( IEditorInput input, Object element )
{
if ( element instanceof ScriptLocalFileStorage
|| element instanceof ILineBreakpoint )
{
return EDITOR_ID;
}
return null;
}