mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-21 16:05:25 +02:00
Bug 195984.
This commit is contained in:
parent
1561bd668d
commit
27bfb855d6
5 changed files with 43 additions and 38 deletions
|
@ -35,6 +35,7 @@ Require-Bundle: org.eclipse.ui.ide;bundle-version="[3.2.0,4.0.0)",
|
||||||
org.eclipse.cdt.core;bundle-version="[4.0.0,5.0.0)",
|
org.eclipse.cdt.core;bundle-version="[4.0.0,5.0.0)",
|
||||||
org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
|
org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
|
||||||
org.eclipse.ui.console;bundle-version="[3.1.100,4.0.0)",
|
org.eclipse.ui.console;bundle-version="[3.1.100,4.0.0)",
|
||||||
org.eclipse.ui.views;bundle-version="[3.2.0,4.0.0)"
|
org.eclipse.ui.views;bundle-version="[3.2.0,4.0.0)",
|
||||||
|
org.eclipse.core.filesystem
|
||||||
Eclipse-LazyStart: true
|
Eclipse-LazyStart: true
|
||||||
Bundle-RequiredExecutionEnvironment: J2SE-1.4
|
Bundle-RequiredExecutionEnvironment: J2SE-1.4
|
||||||
|
|
|
@ -19,7 +19,11 @@ import org.eclipse.cdt.debug.core.model.ICStackFrame;
|
||||||
import org.eclipse.cdt.debug.core.model.ICType;
|
import org.eclipse.cdt.debug.core.model.ICType;
|
||||||
import org.eclipse.cdt.debug.core.model.ICValue;
|
import org.eclipse.cdt.debug.core.model.ICValue;
|
||||||
import org.eclipse.cdt.debug.core.model.IEnableDisableTarget;
|
import org.eclipse.cdt.debug.core.model.IEnableDisableTarget;
|
||||||
|
import org.eclipse.cdt.debug.internal.ui.views.disassembly.DisassemblyEditorInput;
|
||||||
|
import org.eclipse.core.filesystem.URIUtil;
|
||||||
|
import org.eclipse.core.runtime.CoreException;
|
||||||
import org.eclipse.core.runtime.IAdaptable;
|
import org.eclipse.core.runtime.IAdaptable;
|
||||||
|
import org.eclipse.core.runtime.IPath;
|
||||||
import org.eclipse.debug.core.DebugException;
|
import org.eclipse.debug.core.DebugException;
|
||||||
import org.eclipse.debug.core.model.IValue;
|
import org.eclipse.debug.core.model.IValue;
|
||||||
import org.eclipse.debug.core.model.IVariable;
|
import org.eclipse.debug.core.model.IVariable;
|
||||||
|
@ -28,6 +32,11 @@ import org.eclipse.jface.text.BadLocationException;
|
||||||
import org.eclipse.jface.text.IDocument;
|
import org.eclipse.jface.text.IDocument;
|
||||||
import org.eclipse.jface.text.IRegion;
|
import org.eclipse.jface.text.IRegion;
|
||||||
import org.eclipse.jface.text.Region;
|
import org.eclipse.jface.text.Region;
|
||||||
|
import org.eclipse.ui.IEditorInput;
|
||||||
|
import org.eclipse.ui.IFileEditorInput;
|
||||||
|
import org.eclipse.ui.IPathEditorInput;
|
||||||
|
import org.eclipse.ui.IStorageEditorInput;
|
||||||
|
import org.eclipse.ui.IURIEditorInput;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Utility methods for C/C++ Debug UI.
|
* Utility methods for C/C++ Debug UI.
|
||||||
|
@ -164,6 +173,32 @@ public class CDebugUIUtils {
|
||||||
return decorateText( variable, variable.getName() );
|
return decorateText( variable, variable.getName() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String getEditorFilePath( IEditorInput input ) throws CoreException {
|
||||||
|
if ( input instanceof IFileEditorInput ) {
|
||||||
|
return ((IFileEditorInput)input).getFile().getLocation().toOSString();
|
||||||
|
}
|
||||||
|
if ( input instanceof IStorageEditorInput ) {
|
||||||
|
return ((IStorageEditorInput)input).getStorage().getFullPath().toOSString();
|
||||||
|
}
|
||||||
|
if ( input instanceof IPathEditorInput ) {
|
||||||
|
return ((IPathEditorInput)input).getPath().toOSString();
|
||||||
|
}
|
||||||
|
if ( input instanceof DisassemblyEditorInput ) {
|
||||||
|
String sourceFile = ((DisassemblyEditorInput)input).getSourceFile();
|
||||||
|
if ( sourceFile != null ) {
|
||||||
|
return sourceFile;
|
||||||
|
}
|
||||||
|
return ((DisassemblyEditorInput)input).getModuleFile();
|
||||||
|
}
|
||||||
|
if ( input instanceof IURIEditorInput)
|
||||||
|
{
|
||||||
|
IPath uriPath = URIUtil.toPath(((IURIEditorInput)input).getURI());
|
||||||
|
if (uriPath != null)
|
||||||
|
return uriPath.toOSString();
|
||||||
|
}
|
||||||
|
return ""; //$NON-NLS-1$
|
||||||
|
}
|
||||||
|
|
||||||
public static String decorateText( Object element, String text ) {
|
public static String decorateText( Object element, String text ) {
|
||||||
if ( text == null )
|
if ( text == null )
|
||||||
return null;
|
return null;
|
||||||
|
|
|
@ -19,6 +19,7 @@ import org.eclipse.cdt.debug.core.model.IJumpToLine;
|
||||||
import org.eclipse.cdt.debug.internal.core.ICDebugInternalConstants;
|
import org.eclipse.cdt.debug.internal.core.ICDebugInternalConstants;
|
||||||
import org.eclipse.cdt.debug.internal.core.model.CDebugElement;
|
import org.eclipse.cdt.debug.internal.core.model.CDebugElement;
|
||||||
import org.eclipse.cdt.debug.internal.core.sourcelookup.CSourceLookupDirector;
|
import org.eclipse.cdt.debug.internal.core.sourcelookup.CSourceLookupDirector;
|
||||||
|
import org.eclipse.cdt.debug.internal.ui.CDebugUIUtils;
|
||||||
import org.eclipse.cdt.debug.internal.ui.IInternalCDebugUIConstants;
|
import org.eclipse.cdt.debug.internal.ui.IInternalCDebugUIConstants;
|
||||||
import org.eclipse.cdt.debug.internal.ui.views.disassembly.DisassemblyEditorInput;
|
import org.eclipse.cdt.debug.internal.ui.views.disassembly.DisassemblyEditorInput;
|
||||||
import org.eclipse.cdt.debug.internal.ui.views.disassembly.DisassemblyView;
|
import org.eclipse.cdt.debug.internal.ui.views.disassembly.DisassemblyView;
|
||||||
|
@ -40,8 +41,6 @@ import org.eclipse.jface.text.ITextSelection;
|
||||||
import org.eclipse.jface.viewers.ISelection;
|
import org.eclipse.jface.viewers.ISelection;
|
||||||
import org.eclipse.ui.IEditorInput;
|
import org.eclipse.ui.IEditorInput;
|
||||||
import org.eclipse.ui.IEditorPart;
|
import org.eclipse.ui.IEditorPart;
|
||||||
import org.eclipse.ui.IFileEditorInput;
|
|
||||||
import org.eclipse.ui.IStorageEditorInput;
|
|
||||||
import org.eclipse.ui.IWorkbenchPart;
|
import org.eclipse.ui.IWorkbenchPart;
|
||||||
import org.eclipse.ui.texteditor.ITextEditor;
|
import org.eclipse.ui.texteditor.ITextEditor;
|
||||||
|
|
||||||
|
@ -187,13 +186,7 @@ public class ResumeAtLineAdapter implements IResumeAtLineTarget {
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getFileName( IEditorInput input ) throws CoreException {
|
private String getFileName( IEditorInput input ) throws CoreException {
|
||||||
if ( input instanceof IFileEditorInput ) {
|
return CDebugUIUtils.getEditorFilePath(input);
|
||||||
return ((IFileEditorInput)input).getFile().getLocation().toOSString();
|
|
||||||
}
|
|
||||||
if ( input instanceof IStorageEditorInput ) {
|
|
||||||
return ((IStorageEditorInput)input).getStorage().getFullPath().toOSString();
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void runInBackground( Runnable r ) {
|
private void runInBackground( Runnable r ) {
|
||||||
|
|
|
@ -19,6 +19,7 @@ import org.eclipse.cdt.debug.core.model.IRunToLine;
|
||||||
import org.eclipse.cdt.debug.internal.core.ICDebugInternalConstants;
|
import org.eclipse.cdt.debug.internal.core.ICDebugInternalConstants;
|
||||||
import org.eclipse.cdt.debug.internal.core.model.CDebugElement;
|
import org.eclipse.cdt.debug.internal.core.model.CDebugElement;
|
||||||
import org.eclipse.cdt.debug.internal.core.sourcelookup.CSourceLookupDirector;
|
import org.eclipse.cdt.debug.internal.core.sourcelookup.CSourceLookupDirector;
|
||||||
|
import org.eclipse.cdt.debug.internal.ui.CDebugUIUtils;
|
||||||
import org.eclipse.cdt.debug.internal.ui.IInternalCDebugUIConstants;
|
import org.eclipse.cdt.debug.internal.ui.IInternalCDebugUIConstants;
|
||||||
import org.eclipse.cdt.debug.internal.ui.views.disassembly.DisassemblyEditorInput;
|
import org.eclipse.cdt.debug.internal.ui.views.disassembly.DisassemblyEditorInput;
|
||||||
import org.eclipse.cdt.debug.internal.ui.views.disassembly.DisassemblyView;
|
import org.eclipse.cdt.debug.internal.ui.views.disassembly.DisassemblyView;
|
||||||
|
@ -43,8 +44,6 @@ import org.eclipse.jface.text.ITextSelection;
|
||||||
import org.eclipse.jface.viewers.ISelection;
|
import org.eclipse.jface.viewers.ISelection;
|
||||||
import org.eclipse.ui.IEditorInput;
|
import org.eclipse.ui.IEditorInput;
|
||||||
import org.eclipse.ui.IEditorPart;
|
import org.eclipse.ui.IEditorPart;
|
||||||
import org.eclipse.ui.IFileEditorInput;
|
|
||||||
import org.eclipse.ui.IStorageEditorInput;
|
|
||||||
import org.eclipse.ui.IWorkbenchPart;
|
import org.eclipse.ui.IWorkbenchPart;
|
||||||
import org.eclipse.ui.texteditor.ITextEditor;
|
import org.eclipse.ui.texteditor.ITextEditor;
|
||||||
|
|
||||||
|
@ -191,13 +190,7 @@ public class RunToLineAdapter implements IRunToLineTarget {
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getFileName( IEditorInput input ) throws CoreException {
|
private String getFileName( IEditorInput input ) throws CoreException {
|
||||||
if ( input instanceof IFileEditorInput ) {
|
return CDebugUIUtils.getEditorFilePath(input);
|
||||||
return ((IFileEditorInput)input).getFile().getLocation().toOSString();
|
|
||||||
}
|
|
||||||
if ( input instanceof IStorageEditorInput ) {
|
|
||||||
return ((IStorageEditorInput)input).getStorage().getFullPath().toOSString();
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void runInBackground( Runnable r ) {
|
private void runInBackground( Runnable r ) {
|
||||||
|
|
|
@ -25,6 +25,7 @@ import org.eclipse.cdt.debug.core.CDIDebugModel;
|
||||||
import org.eclipse.cdt.debug.core.model.ICFunctionBreakpoint;
|
import org.eclipse.cdt.debug.core.model.ICFunctionBreakpoint;
|
||||||
import org.eclipse.cdt.debug.core.model.ICLineBreakpoint;
|
import org.eclipse.cdt.debug.core.model.ICLineBreakpoint;
|
||||||
import org.eclipse.cdt.debug.core.model.ICWatchpoint;
|
import org.eclipse.cdt.debug.core.model.ICWatchpoint;
|
||||||
|
import org.eclipse.cdt.debug.internal.ui.CDebugUIUtils;
|
||||||
import org.eclipse.cdt.debug.internal.ui.IInternalCDebugUIConstants;
|
import org.eclipse.cdt.debug.internal.ui.IInternalCDebugUIConstants;
|
||||||
import org.eclipse.cdt.debug.internal.ui.views.disassembly.DisassemblyEditorInput;
|
import org.eclipse.cdt.debug.internal.ui.views.disassembly.DisassemblyEditorInput;
|
||||||
import org.eclipse.cdt.debug.internal.ui.views.disassembly.DisassemblyView;
|
import org.eclipse.cdt.debug.internal.ui.views.disassembly.DisassemblyView;
|
||||||
|
@ -48,8 +49,6 @@ import org.eclipse.jface.window.Window;
|
||||||
import org.eclipse.ui.IEditorInput;
|
import org.eclipse.ui.IEditorInput;
|
||||||
import org.eclipse.ui.IEditorPart;
|
import org.eclipse.ui.IEditorPart;
|
||||||
import org.eclipse.ui.IFileEditorInput;
|
import org.eclipse.ui.IFileEditorInput;
|
||||||
import org.eclipse.ui.IPathEditorInput;
|
|
||||||
import org.eclipse.ui.IStorageEditorInput;
|
|
||||||
import org.eclipse.ui.IWorkbenchPart;
|
import org.eclipse.ui.IWorkbenchPart;
|
||||||
import org.eclipse.ui.editors.text.ILocationProvider;
|
import org.eclipse.ui.editors.text.ILocationProvider;
|
||||||
import org.eclipse.ui.texteditor.IEditorStatusLine;
|
import org.eclipse.ui.texteditor.IEditorStatusLine;
|
||||||
|
@ -325,23 +324,7 @@ public class ToggleBreakpointAdapter implements IToggleBreakpointsTarget {
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getSourceHandle( IEditorInput input ) throws CoreException {
|
private String getSourceHandle( IEditorInput input ) throws CoreException {
|
||||||
if ( input instanceof IFileEditorInput ) {
|
return CDebugUIUtils.getEditorFilePath(input);
|
||||||
return ((IFileEditorInput)input).getFile().getLocation().toOSString();
|
|
||||||
}
|
|
||||||
if ( input instanceof IStorageEditorInput ) {
|
|
||||||
return ((IStorageEditorInput)input).getStorage().getFullPath().toOSString();
|
|
||||||
}
|
|
||||||
if ( input instanceof IPathEditorInput ) {
|
|
||||||
return ((IPathEditorInput)input).getPath().toOSString();
|
|
||||||
}
|
|
||||||
if ( input instanceof DisassemblyEditorInput ) {
|
|
||||||
String sourceFile = ((DisassemblyEditorInput)input).getSourceFile();
|
|
||||||
if ( sourceFile != null ) {
|
|
||||||
return sourceFile;
|
|
||||||
}
|
|
||||||
return ((DisassemblyEditorInput)input).getModuleFile();
|
|
||||||
}
|
|
||||||
return ""; //$NON-NLS-1$
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void toggleVariableWatchpoint( IWorkbenchPart part, IVariable variable ) throws CoreException {
|
private void toggleVariableWatchpoint( IWorkbenchPart part, IVariable variable ) throws CoreException {
|
||||||
|
|
Loading…
Add table
Reference in a new issue