diff --git a/debug/org.eclipse.cdt.debug.core/ChangeLog b/debug/org.eclipse.cdt.debug.core/ChangeLog index 9df667fc593..b6513c24fca 100644 --- a/debug/org.eclipse.cdt.debug.core/ChangeLog +++ b/debug/org.eclipse.cdt.debug.core/ChangeLog @@ -1,3 +1,14 @@ +2003-03-31 Mikhail Khodjaiants + The new abstract class ('CUpdateManager') is added to provide a basic implementation of ICUpdateManager. + CSignalManager, CSharedLibraryManager and CRegisterManager extend this class. + * ICRegisterManager.java: new + * CRegisterManager.java: new + * CSharedLibraryManager.java + * CSignalManager.java + * CUpdateManager.java: new + * CDebugTarget.java + * CRegisterGroup.java + 2003-03-28 Mikhail Khodjaiants Use the 'exists' method of the 'IFile' interface instead of using 'toFile().exists()' for 'IPath'. * CDirectorySourceLocation.java diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/ICRegisterManager.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/ICRegisterManager.java new file mode 100644 index 00000000000..2953ee50203 --- /dev/null +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/ICRegisterManager.java @@ -0,0 +1,33 @@ +/* + *(c) Copyright QNX Software Systems Ltd. 2002. + * All Rights Reserved. + * + */ + +package org.eclipse.cdt.debug.core; + +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.debug.core.DebugException; +import org.eclipse.debug.core.model.IRegisterGroup; + +/** + * Enter type comment. + * + * @since Mar 31, 2003 + */ +public interface ICRegisterManager extends ICUpdateManager, IAdaptable +{ + void initialize(); + + IRegisterGroup[] getRegisterGroups() throws DebugException; + + void addRegisterGroup( IRegisterGroup group ); + + void removeRegisterGroup( IRegisterGroup group ); + + void removeAllRegisterGroups(); + + void reset(); + + void dispose(); +} diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CRegisterManager.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CRegisterManager.java new file mode 100644 index 00000000000..79ed0fb2bec --- /dev/null +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CRegisterManager.java @@ -0,0 +1,147 @@ +/* + *(c) Copyright QNX Software Systems Ltd. 2002. + * All Rights Reserved. + * + */ + +package org.eclipse.cdt.debug.internal.core; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import org.eclipse.cdt.debug.core.CDebugCorePlugin; +import org.eclipse.cdt.debug.core.ICRegisterManager; +import org.eclipse.cdt.debug.core.cdi.CDIException; +import org.eclipse.cdt.debug.core.cdi.ICDIManager; +import org.eclipse.cdt.debug.core.cdi.model.ICDIRegisterObject; +import org.eclipse.cdt.debug.internal.core.model.CDebugTarget; +import org.eclipse.cdt.debug.internal.core.model.CRegisterGroup; +import org.eclipse.debug.core.DebugException; +import org.eclipse.debug.core.model.IRegisterGroup; + +/** + * Enter type comment. + * + * @since Mar 31, 2003 + */ +public class CRegisterManager extends CUpdateManager implements ICRegisterManager +{ + /** + * Collection of register groups added to this target. Values are of type CRegisterGroup. + */ + private List fRegisterGroups; + + /** + * + */ + public CRegisterManager( CDebugTarget target ) + { + super( target ); + } + + /* (non-Javadoc) + * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class) + */ + public Object getAdapter( Class adapter ) + { + if ( ICRegisterManager.class.equals( adapter ) ) + return this; + if ( CRegisterManager.class.equals( adapter ) ) + return this; + return super.getAdapter( adapter ); + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.debug.core.ICRegisterManager#dispose() + */ + public void dispose() + { + removeAllRegisterGroups(); + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.debug.core.ICRegisterManager#addRegisterGroup(org.eclipse.debug.core.model.IRegisterGroup) + */ + public void addRegisterGroup( IRegisterGroup group ) + { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.debug.core.ICRegisterManager#getRegisterGroups() + */ + public IRegisterGroup[] getRegisterGroups() throws DebugException + { + return (IRegisterGroup[])fRegisterGroups.toArray( new IRegisterGroup[fRegisterGroups.size()] ); + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.debug.core.ICRegisterManager#initialize() + */ + public void initialize() + { + fRegisterGroups = new ArrayList( 20 ); + createMainRegisterGroup(); + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.debug.core.ICRegisterManager#removeAllRegisterGroups() + */ + public void removeAllRegisterGroups() + { + Iterator it = fRegisterGroups.iterator(); + while( it.hasNext() ) + { + ((CRegisterGroup)it.next()).dispose(); + } + fRegisterGroups.clear(); + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.debug.core.ICRegisterManager#removeRegisterGroup(org.eclipse.debug.core.model.IRegisterGroup) + */ + public void removeRegisterGroup( IRegisterGroup group ) + { + fRegisterGroups.remove( group ); + } + + private void createMainRegisterGroup() + { + ICDIRegisterObject[] regObjects = null; + try + { + regObjects = getDebugTarget().getCDISession().getRegisterManager().getRegisterObjects(); + } + catch( CDIException e ) + { + CDebugCorePlugin.log( e ); + } + if ( regObjects != null ) + { + fRegisterGroups.add( new CRegisterGroup( getDebugTarget(), "Main", regObjects ) ); + } + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.debug.core.ICRegisterManager#reset() + */ + public void reset() + { + Iterator it = fRegisterGroups.iterator(); + while( it.hasNext() ) + { + ((CRegisterGroup)it.next()).resetChangeFlags(); + } + } + + protected ICDIManager getCDIManager() + { + if ( getDebugTarget() != null ) + { + return ((CDebugTarget)getDebugTarget()).getCDISession().getRegisterManager(); + } + return null; + } +} diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CSharedLibraryManager.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CSharedLibraryManager.java index 52bcd5355a1..112572e518c 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CSharedLibraryManager.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CSharedLibraryManager.java @@ -9,24 +9,22 @@ import java.util.ArrayList; import java.util.Iterator; import org.eclipse.cdt.debug.core.ICSharedLibraryManager; -import org.eclipse.cdt.debug.core.ICUpdateManager; import org.eclipse.cdt.debug.core.cdi.CDIException; +import org.eclipse.cdt.debug.core.cdi.ICDIManager; import org.eclipse.cdt.debug.core.cdi.ICDISharedLibraryManager; import org.eclipse.cdt.debug.core.cdi.model.ICDISharedLibrary; -import org.eclipse.cdt.debug.core.model.ICDebugTarget; import org.eclipse.cdt.debug.core.model.ICSharedLibrary; import org.eclipse.cdt.debug.internal.core.model.CDebugTarget; import org.eclipse.cdt.debug.internal.core.model.CSharedLibrary; import org.eclipse.debug.core.DebugEvent; import org.eclipse.debug.core.DebugException; -import org.eclipse.debug.core.model.IDebugTarget; /** * Enter type comment. * * @since: Jan 16, 2003 */ -public class CSharedLibraryManager implements ICSharedLibraryManager +public class CSharedLibraryManager extends CUpdateManager implements ICSharedLibraryManager { private CDebugTarget fDebugTarget = null; private ArrayList fSharedLibraries; @@ -36,7 +34,7 @@ public class CSharedLibraryManager implements ICSharedLibraryManager */ public CSharedLibraryManager( CDebugTarget target ) { - setDebugTarget( target ); + super( target ); fSharedLibraries = new ArrayList( 5 ); } @@ -103,10 +101,6 @@ public class CSharedLibraryManager implements ICSharedLibraryManager */ public Object getAdapter( Class adapter ) { - if ( adapter.equals( ICUpdateManager.class ) ) - { - return this; - } if ( adapter.equals( ICSharedLibraryManager.class ) ) { return this; @@ -115,25 +109,7 @@ public class CSharedLibraryManager implements ICSharedLibraryManager { return this; } - if ( adapter.equals( IDebugTarget.class ) ) - { - return fDebugTarget; - } - if ( adapter.equals( ICDebugTarget.class ) ) - { - return fDebugTarget; - } - return null; - } - - public IDebugTarget getDebugTarget() - { - return fDebugTarget; - } - - protected void setDebugTarget( CDebugTarget target ) - { - fDebugTarget = target; + return super.getAdapter( adapter ); } protected CSharedLibrary find( ICDISharedLibrary cdiLibrary ) @@ -147,49 +123,8 @@ public class CSharedLibraryManager implements ICSharedLibraryManager } return null; } - - /* (non-Javadoc) - * @see org.eclipse.cdt.debug.core.ICUpdateManager#getAutoModeEnabled() - */ - public boolean getAutoModeEnabled() - { - if ( getCDIManager() != null ) - { - return getCDIManager().isAutoUpdate(); - } - return false; - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.debug.core.ICUpdateManager#setAutoModeEnabled(boolean) - */ - public void setAutoModeEnabled( boolean enable ) - { - if ( getCDIManager() != null ) - { - getCDIManager().setAutoUpdate( enable ); - } - } - - /* (non-Javadoc) - * @see org.eclipse.cdt.debug.core.ICUpdateManager#update() - */ - public void update() throws DebugException - { - if ( getCDIManager() != null ) - { - try - { - getCDIManager().update(); - } - catch( CDIException e ) - { - ((CDebugTarget)getDebugTarget()).targetRequestFailed( e.toString(), null ); - } - } - } - private ICDISharedLibraryManager getCDIManager() + protected ICDIManager getCDIManager() { if ( getDebugTarget() != null ) { @@ -198,24 +133,12 @@ public class CSharedLibraryManager implements ICSharedLibraryManager return null; } - /* (non-Javadoc) - * @see org.eclipse.cdt.debug.core.ICUpdateManager#canUpdate() - */ - public boolean canUpdate() - { - if ( getDebugTarget() != null ) - { - return getDebugTarget().isSuspended(); - } - return false; - } - /* (non-Javadoc) * @see org.eclipse.cdt.debug.core.ICSharedLibraryManager#loadSymbols(org.eclipse.cdt.debug.core.model.ICSharedLibrary) */ public void loadSymbols( ICSharedLibrary[] libraries ) throws DebugException { - ICDISharedLibraryManager slm = getCDIManager(); + ICDISharedLibraryManager slm = (ICDISharedLibraryManager)getCDIManager(); if ( slm != null ) { ArrayList cdiLibs = new ArrayList( libraries.length ); @@ -239,7 +162,7 @@ public class CSharedLibraryManager implements ICSharedLibraryManager */ public void loadSymbolsForAll() throws DebugException { - ICDISharedLibraryManager slm = getCDIManager(); + ICDISharedLibraryManager slm = (ICDISharedLibraryManager)getCDIManager(); if ( slm != null ) { try diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CSignalManager.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CSignalManager.java index 253b506cc34..17737637d62 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CSignalManager.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CSignalManager.java @@ -9,22 +9,21 @@ import java.util.ArrayList; import org.eclipse.cdt.debug.core.ICSignalManager; import org.eclipse.cdt.debug.core.cdi.CDIException; +import org.eclipse.cdt.debug.core.cdi.ICDIManager; import org.eclipse.cdt.debug.core.cdi.model.ICDISignal; import org.eclipse.cdt.debug.core.model.ICSignal; import org.eclipse.cdt.debug.internal.core.model.CDebugTarget; import org.eclipse.cdt.debug.internal.core.model.CSignal; import org.eclipse.debug.core.DebugEvent; import org.eclipse.debug.core.DebugException; -import org.eclipse.debug.core.model.IDebugTarget; /** * Enter type comment. * * @since: Jan 31, 2003 */ -public class CSignalManager implements ICSignalManager +public class CSignalManager extends CUpdateManager implements ICSignalManager { - private CDebugTarget fDebugTarget = null; private ICSignal[] fSignals = null; private boolean fIsDisposed = false; @@ -33,7 +32,7 @@ public class CSignalManager implements ICSignalManager */ public CSignalManager( CDebugTarget target ) { - setDebugTarget( target ); + super( target ); } /* (non-Javadoc) @@ -87,21 +86,7 @@ public class CSignalManager implements ICSignalManager { return this; } - if ( adapter.equals( IDebugTarget.class ) ) - { - return fDebugTarget; - } - return null; - } - - public IDebugTarget getDebugTarget() - { - return fDebugTarget; - } - - protected void setDebugTarget( CDebugTarget target ) - { - fDebugTarget = target; + return super.getAdapter( adapter ); } public void signalChanged( ICDISignal cdiSignal ) @@ -132,4 +117,13 @@ public class CSignalManager implements ICSignalManager { return fIsDisposed; } + + protected ICDIManager getCDIManager() + { + if ( getDebugTarget() != null ) + { + return ((CDebugTarget)getDebugTarget()).getCDISession().getSignalManager(); + } + return null; + } } diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CUpdateManager.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CUpdateManager.java new file mode 100644 index 00000000000..1a927e83b34 --- /dev/null +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CUpdateManager.java @@ -0,0 +1,108 @@ +/* + *(c) Copyright QNX Software Systems Ltd. 2002. + * All Rights Reserved. + * + */ + +package org.eclipse.cdt.debug.internal.core; + +import org.eclipse.cdt.debug.core.ICUpdateManager; +import org.eclipse.cdt.debug.core.cdi.CDIException; +import org.eclipse.cdt.debug.core.cdi.ICDIManager; +import org.eclipse.cdt.debug.core.model.ICDebugTarget; +import org.eclipse.cdt.debug.internal.core.model.CDebugTarget; +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.debug.core.DebugException; +import org.eclipse.debug.core.model.IDebugTarget; + +/** + * Enter type comment. + * + * @since Mar 31, 2003 + */ +public abstract class CUpdateManager implements ICUpdateManager, IAdaptable +{ + private CDebugTarget fDebugTarget = null; + + /** + * + */ + public CUpdateManager( CDebugTarget target ) + { + fDebugTarget = target; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.debug.core.ICUpdateManager#setAutoModeEnabled(boolean) + */ + public void setAutoModeEnabled( boolean enable ) + { + if ( getCDIManager() != null ) + { + getCDIManager().setAutoUpdate( enable ); + } + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.debug.core.ICUpdateManager#getAutoModeEnabled() + */ + public boolean getAutoModeEnabled() + { + if ( getCDIManager() != null ) + { + return getCDIManager().isAutoUpdate(); + } + return false; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.debug.core.ICUpdateManager#update() + */ + public void update() throws DebugException + { + if ( getCDIManager() != null ) + { + try + { + getCDIManager().update(); + } + catch( CDIException e ) + { + ((CDebugTarget)getDebugTarget()).targetRequestFailed( e.toString(), null ); + } + } + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.debug.core.ICUpdateManager#canUpdate() + */ + public boolean canUpdate() + { + if ( getDebugTarget() != null ) + { + return getDebugTarget().isSuspended(); + } + return false; + } + + /* (non-Javadoc) + * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class) + */ + public Object getAdapter( Class adapter ) + { + if ( ICUpdateManager.class.equals( adapter ) ) + return this; + if ( IDebugTarget.class.equals( adapter ) ) + return getDebugTarget(); + if ( ICDebugTarget.class.equals( adapter ) ) + return getDebugTarget(); + return null; + } + + public CDebugTarget getDebugTarget() + { + return fDebugTarget; + } + + abstract protected ICDIManager getCDIManager(); +} 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 8da98d330bb..a089d114d89 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 @@ -22,6 +22,7 @@ import org.eclipse.cdt.debug.core.CDebugCorePlugin; import org.eclipse.cdt.debug.core.CDebugModel; import org.eclipse.cdt.debug.core.ICBreakpointManager; import org.eclipse.cdt.debug.core.ICMemoryManager; +import org.eclipse.cdt.debug.core.ICRegisterManager; import org.eclipse.cdt.debug.core.ICSharedLibraryManager; import org.eclipse.cdt.debug.core.ICSignalManager; import org.eclipse.cdt.debug.core.cdi.CDIException; @@ -50,7 +51,6 @@ import org.eclipse.cdt.debug.core.cdi.event.ICDISuspendedEvent; import org.eclipse.cdt.debug.core.cdi.model.ICDIBreakpoint; import org.eclipse.cdt.debug.core.cdi.model.ICDILocationBreakpoint; import org.eclipse.cdt.debug.core.cdi.model.ICDIObject; -import org.eclipse.cdt.debug.core.cdi.model.ICDIRegisterObject; import org.eclipse.cdt.debug.core.cdi.model.ICDISharedLibrary; import org.eclipse.cdt.debug.core.cdi.model.ICDISignal; import org.eclipse.cdt.debug.core.cdi.model.ICDITarget; @@ -75,6 +75,7 @@ import org.eclipse.cdt.debug.core.sourcelookup.ICSourceLocator; import org.eclipse.cdt.debug.core.sourcelookup.ISourceMode; import org.eclipse.cdt.debug.internal.core.CDebugUtils; import org.eclipse.cdt.debug.internal.core.CMemoryManager; +import org.eclipse.cdt.debug.internal.core.CRegisterManager; import org.eclipse.cdt.debug.internal.core.CSharedLibraryManager; import org.eclipse.cdt.debug.internal.core.CSignalManager; import org.eclipse.cdt.debug.internal.core.ICDebugInternalConstants; @@ -213,11 +214,6 @@ public class CDebugTarget extends CDebugElement */ private HashMap fBreakpoints; - /** - * Collection of register groups added to this target. Values are of type CRegisterGroup. - */ - private List fRegisterGroups; - /** * A memory manager for this target. */ @@ -238,6 +234,11 @@ public class CDebugTarget extends CDebugElement */ private CSignalManager fSignalManager; + /** + * A register manager for this target. + */ + private CRegisterManager fRegisterManager; + /** * Whether the debugger process is default. */ @@ -284,6 +285,7 @@ public class CDebugTarget extends CDebugElement setDisassemblyManager( new DisassemblyManager( this ) ); setSharedLibraryManager( new CSharedLibraryManager( this ) ); setSignalManager( new CSignalManager( this ) ); + setRegisterManager( new CRegisterManager( this ) ); initialize(); DebugPlugin.getDefault().getLaunchManager().addLaunchListener( this ); DebugPlugin.getDefault().getExpressionManager().addExpressionListener( this ); @@ -387,8 +389,7 @@ public class CDebugTarget extends CDebugElement protected void initializeRegisters() { - fRegisterGroups = new ArrayList( 20 ); - createMainRegisterGroup(); + getRegisterManager().initialize(); } protected void initializeMemoryManager() @@ -931,6 +932,8 @@ public class CDebugTarget extends CDebugElement return getSharedLibraryManager(); if ( adapter.equals( ICSignalManager.class ) ) return getSignalManager(); + if ( adapter.equals( ICRegisterManager.class ) ) + return getRegisterManager(); return super.getAdapter( adapter ); } @@ -1175,7 +1178,6 @@ public class CDebugTarget extends CDebugElement protected void cleanup() { removeAllThreads(); - removeAllRegisterGroups(); getCDISession().getEventManager().removeEventListener( this ); DebugPlugin.getDefault().getBreakpointManager().removeBreakpointListener( this ); DebugPlugin.getDefault().getExpressionManager().removeExpressionListener( this ); @@ -1183,6 +1185,7 @@ public class CDebugTarget extends CDebugElement disposeMemoryManager(); disposeSharedLibraryManager(); disposeSignalManager(); + disposeRegisterManager(); removeAllExpressions(); try { @@ -2017,42 +2020,6 @@ public class CDebugTarget extends CDebugElement return isAvailable() && isSuspended(); } - protected IRegisterGroup[] getRegisterGroups() throws DebugException - { - return (IRegisterGroup[])fRegisterGroups.toArray( new IRegisterGroup[fRegisterGroups.size()] ); - } - - protected IRegisterGroup[] getRegisterGroups( CStackFrame stackFrame ) throws DebugException - { - return (IRegisterGroup[])fRegisterGroups.toArray( new IRegisterGroup[fRegisterGroups.size()] ); - } - - protected void createMainRegisterGroup() - { - ICDIRegisterObject[] regObjects = null; - try - { - regObjects = getCDISession().getRegisterManager().getRegisterObjects(); - } - catch( CDIException e ) - { - CDebugCorePlugin.log( e ); - } - if ( regObjects != null ) - { - fRegisterGroups.add( new CRegisterGroup( this, "Main", regObjects ) ); - } - } - - protected void removeAllRegisterGroups() - { - Iterator it = fRegisterGroups.iterator(); - while( it.hasNext() ) - { - ((CRegisterGroup)it.next()).dispose(); - } - } - /* (non-Javadoc) * @see org.eclipse.debug.core.IExpressionListener#expressionAdded(IExpression) */ @@ -2194,11 +2161,7 @@ public class CDebugTarget extends CDebugElement protected void resetRegisters() { - Iterator it = fRegisterGroups.iterator(); - while( it.hasNext() ) - { - ((CRegisterGroup)it.next()).resetChangeFlags(); - } + getRegisterManager().reset(); } /** @@ -2395,6 +2358,11 @@ public class CDebugTarget extends CDebugElement fSignalManager.dispose(); } + protected void disposeRegisterManager() + { + fRegisterManager.dispose(); + } + /* (non-Javadoc) * @see org.eclipse.cdt.debug.core.ICBreakpointManager#getBreakpointAddress(IBreakpoint) */ @@ -2554,4 +2522,19 @@ public class CDebugTarget extends CDebugElement targetRequestFailed( e.toString(), e ); } } + + public CRegisterManager getRegisterManager() + { + return fRegisterManager; + } + + protected void setRegisterManager( CRegisterManager registerManager ) + { + fRegisterManager = registerManager; + } + + public IRegisterGroup[] getRegisterGroups() throws DebugException + { + return getRegisterManager().getRegisterGroups(); + } } diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CRegisterGroup.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CRegisterGroup.java index 66a2bd954fe..ac29a9e3bbb 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CRegisterGroup.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CRegisterGroup.java @@ -80,7 +80,7 @@ public class CRegisterGroup extends CDebugElement implements IRegisterGroup return fRegisters; } - protected void dispose() + public void dispose() { Iterator it = fRegisters.iterator(); while( it.hasNext() ) @@ -107,7 +107,7 @@ public class CRegisterGroup extends CDebugElement implements IRegisterGroup return results; } - protected void resetChangeFlags() + public void resetChangeFlags() { if ( fRegisters == null ) return;