From 8d4cf7f7d99bcc14e6f7b2469b69ef7da431187d Mon Sep 17 00:00:00 2001 From: Mikhail Khodjaiants Date: Thu, 13 May 2004 19:56:32 +0000 Subject: [PATCH] Removed old disassembly implementation. --- debug/org.eclipse.cdt.debug.core/ChangeLog | 11 + .../cdt/debug/core/ICDebugConstants.java | 8 - .../sourcelookup/IDisassemblyStorage.java | 51 --- .../debug/core/sourcelookup/ISourceMode.java | 33 -- .../internal/core/DisassemblyStorage.java | 251 -------------- .../internal/core/model/CDebugTarget.java | 46 --- .../debug/internal/core/model/CThread.java | 6 - .../core/sourcelookup/CSourceManager.java | 76 +---- .../core/sourcelookup/DisassemblyManager.java | 247 -------------- debug/org.eclipse.cdt.debug.ui/ChangeLog | 17 + .../plugin.properties | 3 - debug/org.eclipse.cdt.debug.ui/plugin.xml | 119 +++---- .../ui/CDTDebugModelPresentation.java | 43 --- .../ui/actions/JumpToLineActionDelegate.java | 10 - .../SwitchToDisassemblyActionDelegate.java | 130 ------- .../editors/DisassemblyDocumentProvider.java | 44 --- .../ui/editors/DisassemblyEditor.java | 32 -- .../ui/editors/DisassemblyEditorInput.java | 143 -------- .../editors/DisassemblyMarkerAnnotation.java | 55 --- .../DisassemblyMarkerAnnotationModel.java | 319 ------------------ .../DisassemblySourceViewerConfiguration.java | 61 ---- .../ui/preferences/CDebugPreferencePage.java | 7 - .../eclipse/cdt/debug/ui/CDebugUIPlugin.java | 102 +----- .../ui/sourcelookup/DefaultSourceLocator.java | 5 - 24 files changed, 77 insertions(+), 1742 deletions(-) delete mode 100644 debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/sourcelookup/IDisassemblyStorage.java delete mode 100644 debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/sourcelookup/ISourceMode.java delete mode 100644 debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/DisassemblyStorage.java delete mode 100644 debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/sourcelookup/DisassemblyManager.java delete mode 100644 debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/actions/SwitchToDisassemblyActionDelegate.java delete mode 100644 debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblyDocumentProvider.java delete mode 100644 debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblyEditor.java delete mode 100644 debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblyEditorInput.java delete mode 100644 debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblyMarkerAnnotation.java delete mode 100644 debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblyMarkerAnnotationModel.java delete mode 100644 debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblySourceViewerConfiguration.java diff --git a/debug/org.eclipse.cdt.debug.core/ChangeLog b/debug/org.eclipse.cdt.debug.core/ChangeLog index 2644028e558..a502d909d6b 100644 --- a/debug/org.eclipse.cdt.debug.core/ChangeLog +++ b/debug/org.eclipse.cdt.debug.core/ChangeLog @@ -1,3 +1,14 @@ +2004-05-13 Mikhail Khodjaiants + Removed old disassembly implementation. + * IDisassemblyStorage.java: deleted + * ISourceMode.java: deleted + * DisassemblyStorage.java: deleted + * DisassemblyManager.java: deleted + * ICDebugConstants.java + * CDebugTarget.java + * CThread.java + * CSourceManager.java + 2004-05-13 Mikhail Khodjaiants Support for the instruction stepping mode. * ICDebugTarget.java diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/ICDebugConstants.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/ICDebugConstants.java index 1529622fd02..3734fb53c1e 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/ICDebugConstants.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/ICDebugConstants.java @@ -18,14 +18,6 @@ public interface ICDebugConstants */ public static final String PLUGIN_ID = CDebugCorePlugin.getDefault().getDescriptor().getUniqueIdentifier(); - /** - * Boolean preference controlling whether the debugger automatically - * switchs to disassembly mode when can not find the source file . - * When true the debugger will automatically switch to - * disassembly mode. - */ - public static final String PREF_AUTO_DISASSEMBLY = PLUGIN_ID + "cDebug.auto_disassembly"; //$NON-NLS-1$ - /** * The identifier of the default variable format to use in the variables view */ diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/sourcelookup/IDisassemblyStorage.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/sourcelookup/IDisassemblyStorage.java deleted file mode 100644 index b44ff02df33..00000000000 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/sourcelookup/IDisassemblyStorage.java +++ /dev/null @@ -1,51 +0,0 @@ -/********************************************************************** - * Copyright (c) 2004 QNX Software Systems and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * QNX Software Systems - Initial API and implementation - ***********************************************************************/ -package org.eclipse.cdt.debug.core.sourcelookup; - -import org.eclipse.core.resources.IStorage; -import org.eclipse.debug.core.model.IDebugTarget; - -/** - * Defines methods specific to disassembly. - */ -public interface IDisassemblyStorage extends IStorage { - - /** - * Returns the debug target of this disassembly. - * - * @return the debug target of this disassembly - */ - IDebugTarget getDebugTarget(); - - /** - * Returns whether this storage contains the instructions at given address. - * - * @param address - an address - * @return whether this storage contains the instructions at given address - */ - boolean containsAddress( long address ); - - /** - * Returns the line number for given address. - * - * @param address - an address - * @return the line number for given address - */ - int getLineNumber( long address ); - - /** - * Returns the address of instruction at given line. - * - * @param lineNumber - a line number - * @return the address of instruction at given line - */ - long getAddress( int lineNumber ); -} \ No newline at end of file diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/sourcelookup/ISourceMode.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/sourcelookup/ISourceMode.java deleted file mode 100644 index 3e52c07fb24..00000000000 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/sourcelookup/ISourceMode.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - *(c) Copyright QNX Software Systems Ltd. 2002. - * All Rights Reserved. - * - */ - -package org.eclipse.cdt.debug.core.sourcelookup; - -/** - * Defines constatnts and methods to set the source presentation mode. - * - * @since: Oct 8, 2002 - */ -public interface ISourceMode -{ - static final public int MODE_SOURCE = 0; - static final public int MODE_DISASSEMBLY = 1; - static final public int MODE_MIXED = 2; - - /** - * Returns the current source presentation mode. - * - * @return the current source presentation mode - */ - int getMode(); - - /** - * Sets the source presentation mode. - * - * @param the source presentation mode to set - */ - void setMode( int mode ); -} diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/DisassemblyStorage.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/DisassemblyStorage.java deleted file mode 100644 index 3cbad6d6589..00000000000 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/DisassemblyStorage.java +++ /dev/null @@ -1,251 +0,0 @@ -/* - *(c) Copyright QNX Software Systems Ltd. 2002. - * All Rights Reserved. - * - */ - -package org.eclipse.cdt.debug.internal.core; - -import java.io.ByteArrayInputStream; -import java.io.InputStream; -import java.util.Arrays; - -import org.eclipse.cdt.debug.core.*; -import org.eclipse.cdt.debug.core.cdi.model.ICDIInstruction; -import org.eclipse.cdt.debug.core.model.IExecFileInfo; -import org.eclipse.cdt.debug.core.sourcelookup.IDisassemblyStorage; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IStorage; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.debug.core.DebugException; -import org.eclipse.debug.core.model.IDebugTarget; -import org.eclipse.cdt.debug.core.CDebugCorePlugin; - -/** - * Enter type comment. - * - * @since: Oct 8, 2002 - */ -public class DisassemblyStorage implements IDisassemblyStorage -{ - protected ICDIInstruction[] fInstructions; - protected IDebugTarget fDebugTarget; - protected ByteArrayInputStream fInputStream = null; - protected long fStartAddress = 0; - protected long fEndAddress = 0; - - /** - * Constructor for DisassemblyStorage. - */ - public DisassemblyStorage( IDebugTarget target, ICDIInstruction[] instructions ) - { - setDebugTarget( target ); - setInstructions( instructions ); - initializeAddresses(); - createContent(); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.debug.core.IDisassemblyStorage#getDebugTarget() - */ - public IDebugTarget getDebugTarget() - { - return fDebugTarget; - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.debug.core.IDisassemblyStorage#containsAddress(Long) - */ - public boolean containsAddress( long address ) - { - return ( address >= fStartAddress && address <= fEndAddress ); - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.debug.core.IDisassemblyStorage#getLineNumber(Long) - */ - public int getLineNumber( long address ) - { - for ( int i = 0; i < fInstructions.length; ++i ) - { - if ( fInstructions[i].getAdress() == address ) - { - return i + 1; - } - } - return 0; - } - - /* (non-Javadoc) - * @see org.eclipse.core.resources.IStorage#getContents() - */ - public InputStream getContents() throws CoreException - { - if ( fInputStream != null ) - fInputStream.reset(); - return fInputStream; - } - - /* (non-Javadoc) - * @see org.eclipse.core.resources.IStorage#getFullPath() - */ - public IPath getFullPath() - { - return null; - } - - /* (non-Javadoc) - * @see org.eclipse.core.resources.IStorage#getName() - */ - public String getName() - { - try - { - if ( getDebugTarget() != null ) - { - return getDebugTarget().getName(); - } - } - catch( DebugException e ) - { - // ignore - } - return CDebugCorePlugin.getResourceString("internal.core.DisassemblyStorage.disassembly"); //$NON-NLS-1$ - - } - - /* (non-Javadoc) - * @see org.eclipse.core.resources.IStorage#isReadOnly() - */ - public boolean isReadOnly() - { - return true; - } - - /* (non-Javadoc) - * @see org.eclipse.core.runtime.IAdaptable#getAdapter(Class) - */ - public Object getAdapter( Class adapter ) - { - if ( adapter.equals( IStorage.class ) ) - return this; - if ( adapter.equals( IDisassemblyStorage.class ) ) - return this; - if ( adapter.equals( DisassemblyStorage.class ) ) - return this; - if ( adapter.equals( IResource.class ) ) - return getBinary(); - return null; - } - - protected void setDebugTarget( IDebugTarget target ) - { - fDebugTarget = target; - } - - protected void setInstructions( ICDIInstruction[] intructions ) - { - fInstructions = intructions; - } - - private void createContent() - { - StringBuffer lines = new StringBuffer(); - int maxFunctionName = 0; - int maxOpcodeLength = 0; - long maxOffset = 0; - for ( int i = 0; i < fInstructions.length; ++i ) - { - if ( fInstructions[i].getFuntionName().length() > maxFunctionName ) - { - maxFunctionName = fInstructions[i].getFuntionName().length(); - } - - String opcode = fInstructions[i].getOpcode(); - if ( opcode.length() > maxOpcodeLength ) - maxOpcodeLength = opcode.length(); - - if ( fInstructions[i].getOffset() > maxOffset ) - { - maxOffset = fInstructions[i].getOffset(); - } - } - int instrPos = calculateInstructionPosition( maxFunctionName, maxOffset ); - int argPosition = instrPos + maxOpcodeLength + 1; - for ( int i = 0; i < fInstructions.length; ++i ) - { - lines.append( getInstructionString( fInstructions[i], instrPos, argPosition ) ); - } - fInputStream = new ByteArrayInputStream( lines.toString().getBytes() ); - } - - private void initializeAddresses() - { - if ( fInstructions.length > 0 ) - { - fStartAddress = fInstructions[0].getAdress(); - fEndAddress = fInstructions[fInstructions.length - 1].getAdress(); - } - } - - private String getInstructionString( ICDIInstruction instruction, int instrPosition, int argPosition ) - { - int worstCaseSpace = Math.max( instrPosition, argPosition ); - char[] spaces= new char[worstCaseSpace]; - Arrays.fill( spaces, ' ' ); - StringBuffer sb = new StringBuffer(); - if ( instruction != null ) - { - sb.append( CDebugUtils.toHexAddressString( instruction.getAdress() ) ); - sb.append( ' ' ); - if ( instruction.getFuntionName() != null && instruction.getFuntionName().length() > 0 ) - { - sb.append( '<' ); - sb.append( instruction.getFuntionName() ); - if ( instruction.getOffset() != 0 ) - { - sb.append( '+' ); - sb.append( instruction.getOffset() ); - } - sb.append( ">:" ); //$NON-NLS-1$ - sb.append( spaces, 0, instrPosition - sb.length() ); - } - sb.append( instruction.getOpcode() ); - sb.append( spaces, 0, argPosition - sb.length() ); - sb.append( instruction.getArgs() ); - sb.append( '\n' ); - } - return sb.toString(); - } - - private int calculateInstructionPosition( int maxFunctionName, long maxOffset ) - { - return ( 16 + maxFunctionName + Long.toString( maxOffset ).length() ); - } - - private IResource getBinary() - { - if ( getDebugTarget() != null ) - { - IExecFileInfo info = (IExecFileInfo)getDebugTarget().getAdapter( IExecFileInfo.class ); - if ( info != null ) - { - return info.getExecFile(); - } - } - return null; - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.debug.core.sourcelookup.IDisassemblyStorage#getAddress(int) - */ - public long getAddress( int lineNumber ) - { - if ( fInstructions.length > lineNumber && lineNumber >= 0 ) - { - return fInstructions[lineNumber].getAdress(); - } - return 0; - } -} diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CDebugTarget.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CDebugTarget.java index 9de31243f24..8d87b0e99e8 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CDebugTarget.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CDebugTarget.java @@ -73,7 +73,6 @@ import org.eclipse.cdt.debug.core.model.IRunToAddress; import org.eclipse.cdt.debug.core.model.IRunToLine; import org.eclipse.cdt.debug.core.model.IState; import org.eclipse.cdt.debug.core.sourcelookup.ICSourceLocator; -import org.eclipse.cdt.debug.core.sourcelookup.ISourceMode; import org.eclipse.cdt.debug.internal.core.CBreakpointManager; import org.eclipse.cdt.debug.internal.core.CMemoryManager; import org.eclipse.cdt.debug.internal.core.CRegisterManager; @@ -81,7 +80,6 @@ import org.eclipse.cdt.debug.internal.core.CSharedLibraryManager; import org.eclipse.cdt.debug.internal.core.CSignalManager; import org.eclipse.cdt.debug.internal.core.ICDebugInternalConstants; import org.eclipse.cdt.debug.internal.core.sourcelookup.CSourceManager; -import org.eclipse.cdt.debug.internal.core.sourcelookup.DisassemblyManager; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IMarkerDelta; import org.eclipse.core.resources.IResourceChangeListener; @@ -229,11 +227,6 @@ public class CDebugTarget extends CDebugElement */ private CMemoryManager fMemoryManager; - /** - * A disassembly manager for this target. - */ - private DisassemblyManager fDisassemblyManager; - /** * A disassembly manager for this target. */ @@ -311,7 +304,6 @@ public class CDebugTarget extends CDebugElement setExecFile( file ); setConfiguration( cdiTarget.getSession().getConfiguration() ); setThreadList( new ArrayList( 5 ) ); - setDisassemblyManager( new DisassemblyManager( this ) ); createDisassembly(); setSharedLibraryManager( new CSharedLibraryManager( this ) ); setSignalManager( new CSignalManager( this ) ); @@ -986,13 +978,6 @@ public class CDebugTarget extends CDebugElement return this; if ( adapter.equals( ICDebugTargetType.class ) ) return this; - if ( adapter.equals( ISourceMode.class ) ) - { - if ( getSourceLocator() instanceof IAdaptable ) - { - return ((IAdaptable)getSourceLocator()).getAdapter( ISourceMode.class ); - } - } if ( adapter.equals( ICMemoryManager.class ) ) return getMemoryManager(); if ( adapter.equals( IDebuggerProcessSupport.class ) ) @@ -1011,8 +996,6 @@ public class CDebugTarget extends CDebugElement return this; if ( adapter.equals( CBreakpointManager.class ) ) return getBreakpointManager(); - if ( adapter.equals( DisassemblyManager.class ) ) - return getDisassemblyManager(); if ( adapter.equals( ICSharedLibraryManager.class ) ) return getSharedLibraryManager(); if ( adapter.equals( ICSignalManager.class ) ) @@ -1252,7 +1235,6 @@ public class CDebugTarget extends CDebugElement disposeSharedLibraryManager(); disposeSignalManager(); disposeRegisterManager(); - disposeDisassemblyManager(); disposeDisassembly(); disposeSourceManager(); disposeBreakpointManager(); @@ -1967,19 +1949,6 @@ public class CDebugTarget extends CDebugElement return ( getTargetType() == ICDebugTargetType.TARGET_TYPE_LOCAL_CORE_DUMP ); } - protected int getRealSourceMode() - { - ISourceLocator sl = getSourceLocator(); - if ( sl != null && - sl instanceof IAdaptable && - ((IAdaptable)sl).getAdapter( ICSourceLocator.class ) != null && - ((IAdaptable)sl).getAdapter( ICSourceLocator.class ) instanceof CSourceManager ) - { - return ((CSourceManager)((IAdaptable)sl).getAdapter( ICSourceLocator.class )).getRealMode(); - } - return ISourceMode.MODE_SOURCE; - } - protected CMemoryManager getMemoryManager() { return fMemoryManager; @@ -2084,16 +2053,6 @@ public class CDebugTarget extends CDebugElement }; } - protected void setDisassemblyManager( DisassemblyManager dm ) - { - fDisassemblyManager = dm; - } - - protected DisassemblyManager getDisassemblyManager() - { - return fDisassemblyManager; - } - protected void setSharedLibraryManager( CSharedLibraryManager libman ) { fSharedLibraryManager = libman; @@ -2129,11 +2088,6 @@ public class CDebugTarget extends CDebugElement fRegisterManager.dispose(); } - protected void disposeDisassemblyManager() - { - fDisassemblyManager.dispose(); - } - /** * @see org.eclipse.cdt.debug.core.model.IRunToAddress#canRunToAddress(long) */ diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CThread.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CThread.java index c9cf92de468..29a50b659ee 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CThread.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CThread.java @@ -37,7 +37,6 @@ import org.eclipse.cdt.debug.core.model.IResumeWithoutSignal; import org.eclipse.cdt.debug.core.model.IRunToLine; import org.eclipse.cdt.debug.core.model.IState; import org.eclipse.cdt.debug.core.model.ISwitchToFrame; -import org.eclipse.cdt.debug.core.sourcelookup.ISourceMode; import org.eclipse.core.runtime.IAdaptable; import org.eclipse.debug.core.DebugEvent; import org.eclipse.debug.core.DebugException; @@ -1025,11 +1024,6 @@ public class CThread extends CDebugElement } } - private int getRealSourceMode() - { - return ((CDebugTarget)getDebugTarget()).getRealSourceMode(); - } - private void setLastStackFrame( CStackFrame frame ) { fLastStackFrame = frame; diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/sourcelookup/CSourceManager.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/sourcelookup/CSourceManager.java index 488320e9d49..883073dbcd0 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/sourcelookup/CSourceManager.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/sourcelookup/CSourceManager.java @@ -9,12 +9,9 @@ package org.eclipse.cdt.debug.internal.core.sourcelookup; import java.util.ArrayList; import java.util.Arrays; -import org.eclipse.cdt.debug.core.CDebugCorePlugin; -import org.eclipse.cdt.debug.core.ICDebugConstants; import org.eclipse.cdt.debug.core.model.IStackFrameInfo; import org.eclipse.cdt.debug.core.sourcelookup.ICSourceLocation; import org.eclipse.cdt.debug.core.sourcelookup.ICSourceLocator; -import org.eclipse.cdt.debug.core.sourcelookup.ISourceMode; import org.eclipse.cdt.debug.internal.core.model.CDebugTarget; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; @@ -34,12 +31,9 @@ import org.eclipse.debug.core.model.IStackFrame; */ public class CSourceManager implements ICSourceLocator, IPersistableSourceLocator, - ISourceMode, IAdaptable { private ISourceLocator fSourceLocator = null; - private int fMode = ISourceMode.MODE_SOURCE; - private int fRealMode = fMode; private ILaunch fLaunch = null; private CDebugTarget fDebugTarget = null; @@ -56,21 +50,14 @@ public class CSourceManager implements ICSourceLocator, */ public int getLineNumber( IStackFrame frame ) { - if ( getRealMode() == ISourceMode.MODE_SOURCE ) + if ( getCSourceLocator() != null ) { - if ( getCSourceLocator() != null ) - { - return getCSourceLocator().getLineNumber( frame ); - } - IStackFrameInfo info = (IStackFrameInfo)frame.getAdapter( IStackFrameInfo.class ); - if ( info != null ) - { - return info.getFrameLineNumber(); - } + return getCSourceLocator().getLineNumber( frame ); } - if ( getRealMode() == ISourceMode.MODE_DISASSEMBLY && getDisassemblyManager( frame ) != null ) + IStackFrameInfo info = (IStackFrameInfo)frame.getAdapter( IStackFrameInfo.class ); + if ( info != null ) { - return getDisassemblyManager( frame ).getLineNumber( frame ); + return info.getFrameLineNumber(); } return 0; } @@ -102,33 +89,6 @@ public class CSourceManager implements ICSourceLocator, return ( getCSourceLocator() != null ) ? getCSourceLocator().contains( resource ) : false; } - /* (non-Javadoc) - * @see org.eclipse.cdt.debug.core.sourcelookup.ISourceMode#getMode() - */ - public int getMode() - { - return fMode; - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.debug.core.sourcelookup.ISourceMode#setMode(int) - */ - public void setMode( int mode ) - { - fMode = mode; - setRealMode( mode ); - } - - public int getRealMode() - { - return fRealMode; - } - - protected void setRealMode( int mode ) - { - fRealMode = mode; - } - /* (non-Javadoc) * @see org.eclipse.core.runtime.IAdaptable#getAdapter(Class) */ @@ -138,8 +98,6 @@ public class CSourceManager implements ICSourceLocator, return this; if ( adapter.equals( ICSourceLocator.class ) ) return this; - if ( adapter.equals( ISourceMode.class ) ) - return this; if ( adapter.equals( IPersistableSourceLocator.class ) ) return this; if ( adapter.equals( IResourceChangeListener.class ) && @@ -154,21 +112,8 @@ public class CSourceManager implements ICSourceLocator, public Object getSourceElement( IStackFrame stackFrame ) { Object result = null; - boolean autoDisassembly = CDebugCorePlugin.getDefault().getPluginPreferences().getBoolean( ICDebugConstants.PREF_AUTO_DISASSEMBLY ); - - if ( getMode() == ISourceMode.MODE_SOURCE && getSourceLocator() != null ) + if ( getSourceLocator() != null ) result = getSourceLocator().getSourceElement( stackFrame ); - if ( result == null && - ( autoDisassembly || getMode() == ISourceMode.MODE_DISASSEMBLY ) && - getDisassemblyManager( stackFrame ) != null ) - { - setRealMode( ISourceMode.MODE_DISASSEMBLY ); - result = getDisassemblyManager( stackFrame ).getSourceElement( stackFrame ); - } - else - { - setRealMode( ISourceMode.MODE_SOURCE ); - } return result; } @@ -193,15 +138,6 @@ public class CSourceManager implements ICSourceLocator, fSourceLocator = sl; } - protected DisassemblyManager getDisassemblyManager( IStackFrame stackFrame ) - { - if ( stackFrame != null ) - { - return (DisassemblyManager)stackFrame.getDebugTarget().getAdapter( DisassemblyManager.class ); - } - return null; - } - public void addSourceLocation( ICSourceLocation location ) { ICSourceLocation[] locations = getSourceLocations(); diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/sourcelookup/DisassemblyManager.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/sourcelookup/DisassemblyManager.java deleted file mode 100644 index adbf2ec918b..00000000000 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/sourcelookup/DisassemblyManager.java +++ /dev/null @@ -1,247 +0,0 @@ -/* - *(c) Copyright QNX Software Systems Ltd. 2002. - * All Rights Reserved. - * - */ - -package org.eclipse.cdt.debug.internal.core.sourcelookup; - -import java.util.ArrayList; - -import org.eclipse.cdt.debug.core.CDebugCorePlugin; -import org.eclipse.cdt.debug.core.ICDebugConstants; -import org.eclipse.cdt.debug.core.cdi.CDIException; -import org.eclipse.cdt.debug.core.cdi.ICDISourceManager; -import org.eclipse.cdt.debug.core.cdi.model.ICDIInstruction; -import org.eclipse.cdt.debug.core.model.IStackFrameInfo; -import org.eclipse.cdt.debug.internal.core.DisassemblyStorage; -import org.eclipse.cdt.debug.internal.core.model.CDebugTarget; -import org.eclipse.core.runtime.Preferences; -import org.eclipse.core.runtime.Preferences.PropertyChangeEvent; -import org.eclipse.debug.core.model.IStackFrame; - -/** - * Enter type comment. - * - * @since: Oct 8, 2002 - */ -public class DisassemblyManager implements Preferences.IPropertyChangeListener -{ - // move to preferences ??? - final static private int DISASSEMBLY_BLOCK_SIZE = 100; - - private CDebugTarget fDebugTarget; - private DisassemblyStorage fStorage = null; - - /** - * Constructor for DisassemblyManager. - */ - public DisassemblyManager( CDebugTarget target ) - { - setDebugTarget( target ); - CDebugCorePlugin.getDefault().getPluginPreferences().addPropertyChangeListener( this ); - } - - public int getLineNumber( IStackFrame frame ) - { - IStackFrameInfo info = (IStackFrameInfo)frame.getAdapter( IStackFrameInfo.class ); - if ( info != null ) - { - DisassemblyStorage storage = getSourceElement( info ); - if ( storage != null ) - { - return storage.getLineNumber( info.getAddress() ); - } - } - return 0; - } - - public Object getSourceElement( IStackFrame stackFrame ) - { - if ( stackFrame != null ) - { - return getSourceElement( (IStackFrameInfo)stackFrame.getAdapter( IStackFrameInfo.class ) ); - } - return null; - } - - public Object getSourceElement( long address ) - { - DisassemblyStorage storage = null; - if ( getDisassemblyStorage() != null && getDisassemblyStorage().containsAddress( address ) ) - { - storage = getDisassemblyStorage(); - } - else - { - storage = loadDisassemblyStorage( address ); - } - return storage; - } - - private void setDebugTarget( CDebugTarget target ) - { - fDebugTarget = target; - } - - public CDebugTarget getDebugTarget() - { - return fDebugTarget; - } - - private void setDisassemblyStorage( DisassemblyStorage ds ) - { - fStorage = ds; - } - - protected DisassemblyStorage getDisassemblyStorage() - { - return fStorage; - } - - private DisassemblyStorage getSourceElement( IStackFrameInfo frameInfo ) - { - DisassemblyStorage storage = null; - if ( frameInfo != null ) - { - long address = frameInfo.getAddress(); - if ( address != 0 ) - { - if ( getDisassemblyStorage() != null && getDisassemblyStorage().containsAddress( address ) ) - { - storage = getDisassemblyStorage(); - } - else - { - storage = loadDisassemblyStorage( frameInfo ); - } - } - } - return storage; - } - - private DisassemblyStorage loadDisassemblyStorage( IStackFrameInfo frameInfo ) - { - setDisassemblyStorage( null ); - if ( frameInfo != null && getDebugTarget() != null && getDebugTarget().isSuspended() ) - { - ICDISourceManager sm = getDebugTarget().getCDISession().getSourceManager(); - if ( sm != null ) - { - String fileName = frameInfo.getFile(); - int lineNumber = frameInfo.getFrameLineNumber(); - ICDIInstruction[] instructions = new ICDIInstruction[0]; - long address = frameInfo.getAddress(); - if ( fileName != null && fileName.length() > 0 ) - { - try - { - instructions = sm.getInstructions( fileName, - lineNumber, - CDebugCorePlugin.getDefault().getPluginPreferences().getInt( ICDebugConstants.PREF_MAX_NUMBER_OF_INSTRUCTIONS ) ); - } - catch( CDIException e ) - { - } - } - if ( instructions.length == 0 || - // Double check if debugger returns correct address range. - !containsAddress( instructions, address ) ) - { - if ( address >= 0 ) - { - try - { - instructions = getFunctionInstructions( sm.getInstructions( address, address + DISASSEMBLY_BLOCK_SIZE ) ); - } - catch( CDIException e ) - { - CDebugCorePlugin.log( e ); - } - } - } - if ( instructions.length > 0 ) - { - setDisassemblyStorage( new DisassemblyStorage( getDebugTarget(), instructions ) ); - } - } - } - return getDisassemblyStorage(); - } - - private DisassemblyStorage loadDisassemblyStorage( long address ) - { - setDisassemblyStorage( null ); - if ( getDebugTarget() != null && getDebugTarget().isSuspended() ) - { - ICDISourceManager sm = getDebugTarget().getCDISession().getSourceManager(); - if ( sm != null ) - { - ICDIInstruction[] instructions = new ICDIInstruction[0]; - if ( instructions.length == 0 ) - { - if ( address >= 0 ) - { - try - { - instructions = getFunctionInstructions( sm.getInstructions( address, address + DISASSEMBLY_BLOCK_SIZE ) ); - } - catch( CDIException e ) - { - CDebugCorePlugin.log( e ); - } - } - } - if ( instructions.length > 0 ) - { - setDisassemblyStorage( new DisassemblyStorage( getDebugTarget(), instructions ) ); - } - } - } - return getDisassemblyStorage(); - } - - private ICDIInstruction[] getFunctionInstructions( ICDIInstruction[] rawInstructions ) - { - if ( rawInstructions.length > 0 && - rawInstructions[0].getFuntionName() != null && - rawInstructions[0].getFuntionName().length() > 0 ) - { - ArrayList list = new ArrayList( rawInstructions.length ); - list.add( rawInstructions[0] ); - for ( int i = 1; i < rawInstructions.length; ++i ) - { - if ( rawInstructions[0].getFuntionName().equals( rawInstructions[i].getFuntionName() ) ) - { - list.add( rawInstructions[i] ); - } - } - return (ICDIInstruction[])list.toArray( new ICDIInstruction[list.size()] ); - } - return rawInstructions; - } - - private boolean containsAddress( ICDIInstruction[] instructions, long address ) - { - for ( int i = 0; i < instructions.length; ++i ) - { - if ( instructions[i].getAdress() == address ) - return true; - } - return false; - } - - /* (non-Javadoc) - * @see org.eclipse.core.runtime.Preferences.IPropertyChangeListener#propertyChange(org.eclipse.core.runtime.Preferences.PropertyChangeEvent) - */ - public void propertyChange( PropertyChangeEvent event ) - { - if ( ICDebugConstants.PREF_MAX_NUMBER_OF_INSTRUCTIONS.equals( event.getProperty() ) ) - setDisassemblyStorage( null ); - } - - public void dispose() - { - CDebugCorePlugin.getDefault().getPluginPreferences().removePropertyChangeListener( this ); - } -} diff --git a/debug/org.eclipse.cdt.debug.ui/ChangeLog b/debug/org.eclipse.cdt.debug.ui/ChangeLog index 56f84ed67c4..fa8805ba04e 100644 --- a/debug/org.eclipse.cdt.debug.ui/ChangeLog +++ b/debug/org.eclipse.cdt.debug.ui/ChangeLog @@ -1,3 +1,20 @@ +2004-05-13 Mikhail Khodjaiants + Removed old disassembly implementation. + * SwitchToDisassemblyActionDelegate.java: deleted + * src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblyDocumentProvider.java: deleted + * src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblyEditor.java: deleted + * src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblyEditorInput.java: deleted + * src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblyMarkerAnnotation.java: deleted + * src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblyMarkerAnnotationModel.java: deleted + * src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblySourceViewerConfiguration.java: deleted + * CDTDebugModelPresentation.java + * JumpToLineActionDelegate.java + * CDebugPreferencePage.java + * CDebugUIPlugin.java + * DefaultSourceLocator.java + * plugin.properties + * plugin.xml + 2004-05-13 Mikhail Khodjaiants Added the "Instruction Stepping Mode" action. * ToggleInstructionStepModeActionDelegate.java diff --git a/debug/org.eclipse.cdt.debug.ui/plugin.properties b/debug/org.eclipse.cdt.debug.ui/plugin.properties index 131dfd1caf6..d499452dce0 100644 --- a/debug/org.eclipse.cdt.debug.ui/plugin.properties +++ b/debug/org.eclipse.cdt.debug.ui/plugin.properties @@ -25,9 +25,6 @@ RestartAction.tooltip=Restart ToggleInstructionStepModeAction.label=Instruction Stepping Mode ToggleInstructionStepModeAction.tooltip=Instruction Stepping Mode -SwitchToDisassemblyAction.label=Disassembly Mode -SwitchToDisassemblyAction.tooltip=Disassembly Mode On/Off - ShowDebuggerConsoleAction.label=Show Debugger Console ShowDebuggerConsoleAction.tooltip=Show Debugger Console On Target Selection diff --git a/debug/org.eclipse.cdt.debug.ui/plugin.xml b/debug/org.eclipse.cdt.debug.ui/plugin.xml index 5871001dddc..fba4abe9311 100644 --- a/debug/org.eclipse.cdt.debug.ui/plugin.xml +++ b/debug/org.eclipse.cdt.debug.ui/plugin.xml @@ -76,8 +76,8 @@ + relationship="stack" + id="org.eclipse.cdt.debug.ui.MemoryView"> @@ -85,8 +85,8 @@ + relationship="stack" + id="org.eclipse.cdt.debug.ui.SharedLibrariesView"> @@ -94,8 +94,8 @@ + relationship="stack" + id="org.eclipse.cdt.debug.ui.SignalsView"> @@ -106,8 +106,8 @@ + relationship="stack" + id="org.eclipse.cdt.debug.ui.DisassemblyView"> @@ -277,22 +277,6 @@ - - - - - - + value="activated" + id="org.eclipse.cdt.debug.ui"> @@ -693,8 +677,8 @@ label="%LoadSymbolsAction.label" icon="icons/full/clcl16/load_symbols_co.gif" helpContextId="load_symbols_action_context" - tooltip="%LoadSymbolsAction.tooltip" class="org.eclipse.cdt.debug.internal.ui.actions.LoadSymbolsActionDelegate" + tooltip="%LoadSymbolsAction.tooltip" menubarPath="sharedLibrariesGroup" enablesFor="1" id="org.eclipse.cdt.debug.internal.ui.actions.LoadSymbolsActionDelegate"> @@ -713,8 +697,8 @@ label="%SignalAction.label" icon="icons/full/clcl16/signal_co.gif" helpContextId="signal_action_context" - tooltip="%SignalAction.tooltip" class="org.eclipse.cdt.debug.internal.ui.actions.SignalActionDelegate" + tooltip="%SignalAction.tooltip" menubarPath="additions" enablesFor="1" id="org.eclipse.cdt.debug.internal.ui.actions.SignalActionDelegate"> @@ -729,8 +713,8 @@ label="%SignalPropertiesAction.label" style="pulldown" helpContextId="signal_properties_action_context" - tooltip="%SignalPropertiesAction.tooltip" class="org.eclipse.cdt.debug.internal.ui.actions.SignalPropertiesActionDelegate" + tooltip="%SignalPropertiesAction.tooltip" enablesFor="1" id="org.eclipse.cdt.debug.ui.SignalPropertiesAction"> @@ -766,8 +750,8 @@ @@ -782,8 +766,8 @@ label="%CastToTypeAction.label" icon="icons/full/clcl16/casttotype_co.gif" helpContextId="cast_to_type_action_context" - class="org.eclipse.cdt.debug.internal.ui.actions.CastToTypeActionDelegate" tooltip="%CastToTypeAction.tooltip" + class="org.eclipse.cdt.debug.internal.ui.actions.CastToTypeActionDelegate" menubarPath="additions" enablesFor="1" id="org.eclipse.cdt.debug.internal.ui.actions.CastToTypeActionDelegate"> @@ -798,8 +782,8 @@ label="%CastToArrayAction.label" icon="icons/full/clcl16/showasarray_co.gif" helpContextId="cast_to_array_action_context" - class="org.eclipse.cdt.debug.internal.ui.actions.CastToArrayActionDelegate" tooltip="%CastToArrayAction.tooltip" + class="org.eclipse.cdt.debug.internal.ui.actions.CastToArrayActionDelegate" menubarPath="additions" enablesFor="1" id="org.eclipse.cdt.debug.internal.ui.actions.CastToArrayActionDelegate"> @@ -818,8 +802,8 @@ label="%ManageFunctionBreakpointAction.label" icon="icons/full/obj16/funbrkp_obj.gif" helpContextId="manage_function_breakpoint_action_context" - class="org.eclipse.cdt.debug.internal.ui.actions.ManageFunctionBreakpointActionDelegate" tooltip="%ManageFunctionBreakpointAction.tooltip" + class="org.eclipse.cdt.debug.internal.ui.actions.ManageFunctionBreakpointActionDelegate" menubarPath="additions" enablesFor="1" id="org.eclipse.cdt.debug.internal.ui.actions.ManageFunctionBreakpointActionDelegate"> @@ -838,8 +822,8 @@ label="%DisableVariablesAction.label" icon="icons/full/clcl16/disabled_co.gif" helpContextId="disable_variables_action_context" - class="org.eclipse.cdt.debug.internal.ui.actions.DisableVariablesActionDelegate" tooltip="%DisableVariablesAction.tooltip" + class="org.eclipse.cdt.debug.internal.ui.actions.DisableVariablesActionDelegate" menubarPath="variableGroup" enablesFor="2+" id="org.eclipse.cdt.debug.internal.ui.actions.DisableVariablesActionDelegate"> @@ -851,8 +835,8 @@ label="%EnableVariablesAction.label" icon="icons/full/clcl16/enabled_co.gif" helpContextId="enable_variables_action_context" - class="org.eclipse.cdt.debug.internal.ui.actions.EnableVariablesActionDelegate" tooltip="%EnableVariablesAction.tooltip" + class="org.eclipse.cdt.debug.internal.ui.actions.EnableVariablesActionDelegate" menubarPath="variableGroup" enablesFor="2+" id="org.eclipse.cdt.debug.internal.ui.actions.EnableVariablesActionDelegate"> @@ -875,8 +859,8 @@ disabledIcon="icons/full/dlcl16/restart.gif" enablesFor="1" icon="icons/full/elcl16/restart.gif" - label="%RestartAction.label" helpContextId="restart_action_context" + label="%RestartAction.label" tooltip="%RestartAction.tooltip"> - - - - - - @@ -954,11 +919,11 @@ id="org.eclipse.cdt.debug.ui.breakpointView.menu"> @@ -980,8 +945,8 @@ disabledIcon="icons/full/dlcl16/watch_globals.gif" enablesFor="1" icon="icons/full/elcl16/watch_globals.gif" - label="%AddGlobalsAction.label" helpContextId="add_globals_action_context" + label="%AddGlobalsAction.label" tooltip="%AddGlobalsAction.tooltip"> @@ -1091,20 +1056,20 @@ @@ -1161,16 +1126,16 @@ point="org.eclipse.ui.editors"> @@ -1192,8 +1157,8 @@ + parentId="org.eclipse.debug.ui.debugging" + id="org.eclipse.cdt.debug.ui.debugging"> @@ -1271,8 +1236,8 @@ highlightPreferenceValue="true" presentationLayer="6" icon="icons/full/obj16/inst_ptr.gif" - textPreferenceValue="false" label="%DisassemblySecondaryInstructionPointer" + textPreferenceValue="false" textPreferenceKey="secondaryDisassemblyIPIndication" verticalRulerPreferenceKey="secondaryDisassemblyIPVerticalRuler" overviewRulerPreferenceKey="secondaryDisassemblyIPOverviewRuler"> @@ -1319,8 +1284,8 @@ %DisassemblySourceLineColor.description diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/CDTDebugModelPresentation.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/CDTDebugModelPresentation.java index c42162d701a..48c86328002 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/CDTDebugModelPresentation.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/CDTDebugModelPresentation.java @@ -31,13 +31,9 @@ import org.eclipse.cdt.debug.core.model.ICValue; import org.eclipse.cdt.debug.core.model.ICVariable; import org.eclipse.cdt.debug.core.model.ICWatchpoint; import org.eclipse.cdt.debug.core.model.IDummyStackFrame; -import org.eclipse.cdt.debug.core.model.IExecFileInfo; import org.eclipse.cdt.debug.core.model.IStackFrameInfo; import org.eclipse.cdt.debug.core.model.IState; -import org.eclipse.cdt.debug.core.sourcelookup.IDisassemblyStorage; -import org.eclipse.cdt.debug.internal.core.sourcelookup.DisassemblyManager; import org.eclipse.cdt.debug.internal.ui.editors.CDebugEditor; -import org.eclipse.cdt.debug.internal.ui.editors.DisassemblyEditorInput; import org.eclipse.cdt.debug.internal.ui.editors.EditorInputDelegate; import org.eclipse.cdt.debug.internal.ui.editors.FileNotFoundElement; import org.eclipse.cdt.debug.ui.CDebugUIPlugin; @@ -154,10 +150,6 @@ public class CDTDebugModelPresentation extends LabelProvider { return new FileEditorInput( (IFile)element ); } - if ( element instanceof ICAddressBreakpoint ) - { - return getDisassemblyEditorInput( (ICAddressBreakpoint)element ); - } if ( element instanceof ICLineBreakpoint ) { IFile file = (IFile)((ICLineBreakpoint)element).getMarker().getResource().getAdapter( IFile.class ); @@ -168,10 +160,6 @@ public class CDTDebugModelPresentation extends LabelProvider { return new ExternalEditorInput( (IStorage)element ); } - if ( element instanceof IDisassemblyStorage ) - { - return new DisassemblyEditorInput( (IStorage)element ); - } if ( element instanceof FileNotFoundElement ) { return new EditorInputDelegate( (FileNotFoundElement)element ); @@ -960,37 +948,6 @@ public class CDTDebugModelPresentation extends LabelProvider return CDebugUIPlugin.getImageDescriptorRegistry().get( CDebugImages.DESC_OBJS_SHARED_LIBRARY ); } - protected DisassemblyEditorInput getDisassemblyEditorInput( ICAddressBreakpoint breakpoint ) - { - IDebugTarget[] targets = DebugPlugin.getDefault().getLaunchManager().getDebugTargets(); - for ( int i = 0; i < targets.length; ++i ) - { - IResource resource = breakpoint.getMarker().getResource(); - if ( resource != null && resource instanceof IFile && - targets[i].getAdapter( IExecFileInfo.class )!= null && - ((IFile)resource).getLocation().toOSString().equals( ((IExecFileInfo)targets[i].getAdapter( IExecFileInfo.class )).getExecFile().getLocation().toOSString() ) ) - { - if ( targets[i].getAdapter( DisassemblyManager.class ) != null ) - { - try - { - long address = Long.parseLong( breakpoint.getAddress() ); - IStorage storage = (IStorage)(((DisassemblyManager)targets[i].getAdapter( DisassemblyManager.class )).getSourceElement( address ) ); - if ( storage != null ) - return new DisassemblyEditorInput( storage ); - } - catch( NumberFormatException e ) - { - } - catch( CoreException e ) - { - } - } - } - } - return null; - } - private String getVariableTypeName( ICType type ) { String typeName = type.getName(); diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/actions/JumpToLineActionDelegate.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/actions/JumpToLineActionDelegate.java index 88a14e58594..50fe22fa9a0 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/actions/JumpToLineActionDelegate.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/actions/JumpToLineActionDelegate.java @@ -8,7 +8,6 @@ package org.eclipse.cdt.debug.internal.ui.actions; import org.eclipse.cdt.core.resources.FileStorage; import org.eclipse.cdt.debug.core.model.IJumpToAddress; import org.eclipse.cdt.debug.core.model.IJumpToLine; -import org.eclipse.cdt.debug.core.sourcelookup.IDisassemblyStorage; import org.eclipse.cdt.debug.ui.CDebugUIPlugin; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IStorage; @@ -104,15 +103,6 @@ public class JumpToLineActionDelegate extends AbstractEditorActionDelegate jumpToLine( path.lastSegment(), lineNumber ); } } - else if ( storage != null && storage.getAdapter( IDisassemblyStorage.class ) != null ) - { - IDisassemblyStorage disassemblyStorage = (IDisassemblyStorage)storage.getAdapter( IDisassemblyStorage.class ); - ITextSelection selection = (ITextSelection)((ITextEditor)getTargetPart()).getSelectionProvider().getSelection(); - int lineNumber = selection.getStartLine(); - long address = disassemblyStorage.getAddress( lineNumber ); - if ( address > 0 ) - jumpToAddress( address ); - } } catch( CoreException e ) { diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/actions/SwitchToDisassemblyActionDelegate.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/actions/SwitchToDisassemblyActionDelegate.java deleted file mode 100644 index 956f3660799..00000000000 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/actions/SwitchToDisassemblyActionDelegate.java +++ /dev/null @@ -1,130 +0,0 @@ -/* - *(c) Copyright QNX Software Systems Ltd. 2002. - * All Rights Reserved. - * - */ -package org.eclipse.cdt.debug.internal.ui.actions; - -import org.eclipse.cdt.debug.core.sourcelookup.ISourceMode; -import org.eclipse.cdt.debug.internal.core.model.CDebugElement; -import org.eclipse.debug.core.DebugEvent; -import org.eclipse.debug.core.DebugException; -import org.eclipse.debug.ui.AbstractDebugView; -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.ISelectionChangedListener; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.ui.IViewPart; -import org.eclipse.cdt.debug.ui.CDebugUIPlugin; - -/** - * Enter type comment. - * - * @since: Oct 11, 2002 - */ -public class SwitchToDisassemblyActionDelegate extends AbstractListenerActionDelegate -{ - private IViewPart fViewPart = null; - - /* (non-Javadoc) - * @see org.eclipse.cdt.debug.internal.ui.actions.AbstractDebugActionDelegate#doAction(Object) - */ - protected void doAction( Object element ) throws DebugException - { - if ( element != null && element instanceof CDebugElement && getAction() != null && getAction().isEnabled() ) - { - ISourceMode sourceMode = (ISourceMode)((CDebugElement)element).getDebugTarget().getAdapter( ISourceMode.class ); - if ( sourceMode != null ) - { - sourceMode.setMode( ( getAction().isChecked() ) ? ISourceMode.MODE_DISASSEMBLY : ISourceMode.MODE_SOURCE ); - ((CDebugElement)element).fireChangeEvent( DebugEvent.CLIENT_REQUEST ); - if ( fViewPart != null && fViewPart instanceof ISelectionChangedListener ) - { - final AbstractDebugView view = (AbstractDebugView)fViewPart; - fViewPart.getViewSite().getShell().getDisplay().asyncExec( - new Runnable() - { - public void run() - { - Viewer viewer = view.getViewer(); - viewer.setSelection( viewer.getSelection() ); - } - } ); - } - } - } - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.debug.internal.ui.actions.AbstractDebugActionDelegate#isEnabledFor(Object) - */ - protected boolean isEnabledFor( Object element ) - { - if ( element != null && element instanceof CDebugElement ) - { - return ( ((CDebugElement)element).getDebugTarget().getAdapter( ISourceMode.class ) != null ); - } - return false; - } - - /** - * @see AbstractDebugActionDelegate#enableForMultiSelection() - */ - protected boolean enableForMultiSelection() - { - return false; - } - - /** - * @see AbstractDebugActionDelegate#getStatusMessage() - */ - protected String getStatusMessage() - { - return CDebugUIPlugin.getResourceString("internal.ui.actions.SwitchToDisassemblyActionDelegate.Exceptions_occurred_attempting_to_switch_to_disassemblysource_mode."); //$NON-NLS-1$ - } - - /** - * @see AbstractDebugActionDelegate#getErrorDialogMessage() - */ - protected String getErrorDialogMessage() - { - return CDebugUIPlugin.getResourceString("internal.ui.actions.SwitchToDisassemblyActionDelegate.1"); //$NON-NLS-1$ - } - - /** - * @see AbstractDebugActionDelegate#getErrorDialogTitle() - */ - protected String getErrorDialogTitle() - { - return CDebugUIPlugin.getResourceString("internal.ui.actions.SwitchToDisassemblyActionDelegate.2"); //$NON-NLS-1$ - } - - /* (non-Javadoc) - * @see org.eclipse.ui.IActionDelegate#selectionChanged(IAction, ISelection) - */ - public void selectionChanged( IAction action, ISelection selection ) - { - super.selectionChanged( action, selection ); - boolean checked = false; - if ( selection != null && selection instanceof IStructuredSelection ) - { - Object element = ((IStructuredSelection)selection).getFirstElement(); - if ( element != null && element instanceof CDebugElement ) - { - ISourceMode sourceMode = (ISourceMode)((CDebugElement)element).getDebugTarget().getAdapter( ISourceMode.class ); - checked = ( sourceMode != null && sourceMode.getMode() == ISourceMode.MODE_DISASSEMBLY ); - } - } - action.setChecked( checked ); - } - - /* (non-Javadoc) - * @see org.eclipse.ui.IViewActionDelegate#init(IViewPart) - */ - public void init( IViewPart view ) - { - super.init( view ); - fViewPart = view; - } -} diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblyDocumentProvider.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblyDocumentProvider.java deleted file mode 100644 index dc217d6dba9..00000000000 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblyDocumentProvider.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - *(c) Copyright QNX Software Systems Ltd. 2002. - * All Rights Reserved. - * - */ -package org.eclipse.cdt.debug.internal.ui.editors; - -import org.eclipse.cdt.debug.core.sourcelookup.IDisassemblyStorage; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IStorage; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.jface.text.source.IAnnotationModel; -import org.eclipse.ui.editors.text.StorageDocumentProvider; - -/** - * Enter type comment. - * - * @since: Jan 6, 2003 - */ -public class DisassemblyDocumentProvider extends StorageDocumentProvider -{ - /** - * Constructor for DisassemblyDocumentProvider. - */ - public DisassemblyDocumentProvider() - { - super(); - } - - /* (non-Javadoc) - * @see org.eclipse.ui.texteditor.AbstractDocumentProvider#createAnnotationModel(Object) - */ - protected IAnnotationModel createAnnotationModel( Object element ) throws CoreException - { - if ( element != null && element instanceof DisassemblyEditorInput ) - { - IResource resource = (IResource)((DisassemblyEditorInput)element).getAdapter( IResource.class ); - IStorage storage = ((DisassemblyEditorInput)element).getStorage(); - if ( resource != null && storage != null && storage instanceof IDisassemblyStorage ) - return new DisassemblyMarkerAnnotationModel( (IDisassemblyStorage)storage, resource ); - } - return super.createAnnotationModel( element ); - } -} diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblyEditor.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblyEditor.java deleted file mode 100644 index 8b0fca0c0d6..00000000000 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblyEditor.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - *(c) Copyright QNX Software Systems Ltd. 2002. - * All Rights Reserved. - * - */ -package org.eclipse.cdt.debug.internal.ui.editors; - -import org.eclipse.cdt.debug.ui.CDebugUIPlugin; -import org.eclipse.cdt.internal.ui.editor.asm.AsmTextEditor; -import org.eclipse.cdt.ui.CUIPlugin; - -/** - * Enter type comment. - * - * @since: Jan 6, 2003 - */ -public class DisassemblyEditor extends AsmTextEditor -{ - static final public String DISASSEMBLY_EDITOR_ID = "org.eclipse.cdt.debug.ui.DisassemblyEditor"; //$NON-NLS-1$ - - /** - * Constructor for DisassemblyEditor. - */ - public DisassemblyEditor() - { - super(); - setDocumentProvider( CDebugUIPlugin.getDefault().getDisassemblyDocumentProvider() ); - setSourceViewerConfiguration( new DisassemblySourceViewerConfiguration( CUIPlugin.getDefault().getAsmTextTools(), this ) ); - setEditorContextMenuId("#DisassemblyEditorContext"); //$NON-NLS-1$ - setRulerContextMenuId("#DisassemblyEditorRulerContext"); //$NON-NLS-1$ - } -} diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblyEditorInput.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblyEditorInput.java deleted file mode 100644 index ede135f310c..00000000000 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblyEditorInput.java +++ /dev/null @@ -1,143 +0,0 @@ -/* - *(c) Copyright QNX Software Systems Ltd. 2002. - * All Rights Reserved. - * - */ - -package org.eclipse.cdt.debug.internal.ui.editors; - -import org.eclipse.cdt.debug.internal.ui.CDebugImages; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IStorage; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.ui.IPersistableElement; -import org.eclipse.ui.IStorageEditorInput; -import org.eclipse.cdt.debug.ui.CDebugUIPlugin; - -/** - * Enter type comment. - * - * @since: Oct 8, 2002 - */ -public class DisassemblyEditorInput implements IStorageEditorInput -{ - private final static String FILE_NAME_EXTENSION = ".dasm"; //$NON-NLS-1$ - protected IStorage fStorage; - - /** - * Constructor for DisassemblyEditorInput. - */ - public DisassemblyEditorInput( IStorage storage ) - { - fStorage = storage; - } - - /* (non-Javadoc) - * @see org.eclipse.ui.IStorageEditorInput#getStorage() - */ - public IStorage getStorage() throws CoreException - { - return fStorage; - } - - /* (non-Javadoc) - * @see org.eclipse.ui.IEditorInput#exists() - */ - public boolean exists() - { - return true; - } - - /* (non-Javadoc) - * @see org.eclipse.ui.IEditorInput#getImageDescriptor() - */ - public ImageDescriptor getImageDescriptor() - { - return CDebugImages.DESC_OBJS_DISASSEMBLY; - } - - /* (non-Javadoc) - * @see org.eclipse.ui.IEditorInput#getName() - */ - public String getName() - { - try - { - if ( getStorage() != null ) - { - return getStorage().getName() + FILE_NAME_EXTENSION; - } - } - catch( CoreException e ) - { - // ignore - } - return ""; //$NON-NLS-1$ - } - - /* (non-Javadoc) - * @see org.eclipse.ui.IEditorInput#getPersistable() - */ - public IPersistableElement getPersistable() - { - return null; - } - - /* (non-Javadoc) - * @see org.eclipse.ui.IEditorInput#getToolTipText() - */ - public String getToolTipText() - { - return CDebugUIPlugin.getResourceString("internal.ui.editors.DisassemblyEditorInput.Disassembly"); //$NON-NLS-1$ - } - - /* (non-Javadoc) - * @see org.eclipse.core.runtime.IAdaptable#getAdapter(Class) - */ - public Object getAdapter( Class adapter ) - { - if ( adapter.equals( IResource.class ) ) - { - try - { - IStorage storage = getStorage(); - if ( storage != null ) - { - return storage.getAdapter( adapter ); - } - } - catch( CoreException e ) - { - // ignore - } - } - if ( adapter.equals( DisassemblyEditorInput.class ) ) - { - return this; - } - return null; - } - - /* (non-Javadoc) - * @see java.lang.Object#equals(Object) - */ - public boolean equals( Object obj ) - { - if ( obj != null && obj instanceof DisassemblyEditorInput ) - { - try - { - IStorage storage = ((DisassemblyEditorInput)obj).getStorage(); - if ( storage != null && storage.equals( fStorage ) ) - return true; - else if ( storage == null && fStorage == null ) - return true; - } - catch( CoreException e ) - { - } - } - return false; - } -} diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblyMarkerAnnotation.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblyMarkerAnnotation.java deleted file mode 100644 index 2b9e5b7a577..00000000000 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblyMarkerAnnotation.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - *(c) Copyright QNX Software Systems Ltd. 2002. - * All Rights Reserved. - * - */ -package org.eclipse.cdt.debug.internal.ui.editors; - -import org.eclipse.cdt.debug.internal.core.breakpoints.CAddressBreakpoint; -import org.eclipse.cdt.debug.internal.core.breakpoints.CFunctionBreakpoint; -import org.eclipse.cdt.debug.internal.core.breakpoints.CLineBreakpoint; -import org.eclipse.core.resources.IMarker; -import org.eclipse.debug.ui.DebugUITools; -import org.eclipse.debug.ui.IDebugModelPresentation; -import org.eclipse.ui.texteditor.MarkerAnnotation; -import org.eclipse.ui.texteditor.MarkerUtilities; - -/** - * Enter type comment. - * - * @since: Jan 6, 2003 - */ -public class DisassemblyMarkerAnnotation extends MarkerAnnotation -{ - private IDebugModelPresentation fPresentation; - - /** - * Constructor for DisassemblyMarkerAnnotation. - * @param marker - */ - public DisassemblyMarkerAnnotation( IMarker marker ) - { - super( marker ); - } - - /* (non-Javadoc) - * @see org.eclipse.ui.texteditor.MarkerAnnotation#initialize() - */ - protected void initialize() - { - IMarker marker = getMarker(); - - if ( MarkerUtilities.isMarkerType( marker, CLineBreakpoint.getMarkerType() ) || - MarkerUtilities.isMarkerType( marker, CFunctionBreakpoint.getMarkerType() ) || - MarkerUtilities.isMarkerType( marker, CAddressBreakpoint.getMarkerType() ) ) - { - if ( fPresentation == null ) - fPresentation = DebugUITools.newDebugModelPresentation(); - - setLayer( 4 ); - setImage( fPresentation.getImage( marker ) ); - return; - } - super.initialize(); - } -} diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblyMarkerAnnotationModel.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblyMarkerAnnotationModel.java deleted file mode 100644 index d09c636cc99..00000000000 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblyMarkerAnnotationModel.java +++ /dev/null @@ -1,319 +0,0 @@ -/* - *(c) Copyright QNX Software Systems Ltd. 2002. - * All Rights Reserved. - * - */ -package org.eclipse.cdt.debug.internal.ui.editors; - -import java.util.ArrayList; - -import org.eclipse.cdt.debug.core.model.ICAddressBreakpoint; -import org.eclipse.cdt.debug.core.sourcelookup.IDisassemblyStorage; -import org.eclipse.cdt.debug.internal.core.breakpoints.CAddressBreakpoint; -import org.eclipse.cdt.debug.internal.core.breakpoints.CFunctionBreakpoint; -import org.eclipse.cdt.debug.internal.core.breakpoints.CLineBreakpoint; -import org.eclipse.cdt.debug.ui.CDebugUIPlugin; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IMarker; -import org.eclipse.core.resources.IMarkerDelta; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IResourceChangeEvent; -import org.eclipse.core.resources.IResourceChangeListener; -import org.eclipse.core.resources.IResourceDelta; -import org.eclipse.core.resources.IResourceDeltaVisitor; -import org.eclipse.core.resources.IWorkspace; -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.IBreakpointManager; -import org.eclipse.debug.core.model.IBreakpoint; -import org.eclipse.debug.core.model.IDebugTarget; -import org.eclipse.jface.text.BadLocationException; -import org.eclipse.jface.text.Position; -import org.eclipse.ui.texteditor.AbstractMarkerAnnotationModel; -import org.eclipse.ui.texteditor.MarkerAnnotation; - -/** - * Enter type comment. - * - * @since: Jan 9, 2003 - */ -public class DisassemblyMarkerAnnotationModel extends AbstractMarkerAnnotationModel -{ - /** - * Internal resource change listener. - */ - class ResourceChangeListener implements IResourceChangeListener - { - /* - * @see IResourceChangeListener#resourceChanged - */ - public void resourceChanged( IResourceChangeEvent e ) - { - IResourceDelta delta = e.getDelta(); - try - { - if ( delta != null ) - delta.accept( getResourceDeltaVisitor() ); - } - catch( CoreException x ) - { - doHandleCoreException( x, CDebugUIPlugin.getResourceString("internal.ui.editors.DisassemblyMarkerAnnotationModel.Resource_Changed") ); //$NON-NLS-1$ - } - } - } - - /** - * Internal resource delta visitor. - */ - class ResourceDeltaVisitor implements IResourceDeltaVisitor - { - /* - * @see IResourceDeltaVisitor#visit - */ - public boolean visit( IResourceDelta delta ) throws CoreException - { - if ( delta != null && /*getResource().equals( delta.getResource() )*/delta.getResource() instanceof IFile ) - { - update( delta.getMarkerDeltas() ); - return false; - } - return true; - } - } - - /** The workspace */ - private IWorkspace fWorkspace; - - /** The resource */ - private IResource fResource; - - /** The resource change listener */ - private IResourceChangeListener fResourceChangeListener = new ResourceChangeListener(); - - /** The resource delta visitor */ - private IResourceDeltaVisitor fResourceDeltaVisitor = new ResourceDeltaVisitor(); - - private IDisassemblyStorage fStorage = null; - - /** - * Constructor for DisassemblyMarkerAnnotationModel. - */ - public DisassemblyMarkerAnnotationModel( IDisassemblyStorage storage, IResource resource ) - { - fResource = resource; - fWorkspace = resource.getWorkspace(); - fStorage = storage; - } - - /* (non-Javadoc) - * @see org.eclipse.ui.texteditor.AbstractMarkerAnnotationModel#retrieveMarkers() - */ - protected IMarker[] retrieveMarkers() throws CoreException - { - if ( fStorage == null ) - return null; - IDebugTarget target = fStorage.getDebugTarget(); - if ( target != null ) - { - IBreakpointManager bm = DebugPlugin.getDefault().getBreakpointManager(); - IBreakpoint[] brkpts = bm.getBreakpoints(); - ArrayList list = new ArrayList( brkpts.length ); - for ( int i = 0; i < brkpts.length; ++i ) - { - if ( target.supportsBreakpoint( brkpts[i] ) && isAcceptable( brkpts[i].getMarker() ) ) - { - list.add( brkpts[i].getMarker() ); - } - } - return (IMarker[])list.toArray( new IMarker[list.size()] ); - } - return null; - } - - /* (non-Javadoc) - * @see org.eclipse.ui.texteditor.AbstractMarkerAnnotationModel#deleteMarkers(IMarker[]) - */ - protected void deleteMarkers( final IMarker[] markers ) throws CoreException - { - fWorkspace.run( new IWorkspaceRunnable() - { - public void run( IProgressMonitor monitor ) throws CoreException - { - for ( int i = 0; i < markers.length; ++i ) - { - markers[i].delete(); - } - } - }, null ); - } - - /* (non-Javadoc) - * @see org.eclipse.ui.texteditor.AbstractMarkerAnnotationModel#listenToMarkerChanges(boolean) - */ - protected void listenToMarkerChanges( boolean listen ) - { - if ( listen ) - fWorkspace.addResourceChangeListener( fResourceChangeListener ); - else - fWorkspace.removeResourceChangeListener( fResourceChangeListener ); - } - - /* (non-Javadoc) - * @see org.eclipse.ui.texteditor.AbstractMarkerAnnotationModel#isAcceptable(IMarker) - */ - protected boolean isAcceptable( IMarker marker ) - { - try - { - return ( marker.getType().equals( CLineBreakpoint.getMarkerType() ) || - marker.getType().equals( CFunctionBreakpoint.getMarkerType() ) || - marker.getType().equals( CAddressBreakpoint.getMarkerType() ) ); - } - catch( CoreException e ) - { - } - return false; - } - - protected IResourceDeltaVisitor getResourceDeltaVisitor() - { - return fResourceDeltaVisitor; - } - - /** - * Updates this model to the given marker deltas. - * - * @param markerDeltas the list of marker deltas - */ - protected void update( IMarkerDelta[] markerDeltas ) - { - if ( markerDeltas.length == 0 ) - return; - - for( int i = 0; i < markerDeltas.length; i++ ) - { - IMarkerDelta delta = markerDeltas[i]; - switch( delta.getKind() ) - { - case IResourceDelta.ADDED : - addMarkerAnnotation( delta.getMarker() ); - break; - case IResourceDelta.REMOVED : - removeMarkerAnnotation( delta.getMarker() ); - break; - case IResourceDelta.CHANGED : - modifyMarkerAnnotation( delta.getMarker() ); - break; - } - } - - fireModelChanged(); - } - - /* (non-Javadoc) - * @see org.eclipse.ui.texteditor.AbstractMarkerAnnotationModel#createPositionFromMarker(IMarker) - */ - protected Position createPositionFromMarker( IMarker marker ) - { - try - { - if ( marker.getType().equals( CLineBreakpoint.getMarkerType() ) ) - { - return createPositionFromLineBreakpoint( marker ); - } - if ( marker.getType().equals( CFunctionBreakpoint.getMarkerType() ) ) - { - return createPositionFromLineBreakpoint( marker ); - } - if ( marker.getType().equals( CAddressBreakpoint.getMarkerType() ) ) - { - return createPositionFromAddressBreakpoint( marker ); - } - } - catch( CoreException e ) - { - } - return null; - } - - private Position createPositionFromLineBreakpoint( IMarker marker ) - { -// if ( fStorage != null ) -// { -// IBreakpoint breakpoint = DebugPlugin.getDefault().getBreakpointManager().getBreakpoint( marker ); -// if ( breakpoint instanceof ICBreakpoint ) -// { -// IDebugTarget target = fStorage.getDebugTarget(); -// if ( target != null && target.getAdapter( ICBreakpointManager.class ) != null ) -// { -// ICBreakpointManager bm = (ICBreakpointManager)target.getAdapter( ICBreakpointManager.class ); -// long address = bm.getBreakpointAddress( (ICBreakpoint)breakpoint ); -// if ( address != 0 ) -// return createPositionFromAddress( address ); -// } -// } -// } - return null; - } - - private Position createPositionFromAddressBreakpoint( IMarker marker ) throws CoreException - { - try - { - return createPositionFromAddress( Long.parseLong( marker.getAttribute( ICAddressBreakpoint.ADDRESS, "0" ) ) ); //$NON-NLS-1$ - } - catch( NumberFormatException e ) - { - } - return null; - } - - private Position createPositionFromAddress( long address ) - { - try - { - int start = -1; - int line = fStorage.getLineNumber( address ); - if ( line > 0 && fDocument != null ) - { - start = fDocument.getLineOffset( line - 1 ); - if ( start > -1 ) - { - return new Position( start, fDocument.getLineLength( line - 1 ) ); - } - } - } - catch ( BadLocationException x ) - { - } - return null; - } - - /* (non-Javadoc) - * @see org.eclipse.ui.texteditor.AbstractMarkerAnnotationModel#createMarkerAnnotation(IMarker) - */ - protected MarkerAnnotation createMarkerAnnotation( IMarker marker ) - { - return new DisassemblyMarkerAnnotation( marker ); - } - - /* (non-Javadoc) - * @see org.eclipse.ui.texteditor.AbstractMarkerAnnotationModel#getMarkerPosition(IMarker) - */ - public Position getMarkerPosition( IMarker marker ) - { - return createPositionFromMarker( marker ); - } - - protected void doHandleCoreException( CoreException e, String message ) - { - handleCoreException( e, message ); - } - - protected IResource getResource() - { - return fResource; - } -} diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblySourceViewerConfiguration.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblySourceViewerConfiguration.java deleted file mode 100644 index d1830a2e38b..00000000000 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/editors/DisassemblySourceViewerConfiguration.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - *(c) Copyright QNX Software Systems Ltd. 2002. - * All Rights Reserved. - * - */ - -package org.eclipse.cdt.debug.internal.ui.editors; - -import org.eclipse.cdt.internal.ui.editor.asm.AsmSourceViewerConfiguration; -import org.eclipse.cdt.internal.ui.editor.asm.AsmTextEditor; -import org.eclipse.cdt.internal.ui.editor.asm.AsmTextTools; -import org.eclipse.cdt.internal.ui.text.CAnnotationHover; -import org.eclipse.cdt.internal.ui.text.HTMLTextPresenter; -import org.eclipse.jface.text.DefaultInformationControl; -import org.eclipse.jface.text.IInformationControl; -import org.eclipse.jface.text.IInformationControlCreator; -import org.eclipse.jface.text.source.IAnnotationHover; -import org.eclipse.jface.text.source.ISourceViewer; -import org.eclipse.swt.SWT; -import org.eclipse.swt.widgets.Shell; - -/** - * Enter type comment. - * - * @since May 5, 2003 - */ -public class DisassemblySourceViewerConfiguration extends AsmSourceViewerConfiguration -{ - public DisassemblySourceViewerConfiguration( AsmTextTools tools, AsmTextEditor editor ) - { - super( tools, editor ); - } - - /* (non-Javadoc) - * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getAnnotationHover(org.eclipse.jface.text.source.ISourceViewer) - */ - public IAnnotationHover getAnnotationHover(ISourceViewer sourceViewer) - { - return new CAnnotationHover(); - } - - /* (non-Javadoc) - * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getInformationControlCreator(org.eclipse.jface.text.source.ISourceViewer) - */ - public IInformationControlCreator getInformationControlCreator( ISourceViewer sourceViewer ) - { - return getInformationControlCreator( sourceViewer, true ); - } - - public IInformationControlCreator getInformationControlCreator( ISourceViewer sourceViewer, final boolean cutDown ) - { - return new IInformationControlCreator() - { - public IInformationControl createInformationControl( Shell parent ) - { - int style = cutDown ? SWT.NONE : ( SWT.V_SCROLL | SWT.H_SCROLL ); - return new DefaultInformationControl( parent, style, new HTMLTextPresenter( cutDown ) ); - } - }; - } -} diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/preferences/CDebugPreferencePage.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/preferences/CDebugPreferencePage.java index ed9e1f38fba..a0696f0ff93 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/preferences/CDebugPreferencePage.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/preferences/CDebugPreferencePage.java @@ -57,8 +57,6 @@ public class CDebugPreferencePage extends PreferencePage implements IWorkbenchPr private Combo fVariableFormatCombo; private Combo fExpressionFormatCombo; private Combo fRegisterFormatCombo; - // Disassembly setting widgets - private Button fAutoDisassemblyButton; // Maximum number of disassembly instructions to display private IntegerFieldEditor fMaxNumberOfInstructionsText; @@ -155,7 +153,6 @@ public class CDebugPreferencePage extends PreferencePage implements IWorkbenchPr fPathsButton.setSelection( store.getBoolean( ICDebugPreferenceConstants.PREF_SHOW_FULL_PATHS ) ); fRefreshRegistersButton.setSelection( CDebugCorePlugin.getDefault().getPluginPreferences().getBoolean( ICDebugConstants.PREF_REGISTERS_AUTO_REFRESH ) ); fRefreshSolibsButton.setSelection( CDebugCorePlugin.getDefault().getPluginPreferences().getBoolean( ICDebugConstants.PREF_SHARED_LIBRARIES_AUTO_REFRESH ) ); - fAutoDisassemblyButton.setSelection( CDebugCorePlugin.getDefault().getPluginPreferences().getBoolean( ICDebugConstants.PREF_AUTO_DISASSEMBLY ) ); getMaxNumberOfInstructionsText().setStringValue( new Integer( CDebugCorePlugin.getDefault().getPluginPreferences().getInt( ICDebugConstants.PREF_MAX_NUMBER_OF_INSTRUCTIONS ) ).toString() ); fVariableFormatCombo.select( getFormatIndex( CDebugCorePlugin.getDefault().getPluginPreferences().getInt( ICDebugConstants.PREF_DEFAULT_VARIABLE_FORMAT ) ) ); fExpressionFormatCombo.select( getFormatIndex( CDebugCorePlugin.getDefault().getPluginPreferences().getInt( ICDebugConstants.PREF_DEFAULT_EXPRESSION_FORMAT ) ) ); @@ -185,7 +182,6 @@ public class CDebugPreferencePage extends PreferencePage implements IWorkbenchPr { store.setDefault( ICDebugPreferenceConstants.PREF_SHOW_HEX_VALUES, false ); store.setDefault( ICDebugPreferenceConstants.PREF_SHOW_FULL_PATHS, true ); - CDebugCorePlugin.getDefault().getPluginPreferences().setDefault( ICDebugConstants.PREF_AUTO_DISASSEMBLY, false ); CDebugCorePlugin.getDefault().getPluginPreferences().setDefault( ICDebugConstants.PREF_MAX_NUMBER_OF_INSTRUCTIONS, ICDebugConstants.DEF_NUMBER_OF_INSTRUCTIONS ); CDebugCorePlugin.getDefault().getPluginPreferences().setDefault( ICDebugConstants.PREF_DEFAULT_VARIABLE_FORMAT, ICDIFormat.NATURAL ); CDebugCorePlugin.getDefault().getPluginPreferences().setDefault( ICDebugConstants.PREF_DEFAULT_EXPRESSION_FORMAT, ICDIFormat.NATURAL ); @@ -223,7 +219,6 @@ public class CDebugPreferencePage extends PreferencePage implements IWorkbenchPr private void createDisassemblySettingPreferences( Composite parent ) { Composite comp = createGroupComposite( parent, 1, CDebugUIPlugin.getResourceString("internal.ui.preferences.CDebugPreferencePage.Disassembly_options") ); //$NON-NLS-1$ - fAutoDisassemblyButton = createCheckButton( comp, CDebugUIPlugin.getResourceString("internal.ui.preferences.CDebugPreferencePage.autoDisassemblyButton") ); //$NON-NLS-1$ createMaxNumberOfInstructionsField( comp ); } @@ -362,7 +357,6 @@ public class CDebugPreferencePage extends PreferencePage implements IWorkbenchPr store.setValue( ICDebugPreferenceConstants.PREF_SHOW_FULL_PATHS, fPathsButton.getSelection() ); CDebugCorePlugin.getDefault().getPluginPreferences().setValue( ICDebugConstants.PREF_REGISTERS_AUTO_REFRESH, fRefreshRegistersButton.getSelection() ); CDebugCorePlugin.getDefault().getPluginPreferences().setValue( ICDebugConstants.PREF_SHARED_LIBRARIES_AUTO_REFRESH, fRefreshSolibsButton.getSelection() ); - CDebugCorePlugin.getDefault().getPluginPreferences().setValue( ICDebugConstants.PREF_AUTO_DISASSEMBLY, fAutoDisassemblyButton.getSelection() ); CDebugCorePlugin.getDefault().getPluginPreferences().setValue( ICDebugConstants.PREF_MAX_NUMBER_OF_INSTRUCTIONS, getMaxNumberOfInstructionsText().getIntValue() ); CDebugCorePlugin.getDefault().getPluginPreferences().setValue( ICDebugConstants.PREF_DEFAULT_VARIABLE_FORMAT, getFormatId( fVariableFormatCombo.getSelectionIndex() ) ); CDebugCorePlugin.getDefault().getPluginPreferences().setValue( ICDebugConstants.PREF_DEFAULT_EXPRESSION_FORMAT, getFormatId( fExpressionFormatCombo.getSelectionIndex() ) ); @@ -385,7 +379,6 @@ public class CDebugPreferencePage extends PreferencePage implements IWorkbenchPr fPathsButton.setSelection( store.getDefaultBoolean( ICDebugPreferenceConstants.PREF_SHOW_FULL_PATHS ) ); fRefreshRegistersButton.setSelection( CDebugCorePlugin.getDefault().getPluginPreferences().getDefaultBoolean( ICDebugConstants.PREF_REGISTERS_AUTO_REFRESH ) ); fRefreshSolibsButton.setSelection( CDebugCorePlugin.getDefault().getPluginPreferences().getDefaultBoolean( ICDebugConstants.PREF_SHARED_LIBRARIES_AUTO_REFRESH ) ); - fAutoDisassemblyButton.setSelection( CDebugCorePlugin.getDefault().getPluginPreferences().getDefaultBoolean( ICDebugConstants.PREF_AUTO_DISASSEMBLY ) ); getMaxNumberOfInstructionsText().setStringValue( new Integer( CDebugCorePlugin.getDefault().getPluginPreferences().getDefaultInt( ICDebugConstants.PREF_MAX_NUMBER_OF_INSTRUCTIONS ) ).toString() ); fVariableFormatCombo.select( getFormatIndex( CDebugCorePlugin.getDefault().getPluginPreferences().getDefaultInt( ICDebugConstants.PREF_DEFAULT_VARIABLE_FORMAT ) ) ); fExpressionFormatCombo.select( getFormatIndex( CDebugCorePlugin.getDefault().getPluginPreferences().getDefaultInt( ICDebugConstants.PREF_DEFAULT_EXPRESSION_FORMAT ) ) ); diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/CDebugUIPlugin.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/CDebugUIPlugin.java index 69a0f324cb6..59351612138 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/CDebugUIPlugin.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/CDebugUIPlugin.java @@ -19,17 +19,13 @@ import java.util.ResourceBundle; import org.eclipse.cdt.debug.core.CDebugCorePlugin; import org.eclipse.cdt.debug.core.model.ISwitchToFrame; import org.eclipse.cdt.debug.core.model.ISwitchToThread; -import org.eclipse.cdt.debug.core.sourcelookup.IDisassemblyStorage; import org.eclipse.cdt.debug.internal.ui.CBreakpointUpdater; import org.eclipse.cdt.debug.internal.ui.CDTDebugModelPresentation; import org.eclipse.cdt.debug.internal.ui.CDebugImageDescriptorRegistry; import org.eclipse.cdt.debug.internal.ui.ColorManager; -import org.eclipse.cdt.debug.internal.ui.editors.DisassemblyDocumentProvider; -import org.eclipse.cdt.debug.internal.ui.editors.DisassemblyEditorInput; import org.eclipse.cdt.debug.internal.ui.preferences.CDebugPreferencePage; import org.eclipse.cdt.debug.internal.ui.preferences.MemoryViewPreferencePage; import org.eclipse.cdt.debug.ui.sourcelookup.DefaultSourceLocator; -import org.eclipse.core.resources.IStorage; import org.eclipse.core.resources.IWorkspace; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.CoreException; @@ -38,12 +34,8 @@ import org.eclipse.core.runtime.IExtensionPoint; import org.eclipse.core.runtime.IPluginDescriptor; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; -import org.eclipse.debug.core.DebugEvent; import org.eclipse.debug.core.DebugException; -import org.eclipse.debug.core.DebugPlugin; -import org.eclipse.debug.core.IDebugEventSetListener; import org.eclipse.debug.core.model.IDebugElement; -import org.eclipse.debug.core.model.IDebugTarget; import org.eclipse.debug.core.model.IPersistableSourceLocator; import org.eclipse.debug.core.model.IStackFrame; import org.eclipse.debug.core.model.IThread; @@ -57,9 +49,6 @@ import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.IEditorInput; -import org.eclipse.ui.IEditorPart; -import org.eclipse.ui.IEditorReference; import org.eclipse.ui.ISelectionListener; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.IWorkbenchPart; @@ -69,9 +58,7 @@ import org.eclipse.ui.plugin.AbstractUIPlugin; /** * The main plugin class to be used in the desktop. */ -public class CDebugUIPlugin extends AbstractUIPlugin - implements ISelectionListener, - IDebugEventSetListener +public class CDebugUIPlugin extends AbstractUIPlugin implements ISelectionListener { //The shared instance. private static CDebugUIPlugin plugin; @@ -82,9 +69,6 @@ public class CDebugUIPlugin extends AbstractUIPlugin private CDebugImageDescriptorRegistry fImageDescriptorRegistry; - // Document provider for disassembly editor - private DisassemblyDocumentProvider fDisassemblyDocumentProvider = null; - /** * The constructor. */ @@ -338,7 +322,6 @@ public class CDebugUIPlugin extends AbstractUIPlugin */ public void shutdown() throws CoreException { - DebugPlugin.getDefault().removeDebugEventListener( this ); CDebugCorePlugin.getDefault().removeCBreakpointListener( CBreakpointUpdater.getInstance() ); // TODO: PR 52155, this is big hammer approach, but it is ok for // Since the code will be remove when we align ourselves @@ -372,7 +355,6 @@ public class CDebugUIPlugin extends AbstractUIPlugin ww.getSelectionService().addSelectionListener( IDebugUIConstants.ID_DEBUG_VIEW, this ); } CDebugCorePlugin.getDefault().addCBreakpointListener( CBreakpointUpdater.getInstance() ); - DebugPlugin.getDefault().addDebugEventListener( this ); } /* (non-Javadoc) @@ -424,78 +406,6 @@ public class CDebugUIPlugin extends AbstractUIPlugin } } - /* (non-Javadoc) - * @see org.eclipse.debug.core.IDebugEventSetListener#handleDebugEvents(DebugEvent[]) - */ - public void handleDebugEvents( DebugEvent[] events ) - { - for ( int i = 0; i < events.length; i++ ) - { - DebugEvent event = events[i]; - if ( event.getKind() == DebugEvent.TERMINATE ) - { - Object element = event.getSource(); - if ( element != null && element instanceof IDebugTarget ) - { - closeDisassemblyEditors( (IDebugTarget)element ); - } - } - } - } - - private void closeDisassemblyEditors( final IDebugTarget target ) - { - IWorkbenchWindow[] windows = getWorkbench().getWorkbenchWindows(); - for ( int i = 0; i < windows.length; ++i ) - { - IWorkbenchPage[] pages = windows[i].getPages(); - for ( int j = 0; j < pages.length; ++j ) - { - IEditorReference[] refs = pages[j].getEditorReferences(); - for ( int k = 0; k < refs.length; ++k ) - { - IEditorPart editor = refs[k].getEditor( false ); - if ( editor != null ) - { - IEditorInput input = editor.getEditorInput(); - if ( input != null && input instanceof DisassemblyEditorInput ) - { - try - { - IStorage storage = ((DisassemblyEditorInput)input).getStorage(); - if ( storage != null && storage instanceof IDisassemblyStorage && - target.equals( ((IDisassemblyStorage)storage).getDebugTarget() ) ) - { - Shell shell = windows[i].getShell(); - if ( shell != null ) - { - Display display = shell.getDisplay(); - if ( display != null ) - { - final IWorkbenchPage page = pages[j]; - final IEditorPart editor0 = editor; - display.asyncExec( new Runnable() - { - public void run() - { - page.closeEditor( editor0, false ); - } - } ); - } - } - } - } - catch( CoreException e ) - { - // ignore - } - } - } - } - } - } - } - private boolean sameThread( IDebugElement element ) throws DebugException { if ( element.getDebugTarget() instanceof ISwitchToThread ) @@ -512,16 +422,6 @@ public class CDebugUIPlugin extends AbstractUIPlugin return false; } - /** - * Returns the document provider used for the disassembly editor - */ - public DisassemblyDocumentProvider getDisassemblyDocumentProvider() - { - if ( fDisassemblyDocumentProvider == null ) - fDisassemblyDocumentProvider = new DisassemblyDocumentProvider(); - return fDisassemblyDocumentProvider; - } - public static IPersistableSourceLocator createDefaultSourceLocator() { return new DefaultSourceLocator(); diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/sourcelookup/DefaultSourceLocator.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/sourcelookup/DefaultSourceLocator.java index 93509fadeba..c113ed2dcd6 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/sourcelookup/DefaultSourceLocator.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/ui/sourcelookup/DefaultSourceLocator.java @@ -22,7 +22,6 @@ import org.eclipse.cdt.debug.core.CDebugUtils; import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants; import org.eclipse.cdt.debug.core.model.IStackFrameInfo; import org.eclipse.cdt.debug.core.sourcelookup.ICSourceLocator; -import org.eclipse.cdt.debug.core.sourcelookup.ISourceMode; import org.eclipse.cdt.debug.core.sourcelookup.SourceLookupFactory; import org.eclipse.cdt.debug.internal.ui.CDebugImageDescriptorRegistry; import org.eclipse.cdt.debug.internal.ui.CDebugImages; @@ -264,10 +263,6 @@ public class DefaultSourceLocator implements IPersistableSourceLocator, IAdaptab { return ((IAdaptable)getCSourceLocator()).getAdapter( adapter ); } - if ( adapter.equals( ISourceMode.class ) ) - { - return ((IAdaptable)getCSourceLocator()).getAdapter( adapter ); - } } return null; }