diff options
author | cvs2svn | 2005-01-12 21:35:42 +0000 |
---|---|---|
committer | cvs2svn | 2005-01-12 21:35:42 +0000 |
commit | 8316fead6c1d3c32bae468e0ca1efb2dfc8ec77c (patch) | |
tree | 0094433c122c8923167ffb42f5dcc17388322b11 | |
parent | 4098c1c2e8a69f99a1f0de581f4b70c816df1ba6 (diff) | |
download | eclipse.platform.debug-breakpoint_organizers.tar.gz eclipse.platform.debug-breakpoint_organizers.tar.xz eclipse.platform.debug-breakpoint_organizers.zip |
This commit was manufactured by cvs2svn to create branchbreakpoint_organizers
'breakpoint_organizers'.
Sprout from master 2005-01-12 21:35:40 UTC Kevin Barnes <krbarnes> 'Bug 82708 - Cannot delete console output file w/o removing console'
Delete:
org.eclipse.core.variables/.classpath
org.eclipse.core.variables/.cvsignore
org.eclipse.core.variables/.options
org.eclipse.core.variables/.project
org.eclipse.core.variables/.settings/org.eclipse.jdt.core.prefs
org.eclipse.core.variables/.settings/org.eclipse.pde.prefs
org.eclipse.core.variables/about.html
org.eclipse.core.variables/build.properties
org.eclipse.core.variables/plugin.properties
org.eclipse.core.variables/plugin.xml
org.eclipse.core.variables/schema/dynamicVariables.exsd
org.eclipse.core.variables/schema/valueVariables.exsd
org.eclipse.core.variables/src/org/eclipse/core/internal/variables/DynamicVariable.java
org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ListenerList.java
org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringSubstitutionEngine.java
org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariable.java
org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java
org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ValueVariable.java
org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java
org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.properties
org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java
org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java
org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java
org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java
org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java
org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java
org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java
org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java
org.eclipse.core.variables/src/org/eclipse/core/variables/package.html
org.eclipse.debug.core/.classpath
org.eclipse.debug.core/.cvsignore
org.eclipse.debug.core/.options
org.eclipse.debug.core/.project
org.eclipse.debug.core/.settings/org.eclipse.jdt.core.prefs
org.eclipse.debug.core/.settings/org.eclipse.pde.prefs
org.eclipse.debug.core/about.html
org.eclipse.debug.core/build.properties
org.eclipse.debug.core/buildnotes_platform-debug.html
org.eclipse.debug.core/core/org/eclipse/debug/core/DebugEvent.java
org.eclipse.debug.core/core/org/eclipse/debug/core/DebugException.java
org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java
org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointListener.java
org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManager.java
org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManagerListener.java
org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointsListener.java
org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventFilter.java
org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventSetListener.java
org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionListener.java
org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionManager.java
org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionsListener.java
org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunch.java
org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfiguration.java
org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationListener.java
org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationType.java
org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationWorkingCopy.java
org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchListener.java
org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchManager.java
org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchMode.java
org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener.java
org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener2.java
org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureProvider.java
org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureType.java
org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockListener.java
org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockManager.java
org.eclipse.debug.core/core/org/eclipse/debug/core/IProcessFactory.java
org.eclipse.debug.core/core/org/eclipse/debug/core/IStatusHandler.java
org.eclipse.debug.core/core/org/eclipse/debug/core/IStreamListener.java
org.eclipse.debug.core/core/org/eclipse/debug/core/Launch.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IBreakpoint.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugElement.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugModelProvider.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugTarget.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDisconnect.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IErrorReportingExpression.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IExpression.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFilteredStep.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFlushableStreamMonitor.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IIndexedValue.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate2.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILineBreakpoint.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate2.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlock.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockExtension.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockExtensionRetrieval.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IPersistableSourceLocator.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IProcess.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegister.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegisterGroup.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISourceLocator.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStackFrame.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStep.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStepFilters.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamMonitor.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy2.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISuspendResume.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/ITerminate.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IThread.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValue.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValueModification.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IVariable.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpression.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionDelegate.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionListener.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionResult.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchpoint.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/LaunchConfigurationDelegate.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/LineBreakpoint.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/MemoryByte.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/RuntimeProcess.java
org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html
org.eclipse.debug.core/core/org/eclipse/debug/core/package.html
org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupDirector.java
org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupParticipant.java
org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/IPersistableSourceLocator2.java
org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainer.java
org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerType.java
org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerTypeDelegate.java
org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupDirector.java
org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupParticipant.java
org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputer.java
org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputerDelegate.java
org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainer.java
org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainerTypeDelegate.java
org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ArchiveSourceContainer.java
org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/CompositeSourceContainer.java
org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/DefaultSourceContainer.java
org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/DirectorySourceContainer.java
org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ExternalArchiveSourceContainer.java
org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/FolderSourceContainer.java
org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/LocalFileStorage.java
org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ProjectSourceContainer.java
org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/WorkspaceSourceContainer.java
org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ZipEntryStorage.java
org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/package.html
org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/package.html
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ContributedDelegate.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.properties
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugElement.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/EnvironmentVariableResolver.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ExpressionManager.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/InputStreamMonitor.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfiguration.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationComparator.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationInfo.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationType.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationWorkingCopy.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchManager.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchMode.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ListenerList.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureManager.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureProvider.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureType.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/MemoryBlockManager.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/NullStreamsProxy.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/StreamsProxy.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/SystemVariableResolver.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/WatchExpression.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceContainerType.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLocatorMementoComparator.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupMessages.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupMessages.properties
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupUtils.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourcePathComputer.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ArchiveSourceContainerType.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ContainerSourceContainer.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/DefaultSourceContainerType.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/DirectorySourceContainerType.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ExternalArchiveSourceContainerType.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/FolderSourceContainerType.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ProjectSourceContainerType.java
org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/WorkspaceSourceContainerType.java
org.eclipse.debug.core/doc/.cvsignore
org.eclipse.debug.core/doc/org_eclipse_debug_core_sourceContainerTypes.html
org.eclipse.debug.core/doc/org_eclipse_debug_core_sourcePathComputers.html
org.eclipse.debug.core/hglegal2003.htm
org.eclipse.debug.core/ngibmcpy2003.gif
org.eclipse.debug.core/plugin.properties
org.eclipse.debug.core/plugin.xml
org.eclipse.debug.core/r2_0_buildnotes_platform-debug.html
org.eclipse.debug.core/r2_1_buildnotes_platform-debug.html
org.eclipse.debug.core/r3_0_buildnotes_platform-debug.html
org.eclipse.debug.core/r3_0_changes.html
org.eclipse.debug.core/r3_1_changes.html
org.eclipse.debug.core/schema/breakpoints.exsd
org.eclipse.debug.core/schema/launchConfigurationComparators.exsd
org.eclipse.debug.core/schema/launchConfigurationTypes.exsd
org.eclipse.debug.core/schema/launchDelegates.exsd
org.eclipse.debug.core/schema/launchModes.exsd
org.eclipse.debug.core/schema/launchers.exsd
org.eclipse.debug.core/schema/logicalStructureProviders.exsd
org.eclipse.debug.core/schema/logicalStructureTypes.exsd
org.eclipse.debug.core/schema/processFactories.exsd
org.eclipse.debug.core/schema/sourceContainerTypes.exsd
org.eclipse.debug.core/schema/sourceLocators.exsd
org.eclipse.debug.core/schema/sourcePathComputers.exsd
org.eclipse.debug.core/schema/statusHandlers.exsd
org.eclipse.debug.core/schema/watchExpressionDelegates.exsd
org.eclipse.debug.core/scripts/exportplugin.xml
org.eclipse.ui.console/.classpath
org.eclipse.ui.console/.cvsignore
org.eclipse.ui.console/.options
org.eclipse.ui.console/.project
org.eclipse.ui.console/.settings/org.eclipse.jdt.core.prefs
org.eclipse.ui.console/.settings/org.eclipse.pde.prefs
org.eclipse.ui.console/about.html
org.eclipse.ui.console/build.properties
org.eclipse.ui.console/hglegal2003.htm
org.eclipse.ui.console/icons/full/clcl16/clear_co.gif
org.eclipse.ui.console/icons/full/clcl16/lock_co.gif
org.eclipse.ui.console/icons/full/clcl16/pin.gif
org.eclipse.ui.console/icons/full/cview16/console_view.gif
org.eclipse.ui.console/icons/full/dlcl16/clear_co.gif
org.eclipse.ui.console/icons/full/dlcl16/lock_co.gif
org.eclipse.ui.console/icons/full/dlcl16/pin.gif
org.eclipse.ui.console/icons/full/dlcl16/rem_co.gif
org.eclipse.ui.console/icons/full/elcl16/clear_co.gif
org.eclipse.ui.console/icons/full/elcl16/lock_co.gif
org.eclipse.ui.console/icons/full/elcl16/new_con.gif
org.eclipse.ui.console/icons/full/elcl16/pin.gif
org.eclipse.ui.console/icons/full/elcl16/rem_co.gif
org.eclipse.ui.console/icons/full/eview16/console_view.gif
org.eclipse.ui.console/ngibmcpy2003.gif
org.eclipse.ui.console/plugin.properties
org.eclipse.ui.console/plugin.xml
org.eclipse.ui.console/schema/consoleFactories.exsd
org.eclipse.ui.console/schema/consolePageParticipants.exsd
org.eclipse.ui.console/schema/consolePatternMatchListeners.exsd
org.eclipse.ui.console/scripts/exportplugin.xml
org.eclipse.ui.console/src/org/eclipse/ui/console/AbstractConsole.java
org.eclipse.ui.console/src/org/eclipse/ui/console/ConsolePlugin.java
org.eclipse.ui.console/src/org/eclipse/ui/console/IConsole.java
org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleConstants.java
org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleDocumentPartitioner.java
org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleFactory.java
org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleListener.java
org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleManager.java
org.eclipse.ui.console/src/org/eclipse/ui/console/IConsolePageParticipant.java
org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleView.java
org.eclipse.ui.console/src/org/eclipse/ui/console/IHyperlink.java
org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsole.java
org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsoleInputStream.java
org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsoleOutputStream.java
org.eclipse.ui.console/src/org/eclipse/ui/console/IPatternMatchListener.java
org.eclipse.ui.console/src/org/eclipse/ui/console/IPatternMatchListenerDelegate.java
org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsole.java
org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsoleStream.java
org.eclipse.ui.console/src/org/eclipse/ui/console/PatternMatchEvent.java
org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsole.java
org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsolePage.java
org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsoleViewer.java
org.eclipse.ui.console/src/org/eclipse/ui/console/actions/ClearOutputAction.java
org.eclipse.ui.console/src/org/eclipse/ui/console/actions/CloseConsoleAction.java
org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerAction.java
org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerGotoLineAction.java
org.eclipse.ui.console/src/org/eclipse/ui/console/actions/package.html
org.eclipse.ui.console/src/org/eclipse/ui/console/package.html
org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDocument.java
org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDocumentAdapter.java
org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDropDownAction.java
org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleFactoryExtension.java
org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleHyperlinkPosition.java
org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleManager.java
org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.java
org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.properties
org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePageParticipantExtension.java
org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePatternMatcher.java
org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePluginImages.java
org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleTypePropertyTester.java
org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleView.java
org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleViewConsoleFactory.java
org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleWorkbenchPart.java
org.eclipse.ui.console/src/org/eclipse/ui/internal/console/FollowHyperlinkAction.java
org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IConsoleHelpContextIds.java
org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IInternalConsoleConstants.java
org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePage.java
org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePartition.java
org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePartitioner.java
org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsoleViewer.java
org.eclipse.ui.console/src/org/eclipse/ui/internal/console/OpenConsoleAction.java
org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PatternMatchListener.java
org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PatternMatchListenerExtension.java
org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PinConsoleAction.java
org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ScrollLockAction.java
org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ShowConsoleAction.java
org.eclipse.ui.externaltools/.classpath
org.eclipse.ui.externaltools/.cvsignore
org.eclipse.ui.externaltools/.options
org.eclipse.ui.externaltools/.project
org.eclipse.ui.externaltools/.settings/org.eclipse.jdt.core.prefs
org.eclipse.ui.externaltools/.settings/org.eclipse.pde.prefs
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsBuilderTab.java
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.java
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.properties
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsMainTab.java
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsUtil.java
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/IgnoreWhiteSpaceComparator.java
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/WorkingSetComparator.java
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/ExternalToolMenuDelegate.java
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/OpenExternalToolsConfigurations.java
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/BuilderUtils.java
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolBuilder.java
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsImages.java
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.java
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.properties
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPlugin.java
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPreferenceInitializer.java
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolConstants.java
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolsHelpContextIds.java
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IPreferenceConstants.java
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ImageDescriptorRegistry.java
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/registry/ExternalToolMigration.java
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderLabelProvider.java
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderPropertyPage.java
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsPreferencePage.java
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.java
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.properties
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/FileSelectionDialog.java
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/TreeAndListGroup.java
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildProjectResolver.java
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildTypeResolver.java
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.java
org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.properties
org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/BackgroundResourceRefresher.java
org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.java
org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.properties
org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramBuilderTabGroup.java
org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramLaunchDelegate.java
org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramMainTab.java
org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramTabGroup.java
org.eclipse.ui.externaltools/about.html
org.eclipse.ui.externaltools/build.properties
org.eclipse.ui.externaltools/buildfiles/exportplugin.xml
org.eclipse.ui.externaltools/icons/full/dtool16/external_tools.gif
org.eclipse.ui.externaltools/icons/full/etool16/external_tools.gif
org.eclipse.ui.externaltools/icons/full/obj16/builder.gif
org.eclipse.ui.externaltools/icons/full/obj16/classpath.gif
org.eclipse.ui.externaltools/icons/full/obj16/external_tools.gif
org.eclipse.ui.externaltools/icons/full/obj16/invalid_build_tool.gif
org.eclipse.ui.externaltools/icons/full/obj16/main_tab.gif
org.eclipse.ui.externaltools/icons/full/wizban/ext_tools_wiz.gif
org.eclipse.ui.externaltools/plugin.properties
org.eclipse.ui.externaltools/plugin.xml
org.eclipse.ui.externaltools/schema/configurationDuplicationMaps.exsd
351 files changed, 0 insertions, 46027 deletions
diff --git a/org.eclipse.core.variables/.classpath b/org.eclipse.core.variables/.classpath deleted file mode 100644 index 065ac06e1..000000000 --- a/org.eclipse.core.variables/.classpath +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" path="src"/> - <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="output" path="bin"/> -</classpath> diff --git a/org.eclipse.core.variables/.cvsignore b/org.eclipse.core.variables/.cvsignore deleted file mode 100644 index 693869726..000000000 --- a/org.eclipse.core.variables/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -bin -doc diff --git a/org.eclipse.core.variables/.options b/org.eclipse.core.variables/.options deleted file mode 100644 index 34a7de878..000000000 --- a/org.eclipse.core.variables/.options +++ /dev/null @@ -1 +0,0 @@ -# Debugging options for the org.eclipse.core.variables plugin. diff --git a/org.eclipse.core.variables/.project b/org.eclipse.core.variables/.project deleted file mode 100644 index efb82a149..000000000 --- a/org.eclipse.core.variables/.project +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>org.eclipse.core.variables</name> - <comment></comment> - <buildSpec> - <buildCommand> - <name>org.eclipse.pde.ManifestBuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.SchemaBuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.pde.PluginNature</nature> - <nature>org.eclipse.jdt.core.javanature</nature> - </natures> -</projectDescription> diff --git a/org.eclipse.core.variables/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.core.variables/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index e22d63ab0..000000000 --- a/org.eclipse.core.variables/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,69 +0,0 @@ -#Mon Nov 01 17:54:58 GMT-08:00 2004
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-eclipse.preferences.version=1
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=disabled
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
diff --git a/org.eclipse.core.variables/.settings/org.eclipse.pde.prefs b/org.eclipse.core.variables/.settings/org.eclipse.pde.prefs deleted file mode 100644 index 02f5958dc..000000000 --- a/org.eclipse.core.variables/.settings/org.eclipse.pde.prefs +++ /dev/null @@ -1,14 +0,0 @@ -#Wed Nov 24 22:35:14 GMT-08:00 2004
-compilers.p.unused-element-or-attribute=1
-compilers.p.unresolved-ex-points=0
-compilers.p.deprecated=1
-compilers.p.unknown-element=0
-compilers.p.unknown-resource=1
-compilers.p.unknown-class=1
-compilers.p.unknown-attribute=0
-compilers.p.no-required-att=0
-eclipse.preferences.version=1
-compilers.p.unresolved-import=0
-compilers.p.not-externalized-att=1
-compilers.p.illegal-att-value=0
-compilers.use-project=true
diff --git a/org.eclipse.core.variables/about.html b/org.eclipse.core.variables/about.html deleted file mode 100644 index abd7bd730..000000000 --- a/org.eclipse.core.variables/about.html +++ /dev/null @@ -1,30 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> -<html> -<head> -<title>About</title> -<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1"> -</head> -<body lang="EN-US"> -<h2>About This Content</h2> - -<p>2nd October, 2003</p> -<h3>License</h3> -<p>Eclipse.org makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the -Common Public License Version 1.0 ("CPL"). A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>. -For purposes of the CPL, "Program" will mean the Content.</p> - -<h3>Contributions</h3> - -<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise -made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such -Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p> - -<p>If this Content is licensed to you under license terms and conditions other than the CPL ("Other License"), any modifications, enhancements and/or -other code and/or documentation ("Modifications") uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the -host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available -to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also -providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of -the CPL.</p> - -</body> -</html>
\ No newline at end of file diff --git a/org.eclipse.core.variables/build.properties b/org.eclipse.core.variables/build.properties deleted file mode 100644 index e6c0fdaec..000000000 --- a/org.eclipse.core.variables/build.properties +++ /dev/null @@ -1,17 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2003 IBM Corporation 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: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = .options,\ - plugin.xml,\ - plugin.properties,\ - *.jar,\ - about.html -source.variables.jar = src/ -src.includes=about.html, schema/ diff --git a/org.eclipse.core.variables/plugin.properties b/org.eclipse.core.variables/plugin.properties deleted file mode 100644 index 0e263976e..000000000 --- a/org.eclipse.core.variables/plugin.properties +++ /dev/null @@ -1,15 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2004 IBM Corporation 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: -# IBM Corporation - initial API and implementation -############################################################################### - -pluginName=Core Variables -providerName=Eclipse.org -valueVariablesExtensionPointName=Value Variables -dynamicVariablesExtensionPointName=Dynamic Variables diff --git a/org.eclipse.core.variables/plugin.xml b/org.eclipse.core.variables/plugin.xml deleted file mode 100644 index 15731bbf6..000000000 --- a/org.eclipse.core.variables/plugin.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?eclipse version="3.0"?> -<plugin - id="org.eclipse.core.variables" - name="%pluginName" - version="3.1.0" - provider-name="%providerName" - class="org.eclipse.core.variables.VariablesPlugin"> - - <runtime> - <library name="variables.jar"> - <export name="*"/> - </library> - </runtime> - <requires> - <import plugin="org.eclipse.core.runtime"/> - </requires> - - <extension-point id="valueVariables" name="%valueVariablesExtensionPointName" schema="schema/valueVariables.exsd"/> - <extension-point id="dynamicVariables" name="%dynamicVariablesExtensionPointName" schema="schema/dynamicVariables.exsd"/> - -</plugin> diff --git a/org.eclipse.core.variables/schema/dynamicVariables.exsd b/org.eclipse.core.variables/schema/dynamicVariables.exsd deleted file mode 100644 index deb145968..000000000 --- a/org.eclipse.core.variables/schema/dynamicVariables.exsd +++ /dev/null @@ -1,130 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.core.variables">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.core.variables" id="dynamicVariables" name="Dynamic Stirng Substitution Variables"/>
- </appInfo>
- <documentation>
- This extension point provides a mechanism for defining dynamic variables used in string substitution. The value of a dynamic variable is resolved at the time a string substitution is performed, with an optional argument.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="variable" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
- a fully qualified identifier of the target extension point
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
- an optional identifier of the extension instance
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
- an optional name of the extension instance
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="variable">
- <complexType>
- <attribute name="name" type="string" use="required">
- <annotation>
- <documentation>
- specifies a unique name for this variable.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="resolver" type="string" use="required">
- <annotation>
- <documentation>
- specifies a Java class which implements <code>org.eclipse.core.variables.IDynamicVariableResolver</code>, which is used to determine the value of the variable
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.core.variables.IDynamicVariableResolver"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="description" type="string" use="required">
- <annotation>
- <documentation>
- specifies a human-readable description of this variable
- </documentation>
- <appInfo>
- <meta.attribute translatable="true"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="supportsArgument" type="boolean">
- <annotation>
- <documentation>
- Whether this variable supports an argument. When unspecified, the implied value is <code>true</code>.
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 3.0
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- The following is a definition of a dynamic variable that resolves to the name of the selected resource: -<pre> - <extension point="org.eclipse.core.variables.dynamicVariables"> - <variable - name="resource_name" - expanderClass="com.example.ResourceNameExpander" - description="The name of the selected resource"> - </variable> - </extension> -</pre>
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- Value of the attribute <b>resolver</b> must be a fully qualified name of a Java class that implements the interface <b>org.eclipse.core.variables.IDynamicVariableResolver</b>.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2003, 2004 IBM Corporation and others.<br> -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 -<a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>
- </documentation>
- </annotation>
-
-</schema>
diff --git a/org.eclipse.core.variables/schema/valueVariables.exsd b/org.eclipse.core.variables/schema/valueVariables.exsd deleted file mode 100644 index 4037055c8..000000000 --- a/org.eclipse.core.variables/schema/valueVariables.exsd +++ /dev/null @@ -1,149 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.core.variables">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.core.variables" id="valueVariables" name="Value Variables"/>
- </appInfo>
- <documentation>
- This extension point provides a mechanism for defining variables used for string substitution. A value variable has a static value.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="variable" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
- a fully qualified identifier of the target extension point
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
- an optional identifier of the extension instance
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
- an optional name of the extension instance
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="variable">
- <complexType>
- <attribute name="name" type="string" use="required">
- <annotation>
- <documentation>
- specifies a unique name for this variable.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="initialValue" type="string">
- <annotation>
- <documentation>
- specifies the initial value for this variable. When specified, an <code>initializerClass</code> attribute must not be specified.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="initializerClass" type="string">
- <annotation>
- <documentation>
- specifies the fully qualified name of the Java class that implements <code>org.eclipse.core.variables.IValueVariableInitializer</code>. When specified, an <code>initialValue</code> attribute must not be specified.
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.core.variables.IValueVariableInitializer"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="description" type="string">
- <annotation>
- <documentation>
- specifies a human-readable description of this variable.
- </documentation>
- <appInfo>
- <meta.attribute translatable="true"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 3.0
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- The following is an example of a value variable contribution with an initial value: - -<p> -<pre> - <extension point="org.eclipse.core.variables.valueVariables"> - <variable - name="FOO_HOME" - initialValue="/usr/local/foo"> - </variable> - </extension> -</pre> -</p> - -In the example above, the specified variable is created with the initial value "/usr/local/foo". - - The following is an example of a value variable contribution with an initializer class: -<p> -<pre> - <extension point="org.eclipse.core.variables.valueVariables"> - <variable - name="FOO_HOME" - initializerClass="com.example.FooLocator"> - </variable> - </extension> -</pre> -</p> - -In the example above, the variable FOO_HOME is created and the class "com.example.FooLocator" will be -used to initialize the value the first time it's requested.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- Value of the attribute <b>initializerClass</b> must be a fully qualified name of a Java class that implements the interface <b>org.eclipse.core.variables.IValueVariableInitializer</b>.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2003, 2004 IBM Corporation and others.<br> -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 -<a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>
- </documentation>
- </annotation>
-
-</schema>
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/DynamicVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/DynamicVariable.java deleted file mode 100644 index 7abf47557..000000000 --- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/DynamicVariable.java +++ /dev/null @@ -1,76 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.core.internal.variables; - -import java.text.MessageFormat; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.core.variables.IDynamicVariable; -import org.eclipse.core.variables.IDynamicVariableResolver; -import org.eclipse.core.variables.VariablesPlugin; - -/** - * Dynamic variable - */ -public class DynamicVariable extends StringVariable implements IDynamicVariable { - - /** - * Resolver, or <code>null</code> until needed - */ - private IDynamicVariableResolver fResolver; - - /* (non-Javadoc) - * @see org.eclipse.debug.internal.core.stringsubstitution.IContextVariable#getValue(java.lang.String) - */ - public String getValue(String argument) throws CoreException { - if (!supportsArgument()) { - // check for an argument - not supported - if (argument != null && argument.length() > 0) { - throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, MessageFormat.format(VariablesMessages.getString("DynamicVariable.0"), new String[]{argument, getName()}), null)); //$NON-NLS-1$ - } - } - if (fResolver == null) { - String name = getConfigurationElement().getAttribute("resolver"); //$NON-NLS-1$ - if (name == null) { - throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, MessageFormat.format("Contributed context variable {0} must specify a resolver.",new String[]{getName()}), null)); //$NON-NLS-1$ - } - Object object = getConfigurationElement().createExecutableExtension("resolver"); //$NON-NLS-1$ - if (object instanceof IDynamicVariableResolver) { - fResolver = (IDynamicVariableResolver)object; - } else { - throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, MessageFormat.format("Contributed context variable resolver for {0} must be an instance of IContextVariableResolver.",new String[]{getName()}), null)); //$NON-NLS-1$ - } - } - return fResolver.resolveValue(this, argument); - } - - /** - * Constructs a new context variable. - * - * @param name variable name - * @param description variable description or <code>null</code> - * @param configurationElement configuration element - */ - public DynamicVariable(String name, String description, IConfigurationElement configurationElement) { - super(name, description, configurationElement); - } - - /* (non-Javadoc) - * @see org.eclipse.core.variables.IDynamicVariable#supportsArgument() - */ - public boolean supportsArgument() { - String arg = getConfigurationElement().getAttribute("supportsArgument"); //$NON-NLS-1$ - return arg == null || Boolean.valueOf(arg).booleanValue(); - } - -} diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ListenerList.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ListenerList.java deleted file mode 100644 index 4ece74163..000000000 --- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ListenerList.java +++ /dev/null @@ -1,137 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.core.internal.variables; - - -/** - * Local version of org.eclipse.jface.util.ListenerList (modified)s - */ -public class ListenerList { - /** - * The current number of listeners. - * Maintains invariant: 0 <= fSize <= listeners.length. - */ - private int fSize; - - /** - * The list of listeners. Initially <code>null</code> but initialized - * to an array of size capacity the first time a listener is added. - * Maintains invariant: listeners != null if and only if fSize != 0 - */ - private Object[] fListeners= null; - - /** - * The empty array singleton instance, returned by getListeners() - * when size == 0. - */ - private static final Object[] EmptyArray= new Object[0]; - - /** - * Creates a listener list with the given initial capacity. - * - * @param capacity the number of listeners which this list can initially accept - * without growing its internal representation; must be at least 1 - */ - public ListenerList(int capacity) { - if (capacity < 1) { - throw new IllegalArgumentException(); - } - fListeners= new Object[capacity]; - fSize= 0; - } - - /** - * Adds a listener to the list. - * Has no effect if an identical listener is already registered. - * - * @param listener a listener - */ - public synchronized void add(Object listener) { - if (listener == null) { - throw new IllegalArgumentException(); - } - // check for duplicates using identity - for (int i= 0; i < fSize; ++i) { - if (fListeners[i] == listener) { - return; - } - } - // grow array if necessary - if (fSize == fListeners.length) { - Object[] temp= new Object[(fSize * 2) + 1]; - System.arraycopy(fListeners, 0, temp, 0, fSize); - fListeners= temp; - } - fListeners[fSize++]= listener; - } - - /** - * Returns an array containing all the registered listeners. - * The resulting array is unaffected by subsequent adds or removes. - * If there are no listeners registered, the result is an empty array - * singleton instance (no garbage is created). - * Use this method when notifying listeners, so that any modifications - * to the listener list during the notification will have no effect on the - * notification itself. - */ - public synchronized Object[] getListeners() { - if (fSize == 0) { - return EmptyArray; - } - Object[] result= new Object[fSize]; - System.arraycopy(fListeners, 0, result, 0, fSize); - return result; - } - - /** - * Removes a listener from the list. - * Has no effect if an identical listener was not already registered. - * - * @param listener a listener - */ - public synchronized void remove(Object listener) { - if (listener == null) { - throw new IllegalArgumentException(); - } - - for (int i= 0; i < fSize; ++i) { - if (fListeners[i] == listener) { - if (--fSize == 0) { - fListeners= new Object[1]; - } else { - if (i < fSize) { - fListeners[i]= fListeners[fSize]; - } - fListeners[fSize]= null; - } - return; - } - } - } - - /** - * Removes all the listeners from the list. - */ - public void removeAll() { - fListeners= new Object[0]; - fSize= 0; - } - - /** - * Returns the number of registered listeners - * - * @return the number of registered listeners - */ - public int size() { - return fSize; - } -} - diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringSubstitutionEngine.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringSubstitutionEngine.java deleted file mode 100644 index 542fc7b9f..000000000 --- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringSubstitutionEngine.java +++ /dev/null @@ -1,291 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.core.internal.variables; - -import java.text.MessageFormat; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Stack; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.core.variables.IDynamicVariable; -import org.eclipse.core.variables.IStringVariableManager; -import org.eclipse.core.variables.IValueVariable; -import org.eclipse.core.variables.VariablesPlugin; - -/** - * Performs string substitution for context and value variables. - */ -public class StringSubstitutionEngine { - - // delimiters - private static final String VARIABLE_START = "${"; //$NON-NLS-1$ - private static final char VARIABLE_END = '}'; //$NON-NLS-1$ - private static final char VARIABLE_ARG = ':'; //$NON-NLS-1$ - // parsing states - private static final int SCAN_FOR_START = 0; - private static final int SCAN_FOR_END = 1; - - /** - * Resulting string - */ - private StringBuffer fResult; - - /** - * Whether substitutions were performed - */ - private boolean fSubs; - - /** - * Stack of variables to resolve - */ - private Stack fStack; - - class VariableReference { - - // the text inside the variable reference - private StringBuffer fText; - - public VariableReference() { - fText = new StringBuffer(); - } - - public void append(String text) { - fText.append(text); - } - - public String getText() { - return fText.toString(); - } - - } - - /** - * Performs recursive string substitution and returns the resulting string. - * - * @param expression expression to resolve - * @param reportUndefinedVariables whether to report undefined variables as an error - * @param manager registry of variables - * @return the resulting string with all variables recursively - * substituted - * @exception CoreException if unable to resolve a referenced variable or if a cycle exists - * in referenced variables - */ - public String performStringSubstitution(String expression, boolean reportUndefinedVariables, boolean resolveVariables, IStringVariableManager manager) throws CoreException { - substitute(expression, reportUndefinedVariables, resolveVariables, manager); - List resolvedVariableSets = new ArrayList(); - while (fSubs) { - HashSet resolved = substitute(fResult.toString(), reportUndefinedVariables, true, manager); - - for(int i=resolvedVariableSets.size()-1; i>=0; i--) { - - HashSet prevSet = (HashSet)resolvedVariableSets.get(i); - - if (prevSet.equals(resolved)) { - HashSet conflictingSet = new HashSet(); - for (; i<resolvedVariableSets.size(); i++) - conflictingSet.addAll((HashSet)resolvedVariableSets.get(i)); - - StringBuffer problemVariableList = new StringBuffer(); - for (Iterator it=conflictingSet.iterator(); it.hasNext(); ) { - problemVariableList.append(it.next().toString()); - problemVariableList.append(", "); //$NON-NLS-1$ - } - problemVariableList.setLength(problemVariableList.length()-2); //truncate the last ", " - throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.REFERENCE_CYCLE_ERROR, MessageFormat.format(VariablesMessages.getString("StringSubstitutionEngine.4"), new String[]{problemVariableList.toString()}), null)); //$NON-NLS-1$ - } - } - - resolvedVariableSets.add(resolved); - } - return fResult.toString(); - } - - /** - * Performs recursive string validation to ensure that all of the variables - * contained in the expression exist - * @param expression expression to validate - * @param manager registry of variables - * @exception CoreException if a referenced variable does not exist or if a cycle exists - * in referenced variables - */ - public void validateStringVariables(String expression, IStringVariableManager manager) throws CoreException { - performStringSubstitution(expression, true, false, manager); - } - - /** - * Makes a substitution pass of the given expression returns a Set of the variables that were resolved in this - * pass - * - * @param expression source expression - * @param reportUndefinedVariables whether to report undefined variables as an error - * @param resolveVariables whether to resolve the value of any variables - * @exception CoreException if unable to resolve a variable - */ - private HashSet substitute(String expression, boolean reportUndefinedVariables, boolean resolveVariables, IStringVariableManager manager) throws CoreException { - fResult = new StringBuffer(expression.length()); - fStack = new Stack(); - fSubs = false; - - HashSet resolvedVariables = new HashSet(); - - int pos = 0; - int state = SCAN_FOR_START; - while (pos < expression.length()) { - switch (state) { - case SCAN_FOR_START: - int start = expression.indexOf(VARIABLE_START, pos); - if (start >= 0) { - int length = start - pos; - // copy non-variable text to the result - if (length > 0) { - fResult.append(expression.substring(pos, start)); - } - pos = start + 2; - state = SCAN_FOR_END; - - fStack.push(new VariableReference()); - } else { - // done - no more variables - fResult.append(expression.substring(pos)); - pos = expression.length(); - } - break; - case SCAN_FOR_END: - // be careful of nested variables - start = expression.indexOf(VARIABLE_START, pos); - int end = expression.indexOf(VARIABLE_END, pos); - if (end < 0) { - // variables are not completed - VariableReference tos = (VariableReference)fStack.peek(); - tos.append(expression.substring(pos)); - pos = expression.length(); - } else { - if (start >= 0 && start < end) { - // start of a nested variable - int length = start - pos; - if (length > 0) { - VariableReference tos = (VariableReference)fStack.peek(); - tos.append(expression.substring(pos, start)); - } - pos = start + 2; - fStack.push(new VariableReference()); - } else { - // end of variable reference - VariableReference tos = (VariableReference)fStack.pop(); - String substring = expression.substring(pos, end); - tos.append(substring); - resolvedVariables.add(substring); - - pos = end + 1; - String value= resolve(tos, reportUndefinedVariables, resolveVariables, manager); - if (value == null) { - value = ""; //$NON-NLS-1$ - } - if (fStack.isEmpty()) { - // append to result - fResult.append(value); - state = SCAN_FOR_START; - } else { - // append to previous variable - tos = (VariableReference)fStack.peek(); - tos.append(value); - } - } - } - break; - } - } - // process incomplete variable references - while (!fStack.isEmpty()) { - VariableReference tos = (VariableReference)fStack.pop(); - if (fStack.isEmpty()) { - fResult.append(VARIABLE_START); - fResult.append(tos.getText()); - } else { - VariableReference var = (VariableReference)fStack.peek(); - var.append(VARIABLE_START); - var.append(tos.getText()); - } - } - - - return resolvedVariables; - } - - /** - * Resolve and return the value of the given variable reference, - * possibly <code>null</code>. - * - * @param var - * @param reportUndefinedVariables whether to report undefined variables as - * an error - * @param resolveVariables whether to resolve the variables value or just to validate that this variable is valid - * @param manager variable registry - * @return variable value, possibly <code>null</code> - * @exception CoreException if unable to resolve a value - */ - private String resolve(VariableReference var, boolean reportUndefinedVariables, boolean resolveVariables, IStringVariableManager manager) throws CoreException { - String text = var.getText(); - int pos = text.indexOf(VARIABLE_ARG); - String name = null; - String arg = null; - if (pos > 0) { - name = text.substring(0, pos); - pos++; - if (pos < text.length()) { - arg = text.substring(pos); - } - } else { - name = text; - } - IValueVariable valueVariable = manager.getValueVariable(name); - if (valueVariable == null) { - IDynamicVariable dynamicVariable = manager.getDynamicVariable(name); - if (dynamicVariable == null) { - // no variables with the given name - if (reportUndefinedVariables) { - throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, MessageFormat.format(VariablesMessages.getString("StringSubstitutionEngine.3"), new String[]{name}), null)); //$NON-NLS-1$ - } - // leave as is - return getOriginalVarText(var); - } - - if (resolveVariables) { - fSubs = true; - return dynamicVariable.getValue(arg); - } - //leave as is - return getOriginalVarText(var); - } - - if (arg == null) { - if (resolveVariables) { - fSubs = true; - return valueVariable.getValue(); - } - //leave as is - return getOriginalVarText(var); - } - // error - an argument specified for a value variable - throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, MessageFormat.format(VariablesMessages.getString("StringSubstitutionEngine.4"), new String[]{valueVariable.getName()}), null)); //$NON-NLS-1$ - } - - private String getOriginalVarText(VariableReference var) { - StringBuffer res = new StringBuffer(var.getText()); - res.insert(0, VARIABLE_START); - res.append(VARIABLE_END); - return res.toString(); - } -}
\ No newline at end of file diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariable.java deleted file mode 100644 index cb7642050..000000000 --- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariable.java +++ /dev/null @@ -1,80 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.core.internal.variables; - -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.variables.IStringVariable; - -/** - * Common implementation of context and value variables - */ -public abstract class StringVariable implements IStringVariable { - - /** - * Variable name - */ - private String fName; - - /** - * Variable description, or <code>null</code> - */ - private String fDescription; - - /** - * Configuration element associated with this variable, or <code>null</code> - */ - private IConfigurationElement fConfigurationElement; - - /** - * Constructs a new variable with the given name and description. - * - * @param name variable name - * @param description variable description, or <code>null</code> - */ - public StringVariable(String name, String description, IConfigurationElement configurationElement) { - fName = name; - fDescription = description; - fConfigurationElement = configurationElement; - } - - /* (non-Javadoc) - * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariable#getName() - */ - public String getName() { - return fName; - } - - /* (non-Javadoc) - * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariable#getDescription() - */ - public String getDescription() { - return fDescription; - } - - /** - * Returns the configuration element associated with this variable, or <code>null</code> - * if none. - * - * @return configuration element or <code>null</code> - */ - protected IConfigurationElement getConfigurationElement() { - return fConfigurationElement; - } - - /** - * @see IValueVariable#setDescription(String) - * @param description - */ - public void setDescription(String description) { - fDescription = description; - } - -} diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java deleted file mode 100644 index b29ce4e9c..000000000 --- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java +++ /dev/null @@ -1,568 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.core.internal.variables; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.text.MessageFormat; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.FactoryConfigurationError; -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.transform.OutputKeys; -import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerException; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.stream.StreamResult; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.IExtensionPoint; -import org.eclipse.core.runtime.ISafeRunnable; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.MultiStatus; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.Preferences; -import org.eclipse.core.runtime.Status; -import org.eclipse.core.variables.IDynamicVariable; -import org.eclipse.core.variables.IStringVariable; -import org.eclipse.core.variables.IStringVariableManager; -import org.eclipse.core.variables.IValueVariable; -import org.eclipse.core.variables.IValueVariableListener; -import org.eclipse.core.variables.VariablesPlugin; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.xml.sax.SAXException; - -/** - * Singleton string variable manager. - */ -public class StringVariableManager implements IStringVariableManager { - - /** - * Dynamic variables - maps variable names to variables. - */ - private Map fDynamicVariables; - - /** - * Value varialbes - maps variable names to variables. - */ - private Map fValueVariables; - - /** - * Variable listeners - */ - private ListenerList fListeners; - - // notifications - private static final int ADDED = 0; - private static final int CHANGED = 1; - private static final int REMOVED = 2; - - /** - * Singleton variable manager. - */ - private static StringVariableManager fgManager; - - // true during initialization code - supress change notification - private boolean fInitializing = false; - - // Variable extension point constants - private static final String ATTR_NAME= "name"; //$NON-NLS-1$ - private static final String ATTR_DESCRIPTION="description"; //$NON-NLS-1$ - // Persisted variable XML constants - private static final String VALUE_VARIABLES_TAG= "valueVariables"; //$NON-NLS-1$ - private static final String VALUE_VARIABLE_TAG= "valueVariable"; //$NON-NLS-1$ - private static final String NAME_TAG= "name"; //$NON-NLS-1$ - private static final String VALUE_TAG= "value"; //$NON-NLS-1$ - private static final String DESCRIPTION_TAG="description"; //$NON-NLS-1$ - private static final String INITIALIZED_TAG="contributed"; //$NON-NLS-1$ - // XML values - private static final String TRUE_VALUE= "true"; //$NON-NLS-1$ - private static final String FALSE_VALUE= "false"; //$NON-NLS-1$ - // preference store key for value variables - private static final String PREF_VALUE_VARIABLES= VariablesPlugin.getUniqueIdentifier() + ".valueVariables"; //$NON-NLS-1$ - - /** - * Notifies a string variable listener in a safe runnable to handle - * exceptions. - */ - class StringVariableNotifier implements ISafeRunnable { - - private IValueVariableListener fListener; - private int fType; - private IValueVariable[] fVariables; - - /** - * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable) - */ - public void handleException(Throwable exception) { - IStatus status = new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, "An exception occurred during string variable change notification", exception); //$NON-NLS-1$ - VariablesPlugin.log(status); - } - - /** - * @see org.eclipse.core.runtime.ISafeRunnable#run() - */ - public void run() throws Exception { - switch (fType) { - case ADDED: - fListener.variablesAdded(fVariables); - break; - case REMOVED: - fListener.variablesRemoved(fVariables); - break; - case CHANGED: - fListener.variablesChanged(fVariables); - break; - } - } - - /** - * Notifies the given listener of the add/change/remove - * - * @param listener the listener to notify - * @param launch the launch that has changed - * @param update the type of change - */ - public void notify(IValueVariable[] variables, int update) { - fVariables = variables; - fType = update; - Object[] copiedListeners= fListeners.getListeners(); - for (int i= 0; i < copiedListeners.length; i++) { - fListener = (IValueVariableListener)copiedListeners[i]; - Platform.run(this); - } - fVariables = null; - fListener = null; - // persist variables whenever there is an add/change/remove - storeValueVariables(); - } - } - - /** - * Returns a new notifier. - * - * @return a new notifier - */ - private StringVariableNotifier getNotifier() { - return new StringVariableNotifier(); - } - - /** - * Returns the default string variable manager - * - * @return string variable manager - */ - public static StringVariableManager getDefault() { - if (fgManager == null) { - fgManager = new StringVariableManager(); - } - return fgManager; - } - - /** - * Constructs a new string variable manager. - */ - private StringVariableManager() { - fListeners = new ListenerList(5); - } - - /** - * Load contributed variables and persisted variables - */ - private void initialize() { - if (fDynamicVariables == null) { - fInitializing = true; - fDynamicVariables = new HashMap(5); - fValueVariables = new HashMap(5); - loadPersistedValueVariables(); - loadContributedValueVariables(); - loadDynamicVariables(); - fInitializing = false; - } - } - - /** - * Loads contributed dynamic variables - */ - private void loadDynamicVariables() { - IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(VariablesPlugin.PI_CORE_VARIABLES, EXTENSION_POINT_DYNAMIC_VARIABLES); - IConfigurationElement elements[]= point.getConfigurationElements(); - for (int i = 0; i < elements.length; i++) { - IConfigurationElement element = elements[i]; - String name= element.getAttribute(ATTR_NAME); - if (name == null) { - VariablesPlugin.logMessage(MessageFormat.format("Variable extension missing required 'name' attribute: {0}", new String[] {element.getDeclaringExtension().getLabel()}), null); //$NON-NLS-1$ - continue; - } - String description= element.getAttribute(ATTR_DESCRIPTION); - DynamicVariable variable= new DynamicVariable(name, description, element); - fDynamicVariables.put(variable.getName(), variable); - } - } - - /** - * Loads any persisted value varialbes from the preference store. - */ - private void loadPersistedValueVariables() { - String variablesString= VariablesPlugin.getDefault().getPluginPreferences().getString(PREF_VALUE_VARIABLES); - if (variablesString.length() == 0) { - return; - } - Element root= null; - Throwable ex = null; - try { - ByteArrayInputStream stream = new ByteArrayInputStream(variablesString.getBytes("UTF-8")); //$NON-NLS-1$ - DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder(); - root = parser.parse(stream).getDocumentElement(); - } catch (UnsupportedEncodingException e) { - ex = e; - } catch (ParserConfigurationException e) { - ex = e; - } catch (FactoryConfigurationError e) { - ex = e; - } catch (SAXException e) { - ex = e; - } catch (IOException e) { - ex = e; - } - if (ex != null) { - VariablesPlugin.logMessage("An exception occurred while loading persisted value variables.", ex); //$NON-NLS-1$ - return; - } - if (!root.getNodeName().equals(VALUE_VARIABLES_TAG)) { - VariablesPlugin.logMessage("Invalid format encountered while loading persisted value variables.", null); //$NON-NLS-1$ - return; - } - NodeList list= root.getChildNodes(); - for (int i= 0, numItems= list.getLength(); i < numItems; i++) { - Node node= list.item(i); - if (node.getNodeType() == Node.ELEMENT_NODE) { - Element element= (Element) node; - if (!element.getNodeName().equals(VALUE_VARIABLE_TAG)) { - VariablesPlugin.logMessage(MessageFormat.format("Invalid XML element encountered while loading value variables: {0}", new String[] {node.getNodeName()}), null); //$NON-NLS-1$ - continue; - } - String name= element.getAttribute(NAME_TAG); - if (name.length() > 0) { - String value= element.getAttribute(VALUE_TAG); - String description= element.getAttribute(DESCRIPTION_TAG); - boolean initialized= TRUE_VALUE.equals(element.getAttribute(INITIALIZED_TAG)); - ValueVariable variable= new ValueVariable(name, description, null); - if (initialized) { - variable.setValue(value); - } - fValueVariables.put(name, variable); - } else { - VariablesPlugin.logMessage("Invalid variable entry encountered while loading value variables. Variable name is null.", null); //$NON-NLS-1$ - } - } - } - } - - /** - * Loads contributed value variables. This is done after the persisted value - * varaibles are restored. Any contributed variables with the same name are - * merged with existing persisted values. - */ - private void loadContributedValueVariables() { - IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(VariablesPlugin.PI_CORE_VARIABLES, EXTENSION_POINT_VALUE_VARIABLES); - IConfigurationElement elements[]= point.getConfigurationElements(); - for (int i = 0; i < elements.length; i++) { - IConfigurationElement element = elements[i]; - String name= element.getAttribute(ATTR_NAME); - if (name == null) { - VariablesPlugin.logMessage(MessageFormat.format("Variable extension missing required 'name' attribute: {0}", new String[] {element.getDeclaringExtension().getLabel()}), null); //$NON-NLS-1$ - continue; - } - String description= element.getAttribute(ATTR_DESCRIPTION); - ValueVariable variable= new ValueVariable(name, description, element); - // if already present, merge with persisted value - ValueVariable existing = (ValueVariable)getValueVariable(name); - if (existing != null) { - if (existing.isInitialized()) { - variable.setValue(existing.getValue()); - } - } - fValueVariables.put(variable.getName(), variable); - } - } - - /* (non-Javadoc) - * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getVariables() - */ - public IStringVariable[] getVariables() { - initialize(); - List list = new ArrayList(fDynamicVariables.size() + fValueVariables.size()); - list.addAll(fDynamicVariables.values()); - list.addAll(fValueVariables.values()); - return (IStringVariable[]) list.toArray(new IStringVariable[list.size()]); - } - - /* (non-Javadoc) - * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getValueVariables() - */ - public IValueVariable[] getValueVariables() { - initialize(); - return (IValueVariable[]) fValueVariables.values().toArray(new IValueVariable[fValueVariables.size()]); - } - - /* (non-Javadoc) - * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getDynamicVariables() - */ - public IDynamicVariable[] getDynamicVariables() { - initialize(); - return (IDynamicVariable[]) fDynamicVariables.values().toArray(new IDynamicVariable[fDynamicVariables.size()]); - } - - /* (non-Javadoc) - * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#performStringSubstitution(java.lang.String) - */ - public String performStringSubstitution(String expression) throws CoreException { - return performStringSubstitution(expression, true); - } - - /* (non-Javadoc) - * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#newValueVariable(java.lang.String, java.lang.String) - */ - public IValueVariable newValueVariable(String name, String description) { - IConfigurationElement element = null; - ValueVariable existing = (ValueVariable)getValueVariable(name); - if (existing != null && existing.isContributed()) { - element = existing.getConfigurationElement(); - } - return new ValueVariable(name, description, element); - } - - /* (non-Javadoc) - * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#addVariables(org.eclipse.debug.internal.core.stringsubstitution.IValueVariable[]) - */ - public void addVariables(IValueVariable[] variables) throws CoreException { - initialize(); - MultiStatus status = new MultiStatus(VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, VariablesMessages.getString("StringVariableManager.26"), null); //$NON-NLS-1$ - for (int i = 0; i < variables.length; i++) { - IValueVariable variable = variables[i]; - if (getValueVariable(variable.getName()) != null) { - status.add(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, MessageFormat.format(VariablesMessages.getString("StringVariableManager.27"), new String[]{variable.getName()}), null)); //$NON-NLS-1$ - } - } - if (status.isOK()) { - for (int i = 0; i < variables.length; i++) { - IValueVariable variable = variables[i]; - fValueVariables.put(variable.getName(), variable); - } - IValueVariable[] copy = new IValueVariable[variables.length]; - System.arraycopy(variables, 0, copy, 0, variables.length); - getNotifier().notify(copy, ADDED); - return; - } - throw new CoreException(status); - } - - /* (non-Javadoc) - * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#removeVariables(org.eclipse.debug.internal.core.stringsubstitution.IValueVariable[]) - */ - public void removeVariables(IValueVariable[] variables) { - initialize(); - List removed = new ArrayList(variables.length); - for (int i = 0; i < variables.length; i++) { - IValueVariable variable = variables[i]; - if (fValueVariables.remove(variable.getName()) != null) { - removed.add(variable); - } - } - if (removed.size() > 0) { - getNotifier().notify((IValueVariable[])removed.toArray(new IValueVariable[removed.size()]), REMOVED); - } - } - - /* (non-Javadoc) - * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getDynamicVariable(java.lang.String) - */ - public IDynamicVariable getDynamicVariable(String name) { - initialize(); - return (IDynamicVariable) fDynamicVariables.get(name); - } - - /* (non-Javadoc) - * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getValueVariable(java.lang.String) - */ - public IValueVariable getValueVariable(String name) { - initialize(); - return (IValueVariable) fValueVariables.get(name); - } - - - /* (non-Javadoc) - * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#addValueVariableListener(org.eclipse.debug.internal.core.stringsubstitution.IValueVariableListener) - */ - public void addValueVariableListener(IValueVariableListener listener) { - fListeners.add(listener); - } - - /* (non-Javadoc) - * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#removeValueVariableListener(org.eclipse.debug.internal.core.stringsubstitution.IValueVariableListener) - */ - public void removeValueVariableListener(IValueVariableListener listener) { - fListeners.remove(listener); - } - - /** - * Returns a memento representing the value variables currently registered. - * - * @return memento representing the value variables currently registered - * @throws IOException if an I/O exception occurs while creating the XML. - */ - private String getValueVariablesAsXML() throws IOException, ParserConfigurationException, TransformerException { - IValueVariable[] variables = getValueVariables(); - - Document document= getDocument(); - Element rootElement= document.createElement(VALUE_VARIABLES_TAG); - document.appendChild(rootElement); - for (int i = 0; i < variables.length; i++) { - ValueVariable variable = (ValueVariable)variables[i]; - Element element= document.createElement(VALUE_VARIABLE_TAG); - element.setAttribute(NAME_TAG, variable.getName()); - String value= variable.getValue(); - if (value != null) { - element.setAttribute(VALUE_TAG, value); - } - String description= variable.getDescription(); - if (description != null) { - element.setAttribute(DESCRIPTION_TAG, description); - } - element.setAttribute(INITIALIZED_TAG, variable.isInitialized() ? TRUE_VALUE : FALSE_VALUE); - rootElement.appendChild(element); - } - return serializeDocument(document); - } - - private Document getDocument() throws ParserConfigurationException { - DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance(); - DocumentBuilder docBuilder = dfactory.newDocumentBuilder(); - Document doc =docBuilder.newDocument(); - return doc; - } - - /** - * Serializes a XML document into a string - encoded in UTF8 format, - * with platform line separators. - * - * @param doc document to serialize - * @return the document as a string - * @throws TransformerException if an unrecoverable error occurs during the serialization - * @throws IOException if the encoding attempted to be used is not supported - */ - private String serializeDocument(Document doc) throws TransformerException, UnsupportedEncodingException { - ByteArrayOutputStream s= new ByteArrayOutputStream(); - - TransformerFactory factory= TransformerFactory.newInstance(); - Transformer transformer= factory.newTransformer(); - transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$ - transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$ - - DOMSource source= new DOMSource(doc); - StreamResult outputTarget= new StreamResult(s); - transformer.transform(source, outputTarget); - - return s.toString("UTF8"); //$NON-NLS-1$ - } - - /** - * Saves the value variables currently registered in the - * preference store. - */ - private void storeValueVariables() { - Preferences prefs= VariablesPlugin.getDefault().getPluginPreferences(); - String variableString= ""; //$NON-NLS-1$ - if (!fValueVariables.isEmpty()) { - try { - variableString= getValueVariablesAsXML(); - } catch (IOException e) { - VariablesPlugin.log(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), IStatus.ERROR, "An exception occurred while storing launch configuration variables.", e)); //$NON-NLS-1$ - return; - } catch (ParserConfigurationException e) { - VariablesPlugin.log(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), IStatus.ERROR, "An exception occurred while storing launch configuration variables.", e)); //$NON-NLS-1$ - return; - } catch (TransformerException e) { - VariablesPlugin.log(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), IStatus.ERROR, "An exception occurred while storing launch configuration variables.", e)); //$NON-NLS-1$ - return; - } - } - prefs.setValue(PREF_VALUE_VARIABLES, variableString); - VariablesPlugin.getDefault().savePluginPreferences(); - } - - /** - * Fire a change notification for the given variable. - * - * @param variable the variable that has changed - */ - protected void notifyChanged(ValueVariable variable) { - if (!fInitializing) { - IValueVariable existing = getValueVariable(variable.getName()); - if (variable.equals(existing)) { - // do not do change notification for unregistered variables - getNotifier().notify(new IValueVariable[]{variable}, CHANGED); - } - } - } - - /* (non-Javadoc) - * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#generateVariableExpression(java.lang.String, java.lang.String) - */ - public String generateVariableExpression(String varName, String arg) { - StringBuffer buffer = new StringBuffer(); - buffer.append("${"); //$NON-NLS-1$ - buffer.append(varName); - if (arg != null) { - buffer.append(":"); //$NON-NLS-1$ - buffer.append(arg); - } - buffer.append("}"); //$NON-NLS-1$ - return buffer.toString(); - } - - /* (non-Javadoc) - * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#performStringSubstitution(java.lang.String, boolean) - */ - public String performStringSubstitution(String expression, boolean reportUndefinedVariables) throws CoreException { - return new StringSubstitutionEngine().performStringSubstitution(expression, reportUndefinedVariables, true, this); - } - - /* (non-Javadoc) - * @see org.eclipse.core.variables.IStringVariableManager#validateStringVariables(java.lang.String) - */ - public void validateStringVariables(String expression) throws CoreException { - new StringSubstitutionEngine().validateStringVariables(expression, this); - } - - /* (non-Javadoc) - * @see org.eclipse.core.variables.IStringVariableManager#getContributingPluginId(org.eclipse.core.variables.IStringVariable) - */ - public String getContributingPluginId(IStringVariable variable) { - if (variable instanceof StringVariable) { - return ((StringVariable) variable).getConfigurationElement().getNamespace(); - } - return null; - } -} diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ValueVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ValueVariable.java deleted file mode 100644 index 5ecb45a93..000000000 --- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ValueVariable.java +++ /dev/null @@ -1,126 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.core.internal.variables; - -import java.text.MessageFormat; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.variables.IValueVariable; -import org.eclipse.core.variables.IValueVariableInitializer; -import org.eclipse.core.variables.VariablesPlugin; - -/** - * Implementation of a value variable. - */ -public class ValueVariable extends StringVariable implements IValueVariable { - - /** - * Variable value or <code>null</code> if none - */ - private String fValue; - - /** - * Whether this variable's value has been initialized - */ - private boolean fInitialized = false; - - /** - * Constructs a new value variable with the given name, description, and - * associated configuration element. - * - * @param name variable name - * @param description variable description, or <code>null</code> - * @param configurationElement configuration element or <code>null</code> - */ - public ValueVariable(String name, String description, IConfigurationElement configurationElement) { - super(name, description, configurationElement); - } - - /* (non-Javadoc) - * @see org.eclipse.debug.internal.core.stringsubstitution.IValueVariable#setValue(java.lang.String) - */ - public void setValue(String value) { - fValue = value; - setInitialized(true); - StringVariableManager.getDefault().notifyChanged(this); - } - - /* (non-Javadoc) - * @see org.eclipse.debug.internal.core.stringsubstitution.IValueVariable#getValue() - */ - public String getValue() { - if (!isInitialized()) { - initialize(); - } - return fValue; - } - - /** - * Initialize this variable's value. - */ - private void initialize() { - if (getConfigurationElement() != null) { - // check for a explicit value specified in plug-in XML - String value = getConfigurationElement().getAttribute("initialValue"); //$NON-NLS-1$ - if (value == null) { - // check for initializer - String className = getConfigurationElement().getAttribute("initializerClass"); //$NON-NLS-1$ - if (className != null) { - try { - Object object = getConfigurationElement().createExecutableExtension("initializerClass"); //$NON-NLS-1$ - if (object instanceof IValueVariableInitializer) { - IValueVariableInitializer initializer = (IValueVariableInitializer)object; - initializer.initialize(this); - } else { - VariablesPlugin.logMessage(MessageFormat.format("Unable to initialize variable {0} - initializer must be an instance of IValueVariableInitializer.", new String[]{getName()}), null); //$NON-NLS-1$ - } - } catch (CoreException e) { - VariablesPlugin.logMessage(MessageFormat.format("Unable to initialize variable {0}",new String[]{getName()}), e); //$NON-NLS-1$ - } - } - } else { - setValue(value); - } - } - setInitialized(true); - } - - /** - * Returns whether this variable has been initialized with a value by one of: - * <ul> - * <li><code>setValue(String)</code></li> - * <li>its configuration element's <code>initialValue</code> attribute</li> - * <li>its configuration element's initializer</li> - * </ul> - * @return whether this variable has been initialized with a value - */ - protected boolean isInitialized() { - return fInitialized; - } - - /** - * Sets whether this variable has been initialized with a value. - * - * @param initialized whether this variable has been initialized - */ - protected void setInitialized(boolean initialized) { - fInitialized = initialized; - } - - /* (non-Javadoc) - * @see org.eclipse.debug.internal.core.stringsubstitution.IValueVariable#isContributed() - */ - public boolean isContributed() { - return getConfigurationElement() != null; - } - -} diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java deleted file mode 100644 index 7791efbe6..000000000 --- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java +++ /dev/null @@ -1,33 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.core.internal.variables; - -import java.util.MissingResourceException; -import java.util.ResourceBundle; - -public class VariablesMessages { - - private static final String BUNDLE_NAME = "org.eclipse.core.internal.variables.VariablesMessages"; //$NON-NLS-1$ - - private static final ResourceBundle RESOURCE_BUNDLE = - ResourceBundle.getBundle(BUNDLE_NAME); - - private VariablesMessages() { - } - - public static String getString(String key) { - try { - return RESOURCE_BUNDLE.getString(key); - } catch (MissingResourceException e) { - return '!' + key + '!'; - } - } -}
\ No newline at end of file diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.properties b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.properties deleted file mode 100644 index 7113d132a..000000000 --- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.properties +++ /dev/null @@ -1,18 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2004 IBM Corporation 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: -# IBM Corporation - initial API and implementation -############################################################################### - -StringSubstitutionEngine.3=Reference to undefined variable {0} -StringSubstitutionEngine.4=Variable {0} does not accept arguments - -StringVariableManager.26=Variables with the specified names are already registered. -StringVariableManager.27=Variable named {0} already registered - -DynamicVariable.0=Unsupported argument {0} specified for variable {1} diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java deleted file mode 100644 index 8ba318210..000000000 --- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java +++ /dev/null @@ -1,56 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.core.variables; - -import org.eclipse.core.runtime.CoreException; - -/** - * A dynamic variable is a variable whose value is computed dynamically - * by a resolver at the time a string substitution is performed. A dynamic - * variable is contributed by an extension. - * <p> - * The following is a definition of a dynamic variable that resolves to the name of the selected resource: - * <pre> - * <extension point="org.eclipse.core.variables.dynamicVariables"> - * <variable - * name="resource_name" - * resolver="com.example.ResourceNameResolver" - * description="The name of the selected resource" - * supportsArgument="false"> - * </variable> - * </extension> - * </pre> - * </p> - * - * @since 3.0 - */ -public interface IDynamicVariable extends IStringVariable { - - /** - * Returns the value of this variable when referenced with the given - * argument, possibly <code>null</code>. - * - * @param argument argument present in variable expression or <code>null</code> - * if none - * @return value of this variable when referenced with the given argument, possibly - * <code>null</code> - * @throws CoreException if unable to resolve a value for this variable - */ - public String getValue(String argument) throws CoreException; - - /** - * Returns whether this variable supports an argument, as specified - * by this variable's extension definition in plug-in XML. - * - * @return whether this variable supports an argument - */ - public boolean supportsArgument(); -} diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java deleted file mode 100644 index 6187525d2..000000000 --- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java +++ /dev/null @@ -1,33 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.core.variables; - -import org.eclipse.core.runtime.CoreException; - -/** - * Resolves the value for a dynamic variable. A dynamic variable extension - * contributes a resolver which must implement this interface. - * - * @since 3.0 - */ -public interface IDynamicVariableResolver { - - /** - * Resolves and returns a value for the specified variable when referenced - * with the given argument, possibly <code>null</code> - * - * @param variable variable to resolve a value for - * @param argument argument present in expression or <code>null</code> if none - * @return variable value, possibly <code>null</code> - * @throws CoreException if unable to resolve a value for the given variable - */ - public String resolveValue(IDynamicVariable variable, String argument) throws CoreException; -} diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java deleted file mode 100644 index 69bab0a3b..000000000 --- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java +++ /dev/null @@ -1,56 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.core.variables; - - -/** - * A variable that can be referenced in an expression, which resolves to a string - * value. Variables are referenced in expressions via their name, in the following - * format. - * <pre> - * ${varname} or ${varname:argument} - * </pre> - * <p> - * A variable is identified by its name, and optionally accepts an argument. When an - * argument is present, a colon seperates the variable name from its argument. - * </p> - * <p> - * Variables can be contributed by extensions or programmatically. There are two - * kinds of variables. - * <ul> - * <li><code>IValueVariable</code> - variables that have a value (with getter and setter), and - * accept no arguments. The value of this type of variable is resolved at the time - * its value is set via its setter API.</li> - * <li><code>IDynamicVariable</code> - variables whose value is resolved at the time - * a string substitution is performed by a contributed resolver. Dynamic variables - * may accept an argument.</li> - * </ul> - * </p> - * @since 3.0 - */ -public interface IStringVariable { - - /** - * Returns the name of this variable. A variable is uniquely identified by - * its name. - * - * @return variable name - */ - public String getName(); - - /** - * Returns a human readable description of this variable, possibly <code>null</code> - * - * @return a description of this variable, or <code>null</code> if none - */ - public String getDescription(); - -} diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java deleted file mode 100644 index de36166fb..000000000 --- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java +++ /dev/null @@ -1,178 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.core.variables; - -import org.eclipse.core.runtime.CoreException; - -/** - * Registry for string variables. - * - * @since 3.0 - */ -public interface IStringVariableManager { - - /** - * Simple identifier constant (value <code>"dynamicVariables"</code>) for the - * dynamic variables extension point. - */ - public static final String EXTENSION_POINT_DYNAMIC_VARIABLES = "dynamicVariables"; //$NON-NLS-1$ - - /** - * Simple identifier constant (value <code>"valueVariables"</code>) for the - * value variables extension point. - */ - public static final String EXTENSION_POINT_VALUE_VARIABLES = "valueVariables"; //$NON-NLS-1$ - - /** - * Returns all registered variables. - * - * @return a collection of all registered variables - */ - public IStringVariable[] getVariables(); - - /** - * Returns all registered value variables. - * - * @return a collection of all registered value variables - */ - public IValueVariable[] getValueVariables(); - - /** - * Returns the value variable with the given name, or <code>null</code> - * if none. - * - * @param name variable name - * @return the value variable with the given name, or <code>null</code> - * if none - */ - public IValueVariable getValueVariable(String name); - - /** - * Returns all registered dynamic variables. - * - * @return a collection of all registered dynamic variables - */ - public IDynamicVariable[] getDynamicVariables(); - - /** - * Returns the dynamic variable with the given name or <code>null</code> - * if none. - * - * @param name variable name - * @return the dynamic variable with the given name or <code>null</code> - * if none - */ - public IDynamicVariable getDynamicVariable(String name); - - /** - * Returns the plugin identifier of the plugin that contributed the - * given variable via extension or <code>null</code> if the given - * variable wasn't contributed via extension. - * - * @param variable the variable - * @return the plugin identifier of the plugin that contributed the - * given variable or <code>null</code> - * @since 3.1 - */ - public String getContributingPluginId(IStringVariable variable); - - /** - * Recursively resolves and replaces all variable references in the given - * expression with their corresponding values. Reports errors for references - * to undefined variables (equivalent to calling - * <code>performStringSubstitution(expression, true)</code>). - * - * @param expression expression referencing variables - * @return expression with variable references replaced with variable values - * @throws CoreException if unable to resolve the value of one or more variables - */ - public String performStringSubstitution(String expression) throws CoreException; - - /** - * Recursively resolves and replaces all variable references in the given - * expression with their corresponding values. Allows the client to control - * whether references to undefined variables are reported as an error (i.e. - * an exception is thrown). - * - * @param expression expression referencing variables - * @param reportUndefinedVariables whether a reference to an undefined variable - * is to be considered an error (i.e. throw an exception) - * @return expression with variable references replaced with variable values - * @throws CoreException if unable to resolve the value of one or more variables - */ - public String performStringSubstitution(String expression, boolean reportUndefinedVariables) throws CoreException; - - /** - * Validates variables references in the given expression and reports errors - * for references to undefined variables. - * - * @param expression expression referencing variables - * @throws CoreException if one or more referenced variables do not exist - */ - public void validateStringVariables(String expression) throws CoreException; - - /** - * Returns a new value variable with the given name and description. - * - * @param name variable name, cannot be <code>null</code> - * @param description variable description, possibly <code>null</code> - * @return a new variable - * @exception CoreException if a variable already exists with the given name - */ - public IValueVariable newValueVariable(String name, String description); - - /** - * Adds the given variables to the variable registry. - * - * @param variables the variables to add - * @throws CoreException if one or more variables to add has a name collision with - * an existing variable - */ - public void addVariables(IValueVariable[] variables) throws CoreException; - - /** - * Removes the given variables from the registry. Has no effect for unregistered - * variables. - * - * @param variables variables to remove - */ - public void removeVariables(IValueVariable[] variables); - - /** - * Registers the given listener for value variable notifications. Has no effect - * if an identical listener is already registered. - * - * @param listener value variable listener to add - */ - public void addValueVariableListener(IValueVariableListener listener); - - /** - * Removes the given listener from the list of registered value variable - * listeners. Has no effect if an identical listener is not already registered. - * - * @param listener value variable listener to remove - */ - public void removeValueVariableListener(IValueVariableListener listener); - - /** - * Convenience method that returns an expression referencing the given - * variable and optional argument. For example, calling the method with - * a <code>varName</code> of <code>my_var</code> and an <code>argument</code> - * of <code>my_arg</code> results in the string <code>$(my_var:my_arg}</code>. - * - * @param varName variable name - * @param arg argument text or <code>null</code> - * @return an expression referencing the given variable and - * optional argument - */ - public String generateVariableExpression(String varName, String arg); - -} diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java deleted file mode 100644 index 4b5ef650b..000000000 --- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java +++ /dev/null @@ -1,78 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.core.variables; - -/** - * A variable with a value that can be set and retrieved. The context in which - * a value variable is referenced does not effect the value of the variable. - * A value variable can be contributed by an extension or created programmatically. - * A contributor may optionally specify an initial value for a variable, or - * provide a delegate that will initialie the variable with a value. - * <p> - * Example of a value variable contribution with an initial value, the specified - * variable is created with the initial value "/usr/local/foo". - * <pre> - * <extension point="org.eclipse.core.variables.valueVariables"> - * <variable - * name="FOO_HOME" - * initialValue="/usr/local/foo"> - * </variable> - * </extension> - * </pre> - * </p> - * <p> - * Example of a value variable contribution with an initializer class, the class - * "com.example.FooLocator" will be used to initialize the value the first time - * it's requested. - * <pre> - * <extension point="org.eclipse.core.variables.valueVariables"> - * <variable - * name="FOO_HOME" - * initializerClass="com.example.FooLocator"> - * </variable> - * </extension> - * </pre> - * </p> - * - * - * @since 3.0 - */ -public interface IValueVariable extends IStringVariable { - - /** - * Sets the value of this variable to the given value. A value of - * <code>null</code> indicates the value of this variable is undefined. - * - * @param value variable value, possibly <code>null</code> - */ - public void setValue(String value); - - /** - * Returns the value of this variable, or <code>null</code> if none. - * - * @return the value of this variable, or <code>null</code> if none - */ - public String getValue(); - - /** - * Returns whether this variable was contributed by an extension. - * - * @return whether this variable was contributed by an extension - */ - public boolean isContributed(); - - /** - * Sets the description of this variable to the given value. - * - * @param description variable description, possibly <code>null</code> - */ - public void setDescription(String description); -} diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java deleted file mode 100644 index 16cc8feb6..000000000 --- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java +++ /dev/null @@ -1,30 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.core.variables; - -/** - * Value variable initializers compute an initial value for a value - * variable contributed by an extension, which is not defined with an initial - * value. This provides a mechnism for programatically computing the initial - * value of a value variable. - * <p> - * Clients may implement this interface. - * </p> - * @since 3.0 - */ -public interface IValueVariableInitializer { - /** - * Initializes the specified variable. - * - * @param variable variable to initialize - */ - public void initialize(IValueVariable variable); -} diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java deleted file mode 100644 index 46a24930a..000000000 --- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.core.variables; - -/** - * A string variable listener is notified of variables as they are added - * and removed from the string variable manager. As well, listeners are - * notified when a value variable changes value. - * - * @since 3.0 - */ -public interface IValueVariableListener { - - /** - * Notification the given variables have been added to the variable - * manager. - * - * @param variables added variables - */ - public void variablesAdded(IValueVariable[] variables); - - /** - * Notification the given variables have been removed from the variable - * manager. - * - * @param variables removed variables - */ - public void variablesRemoved(IValueVariable[] variables); - - /** - * Notification the given variables have been changed value. - * - * @param variables changed variables - */ - public void variablesChanged(IValueVariable[] variables); - -} diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java deleted file mode 100644 index 0d88094cf..000000000 --- a/org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java +++ /dev/null @@ -1,112 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.core.variables; - -import org.eclipse.core.internal.variables.StringVariableManager; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Plugin; -import org.eclipse.core.runtime.Status; - -/** - * The plug-in runtime class for the Core Variables plug-in. - * @since 3.0 - */ -public class VariablesPlugin extends Plugin { - - /** - * Status code indicating an unexpected internal error. - */ - public static final int INTERNAL_ERROR = 120; - - /** - * Status code indicating a variable reference cycle error. - */ - public static final int REFERENCE_CYCLE_ERROR = 130; - - /** - * The single instance of this plug-in runtime class. - */ - private static VariablesPlugin plugin; - - /** - * Unique identifier constant (value <code>"org.eclipse.core.variables"</code>) - * for the Core Variables plug-in. - */ - public static final String PI_CORE_VARIABLES = "org.eclipse.core.variables"; //$NON-NLS-1$ - - - /** - * Constructs an instance of this plug-in runtime class. - * <p> - * An instance of this plug-in runtime class is automatically created - * when the facilities provided by the Variables plug-in are required. - * <b>Clients must never explicitly instantiate a plug-in runtime class.</b> - * </p> - */ - public VariablesPlugin() { - super(); - plugin = this; - } - - /** - * Returns this plug-in instance. - * - * @return the single instance of this plug-in runtime class - */ - public static VariablesPlugin getDefault() { - return plugin; - } - - /** - * Logs the specified throwable with this plug-in's log. - * - * @param t throwable to log - */ - public static void log(Throwable t) { - log(new Status(IStatus.ERROR, PI_CORE_VARIABLES, INTERNAL_ERROR, "Error logged from Core Variables: ", t)); //$NON-NLS-1$ - } - - /** - * Logs the given message with this plug-in's log and the given - * throwable or <code>null</code> if none. - * @param message the message to log - * @param throwable the exception that occurred or <code>null</code> if none - */ - public static void logMessage(String message, Throwable throwable) { - log(new Status(IStatus.ERROR, getUniqueIdentifier(), INTERNAL_ERROR, message, throwable)); - } - - /** - * Logs the specified status with this plug-in's log. - * - * @param status status to log - */ - public static void log(IStatus status) { - getDefault().getLog().log(status); - } - - /** - * Convenience method which returns the unique identifier of this plugin. - */ - public static String getUniqueIdentifier() { - return PI_CORE_VARIABLES; - } - - /** - * Returns the string variable manager. - * - * @return the string variable manager - */ - public IStringVariableManager getStringVariableManager() { - return StringVariableManager.getDefault(); - } -} diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/package.html b/org.eclipse.core.variables/src/org/eclipse/core/variables/package.html deleted file mode 100644 index 0d27de0b3..000000000 --- a/org.eclipse.core.variables/src/org/eclipse/core/variables/package.html +++ /dev/null @@ -1,45 +0,0 @@ -<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> -<html> - -<head> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> -<title>Eclipse Debug Platform</title> -</head> - -<body bgcolor="#FFFFFF"> - -<p>Provides support for defining and contributing variables for the purpose of - string substitution.</p> - -<h2>Package Specification</h2> - -<p>This package provides classes and interfaces to support the definition and - contribution of variables for the purpose of string substitution. The plug-in - supports the recursive replacement of variables referenced by name in arbitrary - strings with the value of the variable. Two types of variables are provided - - value variables (<code>IValueVariable</code>) and dynamic variables (<code>IDynamicVariable</code>). - A value variable has a simple setter and getter for its current value. A dynamic - variable has an associated resolver that provides a variable's value each time - it is referenced (replaced) in a string substitution. A dynamic variable may - also provide an argument in its reference that can be used by its resolver to - determine its substitution value.</p> -<p>A variable manager (<code>IStringVariableManager</code>) is provided to manage - the set of defined variables. Value variables may be created via API on the - variable manager, or contributed via the <code>valueVariables</code> extension - point. Dynamic variables must be contributed via the <code>dynamicVariables</code> - extension point. The variable manager also provides change notification for - value variables. The variable manager also provides an API for performing string - substitution, which accepts a string, and returns a string with all variable - references replaced by associated variable values.</p> -<p>Variables are referenced in strings by enclosing them in braces, preceded with - a dollar sign. For example, consider a variable defined with the name <code>foo</code>, - and referenced in the following string: <code>"abc${foo}ghi"</code>. - If the value of <code>foo</code> is <code>"def"</code>, the result - of a string substitution would be <code>"abcdefghi"</code>. In the - case of a dynamic variable, an (optional) argument is supplied by appending - a colon and argument value after the variable name. For example <code>"${foo:bar}"</code>. - In this case, the resolver associated with <code>foo</code> would be provided - with the referenced argument (<code>bar</code>) when asked to resolve a value - for the variable <code>foo</code>. </p> -</body> -</html> diff --git a/org.eclipse.debug.core/.classpath b/org.eclipse.debug.core/.classpath deleted file mode 100644 index 03bbb4390..000000000 --- a/org.eclipse.debug.core/.classpath +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" path="core"/> - <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="output" path="bin"/> -</classpath> diff --git a/org.eclipse.debug.core/.cvsignore b/org.eclipse.debug.core/.cvsignore deleted file mode 100644 index c5e82d745..000000000 --- a/org.eclipse.debug.core/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -bin
\ No newline at end of file diff --git a/org.eclipse.debug.core/.options b/org.eclipse.debug.core/.options deleted file mode 100644 index a3e35f6ef..000000000 --- a/org.eclipse.debug.core/.options +++ /dev/null @@ -1 +0,0 @@ -org.eclipse.debug.core/debug=true
\ No newline at end of file diff --git a/org.eclipse.debug.core/.project b/org.eclipse.debug.core/.project deleted file mode 100644 index 394ef93cf..000000000 --- a/org.eclipse.debug.core/.project +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>org.eclipse.debug.core</name> - <comment></comment> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.SchemaBuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.ManifestBuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.jdt.core.javanature</nature> - <nature>org.eclipse.pde.PluginNature</nature> - </natures> -</projectDescription> diff --git a/org.eclipse.debug.core/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.debug.core/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index e22d63ab0..000000000 --- a/org.eclipse.debug.core/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,69 +0,0 @@ -#Mon Nov 01 17:54:58 GMT-08:00 2004
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-eclipse.preferences.version=1
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=disabled
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
diff --git a/org.eclipse.debug.core/.settings/org.eclipse.pde.prefs b/org.eclipse.debug.core/.settings/org.eclipse.pde.prefs deleted file mode 100644 index 945b3e7f9..000000000 --- a/org.eclipse.debug.core/.settings/org.eclipse.pde.prefs +++ /dev/null @@ -1,14 +0,0 @@ -#Wed Nov 24 22:34:28 GMT-08:00 2004
-compilers.p.unused-element-or-attribute=1
-compilers.p.unresolved-ex-points=0
-compilers.p.deprecated=1
-compilers.p.unknown-element=0
-compilers.p.unknown-resource=1
-compilers.p.unknown-class=1
-compilers.p.unknown-attribute=0
-compilers.p.no-required-att=0
-eclipse.preferences.version=1
-compilers.p.unresolved-import=0
-compilers.p.not-externalized-att=1
-compilers.p.illegal-att-value=0
-compilers.use-project=true
diff --git a/org.eclipse.debug.core/about.html b/org.eclipse.debug.core/about.html deleted file mode 100644 index 9db411aab..000000000 --- a/org.eclipse.debug.core/about.html +++ /dev/null @@ -1,30 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> -<html> -<head> -<title>About</title> -<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1"> -</head> -<body lang="EN-US"> -<h2>About This Content</h2> - -<p>20th June, 2002</p> -<h3>License</h3> -<p>Eclipse.org makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the -Common Public License Version 1.0 ("CPL"). A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>. -For purposes of the CPL, "Program" will mean the Content.</p> - -<h3>Contributions</h3> - -<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise -made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such -Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p> - -<p>If this Content is licensed to you under license terms and conditions other than the CPL ("Other License"), any modifications, enhancements and/or -other code and/or documentation ("Modifications") uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the -host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available -to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also -providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of -the CPL.</p> - -</body> -</html>
\ No newline at end of file diff --git a/org.eclipse.debug.core/build.properties b/org.eclipse.debug.core/build.properties deleted file mode 100644 index 5dea92930..000000000 --- a/org.eclipse.debug.core/build.properties +++ /dev/null @@ -1,17 +0,0 @@ -############################################################################### -# Copyright (c) 2000, 2003 IBM Corporation 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: -# IBM Corporation - initial API and implementation -############################################################################### -bin.includes = .options,\ - plugin.xml,\ - plugin.properties,\ - *.jar,\ - about.html -source.dtcore.jar = core/ -src.includes=about.html, schema/ diff --git a/org.eclipse.debug.core/buildnotes_platform-debug.html b/org.eclipse.debug.core/buildnotes_platform-debug.html deleted file mode 100644 index 83c643d4c..000000000 --- a/org.eclipse.debug.core/buildnotes_platform-debug.html +++ /dev/null @@ -1,494 +0,0 @@ -<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> -<html> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> - <meta name="Author" content="IBM"> - <meta name="GENERATOR" content="Mozilla/4.75 [en] (WinNT; U) [Netscape]"> - <title>Platform Debug Release Notes</title> -</head> -<body> - -<h1> -Eclipse Platform Build Notes <br> -Platform Debug</h1> -Jan 18, 2005 -<h3> -Problem Reports Fixed</h3> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80991">80991</a>: Promote StringVariableSelectionDialog to API<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82553">82553</a>: NPE from TerminateAllAction<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80924">80924</a>: errors in log running test suite<br> - -<h1> -Eclipse Platform Build Notes <br> -Platform Debug</h1> -Jan 11, 2005 -<h3> -Problem Reports Fixed</h3> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82003">82003</a>: The IDisconnect implementation by Launch module is too restrictive<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82001">82001</a>: When shutting down the IDE, the debugger should first attempt to disconnect debug targets before terminating them<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80551">80551</a>: Provide AbstractRunToLineAdapter<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82402">82402</a>: [Memory View] Bad error message format<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74559">74559</a>: Memory View does not scroll properly on Linux<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82403">82403</a>: [Memory View] Unable to remove more than one memory monitor<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82280">82280</a>: remove TextConsole.setAutoScroll()<br> - -<h1> -Eclipse Platform Build Notes <br> -Platform Debug</h1> -Jan 4, 2005 -<h3> -Problem Reports Fixed</h3> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72909">72909</a>: Add "Remove All Breakpoints" action to "Run" menu<br> - -<h1> -Eclipse Platform Build Notes <br> -Platform Debug</h1> -Dec 21, 2004 -<h3> -Problem Reports Fixed</h3> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81540">81540</a>: no need to create annotation for editors without annotation model<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71149">71149</a>: [artwork] When breakpoints are disabled (skipped), the bullet should be different<br> - -<h1> -Eclipse Platform Build Notes <br> -Platform Debug</h1> -M4, 2004 -<h3> -Problem Reports Fixed</h3> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70938">70938</a>: Need to be able to turn off "Watch" action for IVariable<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80522">80522</a>: VariablesView and problems with hyperlink support<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81234">81234</a>: Console Pinning causes no console to be displayed.<br> - -<h1> -Eclipse Platform Build Notes <br> -Platform Debug</h1> -December 14, 2004 -<h3> -Problem Reports Fixed</h3> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80227">80227</a>: Fixed width console of 80 chars double spaces 80 char lines<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80546">80546</a>: Incorrect package ref for IRunToLineTarget<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80617">80617</a>: Memory View does not synchronize properly<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80331">80331</a>: NPE from AbstractDebugActionDelegate<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80409">80409</a>: Breakpoints Group By > menu should number submenu starting with 1<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76297">76297</a>: Enhancements to memory block API<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78335">78335</a>: Support for word-addressable memory in memory view<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78423">78423</a>: Enhancements to Memory Rendering Extension Point<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79255">79255</a>: Enhancements to Memory View<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80284">80284</a>: Enhancements to Memory View - replace MemoryViewPane with Tree Viewer<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80229">80229</a>: AIOB exception with fixed width console<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80679">80679</a>: Encoding dropdown enabled on common tab of launch config when default selected<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80653">80653</a>: IllegalArgumentException from OpenBreakpointMarkerAction<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1654">1654</a>: USABILITY - Can't look at client server output in one perspective (1GFX2ZU)<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80726">80726</a>: new launch doesn't open console view<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80728">80728</a>: ShowConsoleAction not working when console pinned<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80720">80720</a>: Pinned console does not remain on top<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80373">80373</a>: Pinning of consoles is lost after relaunch of debug process<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80729">80729</a>: NPE in console<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80873">80873</a>: Fill out schema for logical structure providers<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80721">80721</a>: Conflicting key binding for 'org.eclipse.debug.ui.commands.eof' and 'org.eclipse.ui.edit.text.delete.line'<br> - -<h1> -Eclipse Platform Build Notes <br> -Platform Debug</h1> -December 7, 2004 -<h3> -Problem Reports Fixed</h3> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79153">79153</a>: [Common Tab] redirect to file should do variable expansion<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79043">79043</a>: Translatable attributes not translated in memoryRenderingTypes extensions<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79757">79757</a>: NoClassDefFoundError when opening type<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79897">79897</a>: Debug view flashes after terminating target<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79903">79903</a>: Source not found automatically for higher level plugins<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79949">79949</a>: Console View is missing Ctrl-C in context menu item.<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79841">79841</a>: Memory view leaks<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79606">79606</a>: Common tab is too tall<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79735">79735</a>: Allow to append / overwrite when output to file from console<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79304">79304</a>: Incorrect stack frame selected<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79952">79952</a>: broken hyperlink in console redirecting process output to console.<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79306">79306</a>: Custom breakpoint group action enablement<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30779">30779</a>: Queue/Fire debug events in separate thread<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79951">79951</a>: Output lost / colored incorrect with echoProperties<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80073">80073</a>: Shortcut for show debug perspective<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79510">79510</a>: background source lookup<br> - -<h1> -Eclipse Platform Build Notes <br> -Platform Debug</h1> -November 30, 2004 -<h3> -Problem Reports Fixed</h3> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78881">78881</a>: NullPointerException in memory view when selecting watch expressions<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78079">78079</a>: Error loading classes to to Apple's VM packaging.<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79097">79097</a>: Mnemonic collision on the Commons tab<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79466">79466</a>: Capture Output file widgets enabled initially<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35400">35400</a>: new Debugger view can't get to associated text editor<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79043">79043</a>: Translatable attributes not translated in memoryRenderingTypes extensions<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23064">23064</a>: RFE: Add option to redirect console output (stderr & stdout) to file<br> - -<h1> -Eclipse Platform Build Notes <br> -Platform Debug</h1> -November 23, 2004 -<h3> -Problem Reports Fixed</h3> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76316">76316</a>: Addition of memory block manager to API<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76310">76310</a>: Memory block enhancements: MemoryByte<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78864">78864</a>: Using new registry API<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=61801">61801</a>: A null String object reference becomes the value "null"<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77060">77060</a>: Toggling show qualified names in the Debug view collapses thread<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78010">78010</a>: NPE closing eclipse<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79008">79008</a>: Dialog units should not be used for calculating button heights<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77380">77380</a>: hyperlinks in stack trace console draw "higher" than original text<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78739">78739</a>: stack trace console unexpectedly restored<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78751">78751</a>: Extension Point Schema Changes<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78996">78996</a>: ContextualLaunchAction assumes launch group category supports mode<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78759">78759</a>: NPE in WatchExpression.getLaunch<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78338">78338</a>: Selection is lost in debug view while stepping with monitor info on<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79304">79304</a>: Incorrect stack frame selected<br> - -<h1> -Eclipse Platform Build Notes <br> -Platform Debug</h1> -November 16, 2004 -<h3> -Problem Reports Fixed</h3> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77202">77202</a>: font setting for process console<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73882">73882</a>: ConsoleDocumentManager caused a deadlock<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77779">77779</a>: Advanced Breakpoints grouping dialog improvements<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76119">76119</a>: source containers not disposed when launch removed<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78338">78338</a>: Selection is lost in debug view while stepping with monitor info on<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78191">78191</a>: [console] context menu contributions<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77995">77995</a>: NPE out of LaunchViewer running test suite<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74590">74590</a>: Console colors not changed for terminated processes<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52336">52336</a>: [Viewers] Internal error at start of debug session<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68621">68621</a>: Invalid thread access in launcher from Checkout thread<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78193">78193</a>: IOConsolePartitioner.TrimJob quits too early if lastPartition is null<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78351">78351</a>: Please add shortcut keys to switch to Variables and Breakpoints views<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77416">77416</a>: Filter console factories by capabilities<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78386">78386</a>: NPE in ProcessConsoleManager<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73460">73460</a>: Console flicker when launching<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78456">78456</a>: Breakpoint group setting lost on close of breakpoints view<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78494">78494</a>: State of child BreakpointContainers are not updated when parent is enabled/disabled<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75851">75851</a>: Custom variable edit widget<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78513">78513</a>: Memory View: Length and change state incorrect for IMemoryBlock<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29581">29581</a>: Launch shortcut hotkeys<br> - -<h1> -Eclipse Platform Build Notes <br> -Platform Debug</h1> -November 9, 2004 -<h3> -Problem Reports Fixed</h3> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74584">74584</a>: [Console] IOConsole does not bold title when contents change<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75571">75571</a>: restore defaults does not enable console buffer size text field<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77667">77667</a>: Invalid error message in Run/Debug|Console<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77783">77783</a>: No mnemonic for "Group By"<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77670">77670</a>: breakpoint group rendered as "enabled" when manager disabled<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77721">77721</a>: groups not expanded when switching between none and other<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77991">77991</a>: Leak: IOConsolePage needs to dispose ScrollLockAction<br> - -<h1> -Eclipse Platform Build Notes <br> -Platform Debug</h1> -November 5, 2004 -<h3> -Problem Reports Fixed</h3> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77703">77703</a>: Deselecting Map$Entry/Show As>/Key And Value Deselects Map/Show As>/Map Entries<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77754">77754</a>: Inefficient loop rendering styled text<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77472">77472</a>: NPE in TextConsolePage runnable<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77994">77994</a>: TextConsoleViewer leaks ConsoleDocumentAdapter<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77998">77998</a>: IOConsoleViewer leaks a document listener<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76605">76605</a>: Set our compiler settings for each project so they are shared<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77748">77748</a>: NPE terminating a target<br> - -<h1> -Eclipse Platform Build Notes <br> -Platform Debug</h1> -November 2, 2004 -<h3> -Problem Reports Fixed</h3> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76771">76771</a>: Inconsistency between schema description and implementation in logicalStructureTypes<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77049">77049</a>: SelectBreakpointGroupDialog doesn't allow selection of existing groups<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76675">76675</a>: Pattern Matching independent of IOConsole and IOConsolePartitioner<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77028">77028</a>: Element 'breakpointContainerFactory' is not legal as a child of element 'extension'.<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77046">77046</a>: Console causing Ant test failures<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77072">77072</a>: Composite breakpoint group expansion problem<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77065">77065</a>: scroll lock not required in stack trace console<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77066">77066</a>: Pressing <Enter> in strack trace console appends to EOD<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76907">76907</a>: Clarify run menu (run, run..., run > run...? RUN!)<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54916">54916</a>: Environment tab should show icons for env vars<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74206">74206</a>: Delete breakpoint needs to "preserve selection"<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74031">74031</a>: No mnemonics on Open Console drop down items<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74123">74123</a>: Console font problem<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75370">75370</a>: Hyperlinks to source in console don't work sometimes<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77029">77029</a>: "Browse" button on the Common tab does not resize properly<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77033">77033</a>: Console encoding on Common tab: mnemonics and NLS<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77189">77189</a>: exception during test suite<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77202">77202</a>: font setting for process console<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77068">77068</a>: Typing in stack trace console moves line to top of view<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77116">77116</a>: API cannot reference internal classes<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77306">77306</a>: Provide a rendering view pane in the Memory View<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69815">69815</a>: DBCS -- System console cannot display Unicode characters properly<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76427">76427</a>: Run configuration dialog layout<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69083">69083</a>: Switch to associated perspective on suspension<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77063">77063</a>: JavaStackTraceConsole should use Hyperlink Color<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77295">77295</a>: Argument parsing for command line launching<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77238">77238</a>: Enable/Disable not on context menu for breakpoint groups<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77048">77048</a>: ArrayIndexOutOfBounds removing breakpoint<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77397">77397</a>: Book capitalization in Color and Font extensions<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77253">77253</a>: Sort the consoles in the Open console dropdown<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77073">77073</a>: Expand to show breakpoint containers<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77421">77421</a>: [Themes] default text editor font changes by itself<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77462">77462</a>: CVS Plug-in fails to start<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74596">74596</a>: Always group by breakpoint type<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75119">75119</a>: Default breakpoint group setting not used when breakpoints view not there<br> - -<h1> -Eclipse Platform Build Notes <br> -Platform Debug</h1> -October 26, 2004 -<h3> -Problem Reports Fixed</h3> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76539">76539</a>: ILaunchConfiguration.getAttributes doc/clone usage pbm<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76677">76677</a>: Console Input incorrect<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76110">76110</a>: Breakpoints not showing as installed in the BreakpointsView<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76532">76532</a>: Deleting multipe groups prompts for each group<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75183">75183</a>: DebugEvent.CHANGE does not cause run control action states to be updated<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76797">76797</a>: Two output stream reader threads and 100% CPU usages<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76743">76743</a>: Console pipes should be closed when program terminated<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51884">51884</a>: Feature request: More flexible debug hierarchy<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76514">76514</a>: Allow debug presentations to provide colors<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76517">76517</a>: NPE in LaunchViewContextListener<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76529">76529</a>: Renaming a custom group collapses all of the groups<br> - -<h1> -Eclipse Platform Build Notes <br> -Platform Debug</h1> -October 19, 2004 -<h3> -Problem Reports Fixed</h3> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75967">75967</a>: NullPointerException in IOConsolePartitioner.getRegion<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75769">75769</a>: Console doesn't restore displayed tab width 8 on restart<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74909">74909</a>: Automated test for console input<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75174">75174</a>: Can not clear console with unlimited output<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75546">75546</a>: hang during debug session<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72500">72500</a>: Migrate StringMatcher to RegEx 1.4 support<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75198">75198</a>: breakpoint groups don't support double click expand<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76428">76428</a>: Run configuration dialog; source tab<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76270">76270</a>: Scroll in Console is always lock.<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74909">74909</a>: Automated test for console input<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76208">76208</a>: Incorrect code for converting String-> boolean<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75282">75282</a>: Composite breakpoint groups<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76518">76518</a>: Buttons in the Group Breakpoints "Advanced" dialog incorrectly sized<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76521">76521</a>: Incorrect icon names for the breakpoint group actions<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76519">76519</a>: Expand all in the Breakpoints view with no groups causes infinite recursion<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74673">74673</a>: Add Expand/Collapse All to Breakpoints view<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74560">74560</a>: Group all should expand groups on creation<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76495">76495</a>: Delete action is enabled for a group<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76498">76498</a>: "set custom group" should have "..."<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76497">76497</a>: illegal argument exception<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76326">76326</a>: Shared launch configurations not removed when containing project is deleted<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76527">76527</a>: Flaw in AbstractBreakpointGroupAction->rename and dissolve broken<br> - -<h1> -Eclipse Platform Build Notes <br> -Platform Debug</h1> -October 12, 2004 -<h3> -Problem Reports Fixed</h3> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75454">75454</a>: RuntimeProcess.isTerminated() replies "false" if process segfaults<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75402">75402</a>: NPE on LaunchShortcutsAction.createContext<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75588">75588</a>: generalize watchpoint to debug platform<br> - -<h1> -Eclipse Platform Build Notes <br> -Platform Debug</h1> -October 5, 2004 -<h3> -Problem Reports Fixed</h3> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75111">75111</a>: ArrayIndexOutOfBoundsException in ContentWidthCache.textChanged<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75177">75177</a>: Error setting Console Preference<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75204">75204</a>: NPE using build 200409240800<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75226">75226</a>: IllegalArgumentException setting console size from 200k to 400k<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75506">75506</a>: Adjust for the many deprecations in the command extension point<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75405">75405</a>: Allow a logical structure type to provide more than one logical structure<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75123">75123</a>: Use PerspectiveLabelProvider in ViewManagementPreferencePage<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75372">75372</a>: NPE in org.eclipse.ui.console.IOConsole.getHyperlink<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72209">72209</a>: Inspect and Display popup does not allow copying of values<br> - -<h1> -Eclipse Platform Build Notes <br> -Platform Debug</h1> -September 28, 2004 -<h3> -Problem Reports Fixed</h3> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74947">74947</a>: Remove warnings from 200409240800 build<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74741">74741</a>: console hyperlink search is slow<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34052">34052</a>: CTRL-Z Not Recognized as EOF<br> - -<h1> -Eclipse Platform Build Notes <br> -Platform Debug</h1> -September 21-23, 2004 -<h3> -Problem Reports Fixed</h3> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56253">56253</a>: [Generic Console] no support for extending the toolbar<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73942">73942</a>: IllegalMonitorStateException pasting into the Java Stack Trace Console<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73908">73908</a>: [Console] Incorrect colorization when multi streams write to same line<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56252">56252</a>: [Generic Console] no support for enabled/disabled lifecycles<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73957">73957</a>: API break introduced with IConsoleHyperlink change<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73924">73924</a>: Console can be removed before it's page is created<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73893">73893</a>: Should disallow close in LCD when running an operation<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73842">73842</a>: Remove from Group enabled when breakpoint not in a group<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73576">73576</a>: Pattern matching in IOConsole is too expensive<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73996">73996</a>: Add to Group / Remove from Group incorrectly disabled<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74005">74005</a>: Persist last breakpoint group across invocations<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73460">73460</a>: Console flicker when launching<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73950">73950</a>: MemoryView leaks AddMemoryBlockAction<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73951">73951</a>: CopyViewTabToClipboardAction leaks Clipboard<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74033">74033</a>: ClassCastException on selection change in Breakpoints view<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73840">73840</a>: Group by>File seems to only match on name<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74000">74000</a>: ClassCastException filtering for "show support breakpoints"<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73870">73870</a>: [misc] NPE when terminating large output<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73917">73917</a>: [Console] Missing hyperlinks<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74080">74080</a>: Process console did not flush stream monitors<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74124">74124</a>: Console type should be promoted to IConsole<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74308">74308</a>: Wrong number of lines in output<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74331">74331</a>: CPU at 99% after a debug session<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74340">74340</a>: NPE in IOConsoleViewer<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74370">74370</a>: NPE from ProcessConsolePageParticipant<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74039">74039</a>: NPE in ProcessConsole.connect<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68077">68077</a>: Manually closed views do not open when view management is reset<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73841">73841</a>: Icon for grouped breakpoints not disabled with set to skip breakpoints<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74229">74229</a>: Debug test failure for program arguments<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74283">74283</a>: Empty output in debug tests<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74703">74703</a>: Console view activated even if nothing is written to standart out<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74431">74431</a>: [Mac] runtime discovers JDI interfaces in classes.jar before jdi.jar<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48286">48286</a>: Add support for input on consoles<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74024">74024</a>: Console buffer implementation is line based rather than char based<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74428">74428</a>: Clearing console during output breaks hyperlinks<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74363">74363</a>: "Terminate and Remove" action doesn't close a view tied to a Context<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74563">74563</a>: renaming breakpoint group collapses group<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74560">74560</a>: Group all should expand groups on creation<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74381">74381</a>: Launch view manages views in other perspectives<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74384">74384</a>: Numerous action delegates leaked on debug perspective closed<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74465">74465</a>: Pasting multiple lines in console<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74558">74558</a>: "Dissolve Group" should be "Ungroup"<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=21597">21597</a>: Difficult to enter text in debug console<br> - -<h1> -Eclipse Platform Build Notes <br> -Platform Debug</h1> -September 14, 2004 -<h3> -Problem Reports Fixed</h3> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72317">72317</a>: Copying from IOConsole inserts extra line breaks.<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73823">73823</a>: Reorganize BreakpointsView menus<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72167">72167</a>: ProcessConsole should extend IOConsole<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44986">44986</a>: Support for Breakpoint groups<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73704">73704</a>: Provide action to group breakpoints by Type<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70066">70066</a>: Bind "Alt+Shift+Q C" to active console view<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73493">73493</a>: Default VM Args field should parse quotes intuitively<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73577">73577</a>: Find (Ctrl-F) not enabled in ConsoleView<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73779">73779</a>: Allow browse in "Add To Group" dialog<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70471">70471</a>: ExpressionManager#handleDebugEvents() doesn't work as intended<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73844">73844</a>: Mnemonics missing from breakpoint groups<br> - -<h1> -Eclipse Platform Build Notes <br> -Platform Debug</h1> -September 7, 2004 -<h3> -Problem Reports Fixed</h3> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72986">72986</a>: ExpressionInformationControl leaks<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72000">72000</a>: Run as Application: duplicate menmonics<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72449">72449</a>: NPE in VariablesView.saveState<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73068">73068</a>: Support for ordering launch shortcuts<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73069">73069</a>: bogus extension point id in org.eclipse.debug.ui.launchShortcuts<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73110">73110</a>: IConsoleColorProvider is not disconnected<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72472">72472</a>: Remove unused dependancies<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72551">72551</a>: add System property to test suite to turn off workbench and console activation<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51562">51562</a>: console doesn't wrap input<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72317">72317</a>: IOConsole inserts extra line breaks when pasting<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72517">72517</a>: Replace "Run As >" with context launch<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73272">73272</a>: NPE in ProcessConsoleManager when no process type<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70664">70664</a>: TVT3.0: Improper characters combination "Run As"<br> - -<h1> -Eclipse Platform Build Notes <br> -Platform Debug</h1> -August 31, 2004 -<h3> -Problem Reports Fixed</h3> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72300">72300</a>: Confirmation on RemoveAll actions<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72350">72350</a>: NPE in BreakpointsView.dispose<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72881">72881</a>: LineTracker Test Failure<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72483">72483</a>: NPE attempt to Inspect if never shown Variable view<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27895">27895</a>: Add new command to Run-menu; Resume All Threads<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=67383">67383</a>: breakpoint manage fires add notificaiton on initialization<br> - -<h1> -Eclipse Platform Build Notes <br> -Platform Debug</h1> -August 24, 2004 -<h3> -Problem Reports Fixed</h3> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72169">72169</a>: provided debug context for non-UI thread<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26830">26830</a>: Allow external programs to create tasks and markers through regex matches on the output<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27591">27591</a>: [Console] Hyperlink color not used<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72165">72165</a>: MessageConsole should extend IOConsole<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70864">70864</a>: API method to show the console view has a bug<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28193">28193</a>: Watch expressions updating when expression view not visible<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31899">31899</a>: Consolidate "Java" hyperlinks<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71292">71292</a>: Launch name is truncated in MRU list<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71429">71429</a>: Choosing 'Cancel' in the ${string_prompt} dialog does not cancel the Run command<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=61447">61447</a>: keybinding clean up.<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71561">71561</a>: Inspect popup doesn't handle tabs in inspected expression<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72370">72370</a>: [Console] ArrayIndexOutOfBounds<br> - -<h1> -Eclipse Platform Build Notes <br> -Platform Debug</h1> -August 17, 2004 -<h3> -Problem Reports Fixed</h3> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70354">70354</a>: JSP editor does not scroll to/highlight the current execution line when debug with JDT<br> - - -<h1> -Eclipse Platform Build Notes <br> -Platform Debug</h1> -August 3, 2004 -<h3> -Problem Reports Fixed</h3> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69470">69470</a>: TVT3.0: NL Truncation occurs in Run -> External Tools -> External Tools<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69723">69723</a>: TVT3.0: Truncated text in memory view<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69952">69952</a>: ILaunchConfigurationListener's launchConfigurationRemoved gets a configuration that doesn't exist<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71185">71185</a>: TVT3.0: Extra mnemonics for Debug, Run, and External tools<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=61566">61566</a>: Launch configs dialog: Arrow_Up/Down in configurations tree extremely slow<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=64370">64370</a>: Fix setTitle deprecations<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68808">68808</a>: all debug actions (step, terminate, etc), should be done async<br> - -<h1> -Eclipse Platform Build Notes <br> -Platform Debug</h1> -July 27, 2004 -<h3> -Problem Reports Fixed</h3> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69536">69536</a>: Infinite loop on rendering variables<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69978">69978</a>: TVT3.0: Two shortcuts for one menuitem<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69057">69057</a>: Incorrect icon in Breakpoints view when breakpoint manager disabled<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69190">69190</a>: NullPointerException @ org.eclipse.debug.core.sourcelookup.containers.AbstractSourceContainer.isFindDuplicates<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70472">70472</a>: MemoryBlockManager has redundant null check<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70492">70492</a>: Possible NPE in AddSourceContainerDialog<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70493">70493</a>: Possible NPE in ViewTabCursorManager<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70495">70495</a>: Redundant null check in RefreshTab<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70499">70499</a>: Unnecessary null check in ContextualLaunchAction#selectionChanged(...)<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69452">69452</a>: NPE initializing source lookup<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70571">70571</a>: launch config save location on Common tab<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68523">68523</a>: missing `return' in org.eclipse.ui.internal.console.MessageConsolePartition<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24829">24829</a>: Multiple toString results shown if hold down arrow key<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68413">68413</a>: NPE from InstructionPointerManager<br> -<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70051">70051</a>: MemoryViewTab does not calculate delta and selected address correctly after error<br> - -</body> -</html> diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugEvent.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugEvent.java deleted file mode 100644 index d7efd38e1..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugEvent.java +++ /dev/null @@ -1,459 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core; - - -import java.util.EventObject; - -import org.eclipse.debug.internal.core.DebugCoreMessages; - -/** - * A debug event describes an event in a program being debugged or - * in a running process. Debug models and process implementations - * are required to generate debug events as specified by this class. - * <p> - * The following list defines the events generated for each debug - * model element. - * The <code>getSource()</code> method of a debug event - * returns the element associated with the event. - * Creation events are guaranteed to occur in a top - * down order - that is, parents are created before children. - * Termination events are guaranteed to occur in a bottom up order - - * that is, children before parents. However, termination events are not guaranteed - * for all elements that are created. That is, terminate events can be coalesced - a - * terminate event for a parent signals that all children have been terminated. - * </p> - * <p> - * A debug model may define model specific events by specifying a debug event - * kind of <code>MODEL_SPECIFIC</code>. A model specific event is identified by the - * event source (i.e. by the debug model that generated the event). The detail of - * a model specific event is client defined. Note that model specific events are - * not understood by the debug platform, and are thus ignored. - * </p> - * <p> - * The generic <code>CHANGE</code> event can be fired at any time by any element. - * Generally, a client of a debug model, such as as a UI, can get sufficient - * information to update by listening/responding to the other event kinds. However, - * if a debug model needs to inform clients of a change that is not specified - * by create/terminate/suspend/resume, the <code>CHANGE</code> event may be used. - * For example, generally, the only way a thread or any of its children can change - * state between a suspend and resume operation, is if the thread or owning debug - * target is terminated. However, if a debug model supports some other operation - * that would allow a debug element to change state while suspended, the debug model - * would fire a change event for that element. The valid detail codes for a - * change event are:<ul> - * <li><code>STATE</code> - indicates the state of an element has changed, but its - * children are not affected. A client would use a state change event to update - * a label of the affected element, but would not update any children.</li> - * <li><code>CONTENT</code> - indicates that a debug element's value or contents have - * changed in some way. For example, when the value of a variable is changed - * explicitly, the variable should fire a content change event.</li> - * </ul> - * </p> - * <ul> - * <li><code>IProcess</code> - * <ul> - * <li><code>CREATE</code> - a process has been created and is executing.</li> - * <li><code>TERMINATE</code> - a process has terminated.</li> - * </ul> - * <li><code>IDebugTarget</code> - * <ul> - * <li><code>CREATE</code> - a debug target has been created and is ready - * to begin a debug session.</li> - * <li><code>TERMINATE</code> - a debug target has terminated and the debug - * session has ended.</li> - * <li><code>SUSPEND</code> - a debug target has suspended. Event detail provides - * the reason for the suspension:<ul> - * <li><code>STEP_END</code> - a request to step has completed</li> - * <li><code>BREAKPOINT</code> - a breakpoint has been hit</li> - * <li><code>CLIENT_REQUEST</code> - a client request has caused the target to suspend - * (i.e. an explicit call to <code>suspend()</code>)</li> - * <li><code>UNSPECIFIED</code> - the reason for the suspend is not specified</li> - * </ul> - * </li> - * <li><code>RESUME</code> - a debug target has resumed. Event detail provides - * the reason for the resume:<ul> - * <li><code>STEP_INTO</code> - a target is being resumed because of a request to step into</li> - * <li><code>STEP_OVER</code> - a target is being resumed because of a request to step over</li> - * <li><code>STEP_RETURN</code> - a target is being resumed because of a request to step return</li> - * <li><code>CLIENT_REQUEST</code> - a client request has caused the target to be resumed - * (i.e. an explicit call to <code>resume()</code>)</li> - * <li><code>UNSPECIFIED</code> - The reason for the resume is not specified</li> - * </ul> - * </li> - * </ul> - * </li> - * <li><code>IThread</code> - * <ul> - * <li><code>CREATE</code> - a thread has been created in a debug target.</li> - * <li><code>TERMINATE</code> - a thread has terminated.</li> - * <li><code>SUSPEND</code> - a thread has suspended execution. Event detail provides - * the reason for the suspension:<ul> - * <li><code>STEP_END</code> - a request to step has completed</li> - * <li><code>BREAKPOINT</code> - a breakpoint has been hit</li> - * <li><code>CLIENT_REQUEST</code> - a client request has caused the thread to suspend - * (i.e. an explicit call to <code>suspend()</code>)</li> - * <li><code>EVALUATION</code> - an expression evaluation has ended that may - * have had side effects in the debug target.</li> - * <li><code>EVALUATION_IMPLICIT</code> - an expression evaluation has ended that - * had no side effects in the debug target.</li> - * <li><code>UNSPECIFIED</code> - the reason for the suspend is not specified</li> - * </ul> - * </li> - * <li><code>RESUME</code> - a thread has resumed execution. Event detail provides - * the reason for the resume:<ul> - * <li><code>STEP_INTO</code> - a thread is being resumed because of a request to step into</li> - * <li><code>STEP_OVER</code> - a thread is being resumed because of a request to step over</li> - * <li><code>STEP_RETURN</code> - a thread is being resumed because of a request to step return</li> - * <li><code>CLIENT_REQUEST</code> - a client request has caused the thread to be resumed - * (i.e. an explicit call to <code>resume()</code>)</li> - * <li><code>EVALUATION</code> - an expression evaluation has started that may - * have side effects in the debug target.</li> - * <li><code>EVALUATION_IMPLICIT</code> - an expression evaluation has started that - * will have no side effects in the debug target.</li> - * <li><code>UNSPECIFIED</code> - The reason for the resume is not specified</li> - * </ul> - * </li> - * </ul> - * </li> - * <li><code>IStackFrame</code> - no events are specified for stack frames. - * When a thread is suspended, it has stack frames. When a thread resumes, - * stack frames are unavailable. - * </li> - * <li><code>IVariable</code> - no events are specified for variables. - * When a thread is suspended, stack frames have variables. When a thread resumes, - * variables are unavailable. - * </li> - * <li><code>IValue</code> - no events are specified for values. - * </li> - * </ul> - * <p> - * Clients may instantiate this class. Clients are not intended to subclass this class. - * </p> - */ -public final class DebugEvent extends EventObject { - - /** - * All serializable objects should have a stable serialVersionUID - */ - private static final long serialVersionUID = 1L; - - /** - * Resume event kind. - */ - public static final int RESUME= 0x0001; - - /** - * Suspend event kind. - */ - public static final int SUSPEND= 0x0002; - - /** - * Create event kind. - */ - public static final int CREATE= 0x0004; - - /** - * Terminate event kind. - */ - public static final int TERMINATE= 0x0008; - - /** - * Change event kind. - */ - public static final int CHANGE= 0x0010; - - /** - * Model specific event kind. The detail codes - * for a model specific event are client defined. - * - * @since 2.1.2 - */ - public static final int MODEL_SPECIFIC= 0x0020; - - /** - * Step start detail. Indicates a thread was resumed by a step - * into action. - * @since 2.0 - */ - public static final int STEP_INTO= 0x0001; - - /** - * Step start detail. Indicates a thread was resumed by a step - * over action. - * @since 2.0 - */ - public static final int STEP_OVER= 0x0002; - - /** - * Step start detail. Indicates a thread was resumed by a step - * return action. - * @since 2.0 - */ - public static final int STEP_RETURN= 0x0004; - - /** - * Step end detail. Indicates a thread was suspended due - * to the completion of a step action. - */ - public static final int STEP_END= 0x0008; - - /** - * Breakpoint detail. Indicates a thread was suspended by - * a breakpoint. - */ - public static final int BREAKPOINT= 0x0010; - - /** - * Client request detail. Indicates a thread was suspended due - * to a client request. - */ - public static final int CLIENT_REQUEST= 0x0020; - - /** - * Evaluation detail. Indicates that a thread was resumed or - * suspended to perform an expression evaluation. - * - * @since 2.0 - */ - public static final int EVALUATION = 0x0040; - - /** - * Evaluation detail. Indicates that a thread was resumed or - * suspended to perform an implicit expression evaluation. - * An implicit evaluation is an evaluation that is performed - * as an indirect result of a user action. - * Clients may use this detail event to decide whether or not - * to alert the user that an evaluation is taking place.. - * - * @since 2.0 - */ - public static final int EVALUATION_IMPLICIT = 0x0080; - - /** - * State change detail. Indicates the state of a single - * debug element has changed. Only valid for <code>CHANGE</code> - * events. - * - * @since 2.0 - */ - public static final int STATE = 0x0100; - - /** - * Content change detail. Indicates the content of a debug element - * (and potentially its children) has changed. Only valid for - * <code>CHANGE</code> events. - * - * @since 2.0 - */ - public static final int CONTENT = 0x0200; - - /** - * Constant indicating that the kind or detail of a debug - * event is unspecified. - */ - public static final int UNSPECIFIED = 0; - - /** - * The kind of event - one of the kind constants defined by - * this class. - */ - private int fKind= UNSPECIFIED; - - /** - * The detail of the event - one of the detail constants defined by - * this class. - */ - private int fDetail= UNSPECIFIED; - - /** - * Client defined data field. - * - * @since 2.1.2 - */ - private Object fData = null; - - /** - * Constructs a new debug event of the given kind with a detail code of - * <code>UNSPECIFIED</code>. - * - * @param eventSource the object associated with the event - * @param kind the kind of debug event (one of the - * kind constants defined by this class) - */ - public DebugEvent(Object eventSource, int kind) { - this(eventSource, kind, UNSPECIFIED); - } - - /** - * Constructs a new debug event of the given kind with the given detail. - * - * @param eventSource the object associated with the event - * @param kind the kind of debug event (one of the - * kind constants defined by this class) - * @param detail extra information about the event (one of the - * detail constants defined by this class or a client defined detail if this is a model specific event) - */ - public DebugEvent(Object eventSource, int kind, int detail) { - super(eventSource); - if ((kind & (RESUME | SUSPEND | CREATE | TERMINATE | CHANGE | MODEL_SPECIFIC)) == 0) - throw new IllegalArgumentException(DebugCoreMessages.getString("DebugEvent.illegal_kind")); //$NON-NLS-1$ - if (kind != MODEL_SPECIFIC && detail != UNSPECIFIED && (detail & (STEP_END | STEP_INTO | STEP_OVER | STEP_RETURN | BREAKPOINT | CLIENT_REQUEST |EVALUATION | EVALUATION_IMPLICIT | STATE | CONTENT)) == 0) - throw new IllegalArgumentException(DebugCoreMessages.getString("DebugEvent.illegal_detail")); //$NON-NLS-1$ - fKind= kind; - fDetail= detail; - } - - /** - * Returns a constant describing extra detail about the event - either one - * of the detail constants defined by this class, possibly - * <code>UNSPECIFIED</code>, or a client defined detail if this is a model specific event. - * - * @return the detail code - */ - public int getDetail() { - return fDetail; - } - - /** - * Returns this event's kind - one of the kind constants defined by this class. - * - * @return the kind code - */ - public int getKind() { - return fKind; - } - - /** - * Returns whether this event's detail indicates the - * beginning of a step event. This event's detail is one - * of <code>STEP_INTO</code>, <code>STEP_OVER</code>, or - * <code>STEP_RETURN</code>. - * - * @return whether this event's detail indicates the beginning - * of a step event. - * @since 2.0 - */ - public boolean isStepStart() { - return (getDetail() & (STEP_INTO | STEP_OVER | STEP_RETURN)) > 0; - } - - /** - * Returns whether this event's detail indicates an - * evaluation. This event's detail is one - * of <code>EVALUATION</code>, or <code>EVALUATION_IMPLICIT</code>. - * - * @return whether this event's detail indicates an evaluation. - * @since 2.0 - */ - public boolean isEvaluation() { - return (getDetail() & (EVALUATION | EVALUATION_IMPLICIT)) > 0; - } - - /** - * Sets this event's application defined data. - * - * @param data application defined data - * @since 2.1.2 - */ - public void setData(Object data) { - fData = data; - } - - /** - * Returns this event's application defined data, or <code>null</code> if none - * - * @return application defined data, or <code>null</code> if none - * @since 2.1.2 - */ - public Object getData() { - return fData; - } - - /** - * @see java.lang.Object#toString() - */ - public String toString() { - StringBuffer buf = new StringBuffer("DebugEvent["); //$NON-NLS-1$ - if (getSource() != null) { - buf.append(getSource().toString()); - } else { - buf.append("null"); //$NON-NLS-1$ - } - buf.append(", "); //$NON-NLS-1$ - switch (getKind()) { - case CREATE: - buf.append("CREATE"); //$NON-NLS-1$ - break; - case TERMINATE: - buf.append("TERMINATE"); //$NON-NLS-1$ - break; - case RESUME: - buf.append("RESUME"); //$NON-NLS-1$ - break; - case SUSPEND: - buf.append("SUSPEND"); //$NON-NLS-1$ - break; - case CHANGE: - buf.append("CHANGE"); //$NON-NLS-1$ - break; - case UNSPECIFIED: - buf.append("UNSPECIFIED"); //$NON-NLS-1$ - break; - case MODEL_SPECIFIC: - buf.append("MODEL_SPECIFIC"); //$NON-NLS-1$ - break; - } - buf.append(", "); //$NON-NLS-1$ - switch (getDetail()) { - case BREAKPOINT: - buf.append("BREAKPOINT"); //$NON-NLS-1$ - break; - case CLIENT_REQUEST: - buf.append("CLIENT_REQUEST"); //$NON-NLS-1$ - break; - case STEP_END: - buf.append("STEP_END"); //$NON-NLS-1$ - break; - case STEP_INTO: - buf.append("STEP_INTO"); //$NON-NLS-1$ - break; - case STEP_OVER: - buf.append("STEP_OVER"); //$NON-NLS-1$ - break; - case STEP_RETURN: - buf.append("STEP_RETURN"); //$NON-NLS-1$ - break; - case EVALUATION: - buf.append("EVALUATION"); //$NON-NLS-1$ - break; - case EVALUATION_IMPLICIT: - buf.append("EVALUATION_IMPLICIT"); //$NON-NLS-1$ - break; - case STATE: - buf.append("STATE"); //$NON-NLS-1$ - break; - case CONTENT: - buf.append("CONTENT"); //$NON-NLS-1$ - break; - case UNSPECIFIED: - buf.append("UNSPECIFIED"); //$NON-NLS-1$ - break; - default: - // model specific - buf.append(getDetail()); - break; - } - buf.append("]"); //$NON-NLS-1$ - return buf.toString(); - } -} - diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugException.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugException.java deleted file mode 100644 index ecbff3dc8..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugException.java +++ /dev/null @@ -1,90 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core; - - - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IStatus; - - -/** - * A checked exception representing a failure. - * <p> - * Defines status codes relevant to the debug plug-in. When a - * debug exception is thrown, it contains a status object describing - * the cause of the exception. The status objects originating from the - * debug plug-in use the codes defined in this class. - * </p> - * <p> - * Clients may instantiate this class. Clients are not intended to subclass this class. - * </p> - * @see IStatus - */ -public class DebugException extends CoreException { - - /** - * All serializable objects should have a stable serialVersionUID - */ - private static final long serialVersionUID = 1L; - - /** - * Indicates a request made of a debug element has failed - * on the target side. - */ - public static final int TARGET_REQUEST_FAILED = 5010; - - /** - * Indicates a request is not supported by the capabilities of a debug element. - * For example, a request was made to terminate an element that does not - * support termination. - */ - public static final int NOT_SUPPORTED = 5011; - - /** - * Indicates that a request made of manager has failed, or a request made of a - * debug element has failed on the client side (that is, before the request was - * sent to the debug target). - */ - public static final int REQUEST_FAILED = 5012; - - /** - * Indicates an internal error. This is an unexpected state. - */ - public static final int INTERNAL_ERROR = 5013; - - /** - * Indicates an improperly configured breakpoint. Breakpoints have a minimal - * set of required attributes as defined by the breakpoint manager. - * - * @see IBreakpointManager - */ - public static final int CONFIGURATION_INVALID = 5014; - - /** - * Indicates a launch configuration could not be restored because its - * launch configuration type definition is missing. - * - * @since 3.0 - */ - public static final int MISSING_LAUNCH_CONFIGURATION_TYPE = 5020; - - /** - * Constructs a new debug exception with the given status object. - * - * @param status the status object describing this exception - * @see IStatus - */ - public DebugException(IStatus status) { - super(status); - } - -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java deleted file mode 100644 index 20d6a26c4..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java +++ /dev/null @@ -1,1305 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core; - - -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.text.MessageFormat; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Vector; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.FactoryConfigurationError; -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.transform.TransformerException; - -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.IExtensionPoint; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.ISafeRunnable; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.MultiStatus; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.Plugin; -import org.eclipse.core.runtime.Status; -import org.eclipse.core.runtime.jobs.Job; -import org.eclipse.debug.core.model.IProcess; -import org.eclipse.debug.core.model.IValue; -import org.eclipse.debug.core.model.RuntimeProcess; -import org.eclipse.debug.internal.core.BreakpointManager; -import org.eclipse.debug.internal.core.DebugCoreMessages; -import org.eclipse.debug.internal.core.ExpressionManager; -import org.eclipse.debug.internal.core.LaunchManager; -import org.eclipse.debug.internal.core.ListenerList; -import org.eclipse.debug.internal.core.LogicalStructureManager; -import org.eclipse.debug.internal.core.MemoryBlockManager; -import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages; -import org.eclipse.debug.internal.core.sourcelookup.SourceLookupUtils; -import org.eclipse.osgi.service.environment.Constants; -import org.osgi.framework.BundleContext; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.xml.sax.SAXException; - -/** - * There is one instance of the debug plug-in available from - * <code>DebugPlugin.getDefault()</code>. The debug plug-in provides: - * <ul> - * <li>access to the breakpoint manager</li> - * <li>access to the launch manager</li> - * <li>access to the expression manager</li> - * <li>access to the registered launcher extensions</li> - * <li>access to the memory block manager</li> - * <li>debug event notification</li> - * <li>status handlers</li> - * </ul> - * <p> - * Clients may not instantiate or subclass this class. - * </p> - */ -public class DebugPlugin extends Plugin { - - /** - * Unique identifier constant (value <code>"org.eclipse.debug.core"</code>) - * for the Debug Core plug-in. - */ - private static final String PI_DEBUG_CORE = "org.eclipse.debug.core"; //$NON-NLS-1$ - - /** - * Simple identifier constant (value <code>"launchConfigurationTypes"</code>) - * for the launch configuration types extension point. - * - * @since 2.0 - */ - public static final String EXTENSION_POINT_LAUNCH_CONFIGURATION_TYPES= "launchConfigurationTypes"; //$NON-NLS-1$ - - /** - * Simple identifier constant (value <code>"launchConfigurationComparators"</code>) - * for the launch configuration comparators extension point. - * - * @since 2.0 - */ - public static final String EXTENSION_POINT_LAUNCH_CONFIGURATION_COMPARATORS= "launchConfigurationComparators"; //$NON-NLS-1$ - - /** - * Simple identifier constant (value <code>"breakpoints"</code>) for the - * breakpoints extension point. - * - * @since 2.0 - */ - public static final String EXTENSION_POINT_BREAKPOINTS= "breakpoints"; //$NON-NLS-1$ - - /** - * Simple identifier constant (value <code>"statusHandlers"</code>) for the - * status handlers extension point. - * - * @since 2.0 - */ - public static final String EXTENSION_POINT_STATUS_HANDLERS= "statusHandlers"; //$NON-NLS-1$ - - /** - * Simple identifier constant (value <code>"sourceLocators"</code>) for the - * source locators extension point. - * - * @since 2.0 - */ - public static final String EXTENSION_POINT_SOURCE_LOCATORS= "sourceLocators"; //$NON-NLS-1$ - - /** - * Simple identifier constant (value <code>"launchModes"</code>) for the - * source modes extension point. - * - * @since 3.0 - */ - public static final String EXTENSION_POINT_LAUNCH_MODES= "launchModes"; //$NON-NLS-1$ - - /** - * Simple identifier constant (value <code>"launchDelegates"</code>) for the - * launch delegates extension point. - * - * @since 3.0 - */ - public static final String EXTENSION_POINT_LAUNCH_DELEGATES= "launchDelegates"; //$NON-NLS-1$ - - /** - * Simple identifier constant (value <code>"processFactories"</code>) for the - * process factories extension point. - * - * @since 3.0 - */ - public static final String EXTENSION_POINT_PROCESS_FACTORIES = "processFactories"; //$NON-NLS-1$ - - /** - * Simple identifier constant (value <code>"logicalStructureTypes"</code>) for the - * logical structure types extension point. - * - * @since 3.0 - */ - public static final String EXTENSION_POINT_LOGICAL_STRUCTURE_TYPES = "logicalStructureTypes"; //$NON-NLS-1$ - - /** - * Simple identifier constant (value <code>"logicalStructureProviders"</code>) for the - * logical structure types extension point. - * - * @since 3.1 - */ - public static final String EXTENSION_POINT_LOGICAL_STRUCTURE_PROVIDERS = "logicalStructureProviders"; //$NON-NLS-1$ - - /** - * Simple identifier constant (value <code>"sourceContainerTypes"</code>) for the - * source container types extension point. - * - * @since 3.0 - */ - public static final String EXTENSION_POINT_SOURCE_CONTAINER_TYPES = "sourceContainerTypes"; //$NON-NLS-1$ - - /** - * Simple identifier constant (value <code>"sourcePathComputers"</code>) for the - * source path computers extension point. - * - * @since 3.0 - */ - public static final String EXTENSION_POINT_SOURCE_PATH_COMPUTERS = "sourcePathComputers"; //$NON-NLS-1$ - - /** - * Status code indicating an unexpected internal error. - */ - public static final int INTERNAL_ERROR = 120; - - /** - * Status code indicating that the Eclipse runtime does not support - * launching a program with a working directory. This feature is only - * available if Eclipse is run on a 1.3 runtime or higher. - * <p> - * A status handler may be registered for this error condition, - * and should return a <code>Boolean</code> indicating whether the program - * should be relaunched with the default working directory. - * </p> - */ - public static final int ERR_WORKING_DIRECTORY_NOT_SUPPORTED = 115; - - /** - * The launch configuration attribute that designates the process factory ID - * for the process factory to be used when creating a new process as a result of launching - * the launch configuration. - * @since 3.0 - */ - public static final String ATTR_PROCESS_FACTORY_ID = "process_factory_id"; //$NON-NLS-1$ - - /** - * The launch configuration attribute that designates whether or not it's associated - * launch should capture output. - * - * @since 3.1 - */ - public static final String ATTR_CAPTURE_OUTPUT = PI_DEBUG_CORE + ".capture_output"; //$NON-NLS-1$ - - /** - * The singleton debug plug-in instance. - */ - private static DebugPlugin fgDebugPlugin= null; - - /** - * The singleton breakpoint manager. - */ - private BreakpointManager fBreakpointManager; - - /** - * The singleton expression manager. - */ - private ExpressionManager fExpressionManager; - - /** - * The singleton launch manager. - */ - private LaunchManager fLaunchManager; - - /** - * The singleton memory block manager. - * @since 3.1 - */ - private MemoryBlockManager fMemoryBlockManager; - - /** - * The collection of debug event listeners. - */ - private ListenerList fEventListeners; - - /** - * Event filters, or <code>null</code> if none. - */ - private ListenerList fEventFilters = null; - - /** - * Whether this plugin is in the process of shutting - * down. - */ - private boolean fShuttingDown= false; - - /** - * Whether event dispatch is in progress (if > 0) - * - * @since 2.1 - */ - private int fDispatching = 0; - - /** - * Queue of runnables to execute after event dispatch is - * complete. - * - * @since 2.1 - */ - private Vector fRunnables = null; - - /** - * Job that executes runnables - * - * @since 3.0 - */ - private AsynchJob fAsynchJob = null; - - /** - * Table of status handlers. Keys are {plug-in identifier, status code} - * pairs, and values are associated <code>IConfigurationElement</code>s. - */ - private HashMap fStatusHandlers = null; - - /** - * Map of process factories. Keys are process factory IDs - * and values are associated <code>IConfigurationElement</code>s. - * @since 3.0 - */ - private HashMap fProcessFactories = null; - - /** - * Mode constants for the event notifier - */ - private static final int NOTIFY_FILTERS = 0; - private static final int NOTIFY_EVENTS = 1; - - /** - * Queue of debug events to fire to listeners. - * @since 3.1 - */ - private List fEventQueue = new ArrayList(); - - /** - * Job to fire events to listeners. - * @since 3.1 - */ - private EventDispatchJob fEventDispatchJob = new EventDispatchJob(); - - /** - * Event dispatch job - * @since 3.1 - */ - class EventDispatchJob extends Job { - - /** - * Creates a new event dispatch job. - */ - public EventDispatchJob() { - super(DebugCoreMessages.getString("DebugPlugin.1")); //$NON-NLS-1$ - setPriority(Job.INTERACTIVE); - } - /* (non-Javadoc) - * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor) - */ - protected IStatus run(IProgressMonitor monitor) { - - while (!fEventQueue.isEmpty()) { - DebugEvent[] events = null; - synchronized (fEventQueue) { - if (!fEventQueue.isEmpty()) { - events = (DebugEvent[]) fEventQueue.remove(0); - } - } - if (events != null) { - getEventNotifier().dispatch(events); - } - } - return Status.OK_STATUS; - } - - /* (non-Javadoc) - * @see org.eclipse.core.runtime.jobs.Job#shouldRun() - */ - public boolean shouldRun() { - return shouldSchedule(); - } - /* (non-Javadoc) - * @see org.eclipse.core.internal.jobs.InternalJob#shouldSchedule() - */ - public boolean shouldSchedule() { - return !(isShuttingDown() || fEventListeners == null); - } - - } - - /** - * Returns the singleton instance of the debug plug-in. - */ - public static DebugPlugin getDefault() { - return fgDebugPlugin; - } - - /** - * Sets the singleton instance of the debug plug-in. - * - * @param plugin the debug plug-in, or <code>null</code> - * when shutting down - */ - private static void setDefault(DebugPlugin plugin) { - fgDebugPlugin = plugin; - } - - /** - * Convenience method which returns the unique identifier of this plugin. - */ - public static String getUniqueIdentifier() { - return PI_DEBUG_CORE; - } - - /** - * Constructs the debug plug-in. - * <p> - * An instance of this plug-in runtime class is automatically created - * when the facilities provided by this plug-in are required. - * <b>Clients must never explicitly instantiate a plug-in runtime class.</b> - * </p> - */ - public DebugPlugin() { - super(); - setDefault(this); - } - - /** - * Adds the given listener to the collection of registered debug - * event listeners. Has no effect if an identical listener is already - * registered. - * - * @param listener the listener to add - * @since 2.0 - */ - public void addDebugEventListener(IDebugEventSetListener listener) { - if (fEventListeners == null) { - fEventListeners = new ListenerList(20); - } - fEventListeners.add(listener); - } - - /** - * Notifies all registered debug event set listeners of the given - * debug events. Events which are filtered by a registered debug event - * filter are not fired. - * - * @param events array of debug events to fire - * @see IDebugEventFilter - * @see IDebugEventSetListener - * @since 2.0 - */ - public void fireDebugEventSet(DebugEvent[] events) { - if (isShuttingDown() || events == null || fEventListeners == null) - return; - synchronized (fEventQueue) { - fEventQueue.add(events); - } - fEventDispatchJob.schedule(); - } - - /** - * Asynchronously executes the given runnable in a seperate - * thread, after debug event dispatch has completed. If debug - * events are not currently being dispatched, the runnable is - * scheduled to run in a seperate thread immediately. - * - * @param r runnable to execute asynchronously - * @since 2.1 - */ - public void asyncExec(Runnable r) { - if (fRunnables == null) { - // initialize runnables and async job - fRunnables= new Vector(5); - fAsynchJob = new AsynchJob(); - } - fRunnables.add(r); - if (!isDispatching()) { - fAsynchJob.schedule(); - } - } - - /** - * Returns the breakpoint manager. - * - * @return the breakpoint manager - * @see IBreakpointManager - */ - public IBreakpointManager getBreakpointManager() { - if (fBreakpointManager == null) { - fBreakpointManager = new BreakpointManager(); - } - return fBreakpointManager; - } - - /** - * Returns the launch manager. - * - * @return the launch manager - * @see ILaunchManager - */ - public ILaunchManager getLaunchManager() { - if (fLaunchManager == null) { - fLaunchManager = new LaunchManager(); - } - return fLaunchManager; - } - - /** - * Returns the memory block manager. - * @return the memory block manager. - * @see IMemoryBlockManager - * @since 3.1 - */ - public IMemoryBlockManager getMemoryBlockManager(){ - if (fMemoryBlockManager == null) { - fMemoryBlockManager = new MemoryBlockManager(); - } - return fMemoryBlockManager; - } - - /** - * Returns the status handler registered for the given - * status, or <code>null</code> if none. - * - * @return the status handler registered for the given - * status, or <code>null</code> if none - * @since 2.0 - */ - public IStatusHandler getStatusHandler(IStatus status) { - StatusHandlerKey key = new StatusHandlerKey(status.getPlugin(), status.getCode()); - if (fStatusHandlers == null) { - initializeStatusHandlers(); - } - IConfigurationElement config = (IConfigurationElement)fStatusHandlers.get(key); - if (config != null) { - try { - Object handler = config.createExecutableExtension("class"); //$NON-NLS-1$ - if (handler instanceof IStatusHandler) { - return (IStatusHandler)handler; - } - invalidStatusHandler(null, MessageFormat.format(DebugCoreMessages.getString("DebugPlugin.Registered_status_handler_{0}_does_not_implement_required_interface_IStatusHandler._1"), new String[] {config.getDeclaringExtension().getUniqueIdentifier()})); //$NON-NLS-1$ - } catch (CoreException e) { - log(e); - } - } - return null; - } - - /** - * Returns the expression manager. - * - * @return the expression manager - * @see IExpressionManager - * @since 2.0 - */ - public IExpressionManager getExpressionManager() { - if (fExpressionManager == null) { - fExpressionManager = new ExpressionManager(); - } - return fExpressionManager; - } - - /** - * Removes the given listener from the collection of registered debug - * event listeners. Has no effect if an identical listener is not already - * registered. - * - * @param listener the listener to remove - * @since 2.0 - */ - public void removeDebugEventListener(IDebugEventSetListener listener) { - if (fEventListeners != null) { - fEventListeners.remove(listener); - } - } - - /* (non-Javadoc) - * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext) - */ - public void stop(BundleContext context) throws Exception { - try { - setShuttingDown(true); - - if (fAsynchJob != null) { - fAsynchJob.cancel(); - } - if (fLaunchManager != null) { - fLaunchManager.shutdown(); - } - if (fBreakpointManager != null) { - fBreakpointManager.shutdown(); - } - if (fMemoryBlockManager != null) { - fMemoryBlockManager.shutdown(); - } - - if (fEventListeners != null) { - fEventListeners.removeAll(); - } - SourceLookupUtils.shutdown(); - setDefault(null); - ResourcesPlugin.getWorkspace().removeSaveParticipant(this); - } finally { - super.stop(context); - } - } - - /** - * Creates and returns a new process representing the given - * <code>java.lang.Process</code>. A streams proxy is created - * for the I/O streams in the system process. The process - * is added to the given launch. - * - * @param launch the launch the process is contained in - * @param process the system process to wrap - * @param label the label assigned to the process - * @return the process - * @see IProcess - */ - public static IProcess newProcess(ILaunch launch, Process process, String label) { - return newProcess(launch, process, label, null); - } - - /** - * Creates and returns a new process representing the given - * <code>java.lang.Process</code>. A streams proxy is created - * for the I/O streams in the system process. The process - * is added to the given launch, and the process is initialized - * with the given attribute map. - * - * The process will be created by the <code>IProcessFactory<code> if it has been - * designated via the org.eclipse.debug.core.processFactories extension point for the - * process factory id indicated in the launch configuration associated with the launch. - * - * @param launch the launch the process is contained in - * @param process the system process to wrap - * @param label the label assigned to the process - * @param attributes initial values for the attribute map - * @return the process <code>null</code> can be returned if errors occur dealing with the process factory - * designated to create the process. - * @see IProcess - * @since 2.1 - */ - public static IProcess newProcess(ILaunch launch, Process process, String label, Map attributes) { - ILaunchConfiguration config= launch.getLaunchConfiguration(); - String processFactoryID= null; - if (config != null) { - try { - processFactoryID= config.getAttribute(ATTR_PROCESS_FACTORY_ID, (String)null); - } catch (CoreException e) { - } - } - if (processFactoryID != null) { - DebugPlugin plugin= DebugPlugin.getDefault(); - if (plugin.fProcessFactories == null) { - plugin.initializeProcessFactories(); - } - IConfigurationElement element= (IConfigurationElement) plugin.fProcessFactories.get(processFactoryID); - if (element == null) { - return null; - } - IProcessFactory processFactory= null; - try { - processFactory = (IProcessFactory)element.createExecutableExtension("class"); //$NON-NLS-1$ - } catch (CoreException exception) { - log(exception); - return null; - } - return processFactory.newProcess(launch, process, label, attributes); - } - return new RuntimeProcess(launch, process, label, attributes); - } - - /** - * Returns any logical structure types that have been contributed for the given - * value. - * - * @param value the value for which logical structure types have been requested - * @return logical structure types that have been contributed for the given - * value, possibly an empty collection - * - * @since 3.0 - */ - public static ILogicalStructureType[] getLogicalStructureTypes(IValue value) { - return LogicalStructureManager.getDefault().getLogicalStructureTypes(value); - } - - /** - * Convenience method that performs a runtime exec on the given command line - * in the context of the specified working directory, and returns the - * resulting process. If the current runtime does not support the - * specification of a working directory, the status handler for error code - * <code>ERR_WORKING_DIRECTORY_NOT_SUPPORTED</code> is queried to see if the - * exec should be re-executed without specifying a working directory. - * - * @param cmdLine the command line - * @param workingDirectory the working directory, or <code>null</code> - * @return the resulting process or <code>null</code> if the exec is - * cancelled - * @see Runtime - * - * @since 2.1 - */ - public static Process exec(String[] cmdLine, File workingDirectory) throws CoreException { - return exec(cmdLine, workingDirectory, null); - } - - /** - * Convenience method that performs a runtime exec on the given command line - * in the context of the specified working directory, and returns the - * resulting process. If the current runtime does not support the - * specification of a working directory, the status handler for error code - * <code>ERR_WORKING_DIRECTORY_NOT_SUPPORTED</code> is queried to see if the - * exec should be re-executed without specifying a working directory. - * - * @param cmdLine the command line - * @param workingDirectory the working directory, or <code>null</code> - * @param envp the environment variables set in the process, or <code>null</code> - * @return the resulting process or <code>null</code> if the exec is - * cancelled - * @see Runtime - * - * @since 3.0 - */ - public static Process exec(String[] cmdLine, File workingDirectory, String[] envp) throws CoreException { - Process p= null; - try { - - if (workingDirectory == null) { - p= Runtime.getRuntime().exec(cmdLine, envp); - } else { - p= Runtime.getRuntime().exec(cmdLine, envp, workingDirectory); - } - } catch (IOException e) { - if (p != null) { - p.destroy(); - } - Status status = new Status(IStatus.ERROR, getUniqueIdentifier(), INTERNAL_ERROR, DebugCoreMessages.getString("DebugPlugin.Exception_occurred_executing_command_line._1"), e); //$NON-NLS-1$ - throw new CoreException(status); - } catch (NoSuchMethodError e) { - //attempting launches on 1.2.* - no ability to set working directory - IStatus status = new Status(IStatus.ERROR, getUniqueIdentifier(), ERR_WORKING_DIRECTORY_NOT_SUPPORTED, DebugCoreMessages.getString("DebugPlugin.Eclipse_runtime_does_not_support_working_directory_2"), e); //$NON-NLS-1$ - IStatusHandler handler = DebugPlugin.getDefault().getStatusHandler(status); - - if (handler != null) { - Object result = handler.handleStatus(status, null); - if (result instanceof Boolean && ((Boolean)result).booleanValue()) { - p= exec(cmdLine, null); - } - } - } - return p; - } - - /** - * Returns whether this plug-in is in the process of - * being shutdown. - * - * @return whether this plug-in is in the process of - * being shutdown - */ - private boolean isShuttingDown() { - return fShuttingDown; - } - - /** - * Sets whether this plug-in is in the process of - * being shutdown. - * - * @param value whether this plug-in is in the process of - * being shutdown - */ - private void setShuttingDown(boolean value) { - fShuttingDown = value; - } - - /** - * Returns the collection of debug event listeners registered - * with this plug-in. - * - * @return list of registered debug event listeners, instances - * of <code>IDebugEventSetListeners</code> - */ - private Object[] getEventListeners() { - return fEventListeners.getListeners(); - } - - /** - * Adds the given debug event filter to the registered - * event filters. Has no effect if an identical filter - * is already registerd. - * - * @param filter debug event filter - * @since 2.0 - */ - public void addDebugEventFilter(IDebugEventFilter filter) { - if (fEventFilters == null) { - fEventFilters = new ListenerList(2); - } - fEventFilters.add(filter); - } - - /** - * Removes the given debug event filter from the registered - * event filters. Has no effect if an identical filter - * is not already registered. - * - * @param filter debug event filter - * @since 2.0 - */ - public void removeDebugEventFilter(IDebugEventFilter filter) { - if (fEventFilters != null) { - fEventFilters.remove(filter); - if (fEventFilters.size() == 0) { - fEventFilters = null; - } - } - } - - /** - * Logs the given message if in debug mode. - * - * @param message the message to log - * @since 2.0 - */ - public static void logDebugMessage(String message) { - if (getDefault().isDebugging()) { - // this message is intentionally not internationalized, as an exception may - // be due to the resource bundle itself - log(new Status(IStatus.ERROR, getUniqueIdentifier(), INTERNAL_ERROR, "Internal message logged from Debug Core: " + message, null)); //$NON-NLS-1$ - } - } - - /** - * Logs the given message with this plug-in's log and the given - * throwable or <code>null</code> if none. - * @param message the message to log - * @param throwable the exception that occurred or <code>null</code> if none - */ - public static void logMessage(String message, Throwable throwable) { - log(new Status(IStatus.ERROR, getUniqueIdentifier(), INTERNAL_ERROR, message, throwable)); - } - - /** - * Logs the specified status with this plug-in's log. - * - * @param status status to log - * @since 2.0 - */ - public static void log(IStatus status) { - getDefault().getLog().log(status); - } - - /** - * Logs the specified throwable with this plug-in's log. - * - * @param t throwable to log - * @since 2.0 - */ - public static void log(Throwable t) { - IStatus status= new Status(IStatus.ERROR, getUniqueIdentifier(), INTERNAL_ERROR, "Error logged from Debug Core: ", t); //$NON-NLS-1$ - log(status); - } - - /** - * Register status handlers. - * - */ - private void initializeStatusHandlers() { - IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.PI_DEBUG_CORE, EXTENSION_POINT_STATUS_HANDLERS); - IConfigurationElement[] infos= extensionPoint.getConfigurationElements(); - fStatusHandlers = new HashMap(infos.length); - for (int i= 0; i < infos.length; i++) { - IConfigurationElement configurationElement = infos[i]; - String id = configurationElement.getAttribute("plugin"); //$NON-NLS-1$ - String code = configurationElement.getAttribute("code"); //$NON-NLS-1$ - - if (id != null && code != null) { - try { - StatusHandlerKey key = new StatusHandlerKey(id, Integer.parseInt(code)); - fStatusHandlers.put(key, configurationElement); - } catch (NumberFormatException e) { - // invalid status handler - invalidStatusHandler(e, configurationElement.getAttribute("id")); //$NON-NLS-1$ - } - } else { - // invalid status handler - invalidStatusHandler(null, configurationElement.getAttribute("id")); //$NON-NLS-1$ - } - } - } - - /** - * Register process factories. - * - */ - private void initializeProcessFactories() { - IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.PI_DEBUG_CORE, EXTENSION_POINT_PROCESS_FACTORIES); - IConfigurationElement[] infos= extensionPoint.getConfigurationElements(); - fProcessFactories = new HashMap(infos.length); - for (int i= 0; i < infos.length; i++) { - IConfigurationElement configurationElement = infos[i]; - String id = configurationElement.getAttribute("id"); //$NON-NLS-1$ - String clss = configurationElement.getAttribute("class"); //$NON-NLS-1$ - if (id != null && clss != null) { - fProcessFactories.put(id, configurationElement); - } else { - // invalid process factory - String badDefiner= infos[i].getNamespace(); - log(new Status(IStatus.ERROR, DebugPlugin.PI_DEBUG_CORE, INTERNAL_ERROR, MessageFormat.format(DebugCoreMessages.getString("DebugPlugin.31"), new String[] {badDefiner, id}), null)); //$NON-NLS-1$ - } - } - } - - private void invalidStatusHandler(Exception e, String id) { - log(new Status(IStatus.ERROR, DebugPlugin.PI_DEBUG_CORE, INTERNAL_ERROR, MessageFormat.format(DebugCoreMessages.getString("DebugPlugin.Invalid_status_handler_extension__{0}_2"), new String[] {id}), e)); //$NON-NLS-1$ - } - - /** - * Key for status handler extensions - a plug-in identifier/code pair - */ - class StatusHandlerKey { - - String fPluginId; - int fCode; - - StatusHandlerKey(String pluginId, int code) { - fPluginId = pluginId; - fCode = code; - } - - public int hashCode() { - return fPluginId.hashCode() + fCode; - } - - public boolean equals(Object obj) { - if (obj instanceof StatusHandlerKey) { - StatusHandlerKey s = (StatusHandlerKey)obj; - return fCode == s.fCode && fPluginId.equals(s.fPluginId); - } - return false; - } - } - - /** - * Returns whether any event filters are registered - * - * @return whether any event filters are registered - */ - private boolean hasEventFilters() { - return fEventFilters != null && fEventFilters.size() > 0; - } - - /** - * Sets whether debug events are being dispatched - */ - private synchronized void setDispatching(boolean dispatching) { - if (dispatching) { - fDispatching++; - } else { - fDispatching--; - } - if (!isDispatching()) { - if (fAsynchJob != null) { - fAsynchJob.schedule(); - } - } - } - - /** - * Returns whether debug events are being dispatched - */ - private synchronized boolean isDispatching() { - return fDispatching > 0; - } - - /** - * Executes runnables after event dispatch is complete. - * - * @since 3.0 - */ - class AsynchJob extends Job { - - public AsynchJob() { - super(DebugCoreMessages.getString("DebugPlugin.Debug_async_queue_1")); //$NON-NLS-1$ - setPriority(Job.INTERACTIVE); - setSystem(true); - } - - /* (non-Javadoc) - * @see org.eclipse.core.runtime.jobs.Job#shouldRun() - */ - public boolean shouldRun() { - return !fShuttingDown && !fRunnables.isEmpty(); - } - - /* (non-Javadoc) - * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor) - */ - public IStatus run(IProgressMonitor monitor) { - // Executes runnables and empties the queue - Vector v = null; - synchronized (fRunnables) { - v = fRunnables; - fRunnables = new Vector(5); - } - MultiStatus failed = null; - monitor.beginTask(DebugCoreMessages.getString("DebugPlugin.Debug_async_queue_1"), v.size()); //$NON-NLS-1$ - Iterator iter = v.iterator(); - while (iter.hasNext() && !fShuttingDown && !monitor.isCanceled()) { - Runnable r = (Runnable)iter.next(); - try { - r.run(); - } catch (Exception e) { - if (failed == null) { - failed = new MultiStatus(DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, DebugCoreMessages.getString("DebugPlugin.0"), null); //$NON-NLS-1$ - } - failed.add(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, DebugCoreMessages.getString("DebugPlugin.0"), e)); //$NON-NLS-1$ - } - monitor.worked(1); - } - monitor.done(); - if (failed == null) { - return Status.OK_STATUS; - } - return failed; - } - - } - - /** - * Returns an event notifier. - * - * @return an event notifier - */ - private EventNotifier getEventNotifier() { - return new EventNotifier(); - } - - /** - * Filters and dispatches events in a safe runnable to handle any - * exceptions. - */ - class EventNotifier implements ISafeRunnable { - - private DebugEvent[] fEvents; - private IDebugEventSetListener fListener; - private IDebugEventFilter fFilter; - private int fMode; - - /** - * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable) - */ - public void handleException(Throwable exception) { - switch (fMode) { - case NOTIFY_FILTERS: - IStatus status = new Status(IStatus.ERROR, getUniqueIdentifier(), INTERNAL_ERROR, DebugCoreMessages.getString("DebugPlugin.An_exception_occurred_while_filtering_debug_events._3"), exception); //$NON-NLS-1$ - log(status); - break; - case NOTIFY_EVENTS: - status = new Status(IStatus.ERROR, getUniqueIdentifier(), INTERNAL_ERROR, DebugCoreMessages.getString("DebugPlugin.An_exception_occurred_while_dispatching_debug_events._2"), exception); //$NON-NLS-1$ - log(status); - break; - } - } - - /** - * @see org.eclipse.core.runtime.ISafeRunnable#run() - */ - public void run() throws Exception { - switch (fMode) { - case NOTIFY_FILTERS: - fEvents = fFilter.filterDebugEvents(fEvents); - break; - case NOTIFY_EVENTS: - fListener.handleDebugEvents(fEvents); - break; - } - } - - /** - * Filter and dispatch the given events. If an exception occurs in one - * listener, events are still fired to subsequent listeners. - * - * @param events debug events - */ - public void dispatch(DebugEvent[] events) { - fEvents = events; - try { - setDispatching(true); - - if (hasEventFilters()) { - fMode = NOTIFY_FILTERS; - Object[] filters = fEventFilters.getListeners(); - for (int i = 0; i < filters.length; i++) { - fFilter = (IDebugEventFilter)filters[i]; - Platform.run(this); - if (fEvents == null || fEvents.length == 0) { - return; - } - } - } - - fMode = NOTIFY_EVENTS; - Object[] listeners= getEventListeners(); - for (int i= 0; i < listeners.length; i++) { - fListener = (IDebugEventSetListener)listeners[i]; - Platform.run(this); - } - - } finally { - setDispatching(false); - } - fEvents = null; - fFilter = null; - fListener = null; - } - - } - - /** - * Creates and returns a new XML document. - * - * @return a new XML document - * @throws CoreException if unable to create a new document - * @since 3.0 - */ - public static Document newDocument()throws CoreException { - try { - return LaunchManager.getDocument(); - } catch (ParserConfigurationException e) { - abort(SourceLookupMessages.getString("SourceLookupUtils.3"), e); //$NON-NLS-1$ - } - return null; - } - - /** - * Serializes the given XML document into a string. - * - * @param document XML document to serialize - * @return a string representing the given document - * @throws CoreException if unable to serialize the document - * @since 3.0 - */ - public static String serializeDocument(Document document) throws CoreException { - try { - return LaunchManager.serializeDocument(document); - } catch (TransformerException e) { - abort(SourceLookupMessages.getString("SourceLookupUtils.4"), e); //$NON-NLS-1$ - } catch (IOException e) { - abort(SourceLookupMessages.getString("SourceLookupUtils.5"), e); //$NON-NLS-1$ - } - return null; - } - - /** - * Parses the given string representing an XML document, returning its - * root element. - * - * @param document XML document as a string - * @return the document's root element - * @throws CoreException if unable to parse the document - * @since 3.0 - */ - public static Element parseDocument(String document) throws CoreException { - Element root = null; - InputStream stream = null; - try{ - DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder(); - stream = new ByteArrayInputStream(document.getBytes()); - root = parser.parse(stream).getDocumentElement(); - } catch (ParserConfigurationException e) { - abort(SourceLookupMessages.getString("SourceLookupUtils.6"), e); //$NON-NLS-1$ - } catch (FactoryConfigurationError e) { - abort(SourceLookupMessages.getString("SourceLookupUtils.7"), e); //$NON-NLS-1$ - } catch (SAXException e) { - abort(SourceLookupMessages.getString("SourceLookupUtils.8"), e); //$NON-NLS-1$ - } catch (IOException e) { - abort(SourceLookupMessages.getString("SourceLookupUtils.9"), e); //$NON-NLS-1$ - } finally { - try{ - stream.close(); - } catch(IOException e) { - abort(SourceLookupMessages.getString("SourceLookupUtils.10"), e); //$NON-NLS-1$ - } - } - return root; - } - - /** - * Throws an exception with the given message and underlying exception. - * - * @param message error message - * @param exception underlying exception, or <code>null</code> - * @throws CoreException - */ - private static void abort(String message, Throwable exception) throws CoreException { - IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, message, exception); - throw new CoreException(status); - } - - /** - * Utility class to parse command line arguments. - * - * @since 3.1 - */ - private static class ArgumentParser { - private String fArgs; - private int fIndex= 0; - private int ch= -1; - - public ArgumentParser(String args) { - fArgs= args; - } - - public String[] parseArguments() { - List v= new ArrayList(); - - ch= getNext(); - while (ch > 0) { - if (Character.isWhitespace((char)ch)) { - ch= getNext(); - } else { - if (ch == '"') { - StringBuffer buf = new StringBuffer(); - if (Platform.getOS().equals(Constants.OS_WIN32)) { - buf.append('"'); - } - buf.append(parseString()); - if (Platform.getOS().equals(Constants.OS_WIN32)) { - buf.append('"'); - } else if (buf.length() == 0) { - // empty string on non-windows platform - buf.append("\"\""); //$NON-NLS-1$ - } - v.add(buf.toString()); - } else { - v.add(parseToken()); - } - } - } - - String[] result= new String[v.size()]; - v.toArray(result); - return result; - } - - private int getNext() { - if (fIndex < fArgs.length()) - return fArgs.charAt(fIndex++); - return -1; - } - - private String parseString() { - ch= getNext(); - if (ch == '"') { - ch= getNext(); - return ""; //$NON-NLS-1$ - } - StringBuffer buf= new StringBuffer(); - while (ch > 0 && ch != '"') { - if (ch == '\\') { - ch= getNext(); - if (ch != '"') { // Only escape double quotes - buf.append('\\'); - } else { - if (Platform.getOS().equals(Constants.OS_WIN32)) { - // @see Bug 26870. Windows requires an extra escape for embedded strings - buf.append('\\'); - } - } - } - if (ch > 0) { - buf.append((char)ch); - ch= getNext(); - } - } - ch= getNext(); - return buf.toString(); - } - - private String parseToken() { - StringBuffer buf= new StringBuffer(); - - while (ch > 0 && !Character.isWhitespace((char)ch)) { - if (ch == '\\') { - ch= getNext(); - if (Character.isWhitespace((char)ch)) { - // end of token, don't lose trailing backslash - buf.append('\\'); - return buf.toString(); - } - if (ch > 0) { - if (ch != '"') { // Only escape double quotes - buf.append('\\'); - } else { - if (Platform.getOS().equals(Constants.OS_WIN32)) { - // @see Bug 26870. Windows requires an extra escape for embedded strings - buf.append('\\'); - } - } - buf.append((char)ch); - ch= getNext(); - } else if (ch == -1) { // Don't lose a trailing backslash - buf.append('\\'); - } - } else if (ch == '"') { - buf.append(parseString()); - } else { - buf.append((char)ch); - ch= getNext(); - } - } - return buf.toString(); - } - } - - /** - * Prarses the given command line into seperate arguments that can be passed to - * <code>DebugPlugin.exec(String[], File)</code>. Embedded quotes and slashes - * are escaped. - * - * @param args command line arguments as a single string - * @return individual arguments - * @since 3.1 - */ - public static String[] parseArguments(String args) { - if (args == null) - return new String[0]; - ArgumentParser parser= new ArgumentParser(args); - String[] res= parser.parseArguments(); - - return res; - } - -} - - diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointListener.java deleted file mode 100644 index 050ac294a..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointListener.java +++ /dev/null @@ -1,69 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core; - - - -import org.eclipse.core.resources.IMarkerDelta; -import org.eclipse.debug.core.model.IBreakpoint; - -/** - * A breakpoint listener is notified of breakpoint additions, - * removals, and changes. Listeners register and deregister with the - * breakpoint manager. - * <p> - * Clients may implement this interface. - * </p> - * @see IBreakpointManager - */ - -public interface IBreakpointListener { - - /** - * Notifies this listener that the given breakpoint has been added - * to the breakpoint manager. - * - * @param breakpoint the added breakpoint - * @since 2.0 - */ - public void breakpointAdded(IBreakpoint breakpoint); - /** - * Notifies this listener that the given breakpoint has been removed - * from the breakpoint manager. - * If the given breakpoint has been removed because it has been deleted, - * the associated marker delta is also provided. - * - * @param breakpoint the removed breakpoint - * @param delta the associated marker delta, or <code>null</code> when - * the breakpoint is removed from the breakpoint manager without - * being deleted - * - * @see org.eclipse.core.resources.IMarkerDelta - * @since 2.0 - */ - public void breakpointRemoved(IBreakpoint breakpoint, IMarkerDelta delta); - - /** - * Notifies this listener that an attribute of the given breakpoint has - * changed, as described by the delta. - * - * @param breakpoint the changed breakpoint - * @param delta the marker delta that describes the changes - * with the marker associated with the given breakpoint, or - * <code>null</code> when the breakpoint change does not generate - * a marker delta - * - * @see org.eclipse.core.resources.IMarkerDelta - * @since 2.0 - */ - public void breakpointChanged(IBreakpoint breakpoint, IMarkerDelta delta); - -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManager.java deleted file mode 100644 index 6f2ad1a0a..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManager.java +++ /dev/null @@ -1,275 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core; - - -import org.eclipse.core.resources.IMarker; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.debug.core.model.IBreakpoint; - -/** - * The breakpoint manager manages the collection of breakpoints - * in the workspace. A breakpoint suspends the execution of a - * program being debugged. The kinds of breakpoints supported by each - * debug architecture and the information required to create those - * breakpoints is defined by each debug architecture. - * Breakpoint creation is a client responsibility. - * <p> - * Clients interested in breakpoint change notification may - * register with the breakpoint manager - see - * <code>IBreakpointListener</code> and <code>IBreakpointsListener</code> - * </p> - * <p> - * This interface is not intended to be implemented by clients. - * </p> - * @see org.eclipse.debug.core.IBreakpointListener - * @see org.eclipse.debug.core.IBreakpointsListener - */ -public interface IBreakpointManager { - /** - * Adds the given breakpoint to the collection of registered breakpoints - * in the workspace and notifies all registered listeners. This has no effect - * if the given breakpoint is already registered. - * - * @param breakpoint the breakpoint to add - * - * @exception DebugException if adding fails. Reasons include:<ul> - * <li>CONFIGURATION_INVALID - the required <code>MODEL_IDENTIFIER</code> attribute - * is not set on the breakpoint marker.</li> - * <li>A <code>CoreException</code> occurred while verifying the <code>MODEL_IDENTIFIER</code> - * attribute.</li> - * </ul> - * @since 2.0 - */ - public void addBreakpoint(IBreakpoint breakpoint) throws CoreException; - - /** - * Adds the given breakpoints to the collection of registered breakpoints - * in the workspace and notifies all registered listeners. Has no effect - * on breakpoints that are already registered. - * - * @param breakpoints the breakpoints to add - * - * @exception DebugException if adding fails. Reasons include:<ul> - * <li>CONFIGURATION_INVALID - the required <code>MODEL_IDENTIFIER</code> attribute - * is not set on a breakpoint marker.</li> - * <li>A <code>CoreException</code> occurred while verifying a <code>MODEL_IDENTIFIER</code> - * attribute.</li> - * </ul> - * @since 2.1 - */ - public void addBreakpoints(IBreakpoint[] breakpoints) throws CoreException; - - /** - * Returns the breakpoint associated with the given marker or - * <code>null</code> if no such breakpoint exists - * - * @param marker the marker - * @return the breakpoint associated with the marker - * or <code>null</code> if none exists - * @since 2.0 - */ - public IBreakpoint getBreakpoint(IMarker marker); - - /** - * Returns a collection of all registered breakpoints. - * Returns an empty array if no breakpoints are registered. - * - * @return an array of breakpoints - * @since 2.0 - */ - public IBreakpoint[] getBreakpoints(); - - /** - * Returns whether there are any registered breakpoints. - * - * @return whether there are any registered breakpoints - * @since 2.0 - */ - public boolean hasBreakpoints(); - - /** - * Returns a collection of all breakpoints registered for the - * given debug model. Answers an empty array if no breakpoints are registered - * for the given debug model. - * - * @param modelIdentifier identifier of a debug model plug-in - * @return an array of breakpoints - * @since 2.0 - */ - public IBreakpoint[] getBreakpoints(String modelIdentifier); - - /** - * Returns whether the given breakpoint is currently - * registered with this breakpoint manager. - * - * @return whether the breakpoint is registered - * @since 2.0 - */ - public boolean isRegistered(IBreakpoint breakpoint); - - /** - * Notifies all registered listeners that the given - * breakpoint has changed. Has no effect if the given - * breakpoint is not currently registered. - * - * This method is intended to be used when a breakpoint - * attribute is changed that does not alter the breakpoint's - * underlying marker, that is, when notification will not occur - * via the marker delta mechanism. - * - * @param breakpoint the breakpoint that has changed. - * @since 2.0 - */ - public void fireBreakpointChanged(IBreakpoint breakpoint); - - /** - * Removes the given breakpoint from the breakpoint manager, deletes - * the marker associated with the breakpoint if the <code>delete</code> flag - * is <code>true</code>, and notifies all registered - * listeners. Has no effect if the given breakpoint is not currently - * registered. - * - * @param breakpoint the breakpoint to remove - * @param delete whether to delete the marker associated with the - * breakpoint - * @exception CoreException if an exception occurs while deleting the - * underlying marker. - * @since 2.0 - */ - public void removeBreakpoint(IBreakpoint breakpoint, boolean delete) throws CoreException; - - /** - * Removes the given breakpoints from the breakpoint manager, deletes - * the markers associated with the breakpoints if the <code>delete</code> flag - * is <code>true</code>, and notifies all registered - * listeners. Has no effect on breakpoints not currently - * registered. - * - * @param breakpoints the breakpoints to remove - * @param delete whether to delete the markers associated with the - * breakpoints - * @exception CoreException if an exception occurs while deleting an - * underlying marker. - * @since 2.1 - */ - public void removeBreakpoints(IBreakpoint[] breakpoints, boolean delete) throws CoreException; - - /** - * Adds the given listener to the collection of registered breakpoint listeners. - * Has no effect if an identical listener is already registered. - * - * @param listener the listener to add - */ - public void addBreakpointListener(IBreakpointListener listener); - - /** - * Removes the given listener from the collection of registered breakpoint listeners. - * Has no effect if an identical listener is not already registered. - * - * @param listener the listener to remove - */ - public void removeBreakpointListener(IBreakpointListener listener); - - /** - * Adds the given listener to the collection of registered breakpoint listeners. - * Has no effect if an identical listener is already registered. - * - * @param listener the listener to add - * @since 2.1 - */ - public void addBreakpointListener(IBreakpointsListener listener); - - /** - * Removes the given listener from the collection of registered breakpoint listeners. - * Has no effect if an identical listener is not already registered. - * - * @param listener the listener to remove - * @since 2.1 - */ - public void removeBreakpointListener(IBreakpointsListener listener); - - /** - * Adds the given listener to the collection of registered breakpoint manager - * listeners. Has no effect if an identical listener is already registered. - * - * @param listener the listener to add - * @since 3.0 - */ - public void addBreakpointManagerListener(IBreakpointManagerListener listener); - - /** - * Removes the given listener from the collection of registered breakpoint manager - * listeners. Has no effect if an identical listener is not already registered. - * - * @param listener the listener to remove - * @since 3.0 - */ - public void removeBreakpointManagerListener(IBreakpointManagerListener listener); - - /** - * Returns whether or not this breakpoint manager is enabled. - * When a breakpoint manager is enabled, all breakpoints - * should be honored. When it is disabled, breakpoints should - * not be honored, regardless of each breakpoint's enabled state. - * - * @return whether or not this breakpoint manager is enabled - * @since 3.0 - */ - public boolean isEnabled(); - - /** - * Sets the enabled state of this breakpoint manager. When - * enabled, breakpoints should be honored. When disabled, all - * breakpoints should be ignored. - * - * @param enabled whether this breakpoint manager should be - * enabled - * @since 3.0 - */ - public void setEnabled(boolean enabled); - - /** - * Returns the name (user presentable String) of the given - * breakpoint's type or <code>null</code> if none has been - * specified. - * - * @param breakpoint the breakpoint - * @return the name of the given breakpoint's type or <code>null</code> - * @since 3.1 - */ - public String getTypeName(IBreakpoint breakpoint); - - /** - * Sets the group which breakpoints will be automatically - * added to when they're added to this manager. If <code>null</code>, - * breakpoints will not be automatically added to any group. - * @param group the group to automatically add breakpoints to - * or <code>null</code> - * @see IBreakpoint#setGroup(String) - * @since 3.1 - */ - public void setAutoGroup(String group); - - /** - * Returns the group which breakpoints will be automatically - * added to when they're added to this manager or <code>null</code> - * if none. - * @return the group which breakpoints will be automatically added - * to or <code>null</code> - * @see IBreakpoint#getGroup() - * @since 3.1 - */ - public String getAutoGroup(); - -} - - diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManagerListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManagerListener.java deleted file mode 100644 index 0ad6127ab..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointManagerListener.java +++ /dev/null @@ -1,33 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core; - -/** - * A breakpoint manager listener is notified when the breakpoint manager's - * enablement changes. When the breakpoint manager is disabled, no breakpoints - * should be honored. When the breakpoint manager is enabled, breakpoints should - * be honored as usual. - * <p> - * Clients are intended to implement this interface. - * </p> - * @see IBreakpointManager - * @since 3.0 - */ -public interface IBreakpointManagerListener { - - /** - * Notifies the listener that the breakpoint manager's enablement - * has changed. - * - * @param enabled whether or not the breakpoint manager is enabled - */ - public void breakpointManagerEnablementChanged(boolean enabled); -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointsListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointsListener.java deleted file mode 100644 index 7879b0188..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IBreakpointsListener.java +++ /dev/null @@ -1,70 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core; - - -import org.eclipse.core.resources.IMarkerDelta; -import org.eclipse.debug.core.model.IBreakpoint; - -/** - * A breakpoints listener is notified of breakpoint additions, - * removals, and changes. Listeners register and deregister with the - * breakpoint manager. - * <p> - * This interface is analagous to <code>IBreakpointListener</code> except - * notifications are batched for more than one breakpoint when possible. - * </p> - * <p> - * Clients may implement this interface. - * </p> - * @see IBreakpointManager - * @since 2.1 - */ - -public interface IBreakpointsListener { - - /** - * Notifies this listener that the given breakpoints have been added - * to the breakpoint manager. - * - * @param breakpoints the added breakpoints - */ - public void breakpointsAdded(IBreakpoint[] breakpoints); - /** - * Notifies this listener that the given breakpoints have been removed - * from the breakpoint manager. - * If a breakpoint has been removed because it has been deleted, - * the associated marker delta is also provided. - * - * @param breakpoints the removed breakpoints - * @param deltas the associated marker deltas. Entries may be - * <code>null</code> when a breakpoint is removed from the breakpoint - * manager without being deleted - * - * @see org.eclipse.core.resources.IMarkerDelta - */ - public void breakpointsRemoved(IBreakpoint[] breakpoints, IMarkerDelta[] deltas); - - /** - * Notifies this listener that the given breakpoints have - * changed, as described by the corresponding deltas. - * - * @param breakpoints the changed breakpoints - * @param deltas the marker deltas that describe the changes - * with the markers associated with the given breakpoints. Entries - * may be <code>null</code> when a breakpoint change does not generate - * a marker delta - * - * @see org.eclipse.core.resources.IMarkerDelta - */ - public void breakpointsChanged(IBreakpoint[] breakpoints, IMarkerDelta[] deltas); - -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventFilter.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventFilter.java deleted file mode 100644 index 8654fa133..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventFilter.java +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core; - - -/** - * An event filter allows clients to intercept debug events. - * Event filters are registered with the debug plug-in. - * <p> - * Clients may implement this interface. - * </p> - * @see DebugPlugin - * @since 2.0 - */ -public interface IDebugEventFilter { - - /** - * Filters the given set of debug events, and returns the set of debug - * events that should be fired to registered listeners - <code>null</code> - * or an empty collection if no debug events should be fired. - * <p> - * When multiple event filters are registered, events are passed through - * all filters. That is, the events returned from the first filter are - * passed through the second filter, and so on. - * </p> - * - * @return the set of debug events to fire - */ - public DebugEvent[] filterDebugEvents(DebugEvent[] events); -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventSetListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventSetListener.java deleted file mode 100644 index 7b56fed66..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IDebugEventSetListener.java +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core; - - -/** - * A debug event set listener registers with the debug plug-in - * to receive event notification from programs being run or debugged. - * <p> - * When more than one event is reported, each event has occurred at the - * same location in a target program. For example, a breakpoint may - * reside at the same location at which a step request completes. In - * this case the breakpoint event and step end event are reported together - * in the same event set. - * </p> - * <p> - * Clients may implement this interface. - * </p> - * @see DebugEvent - * @since 2.0 - */ -public interface IDebugEventSetListener { - /** - * Notifies this listener of the given debug events. - * All of the events in the given event collection occurred - * at the same location the program be run or debugged. - * - * @param events the debug events - */ - public void handleDebugEvents(DebugEvent[] events); -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionListener.java deleted file mode 100644 index 13a1e9126..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionListener.java +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core; - - - -import org.eclipse.debug.core.model.IExpression; - -/** - * An expression listener is notified of expression additions, - * removals, and changes. Listeners register and deregister with the - * expression manager. - * <p> - * Clients may implement this interface. - * </p> - * @see IExpressionManager - * @since 2.0 - */ - -public interface IExpressionListener { - - /** - * Notifies this listener that the given expression has been added - * to the expression manager. - * - * @param expression the added expression - */ - public void expressionAdded(IExpression expression); - /** - * Notifies this listener that the given expression has been removed - * from the expression manager. - * - * @param expression the removed expression - */ - public void expressionRemoved(IExpression expression); - - /** - * Notifies this listener that the given expression has - * changed. - * - * @param expression the changed expression - */ - public void expressionChanged(IExpression expression); - -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionManager.java deleted file mode 100644 index cf9b14b88..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionManager.java +++ /dev/null @@ -1,169 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core; - - -import org.eclipse.debug.core.model.IExpression; -import org.eclipse.debug.core.model.IWatchExpression; -import org.eclipse.debug.core.model.IWatchExpressionDelegate; - -/** - * The expression manager manages the collection of registered - * expressions in the workspace. An expression is a snippet of code - * that can be evaluated to produce a value. Expression creation - * and evaluation are client responsibilities. - * <p> - * Clients interested in expression change notification may - * register with the expression manager - see - * <code>IExpressionListener</code> and <code>IExpressionsListener</code>. - * </p> - * <p> - * This interface is not intended to be implemented by clients. - * </p> - * @see org.eclipse.debug.core.model.IExpression - * @see org.eclipse.debug.core.IExpressionListener - * @see org.eclipse.debug.core.IExpressionsListener - * @since 2.0 - */ -public interface IExpressionManager { - /** - * Adds the given expression to the collection of registered expressions - * in the workspace and notifies all registered listeners. This has no effect - * if the given expression is already registered. - * - * @param expression the expression to add - */ - public void addExpression(IExpression expression); - - /** - * Adds the given expressions to the collection of registered expressions - * in the workspace and notifies all registered listeners. Has no effect - * on expressions already registered. - * - * @param expressions the expressions to add - * @since 2.1 - */ - public void addExpressions(IExpression[] expressions); - - /** - * Creates and returns a new watch expression with the - * given text. The returned expression is <b>not</b> added to - * this manager. - * - * @param expressionText the text for the new expression - * @since 3.0 - */ - public IWatchExpression newWatchExpression(String expressionText); - - /** - * Returns a collection of all registered expressions, - * possibly empty. - * - * @return an array of expressions - */ - public IExpression[] getExpressions(); - - /** - * Returns whether there are any registered expressions - * - * @return whether there are any registered expressions - */ - public boolean hasExpressions(); - - /** - * Returns a collection of all expressions registered for the - * given debug model,possibly empty. - * - * @param modelIdentifier identifier of a debug model plug-in - * @return an array of expressions - */ - public IExpression[] getExpressions(String modelIdentifier); - - /** - * Removes the given expression from the expression manager, - * and notifies all registered listeners. Has no effect if the - * given expression is not currently registered. - * - * @param expression the expression to remove - */ - public void removeExpression(IExpression expression); - - /** - * Removes the given expressions from the collection of registered expressions - * in the workspace and notifies all registered listeners. Has no effect - * on expressions not already registered. - * - * @param expressions the expressions to remove - * @since 2.1 - */ - public void removeExpressions(IExpression[] expressions); - - /** - * Adds the given listener to the collection of registered expression listeners. - * Has no effect if an identical listener is already registered. - * - * @param listener the listener to add - */ - public void addExpressionListener(IExpressionListener listener); - - /** - * Removes the given listener from the collection of registered expression listeners. - * Has no effect if an identical listener is not already registered. - * - * @param listener the listener to remove - */ - public void removeExpressionListener(IExpressionListener listener); - - /** - * Adds the given listener to the collection of registered expression listeners. - * Has no effect if an identical listener is already registered. - * - * @param listener the listener to add - * @since 2.1 - */ - public void addExpressionListener(IExpressionsListener listener); - - /** - * Removes the given listener from the collection of registered expression listeners. - * Has no effect if an identical listener is not already registered. - * - * @param listener the listener to remove - * @since 2.1 - */ - public void removeExpressionListener(IExpressionsListener listener); - - /** - * Returns a new watch expression delegate for the given debug - * model or <code>null</code> if no delegate is available. - * - * @param id the unique identifier of a debug model for which a - * watch expression delegate has been contributed - * @return a watch expression delegate associated with the given model - * or <code>null</code> if none - * @since 3.0 - * @see IWatchExpressionDelegate - */ - public IWatchExpressionDelegate newWatchExpressionDelegate(String id); - - /** - * Returns whether a watch expression delegate has been contributed for - * the given debug model. - * - * @param id the unique identifier of a debug model - * @return whether a watch expression delegate has been contributed for - * the given debug model - * @since 3.1 - * @see IWatchExpressionDelegate - */ - public boolean hasWatchExpressionDelegate(String id); -} - - diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionsListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionsListener.java deleted file mode 100644 index d1039fa48..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IExpressionsListener.java +++ /dev/null @@ -1,56 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core; - - -import org.eclipse.debug.core.model.IExpression; - -/** - * An expression listener is notified of expression additions, - * removals, and changes. Listeners register and deregister with the - * expression manager. - * <p> - * This interface is analagous to <code>IExpressionListener</code>, except - * notifications are batched for more than when expression when possible. - * </p> - * <p> - * Clients may implement this interface. - * </p> - * @see IExpressionManager - * @since 2.1 - */ - -public interface IExpressionsListener { - - /** - * Notifies this listener that the given expressions have been added - * to the expression manager. - * - * @param expressions the added expressions - */ - public void expressionsAdded(IExpression[] expressions); - /** - * Notifies this listener that the given expressions has been removed - * from the expression manager. - * - * @param expressions the removed expressions - */ - public void expressionsRemoved(IExpression[] expressions); - - /** - * Notifies this listener that the given expressions have - * changed. - * - * @param expressions the changed expressions - */ - public void expressionsChanged(IExpression[] expressions); - -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunch.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunch.java deleted file mode 100644 index d7b8f4f9d..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunch.java +++ /dev/null @@ -1,177 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core; - - -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.debug.core.model.IDebugTarget; -import org.eclipse.debug.core.model.IProcess; -import org.eclipse.debug.core.model.ISourceLocator; -import org.eclipse.debug.core.model.ITerminate; - -/** - * A launch is the result of launching a debug session - * and/or one or more system processes. - * <p> - * This interface is not intended to be implemented by clients. Clients - * should create instances of this interface by using the implementation - * provided by the class <code>Launch</code>. - * </p> - * @see Launch - */ -public interface ILaunch extends ITerminate, IAdaptable { - /** - * Returns the children of this launch - a collection - * of one or more debug targets and processes, possibly empty. - * - * @return an array (element type:<code>IDebugTarget</code> or <code>IProcess</code>), - * or an empty array - */ - public Object[] getChildren(); - /** - * Returns the primary (first) debug target associated with this launch, or <code>null</code> - * if no debug target is associated with this launch. All debug targets - * associated with this launch may be retrieved by - * <code>getDebugTargets()</code>. - * - * @return the primary debug target associated with this launch, or <code>null</code> - */ - public IDebugTarget getDebugTarget(); - - /** - * Returns the processes that were launched, - * or an empty collection if no processes were launched. - * - * @return array of processes - */ - public IProcess[] getProcesses(); - - /** - * Returns all the debug targets associated with this launch, - * or an empty collection if no debug targets are associated - * with this launch. The primary debug target is the first - * in the collection (if any). - * - * @return array of debug targets - * @since 2.0 - */ - public IDebugTarget[] getDebugTargets(); - - /** - * Adds the given debug target to this launch. Has no effect - * if the given debug target is already associated with this - * launch. Registered listeners are notified that this launch - * has changed. - * - * @param target debug target to add to this launch - * @since 2.0 - */ - public void addDebugTarget(IDebugTarget target); - - /** - * Removes the given debug target from this launch. Has no effect - * if the given debug target is not already associated with this - * launch. Registered listeners are notified that this launch - * has changed. - * - * @param target debug target to remove from this launch - * @since 2.0 - */ - public void removeDebugTarget(IDebugTarget target); - - /** - * Adds the given process to this launch. Has no effect - * if the given process is already associated with this - * launch. Registered listeners are notified that this launch - * has changed. - * - * @param process the process to add to this launch - * @since 2.0 - */ - public void addProcess(IProcess process); - - /** - * Removes the given process from this launch. Has no effect - * if the given process is not already associated with this - * launch. Registered listeners are notified that this launch - * has changed. - * - * @param process the process to remove from this launch - * @since 2.0 - */ - public void removeProcess(IProcess process); - - /** - * Returns the source locator to use for locating source elements for - * the debug target associated with this launch, or <code>null</code> - * if source lookup is not supported. - * - * @return the source locator - */ - public ISourceLocator getSourceLocator(); - - /** - * Sets the source locator to use for locating source elements for - * the debug target associated with this launch, or <code>null</code> - * if source lookup is not supported. - * - * @param sourceLocator source locator or <code>null</code> - * @since 2.0 - */ - public void setSourceLocator(ISourceLocator sourceLocator); - - /** - * Returns the mode of this launch - one of the mode constants defined by - * the launch manager. - * - * @return the launch mode - * @see ILaunchManager - */ - public String getLaunchMode(); - - /** - * Returns the configuration that was launched, or <code>null</code> - * if no configuration was launched. - * - * @return the launched configuration or <code>null</code> - * @since 2.0 - */ - public ILaunchConfiguration getLaunchConfiguration(); - - /** - * Sets the value of a client defined attribute. - * - * @param key the attribute key - * @param value the attribute value - * @since 2.0 - */ - public void setAttribute(String key, String value); - - /** - * Returns the value of a client defined attribute. - * - * @param key the attribute key - * @return value the attribute value, or <code>null</code> if undefined - * @since 2.0 - */ - public String getAttribute(String key); - - /** - * Returns whether this launch contains at least one process - * or debug target. - * - * @return whether this launch contains at least one process - * or debug target - * @since 2.0 - */ - public boolean hasChildren(); - -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfiguration.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfiguration.java deleted file mode 100644 index c66b224af..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfiguration.java +++ /dev/null @@ -1,466 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core; - - -import java.util.List; -import java.util.Map; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; - -/** - * A launch configuration describes how to launch an application. - * Each launch configuration is an instance of a type of launch - * configuration as described by a launch configuration type - * extension. Each launch configuration has a launch configuration - * delegate which performs the actual launching of a - * configuration. - * <p> - * A launch configuration may be shared in a repository via - * standard VCM mechanisms, or may be stored locally, essentially - * making the launch configuration private for a single user. - * Thus, a launch configuration may stored as a file in the - * workspace (shared), or as a file in the debug plug-in's state - * location. - * </p> - * A launch configuration is a handle to its underlying storage. - * Methods annotated as "handle-only" do not require a configuration - * to exist. Methods that require an underlying configuration to exist - * throw a <code>CoreException</code> when an underlying configuration - * is missing. - * </p> - * <p> - * A launch configuration is modified by obtaining a working copy - * of a launch configuration, modifying the working copy, and then - * saving the working copy. - * </p> - * <p> - * This interface is not intended to be implemented by clients. Clients - * that define a launch configuration delegate extension implement the - * <code>ILaunchConfigurationDelegate</code> interface. - * </p> - * @see ILaunchConfigurationType - * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate - * @see ILaunchConfigurationWorkingCopy - * @since 2.0 - */ -public interface ILaunchConfiguration extends IAdaptable { - - /** - * The file extension for launch configuration files - * (value <code>"launch"</code>). - */ - public static final String LAUNCH_CONFIGURATION_FILE_EXTENSION = "launch"; //$NON-NLS-1$ - - /** - * Launch configuration attribute storing an identifier of - * a persistable source locator extension. When this attribute is - * specified, a new source locator will be created automatically and - * associated with the launch for this configuration. - * - * @see org.eclipse.debug.core.model.IPersistableSourceLocator - */ - public static final String ATTR_SOURCE_LOCATOR_ID = DebugPlugin.getUniqueIdentifier() + ".source_locator_id"; //$NON-NLS-1$ - - /** - * Launch configuration attribute storing a memento of a - * source locator. When this attribute is specified in - * conjunction with a source locator id, the source locator - * created for a launch will be initialized with this memento. - * When not specified, but a source locator id is specified, - * the source locator will be initialized to default values. - * - * @see org.eclipse.debug.core.model.IPersistableSourceLocator - */ - public static final String ATTR_SOURCE_LOCATOR_MEMENTO = DebugPlugin.getUniqueIdentifier() + ".source_locator_memento"; //$NON-NLS-1$ - - /** - * Launches this configuration in the specified mode by delegating to - * this configuration's launch configuration delegate, and returns the - * resulting launch. - * <p> - * Equivalent to calling <code>launch(String, IProgressMontitor, boolean)</code> - * with a <code>build</code> flag of <code>false</code>. - * </p> - * @param mode the mode in which to launch, one of the mode constants - * defined by <code>ILaunchManager</code> - <code>RUN_MODE</code> or <code>DEBUG_MODE</code>. - * @param monitor progress monitor, or <code>null</code>. Since 3.0, this - * parameter is ignored. A cancellable progress monitor is provided by the Job - * framework. - * @return the resulting launch - * @exception CoreException if this method fails. Reasons include:<ul> - * <li>unable to instantiate the underlying launch configuration delegate</li> - * <li>the launch fails (in the delegate)</code> - * </ul> - */ - public ILaunch launch(String mode, IProgressMonitor monitor) throws CoreException; - - /** - * Launches this configuration in the specified mode by delegating to - * this configuration's launch configuration delegate, and returns the - * resulting launch. - * <p> - * If this configuration's launch delegate implements - * <code>ILaunchConfigurationDelegate2</code>, the launch delegate will - * be consulted to provide a launch object for the launch, - * perform pre-launch checks, and build before the launch. - * If <code>build</code> is <code>true</code> and the associated launch - * delegate does not implement <code>ILaunchConfigurationDelegate2</code> - * an incremental workspace build will be performed before the launch - * by the debug platform. - * </p> - * <p> - * The resulting launch object is registered with the launch manager - * before passing it to this configuration's delegate launch method, for - * contributions (debug targets and processes). - * </p> - * <p> - * If the delegate contributes a source locator to the launch, that - * source locator is used. Otherwise an appropriate source locator is - * contributed to the launch based on the values of - * <code>ATTR_SOURCE_LOCATOR_ID</code> and - * <code>ATTR_SOURCE_LOCATOR_MEMENTO</code>. If the launch is cancelled (via - * the given progress monitor), the launch is removed from the launch - * manager. The launch is returned whether cancelled or not. Invoking this - * method causes the underlying launch configuration delegate to be - * instantiated (if not already). - * </p> - * @param mode the mode in which to launch, one of the mode constants - * defined by <code>ILaunchManager</code> - <code>RUN_MODE</code> or <code>DEBUG_MODE</code>. - * @param monitor progress monitor, or <code>null</code>. Since 3.0, this - * parameter is ignored. A cancellable progress monitor is provided by the Job - * framework. - * @param build whether the workspace should be built before the launch - * @return resulting launch - * @throws CoreException if an exception occurrs during the launch sequence - * @since 3.0 - */ - public ILaunch launch(String mode, IProgressMonitor monitor, boolean build) throws CoreException; - - /** - * Launches this configuration in the specified mode by delegating to - * this configuration's launch configuration delegate, and returns the - * resulting launch. - * <p> - * If this configuration's launch delegate implements - * <code>ILaunchConfigurationDelegate2</code>, the launch delegate will - * be consulted to provide a launch object for the launch, - * perform pre-launch checks, and build before the launch. - * If <code>build</code> is <code>true</code> and the associated launch - * delegate does not implement <code>ILaunchConfigurationDelegate2</code> - * an incremental workspace build will be performed before the launch - * by the debug platform. - * </p> - * <p> - * When <code>register</code> is <code>true</code>, the resulting launch object - * is registered with the launch manager before passing it to this configuration's delegate - * launch method, for contributions (debug targets and processes). When - * <code>register</code> is <code>false</code>, the launch is not registered with - * the launch manager. Clients that launch configurations without registering - * a launch should register appropiate debug event filters to intercept events - * from unregistered launches. - * </p> - * <p> - * If the delegate contributes a source locator to the launch, that - * source locator is used. Otherwise an appropriate source locator is - * contributed to the launch based on the values of - * <code>ATTR_SOURCE_LOCATOR_ID</code> and - * <code>ATTR_SOURCE_LOCATOR_MEMENTO</code>. If the launch is cancelled (via - * the given progress monitor), the launch is removed from the launch - * manager. The launch is returned whether cancelled or not. Invoking this - * method causes the underlying launch configuration delegate to be - * instantiated (if not already). - * </p> - * @param mode the mode in which to launch, one of the mode constants - * defined by <code>ILaunchManager</code> - <code>RUN_MODE</code> or <code>DEBUG_MODE</code>. - * @param monitor progress monitor, or <code>null</code>. Since 3.0, this - * parameter is ignored. A cancellable progress monitor is provided by the Job - * framework. - * @param build whether the workspace should be built before the launch - * @param register whether to register the resulting launch with the launch manager - * @return resulting launch - * @throws CoreException if an exception occurrs during the launch sequence - * @since 3.1 - */ - public ILaunch launch(String mode, IProgressMonitor monitor, boolean build, boolean register) throws CoreException; - - /** - * Returns whether this launch configuration supports the - * specified mode. This is a handle-only method. - * - * @param mode a mode in which a configuration can be launched, one of - * the mode constants defined by <code>ILaunchManager</code> - <code>RUN_MODE</code> or - * <code>DEBUG_MODE</code>. - * @return whether this launch configuration supports the - * specified mode - * @exception CoreException if this method fails. Reasons include: - * <ul> - * <li>Unable to retrieve this launch configuration's type.</li> - * </ul> - */ - public boolean supportsMode(String mode) throws CoreException; - - /** - * Returns the name of this launch configuration. This is - * a handle-only method. - * - * @return the name of this launch configuration - */ - public String getName(); - - /** - * Returns the location of this launch configuration as a - * path. This is a handle-only method. - * - * @return the location of this launch configuration as a - * path - */ - public IPath getLocation(); - - /** - * Returns whether this launch configuration's underlying - * storage exists. This is a handle-only method. - * - * @return whether this launch configuration's underlying - * storage exists - */ - public boolean exists(); - - /** - * Returns the integer-valued attribute with the given name. - * Returns the given default value if the attribute is undefined. - * - * @param attributeName the name of the attribute - * @param defaultValue the value to use if no value is found - * @return the value or the default value if no value was found. - * @exception CoreException if this method fails. Reasons include: - * <ul> - * <li>An exception occurs while retrieving the attribute from - * underlying storage.</li> - * <li>An attribute with the given name exists, but does not - * have an integer value</li> - * </ul> - */ - public int getAttribute(String attributeName, int defaultValue) throws CoreException; - /** - * Returns the string-valued attribute with the given name. - * Returns the given default value if the attribute is undefined. - * - * @param attributeName the name of the attribute - * @param defaultValue the value to use if no value is found - * @return the value or the default value if no value was found. - * @exception CoreException if this method fails. Reasons include: - * <ul> - * <li>An exception occurs while retrieving the attribute from - * underlying storage.</li> - * <li>An attribute with the given name exists, but does not - * have a String value</li> - * </ul> - */ - public String getAttribute(String attributeName, String defaultValue) throws CoreException; - /** - * Returns the boolean-valued attribute with the given name. - * Returns the given default value if the attribute is undefined. - * - * @param attributeName the name of the attribute - * @param defaultValue the value to use if no value is found - * @return the value or the default value if no value was found. - * @exception CoreException if this method fails. Reasons include: - * <ul> - * <li>An exception occurs while retrieving the attribute from - * underlying storage.</li> - * <li>An attribute with the given name exists, but does not - * have a boolean value</li> - * </ul> - */ - public boolean getAttribute(String attributeName, boolean defaultValue) throws CoreException; - /** - * Returns the <code>java.util.List</code>-valued attribute with the given name. - * Returns the given default value if the attribute is undefined. - * - * @param attributeName the name of the attribute - * @param defaultValue the value to use if no value is found - * @return the value or the default value if no value was found. - * @exception CoreException if this method fails. Reasons include: - * <ul> - * <li>An exception occurs while retrieving the attribute from - * underlying storage.</li> - * <li>An attribute with the given name exists, but does not - * have a List value</li> - * </ul> - */ - public List getAttribute(String attributeName, List defaultValue) throws CoreException; - /** - * Returns the <code>java.util.Map</code>-valued attribute with the given name. - * Returns the given default value if the attribute is undefined. - * - * @param attributeName the name of the attribute - * @param defaultValue the value to use if no value is found - * @return the value or the default value if no value was found. - * @exception CoreException if this method fails. Reasons include: - * <ul> - * <li>An exception occurs while retrieving the attribute from - * underlying storage.</li> - * <li>An attribute with the given name exists, but does not - * have a Map value</li> - * </ul> - */ - public Map getAttribute(String attributeName, Map defaultValue) throws CoreException; - - /** - * Returns the file this launch configuration is stored - * in, or <code>null</code> if this configuration is stored - * locally with the workspace. This is a handle-only method. - * - * @return the file this launch configuration is stored - * in, or <code>null</code> if this configuration is stored - * locally with the workspace - */ - public IFile getFile(); - - /** - * Returns the type of this launch configuration. This is a - * handle-only method. - * - * @return the type of this launch configuration - * @exception CoreException if this method fails. Reasons include: - * <ul> - * <li>Unable to retrieve or instantiate this launch configuration's type.</li> - * </ul> - * @see ILaunchConfigurationType - */ - public ILaunchConfigurationType getType() throws CoreException; - - /** - * Returns whether this launch configuration is stored - * locally with the workspace. This is a handle-only method. - * - * @return whether this launch configuration is stored - * locally with the workspace - */ - public boolean isLocal(); - - /** - * Returns a working copy of this launch configuration. - * Changes to the working copy will be applied to this - * launch configuration when saved. The working copy will - * refer to this launch configuration as its original - * launch configuration. - * - * @return a working copy of this launch configuration - * @exception CoreException if this method fails. Reasons include: - * <ul> - * <li>An exception occurs while initializing the contents of the - * working copy from this configuration's underlying storage.</li> - * </ul> - * @see ILaunchConfigurationWorkingCopy#getOriginal() - */ - public ILaunchConfigurationWorkingCopy getWorkingCopy() throws CoreException; - - /** - * Returns a copy of this launch configuration, as a - * working copy, with the specified name. The new - * working copy does not refer back to this configuration - * as its original launch configuration (the working copy - * will return <code>null</code> for <code>getOriginal()</code>). - * When the working copy is saved it will not effect this - * launch configuration. - * - * @param name the name of the copy - * @return a copy of this launch configuration - * @exception CoreException if this method fails. Reasons include: - * <ul> - * <li>An exception occurs while initializing the contents of the - * working copy from this configuration's underlying storage.</li> - * </ul> - * @see ILaunchConfigurationWorkingCopy#getOriginal() - */ - public ILaunchConfigurationWorkingCopy copy(String name) throws CoreException; - - /** - * Returns whether this launch configuration is a working - * copy. Launch configurations which return <code>true</code> - * to this method can be safely cast to - * <code>org.eclipse.debug.core.ILaunchConfigurationWorkingCopy</code>. - * This is a handle-only method. - * - * @return whether this launch configuration is a working - * copy - */ - public boolean isWorkingCopy(); - - /** - * Deletes this launch configuration. This configuration's underlying - * storage is deleted. Has no effect if this configuration - * does not exist. - * - * @exception CoreException if this method fails. Reasons include: - * <ul> - * <li>An exception occurs while deleting this configuration's - * underlying storage.</li> - * </ul> - */ - public void delete() throws CoreException; - - /** - * Returns a memento for this launch configuration, or <code>null</code> - * if unable to generate a memento for this configuration. A memento - * can be used to re-create a launch configuration, via the - * launch manager. - * - * @return a memento for this configuration - * @see ILaunchManager#getLaunchConfiguration(String) - * @exception CoreException if an exception occurs generating this - * launch configuration's memento - */ - public String getMemento() throws CoreException; - - /** - * Returns whether the contents of this launch configuration are - * equal to the contents of the given launch configuration. - * - * @return whether the contents of this launch configuration are equal to the contents - * of the specified launch configuration. - */ - public boolean contentsEqual(ILaunchConfiguration configuration); - - /** - * Returns this launch configuration's type's category, or <code>null</code> - * if unspecified. This is a handle-only method. - * - * @return this launch configuration's type's category, or <code>null</code> - * @exception CoreException if this method fails. Reasons include: - * <ul> - * <li>Unable to retrieve or instantiate this launch configuration's type.</li> - * </ul> - * @since 2.1 - */ - public String getCategory() throws CoreException; - - /** - * Returns a map containing the attributes in this launch configuration. - * Returns an empty map if this configuration has no attributes. - * <p> - * Modifying the map does not affect this launch configuration's attributes. - * A launch configuration is modified by obtaining a working copy of that - * launch configuration, modifying the working copy, and then saving the working - * copy. - * </p> - * @return a map of attribute keys and values - * @exception CoreException unable to generate/retrieve an attribute map - * @since 2.1 - */ - public Map getAttributes() throws CoreException; -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationListener.java deleted file mode 100644 index 4f0332608..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationListener.java +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core; - - -/** - * Notified when a launch configuration is created, - * deleted, or changed. - * <p> - * This interface is intended to be implemented by clients. - * </p> - * @since 2.0 - */ -public interface ILaunchConfigurationListener { - - /** - * The given launch configuration has been created. - * - * @param configuration the newly created launch configuration - */ - public void launchConfigurationAdded(ILaunchConfiguration configuration); - - /** - * The given launch configuration has changed in some way. - * The configuration may be a working copy. - * - * @param configuration the launch configuration that has - * changed - */ - public void launchConfigurationChanged(ILaunchConfiguration configuration); - - /** - * The given launch configuration has been deleted. - * <p> - * The launch configuration no longer exists. Data stored - * in the configuration can no longer be accessed, however - * handle-only attributes of the launch configuration - * can be retrieved. - * </p> - * - * @param configuration the deleted launch configuration - */ - public void launchConfigurationRemoved(ILaunchConfiguration configuration); -} - diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationType.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationType.java deleted file mode 100644 index 12f70e3ae..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationType.java +++ /dev/null @@ -1,209 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core; - - -import org.eclipse.core.resources.IContainer; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.debug.core.model.ILaunchConfigurationDelegate; -import org.eclipse.debug.core.sourcelookup.ISourcePathComputer; - -/** - * Describes and creates instances of a specific type of - * launch configuration. Launch configuration types are - * defined by extensions. - * <p> - * A launch configuration type extension is defined in <code>plugin.xml</code>. - * Following is an example definition of a launch configuration - * type extension. - * <pre> - * <extension point="org.eclipse.debug.core.launchConfigurationTypes"> - * <launchConfigurationType - * id="com.example.ExampleIdentifier" - * delegate="com.example.ExampleLaunchConfigurationDelegate" - * modes="run, debug" - * name="Example Application"> - * </launchConfigurationType> - * </extension> - * </pre> - * The attributes are specified as follows: - * <ul> - * <li><code>id</code> specifies a unique identifier for this launch configuration - * type.</li> - * <li><code>delegate</code> specifies the fully qualified name of the java class - * that implements <code>ILaunchConfigurationDelegate</code>. Launch configuration - * instances of this type will delegate to instances of this class - * to perform launching.</li> - * <li><code>modes</code> specifies a comma separated list of the modes this - * type of launch configuration suports - <code>"run"</code> and/or <code>"debug"</code>.</li> - * <li><code>name</code> specifies a human readable name for this type - * of launch configuration.</li> - * <li><code>category</code> is an optional attribute that specifies a category - * for this launch configuration type. Categories are client defined. This - * attribute was added in the 2.1 release.</li> - * </ul> - * </p> - * TODO: add new attributes - sourcePathComputerId and sourceLocatorId - * <p> - * The <code>category</code> attribute has been added in release 2.1, such that other - * tools may re-use the launch configuration framework for purposes other than - * the standard running and debugging of programs under developement. Such that - * clients may access arbitrary attribtes specified in launch configuration type - * extension definitions, the method <code>getAttribute</code> has also been - * added. Launch configurations that are to be recognized as standard run/debug - * launch configurations should not specify the <code>category</code> attribute. - * </p> - * <p> - * This interface is not intended to be implemented by clients. Clients - * that define a launch configuration delegate extension implement the - * <code>ILaunchConfigurationDelegate</code> interface. - * </p> - * @see ILaunchConfiguration - * @since 2.0 - */ -public interface ILaunchConfigurationType extends IAdaptable { - - /** - * Returns whether this type of launch configuration supports - * the specified mode. - * - * @param mode a mode in which a configuration can be launched, one of - * the mode constants defined by <code>ILaunchManager</code> - <code>RUN_MODE</code> or - * <code>DEBUG_MODE</code>. - * @return whether this kind of launch configuration supports the - * specified mode - */ - public boolean supportsMode(String mode); - - /** - * Returns the name of this type of launch configuration. - * - * @return the name of this type of launch configuration - */ - public String getName(); - - /** - * Returns the unique identifier for this type of launch configuration - * - * @return the unique identifier for this type of launch configuration - */ - public String getIdentifier(); - - /** - * Returns whether this launch configuration type is public. Public configuration - * types are available for use by the user, for example, the user can create new - * configurations based on public types through the UI. Private types are not - * accessbile in this way, but are still available through the methods on - * <code>ILaunchManager</code>. - * - * @return whether this launch configuration type is public. - */ - public boolean isPublic(); - - /** - * Returns a new launch configuration working copy of this type, - * that resides in the specified container, with the given name. - * When <code>container</code> is </code>null</code>, the configuration - * will reside locally in the metadata area. - * Note: a launch configuration is not actually created until the working copy is saved. - * - * @param container the container in which the new configuration will - * reside, or <code>null</code> if the configuration should reside - * locally with the metadata. - * @param name name for the launch configuration - * @return a new launch configuration working copy instance of this type - * @exception CoreException if an instance of this type - * of launch configuration could not be created for any - * reason - */ - public ILaunchConfigurationWorkingCopy newInstance(IContainer container, String name) throws CoreException; - - /** - * Returns the launch configuration delegate for launch - * configurations of this type, for <code>run</code> mode. - * The first time this method is called, the delegate is instantiated. - * - * @return launch configuration delegate - * @exception CoreException if unable to instantiate the - * delegate - * @deprecated use <code>getDelegate(String)</code> to specify mode - */ - public ILaunchConfigurationDelegate getDelegate() throws CoreException; - - /** - * Returns the launch configuration delegate for launch - * configurations of this type, for the specified mode. The first time - * this method is called for a mode, the delegate is instantiated. - * Launch delegates may be contributed to a launch configuration type - * via the extension point <code>org.eclipse.debug.core.launchDelegates</code> - * - * @param mode launch mode - * @return launch configuration delegate - * @exception CoreException if unable to instantiate the - * delegate - * @since 3.0 - */ - public ILaunchConfigurationDelegate getDelegate(String mode) throws CoreException; - - /** - * Returns this launch configuration type's category, or <code>null</code> - * if unspecified. This corresponds to the category attribute specified in - * the extension definition. - * - * @return this launch configuration type's category, or <code>null</code> - * @since 2.1 - */ - public String getCategory(); - - /** - * Returns the attribute with the given name, as specified by this launch - * configuration type's extension definition, or <code>null</code> if - * unspecified. - * - * @param attributeName attribute name - * @return the specified extension attribute, or <code>null</code> - * @since 2.1 - */ - public String getAttribute(String attributeName); - - /** - * Returns the source path computer registered with this launch configuration - * type or <code>null</code> if unspecified. A source path computer can be - * registered with a launch configuration type in plug-in XML via the - * <code>sourcePathComputerId</code> attribute. - * - * @return the source path computer registered with this launch configuration - * type or <code>null</code> if unspecified - * @since 3.0 - */ - public ISourcePathComputer getSourcePathComputer(); - - /** - * Returns the identifier of the persistable source locator registered with - * this launch configurations type, or <code>null</code> if unspecified. - * Launch configuration types optionally specify this attribue - * in their plug-in XML via the <code>sourceLocatorId</code> attribute. - * - * @return the identifier of the persistable source locator registered with - * this launch configurations type, or <code>null</code> if unspecified - * @since 3.0 - */ - public String getSourceLocatorId(); - - /** - * Returns the identifier of the plug-in that contributes this launch configuration type. - * - * @return the identifier of the plug-in that contributes this launch configuration type - * @since 3.0 - */ - public String getPluginIdentifier(); -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationWorkingCopy.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationWorkingCopy.java deleted file mode 100644 index 0fe69bb58..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchConfigurationWorkingCopy.java +++ /dev/null @@ -1,164 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core; - - -import java.util.List; -import java.util.Map; - -import org.eclipse.core.resources.IContainer; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IAdaptable; - -/** - * An editable copy of a launch configuration. Attributes of a - * launch configuration are modified by modifying the attributes - * of a working copy, and then saving the working copy. - * <p> - * This interface is not intended to be implemented by clients. Clients - * that define a launch configuration delegate extension implement the - * <code>ILaunchConfigurationDelegate</code> interface. - * </p> - * @see ILaunchConfiguration - * @see ILaunchConfigurationType - * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate - * @since 2.0 - */ -public interface ILaunchConfigurationWorkingCopy extends ILaunchConfiguration, IAdaptable { - - /** - * Returns whether this configuration has been modified - * since it was last saved or created. - * - * @return whether this configuration has been modified - * since it was last saved or created - */ - public boolean isDirty(); - - /** - * Saves this working copy to its underlying file and returns - * a handle to the resulting launch configuration. - * Has no effect if this configuration does not need saving. - * Creates the underlying file if not yet created. - * - * @exception CoreException if an exception occurs while - * writing this configuration to its underlying file. - */ - public ILaunchConfiguration doSave() throws CoreException; - - /** - * Sets the integer-valued attribute with the given name. - * - * @param attributeName the name of the attribute, cannot be <code>null</code> - * @param value the value - */ - public void setAttribute(String attributeName, int value); - - /** - * Sets the String-valued attribute with the given name. - * If the value is <code>null</code>, the attribute is removed from - * this launch configuration. - * - * @param attributeName the name of the attribute, cannot be <code>null</code> - * @param value the value, or <code>null</code> if the attribute is to be undefined - */ - public void setAttribute(String attributeName, String value); - - /** - * Sets the <code>java.util.List</code>-valued attribute with the given name. - * The specified List <em>must</em> contain only String-valued entries. - * If the value is <code>null</code>, the attribute is removed from - * this launch configuration. - * - * @param attributeName the name of the attribute, cannot be <code>null</code> - * @param value the value, or <code>null</code> if the attribute is to be undefined - */ - public void setAttribute(String attributeName, List value); - - /** - * Sets the <code>java.util.Map</code>-valued attribute with the given name. - * The specified Map <em>must</em> contain only String keys and String values. - * If the value is <code>null</code>, the attribute is removed from - * this launch configuration. - * - * @param attributeName the name of the attribute, cannot be <code>null</code> - * @param value the value, or <code>null</code> if the attribute is to be undefined - */ - public void setAttribute(String attributeName, Map value); - - /** - * Sets the boolean-valued attribute with the given name. - * - * @param attributeName the name of the attribute, cannot be <code>null</code> - * @param value the value - */ - public void setAttribute(String attributeName, boolean value); - - /** - * Returns the original launch configuration this working copy - * was created from, or <code>null</code> if this is a new - * working copy created from a launch configuration type. - * - * @return the original launch configuration, or <code>null</code> - */ - public ILaunchConfiguration getOriginal(); - - /** - * Renames this launch configuration to the specified name. - * The new name cannot be <code>null</code>. Has no effect if the name - * is the same as the current name. If this working copy is based - * on an existing launch configuration, this will cause - * the underlying launch configuration file to be renamed when - * this working copy is saved. - * - * @param name the new name for this configuration - */ - public void rename(String name); - - /** - * Sets the container this launch configuration will be stored - * in when saved. When set to <code>null</code>, this configuration - * will be stored locally with the workspace. The specified - * container must exist, if specified. - * <p> - * If this configuration is changed from local to non-local, - * a file will be created in the specified container when - * saved. The local file associated with this configuration - * will be deleted. - * </p> - * <p> - * If this configuration is changed from non-local to local, - * a file will be created locally when saved. - * The original file associated with this configuration in - * the workspace will be deleted. - * </p> - * - * @param container the container in which to store this - * launch configuration, or <code>null</code> if this - * configuration is to be stored locally - */ - public void setContainer(IContainer container); - - /** - * Sets the attributes of this launch configuration to be the ones contained - * in the given map. The values must be an instance of one of the following - * classes: <code>String</code>, <code>Integer</code>, or - * <code>Boolean</code>, <code>List</code>, <code>Map</code>. Attributes - * previously set on this launch configuration but not included in the given - * map are considered to be removals. Setting the given map to be - * <code>null</code> is equivalent to removing all attributes. - * - * @param attributes a map of attribute names to attribute values. - * Attribute names are not allowed to be <code>null</code> - * @since 2.1 - */ - public void setAttributes(Map attributes); -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchListener.java deleted file mode 100644 index 5faa7207b..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchListener.java +++ /dev/null @@ -1,51 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core; - - -/** - * A launch listener is notified of launches as they - * are added and removed from the launch manager. Also, - * when a process or debug target is added to a launch, - * listeners are notified of a change. - * <p> - * Clients may implement this interface. - * </p> - * @see org.eclipse.debug.core.ILaunch - * @see org.eclipse.debug.core.ILaunchesListener - */ -public interface ILaunchListener { - /** - * Notifies this listener that the specified - * launch has been removed. - * - * @param launch the removed launch - * @since 2.0 - */ - public void launchRemoved(ILaunch launch); - /** - * Notifies this listener that the specified launch - * has been added. - * - * @param launch the newly added launch - * @since 2.0 - */ - public void launchAdded(ILaunch launch); - /** - * Notifies this listener that the specified launch - * has changed. For example, a process or debug target - * has been added to the launch. - * - * @param launch the changed launch - * @since 2.0 - */ - public void launchChanged(ILaunch launch); -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchManager.java deleted file mode 100644 index cc399f081..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchManager.java +++ /dev/null @@ -1,421 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core; - - -import java.util.Map; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.debug.core.model.IDebugTarget; -import org.eclipse.debug.core.model.IPersistableSourceLocator; -import org.eclipse.debug.core.model.IProcess; -import org.eclipse.debug.core.sourcelookup.ISourceContainerType; -import org.eclipse.debug.core.sourcelookup.ISourcePathComputer; - -/** - * The launch manager manages the set of registered launches, maintaining - * a collection of active processes and debug targets. Clients interested - * in launch notification may register with the launch manager. - * <p> - * Clients are not intended to implement this interface. - * </p> - * @see ILaunch - * @see ILaunchListener - */ -public interface ILaunchManager { - /** - * A launch in a normal, non-debug mode(value <code>"run"</code>). - */ - public static final String RUN_MODE= "run"; //$NON-NLS-1$ - /** - * A launch in a special debug mode (value <code>"debug"</code>). - */ - public static final String DEBUG_MODE= "debug"; //$NON-NLS-1$ - /** - * A launch in a special profile mode (value <code>"profile"</code>). - * @since 3.0 - */ - public static final String PROFILE_MODE= "profile"; //$NON-NLS-1$ - - /** - * Launch configuration attribute name. The value is a map of environment - * variables passed into Runtime.exec(...) when a launch configuration is launched. - * Default value is <code>null</code> which indicates the default environment - * should be used. - * - * @since 3.0 - */ - public static final String ATTR_ENVIRONMENT_VARIABLES = DebugPlugin.getUniqueIdentifier() + ".environmentVariables"; //$NON-NLS-1$ - - /** - * Launch configuration attribute name. The value is a boolean value specifying - * whether the environment variables in a launch configuration - * should be appended to the native environment (i.e. when <code>true</code>), - * or if they should replace the environment (i.e. <code>false</code>). The - * default value is <code>true</code>. - * - * @since 3.0 - */ - public static final String ATTR_APPEND_ENVIRONMENT_VARIABLES = DebugPlugin.getUniqueIdentifier() + ".appendEnvironmentVariables"; //$NON-NLS-1$ - - /** - * Adds the given listener to the collection of registered launch listeners. - * Has no effect if an identical listener is already registerd. - * - * @param listener the listener to register - */ - public void addLaunchListener(ILaunchListener listener); - /** - * Adds the given listener to the collection of registered launch listeners. - * Has no effect if an identical listener is already registerd. - * - * @param listener the listener to register - * @since 2.1 - */ - public void addLaunchListener(ILaunchesListener listener); - /** - * Removes the specified launch and notifies listeners. - * Has no effect if an identical launch is not already - * registered. - * - * @param launch the launch to remove - * @since 2.0 - */ - public void removeLaunch(ILaunch launch); - /** - * Removes the specified launch objects and notifies listeners. - * Has no effect on identical launch objects that are not already - * registered. - * - * @param launches the launch objects to remove - * @since 2.1 - */ - public void removeLaunches(ILaunch[] launches); - /** - * Returns the collection of debug targets currently registered with this - * launch manager. - * - * @return an array of debug targets - */ - public IDebugTarget[] getDebugTargets(); - /** - * Returns the collection of launches currently registered - * with this launch manager. - * - * @return an array of launches - */ - public ILaunch[] getLaunches(); - /** - * Returns the collection of processes currently registered with this - * launch manager. - * - * @return an array of processes - */ - public IProcess[] getProcesses(); - /** - * Adds the specified launch and notifies listeners. Has no - * effect if an identical launch is already registered. - * - * @param launch the launch to add - * @since 2.0 - */ - public void addLaunch(ILaunch launch); - /** - * Adds the specified launch objects and notifies listeners. Has no - * effect on identical launch objects already registered. - * - * @param launches the launch objects to add - * @since 2.1 - */ - public void addLaunches(ILaunch[] launches); - /** - * Removes the given listener from the collection of registered launch listeners. - * Has no effect if an identical listener is not already registerd. - * - * @param listener the listener to deregister - */ - public void removeLaunchListener(ILaunchListener listener); - /** - * Removes the given listener from the collection of registered launch listeners. - * Has no effect if an identical listener is not already registerd. - * - * @param listener the listener to deregister - * @since 2.1 - */ - public void removeLaunchListener(ILaunchesListener listener); - /** - * Returns all launch configurations defined in the workspace. - * - * @return all launch configurations defined in the workspace - * @exception CoreException if an exception occurs retrieving configurations - * @since 2.0 - */ - public ILaunchConfiguration[] getLaunchConfigurations() throws CoreException; - - /** - * Returns all launch configurations of the specified type defined in the workspace - * - * @param type a launch configuration type - * @return all launch configurations of the specified type defined in the workspace - * @exception CoreException if an error occurs while retreiving - * a launch configuration - * @since 2.0 - */ - public ILaunchConfiguration[] getLaunchConfigurations(ILaunchConfigurationType type) throws CoreException; - - /** - * Returns a handle to the launch configuration contained - * in the specified file. The file is not verified to exist - * or contain a launch configuration. - * - * @param file launch configuration file - * @return a handle to the launch configuration contained - * in the specified file - * @since 2.0 - */ - public ILaunchConfiguration getLaunchConfiguration(IFile file); - - /** - * Returns a handle to the launch configuration specified by - * the given memento. The configuration may not exist. - * - * @return a handle to the launch configuration specified by - * the given memento - * @exception CoreException if the given memento is invalid or - * an exception occurs parsing the memento - * @see ILaunchConfiguration#getMemento() - * @since 2.0 - */ - public ILaunchConfiguration getLaunchConfiguration(String memento) throws CoreException; - - /** - * Returns all defined launch configuration type extensions - * - * @return all defined launch configuration type extensions - * @since 2.0 - */ - public ILaunchConfigurationType[] getLaunchConfigurationTypes(); - - /** - * Returns the launch configuration type extension with the specified - * id, or <code>null</code> if it does not exist. - * - * @param id unique identifier for a launch configuration type extension - * @return the launch configuration type extension with the specified - * id, or <code>null</code> if it does not exist - * @since 2.0 - */ - public ILaunchConfigurationType getLaunchConfigurationType(String id); - - /** - * Adds the given launch configuration listener to the list - * of listeners notified when a launch configuration is - * added, removed, or changed. Has no effect if the given listener - * is already registered. - * - * @param listener launch configuration listener - * @since 2.0 - */ - public void addLaunchConfigurationListener(ILaunchConfigurationListener listener); - - /** - * Removes the given launch configuration listener from the list - * of listeners notified when a launch configuration is - * added, removed, or changed. Has no effect if the given listener - * is not already registered. - * - * @param listener launch configuration listener - * @since 2.0 - */ - public void removeLaunchConfigurationListener(ILaunchConfigurationListener listener); - - /** - * Return <code>true</code> if there is a launch configuration with the specified name, - * <code>false</code> otherwise. - * - * @param name the name of the launch configuration whose existence is being checked - * @exception CoreException if unable to retrieve existing launch configuration names - * @since 2.0 - */ - public boolean isExistingLaunchConfigurationName(String name) throws CoreException; - - /** - * Return a String that can be used as the name of a launch configuration. The name - * is guaranteed to be unique (no existing launch configurations will have this name). - * The name that is returned uses the <code>namePrefix</code> as a starting point. If - * there is no existing launch configuration with this name, then <code>namePrefix</code> - * is returned. Otherwise, the value returned consists of the specified prefix plus - * some suffix that guarantees uniqueness. - * - * @param namePrefix the String that the returned name must begin with - * @since 2.0 - */ - public String generateUniqueLaunchConfigurationNameFrom(String namePrefix); - - /** - * Creates and returns a new source locator of the specified - * type. - * - * @param identifier the identifier associated with a - * persistable source locator extension - * @return a source locator - * @exception CoreException if an exception occurs creating - * the source locator - * @since 2.0 - */ - public IPersistableSourceLocator newSourceLocator(String identifier) throws CoreException; - - /** - * When a launch configuration is created or moved, registered launch - * configuration listeners (see <code>ILaunchConfigurationListener</code>) - * are notified of an add notification for the new configuration. If the - * notification is the result of a move this method will return a handle to - * the launch configuration that the added launch configuration was moved - * from. This method returns <code>null</code> if the added launch - * configuration was not the result of a rename or move. This information is - * only available during the add notification call back - * <code>launchConfigurationAdded</code>. - * <p> - * Renaming a configuration is considered the same as moving a - * configuration. - * </p> - * - * @param addedConfiguration a launch configuration for which an add - * notification is being broadcast - * @return the launch configuration that the added launch configuration was - * moved from, or <code>null</code> if the add notification is not the - * result of a move - * @since 2.1 - */ - public ILaunchConfiguration getMovedFrom(ILaunchConfiguration addedConfiguration); - - /** - * When a launch configuration is deleted or moved, registered launch - * configuration listeners (see <code>ILaunchConfigurationListener</code>) - * are notified of a remove notification for launch configuration that has - * been deleted. If the notification is the result of a move this method - * will return a handle to the launch configuration that the removed launch - * configuration was moved to. This method returns <code>null</code> if the - * removed launch configuration was not the result of a rename or move. This - * information is only available during the add notification call back - * <code>launchConfigurationRemoved</code>. - * <p> - * Renaming a configuration is considered the same as moving a - * configuration. - * </p> - * - * @param removedConfiguration a launch configuration for which a - * remove notification is being broadcast - * @return the launch configuration that the removed launch configuration - * was moved to, or <code>null</code> if the add notification is not the - * result of a move - * @since 2.1 - */ - public ILaunchConfiguration getMovedTo(ILaunchConfiguration removedConfiguration); - - /** - * Returns all registered launch modes. - * - * @return all registered launch modes - * @since 3.0 - */ - public ILaunchMode[] getLaunchModes(); - - /** - * Returns the launch mode registered with the given mode identifier, - * or <code>null</code> if none. - * - * @param mode mode identifier - * @return launch mode or <code>null</code> - * @since 3.0 - */ - public ILaunchMode getLaunchMode(String mode); - - /** - * Returns an array of environment variables to be used when - * launching the given configuration or <code>null</code> if unspecified. - * - * @param configuration launch configuration - * @throws CoreException if unable to access associated attribute or if - * unable to resolve a variable in an environment variable's value - * @since 3.0 - */ - public String[] getEnvironment(ILaunchConfiguration configuration) throws CoreException; - - /** - * Returns a source path computer to compute a default source lookup path for - * the given launch configuration, or <code>null</code> if a source path - * computer has not been registered for the associated launch configuration - * type. - * - * @param configuration a launch configuration - * @return a source path computer registered for the associated launch - * configurations type, or <code>null</code> if unspecified - * @throws CoreException if an exception occurs while instantiating a source - * path computer - * @since 3.0 - */ - public ISourcePathComputer getSourcePathComputer(ILaunchConfiguration configuration) throws CoreException; - - /** - * Returns the source path computer extension registered with the given - * unique identifier, or <code>null</code> if none. - * - * @param id source path computer identifier - * @return the source path computer extension registered with the given - * unique identifier, or <code>null</code> if none - * @since 3.0 - */ - public ISourcePathComputer getSourcePathComputer(String id); - - /** - * Returns the native system environment variables as a map of - * variable names and values (Strings). On WIN32, - * all keys (variable names) are returned in uppercase. Note - * that WIN32's environment is not case sensitive. - * - * @return the native system environment variables - * @since 3.0 - */ - public Map getNativeEnvironment(); - - /** - * Returns all registered source container type extensions. - * - * @return all registered source container type extensions - * @since 3.0 - */ - public ISourceContainerType[] getSourceContainerTypes(); - - /** - * Returns the source container type extension registered with the - * given unique identifier, or <code>null</code> if none. - * - * @param id unique identifier of a source container type extension - * @return the source container type extension registered with the - * given unique identifier, or <code>null</code> if none - * @since 3.0 - */ - public ISourceContainerType getSourceContainerType(String id); - - /** - * Returns whether the given launch is currently registered. - * - * @param launch a launch - * @return whether the launch is currently registered - * @since 3.1 - */ - public boolean isRegistered(ILaunch launch); - -} - - diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchMode.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchMode.java deleted file mode 100644 index 265d8d3e9..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchMode.java +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core; - -/** - * A launch mode. The debug platform contributes launch modes - * for run, debug, and profile. Clients may contribute additional launch - * modes in plug-in XML via the <code>launchModes</code> extension point. - * <p> - * Following is an example launch mode contribution for profiling. A launch - * mode has an unique identifer specified by the <code>mode</code> attribute - * and a human readable label specified by the <code>label</code> attribute. - * <pre> - * <extension point="org.eclipse.debug.core.launchModes"> - * <launchMode - * mode="profile" - * label="Profile"> - * </launchMode> - * </extension> - * </pre> - * </p> - * <p> - * Clients are not intended to implement this interface. - * </p> - * @since 3.0 - */ -public interface ILaunchMode { - - /** - * Returns the unique identifier for this launch mode. - * - * @return the unique identifier for this launch mode - */ - public String getIdentifier(); - - /** - * Returns a human readable label for this launch mode. - * - * @return a human readable label for this launch mode - */ - public String getLabel(); -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener.java deleted file mode 100644 index 1e5b9812e..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener.java +++ /dev/null @@ -1,54 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core; - - -/** - * A launches listener is notified of launches as they - * are added and removed from the launch manager. Also, - * when a process or debug target is added to a launch, - * listeners are notified of a change. - * <p> - * This interface is analagous to <code>ILaunchListerner</code>, except - * notifications are batched to include more than one launch object - * when possible. - * </p> - * <p> - * Clients may implement this interface. - * </p> - * @see org.eclipse.debug.core.ILaunch - * @see org.eclipse.debug.core.ILaunchManager - * @since 2.1 - */ -public interface ILaunchesListener { - /** - * Notifies this listener that the specified - * launches have been removed. - * - * @param launches the removed launch objects - */ - public void launchesRemoved(ILaunch[] launches); - /** - * Notifies this listener that the specified launches - * have been added. - * - * @param launches the newly added launch objects - */ - public void launchesAdded(ILaunch[] launches); - /** - * Notifies this listener that the specified launches - * have changed. For example, a process or debug target - * has been added to a launch. - * - * @param launches the changed launch object - */ - public void launchesChanged(ILaunch[] launches); -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener2.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener2.java deleted file mode 100644 index 38dfc0924..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILaunchesListener2.java +++ /dev/null @@ -1,30 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core; - -/** - * Enhancements to the launches listener interface. Provides notification - * when one or more launches terminate. - * <p> - * Clients implementing launches listener may implement - * this interface. - * </p> - * @since 3.0 - */ -public interface ILaunchesListener2 extends ILaunchesListener { - - /** - * Notification that the given launches have terminated. - * - * @param launches the launches that have terminated - */ - public void launchesTerminated(ILaunch[] launches); -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureProvider.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureProvider.java deleted file mode 100644 index 2bd68f31e..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureProvider.java +++ /dev/null @@ -1,35 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core; - -import org.eclipse.debug.core.model.IValue; - -/** - * Provides logical structure types applicable to a raw implementation value from - * a debug model. Associated with a logical structure provider extension. - * <p> - * Clients contributing logical structure providers should implement this - * interface. - * </p> - * @since 3.1 - * @see org.eclipse.debug.core.ILogicalStructureType - */ -public interface ILogicalStructureProvider { - - /** - * Returns the logical structure types which are applicable to the given value. - * - * @param value value for which logical structure types are being requested - * @return the logical structure types which are applicable to the given value - */ - public ILogicalStructureType[] getLogicalStructureTypes(IValue value); - -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureType.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureType.java deleted file mode 100644 index 653ef6b21..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/ILogicalStructureType.java +++ /dev/null @@ -1,83 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core; - -import org.eclipse.debug.core.model.ILogicalStructureTypeDelegate; -import org.eclipse.debug.core.model.ILogicalStructureTypeDelegate2; - -/** - * Provides a value representing the logical structure of a raw implementation value - * from a debug model. Logical structures are useful for navigating complex data - * structures. Logical structure types are contributed via extensions in plug-in XML, - * and provide a delegate for performing logical value computation. Logical - * structure types can be retrieved from the <code>DebugPlugin</code>. - * <p> - * Following is example plug-in XML to define a logical structure type. - * </p> - * <pre> - * <extension point="org.eclipse.debug.core.logicalStructureTypes"> - * <logicalStructureType - * id="com.example.ExampleLogicalStructure" - * class="com.example.ExampleLogicalStructureDelegate" - * modelIdentifier="com.example.debug.model" - * description="Ordered Collection"> - * </logicalStructureType> - * </extension> - * </pre> - * <p> - * The attributes are specified as follows: - * <ul> - * <li>id - unique identifier for this logical structure type</li> - * <li>class - fully qualified name of class that implements - * <code>ILogicalStructureTypeDelegate</code></li> - * <li>modelIdentifier - identifier of the debug model this logical structure - * type is associated with</li> - * <li>description - description of the logical structure provided</li> - * </ul> - * </p> - * <p> - * - * TODO: review the doc for the new provider extension point - * - * - * Clients are not intended to implement this interface. Instead clients - * providing logical strucutre types provide and implement an - * <code>ILogicalStructureTypeDelegate</code>. Clients may optionally implement - * <code>ILogicalStructureTypeDelegate2</code> to provide dynamic descriptions - * of logical structures. - * </p> - * @since 3.0 - * @see org.eclipse.debug.core.model.ILogicalStructureTypeDelegate - */ -public interface ILogicalStructureType extends ILogicalStructureTypeDelegate, ILogicalStructureTypeDelegate2 { - - /** - * Returns a simple description of the logical structure provided by this - * structure type. - * <p> - * Since 3.1, this method can return <code>null</code> if this logical structure - * type's delegate implements <code>ILogicalStructureTypeDelegate2</code>. - * </p> - * - * @return a simple description of the logical structure provided by this - * structure type, possibly <code>null</code> - */ - public String getDescription(); - - /** - * Returns this logical structure type's unique identifier, as defined - * in plug-in XML. - * - * @return this logical structure type's unique identifier - */ - public String getId(); - -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockListener.java deleted file mode 100644 index 9afbde6c5..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockListener.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.debug.core; - -import org.eclipse.debug.core.model.IMemoryBlock; - -/** - * A memory block listener is notified of the addition and removal - * of memory blocks with the memory block manager. Listeners must - * register with the memory block manager for notification. - * <p> - * Clients may implement this interface. - * </p> - * @since 3.1 - */ -public interface IMemoryBlockListener { - - /** - * Notification the given memory blocks ahve been added to the - * memory block manager. - * - * @param memory blocks added to the memory block manager - */ - void memoryBlocksAdded(IMemoryBlock[] memory); - - /** - * Notification the given memory blocks have been removed from - * the memory block manager. - * - * @param memory blocks removed from the memory block manager - */ - void memoryBlocksRemoved(IMemoryBlock[] memory); - -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockManager.java deleted file mode 100644 index 862a2ef3f..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IMemoryBlockManager.java +++ /dev/null @@ -1,98 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.debug.core; - -import org.eclipse.debug.core.model.IDebugTarget; -import org.eclipse.debug.core.model.IMemoryBlock; -import org.eclipse.debug.core.model.IMemoryBlockRetrieval; - - -/** - * Manages registered memory blocks in the workspace. Clients - * interested in notification of the addition and removal of - * memory blocks may register as a memory block listener with - * the memory block manager. - * <p> - * This interface is not intended to be implemented by clients. - * </p> - * @see org.eclipse.debug.core.model.IMemoryBlock - * @see org.eclipse.debug.core.IMemoryBlockListener - * @since 3.1 - */ -public interface IMemoryBlockManager { - - /** - * Adds the given memory blocks to the memory block manager. - * Registered memory block listeners are notified of the additions. - * Has no effect on memory blocks that are already registered. - * - * @param memoryBlocks memory blocks to add - */ - public void addMemoryBlocks(IMemoryBlock[] memoryBlocks); - - /** - * Removes the given memory blocks from the memory block manager. - * Registered memory block listeners are notified of the removals. - * Has no effect on memory blocks that are not currently registered. - * - * @param memoryBlocks memory blocks to remove - */ - public void removeMemoryBlocks(IMemoryBlock[] memoryBlocks); - - /** - * Registers the given listener for memory block addition and - * removal notification. Has no effect if an identical listener - * is already registered. - * - * @param listener the listener to add - */ - public void addListener(IMemoryBlockListener listener); - - /** - * Deregisters the givem listener for memory block addition and - * removal notficiation. Has no effect if an identical listener - * is not already registered. - * - * @param listener the listener to remove - */ - public void removeListener(IMemoryBlockListener listener); - - /** - * Returns all registered memory blocks. - * - * @return all registered memory blocks - */ - public IMemoryBlock[] getMemoryBlocks(); - - /** - * Returns all registered memory blocks assocaited with the - * given debug target. That is, all registered memory blocks - * whose <code>getDebugTarget()</code> method returns the - * specified debug target. - * - * @param debugTarget target for which memory blocks have been requested - * @return all registered memory blocks associated with the given debug - * target - */ - public IMemoryBlock[] getMemoryBlocks(IDebugTarget debugTarget); - - /** - * Returns all registered memory blocks that originated from the - * given memory retrieval source. - * - * @param source source for which memory blocks have been requested - * @return all registered memory blocks that originated from the - * given memory retrieval source - */ - public IMemoryBlock[] getMemoryBlocks(IMemoryBlockRetrieval source); - -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IProcessFactory.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IProcessFactory.java deleted file mode 100644 index 8cf8e3521..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IProcessFactory.java +++ /dev/null @@ -1,63 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core; - -import java.util.Map; - -import org.eclipse.debug.core.model.IProcess; - -/** - * A process factory is used to override default process (<code>IProcess</code>) - * creation by the debug plug-in, and can be contributed via plug-in XML. When a - * new process is created via <code>DebugPlugin.newProcess(..)</code>, the - * launch configuration associated with the specified launch is consulted for - * a process factory attribute (<code>ATTR_PROCESS_FACTORY_ID</code>). If - * present, the associated process factory is consulted to create a process for - * the launch. If not present a default process implementation is created and - * returned by the debug plug-in. - * <p> - * Following is example plug-in XML that contributes a process factory. - * <pre> - * <extension point="org.eclipse.debug.core.processFactories"> - * <processFactory - * id="com.example.ExampleIdentifier" - * class="com.example.ExampleProcessFactory"> - * </processFactory> - * </extension> - * </pre> - * The attributes are specified as follows: - * <ul> - * <li>id - a unique identifier for this extension point</li> - * <li>class - the fully qualified name of a class the implements - * <code>IProcessFactory</code></li> - * </ul> - * </p> - * @since 3.0 - */ - -public interface IProcessFactory { - - /** - * Creates and returns a new process representing the given - * <code>java.lang.Process</code>. A streams proxy is created - * for the I/O streams in the system process. The process - * is added to the given launch, and the process is initialized - * with the given attribute map. - * - * @param launch the launch the process is contained in - * @param process the system process to wrap - * @param label the label assigned to the process - * @param attributes initial values for the attribute map - * @return the process - * @see IProcess - */ - public IProcess newProcess(ILaunch launch, Process process, String label, Map attributes); -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IStatusHandler.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IStatusHandler.java deleted file mode 100644 index fd7af0b64..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IStatusHandler.java +++ /dev/null @@ -1,78 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core; - - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IStatus; - -/** - * A status handler registers to handle a specific status - error - * or otherwise. Provides a mechanism for separating core (headless) - * function from UI interaction. The debug plug-in provides a - * status handlers extension point, against which handlers can - * register for specific status codes - identified by plug-in - * identifier and plug-in specific status code. The interaction between - * an object requiring a status handler (source), and the status handler - * is defined by the source and handler. - * <p> - * For example, a launch configuration delegate might encounter a timeout - * while launching an application. In this case the delegate could abort - * or, via the use of a status handler, prompt the user to continue. This - * allows the launcher to be implemented in a plug-in that does not require - * UI support, and allows another (UI) plug-in to register a handler. - * </p> - * <p> - * A status handler extension is defined in <code>plugin.xml</code>. - * Following is an example definition of a status handler extension. - * <pre> - * <extension point="org.eclipse.debug.core.statusHandlers"> - * <statusHandler - * id="com.example.ExampleIdentifier" - * class="com.example.ExampleStatusHandler" - * plugin="com.example.ExamplePluginId" - * code="123"> - * </statusHandler> - * </extension> - * </pre> - * The attributes are specified as follows: - * <ul> - * <li><code>id</code> specifies a unique identifier for this status handler.</li> - * <li><code>class</code> specifies the fully qualified name of the Java class - * that implements <code>IStatusHandler</code>.</li> - * <li><code>plugin</code> plug-in identifier that corresponds to the - * plug-in of the status this handler is registered for (i.e. - * <code>IStatus.getPlugin()</code>).</li> - * <li><code>code</code> specifies the status code this handler - * is registered for.</li> - * </ul> - * </p> - * <p> - * Clients may implement this interface. - * </p> - * @see DebugPlugin#getStatusHandler(IStatus) - * @since 2.0 - */ - -public interface IStatusHandler { - - /** - * Notifies this status handler that the given status has been - * generated by the specified source object and requires resolution. - * - * @param status the status to handle - * @param source the object delegating to this status handler - * the given status - * @return an object representing the resolution of the status - * @exception CoreException if unable to resolve the status - */ - public Object handleStatus(IStatus status, Object source) throws CoreException; -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/IStreamListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/IStreamListener.java deleted file mode 100644 index c9bd1b7f3..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/IStreamListener.java +++ /dev/null @@ -1,33 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core; - - -import org.eclipse.debug.core.model.IStreamMonitor; - -/** - * A stream listener is notified of changes - * to a stream monitor. - * <p> - * Clients may implement this interface. - * </p> - * @see IStreamMonitor - */ -public interface IStreamListener { - /** - * Notifies this listener that text has been appended to - * the given stream monitor. - * - * @param text the appended text - * @param monitor the stream monitor to which text was appended - */ - public void streamAppended(String text, IStreamMonitor monitor); -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/Launch.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/Launch.java deleted file mode 100644 index dd0eed525..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/Launch.java +++ /dev/null @@ -1,591 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - * Pawel Piech - Bug 82003: The IDisconnect implementation by Launch module is too restrictive. - *******************************************************************************/ -package org.eclipse.debug.core; - - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.MultiStatus; -import org.eclipse.core.runtime.PlatformObject; -import org.eclipse.debug.core.model.IDebugTarget; -import org.eclipse.debug.core.model.IDisconnect; -import org.eclipse.debug.core.model.IProcess; -import org.eclipse.debug.core.model.ISourceLocator; -import org.eclipse.debug.internal.core.DebugCoreMessages; -import org.eclipse.debug.internal.core.LaunchManager; - -/** - * A launch is the result of launching a debug session - * and/or one or more system processes. This class provides - * a public implementation of <code>ILaunch</code> for client - * use. - * <p> - * Clients may instantiate this class. Clients may subclass this class. - * Many of the methods in this class that are part of the <code>ILaunch</code> interface - * are final. Clients that subclass this class are not intended to change the behavior - * or implementation of the provided methods. Subclassing is only intended - * to add additional information to a specific launch. For example, a client that - * implements a launch object representing a Java launch might store a classpath - * with the launch. - * </p> - * @see ILaunch - * @see ILaunchManager - */ - -public class Launch extends PlatformObject implements ILaunch, IDisconnect, ILaunchListener, ILaunchConfigurationListener, IDebugEventSetListener { - - /** - * The debug targets associated with this - * launch (the primary target is the first one - * in this collection), or empty if - * there are no debug targets. - */ - private List fTargets= new ArrayList(); - - /** - * The configuration that was launched, or null. - */ - private ILaunchConfiguration fConfiguration= null; - - /** - * The system processes associated with - * this launch, or empty if none. - */ - private List fProcesses= new ArrayList(); - - /** - * The source locator to use in the debug session - * or <code>null</code> if not supported. - */ - private ISourceLocator fLocator= null; - - /** - * The mode this launch was launched in. - */ - private String fMode; - - /** - * Table of client defined attributes - */ - private HashMap fAttributes; - - /** - * Flag indiating that change notification should - * be suppressed. <code>true</code> until this - * launch has been initialzied. - */ - private boolean fSuppressChange = true; - - /** - * Constructs a launch with the specified attributes. - * - * @param launchConfiguration the configuration that was launched - * @param mode the mode of this launch - run or debug (constants - * defined by <code>ILaunchManager</code>) - * @param locator the source locator to use for this debug session, or - * <code>null</code> if not supported - */ - public Launch(ILaunchConfiguration launchConfiguration, String mode, ISourceLocator locator) { - setLaunchConfiguration(launchConfiguration); - setSourceLocator(locator); - setLaunchMode(mode); - fSuppressChange = false; - getLaunchManager().addLaunchListener(this); - getLaunchManager().addLaunchConfigurationListener(this); - DebugPlugin.getDefault().addDebugEventListener(this); - } - - /** - * @see org.eclipse.debug.core.model.ITerminate#canTerminate() - */ - public final boolean canTerminate() { - List processes = getProcesses0(); - for (int i = 0; i < processes.size(); i++) { - IProcess process = (IProcess)processes.get(i); - if (process.canTerminate()) { - return true; - } - } - List targets = getDebugTargets0(); - for (int i = 0; i < targets.size(); i++) { - IDebugTarget target = (IDebugTarget)targets.get(i); - if (target.canTerminate() || target.canDisconnect()) { - return true; - } - } - return false; - } - - /** - * @see ILaunch#getChildren() - */ - public final Object[] getChildren() { - ArrayList children = new ArrayList(getDebugTargets0()); - children.addAll(getProcesses0()); - return children.toArray(); - } - - /** - * @see ILaunch#getDebugTarget() - */ - public final IDebugTarget getDebugTarget() { - if (!getDebugTargets0().isEmpty()) { - return (IDebugTarget)getDebugTargets0().get(0); - } - return null; - } - - /** - * Sets the configuration that was launched - * - * @param configuration the configuration that was launched - */ - private void setLaunchConfiguration(ILaunchConfiguration configuration) { - fConfiguration = configuration; - } - - /** - * @see ILaunch#getProcesses() - */ - public final IProcess[] getProcesses() { - return (IProcess[])getProcesses0().toArray(new IProcess[getProcesses0().size()]); - } - - /** - * Returns the processes associated with this - * launch, in its internal form - a list. - * - * @return list of processes - */ - protected List getProcesses0() { - return fProcesses; - } - - /** - * @see ILaunch#getSourceLocator() - */ - public final ISourceLocator getSourceLocator() { - return fLocator; - } - - /** - * @see ILaunch#setSourceLocator(ISourceLocator) - */ - public final void setSourceLocator(ISourceLocator sourceLocator) { - fLocator = sourceLocator; - } - - /** - * @see org.eclipse.debug.core.model.ITerminate#isTerminated() - */ - public final boolean isTerminated() { - if (getProcesses0().isEmpty() && getDebugTargets0().isEmpty()) { - return false; - } - - Iterator processes = getProcesses0().iterator(); - while (processes.hasNext()) { - IProcess process = (IProcess)processes.next(); - if (!process.isTerminated()) { - return false; - } - } - - Iterator targets = getDebugTargets0().iterator(); - while (targets.hasNext()) { - IDebugTarget target = (IDebugTarget)targets.next(); - if (!(target.isTerminated() || target.isDisconnected())) { - return false; - } - } - - return true; - } - - /** - * @see org.eclipse.debug.core.model.ITerminate#terminate() - */ - public final void terminate() throws DebugException { - MultiStatus status= - new MultiStatus(DebugPlugin.getUniqueIdentifier(), DebugException.REQUEST_FAILED, DebugCoreMessages.getString("Launch.terminate_failed"), null); //$NON-NLS-1$ - - // terminate the system processes - IProcess[] processes = getProcesses(); - for (int i = 0; i < processes.length; i++) { - IProcess process = processes[i]; - if (process.canTerminate()) { - try { - process.terminate(); - } catch (DebugException e) { - status.merge(e.getStatus()); - } - } - } - - // terminate or disconnect debug target if it is still alive - IDebugTarget[] targets = getDebugTargets(); - for (int i = 0; i < targets.length; i++) { - IDebugTarget target= targets[i]; - if (target != null) { - if (target.canTerminate()) { - try { - target.terminate(); - } catch (DebugException e) { - status.merge(e.getStatus()); - } - } else { - if (target.canDisconnect()) { - try { - target.disconnect(); - } catch (DebugException de) { - status.merge(de.getStatus()); - } - } - } - } - } - if (status.isOK()) { - return; - } - IStatus[] children= status.getChildren(); - if (children.length == 1) { - throw new DebugException(children[0]); - } - throw new DebugException(status); - } - - /** - * @see ILaunch#getLaunchMode() - */ - public final String getLaunchMode() { - return fMode; - } - - /** - * Sets the mode in which this launch was - * launched. - * - * @param mode the mode in which this launch - * was launched - one of the constants defined - * by <code>ILaunchManager</code>. - */ - private void setLaunchMode(String mode) { - fMode = mode; - } - - /** - * @see ILaunch#getLaunchConfiguration() - */ - public ILaunchConfiguration getLaunchConfiguration() { - return fConfiguration; - } - - /** - * @see ILaunch#setAttribute(String, String) - */ - public void setAttribute(String key, String value) { - if (fAttributes == null) { - fAttributes = new HashMap(5); - } - fAttributes.put(key, value); - } - - /** - * @see ILaunch#getAttribute(String) - */ - public String getAttribute(String key) { - if (fAttributes == null) { - return null; - } - return (String)fAttributes.get(key); - } - - /** - * @see ILaunch#getDebugTargets() - */ - public IDebugTarget[] getDebugTargets() { - return (IDebugTarget[])fTargets.toArray(new IDebugTarget[fTargets.size()]); - } - - /** - * Returns the debug targets associated with this - * launch, in its internal form - a list - * - * @return list of debug targets - */ - protected List getDebugTargets0() { - return fTargets; - } - - /** - * @see ILaunch#addDebugTarget(IDebugTarget) - */ - public final void addDebugTarget(IDebugTarget target) { - if (target != null) { - if (!getDebugTargets0().contains(target)) { - getDebugTargets0().add(target); - fireChanged(); - } - } - } - - /** - * @see ILaunch#removeDebugTarget(IDebugTarget) - */ - public final void removeDebugTarget(IDebugTarget target) { - if (target != null) { - if (getDebugTargets0().remove(target)) { - fireChanged(); - } - } - } - - /** - * @see ILaunch#addProcess(IProcess) - */ - public final void addProcess(IProcess process) { - if (process != null) { - if (!getProcesses0().contains(process)) { - getProcesses0().add(process); - fireChanged(); - } - } - } - - /** - * @see ILaunch#removeProcess(IProcess) - */ - public final void removeProcess(IProcess process) { - if (process != null) { - if (getProcesses0().remove(process)) { - fireChanged(); - } - } - } - - /** - * Adds the given processes to this launch. - * - * @param processes processes to add - */ - protected void addProcesses(IProcess[] processes) { - if (processes != null) { - for (int i = 0; i < processes.length; i++) { - addProcess(processes[i]); - fireChanged(); - } - } - } - - /** - * Notifies listeners that this launch has changed. - * Has no effect of this launch has not yet been - * properly created/initialized. - */ - protected void fireChanged() { - if (!fSuppressChange) { - ((LaunchManager)getLaunchManager()).fireUpdate(this, LaunchManager.CHANGED); - ((LaunchManager)getLaunchManager()).fireUpdate(new ILaunch[] {this}, LaunchManager.CHANGED); - } - } - - /** - * Notifies listeners that this launch has terminated. - * Has no effect of this launch has not yet been - * properly created/initialized. - */ - protected void fireTerminate() { - if (!fSuppressChange) { - ((LaunchManager)getLaunchManager()).fireUpdate(this, LaunchManager.TERMINATE); - ((LaunchManager)getLaunchManager()).fireUpdate(new ILaunch[] {this}, LaunchManager.TERMINATE); - } - } - - /** - * @see ILaunch#hasChildren() - */ - public boolean hasChildren() { - return getProcesses0().size() > 0 || (getDebugTargets0().size() > 0); - } - - /** - * Returns whether any processes or targets can be disconnected. - * Ones that are already terminated or disconnected are ignored. - * - * @see org.eclipse.debug.core.model.IDisconnect#canDisconnect() - */ - public boolean canDisconnect() { - List processes = getProcesses0(); - for (int i = 0; i < processes.size(); i++) { - if (processes.get(i) instanceof IDisconnect) { - IDisconnect process = (IDisconnect)processes.get(i); - if (process.canDisconnect()) { - return true; - } - } - } - List targets = getDebugTargets0(); - for (int i = 0; i < targets.size(); i++) { - if ( ((IDebugTarget)targets.get(i)).canDisconnect() ) { - return true; - } - } - return false; - } - - - /** - * @see org.eclipse.debug.core.model.IDisconnect#disconnect() - */ - public void disconnect() throws DebugException { - List processes = getProcesses0(); - for (int i = 0; i < processes.size(); i++) { - if (processes.get(i) instanceof IDisconnect) { - IDisconnect disconnect = (IDisconnect)processes.get(i); - if (disconnect.canDisconnect()) { - disconnect.disconnect(); - } - } - } - List targets = getDebugTargets0(); - for (int i = 0; i < targets.size(); i++) { - IDebugTarget debugTarget = (IDebugTarget)targets.get(i); - if (debugTarget.canDisconnect()) { - debugTarget.disconnect(); - } - } - } - - /** - * Returns whether all of the contained targets and processes are - * disconnected. Processes that don't support disconnecting are not - * counted. - * - * @see org.eclipse.debug.core.model.IDisconnect#isDisconnected() - */ - public boolean isDisconnected() { - List processes = getProcesses0(); - for (int i = 0; i < processes.size(); i++) { - if (processes.get(i) instanceof IDisconnect) { - IDisconnect process = (IDisconnect)processes.get(i); - if (!process.isDisconnected()) { - return false; - } - } - } - List targets = getDebugTargets0(); - for (int i = 0; i < targets.size(); i++) { - if ( !((IDebugTarget)targets.get(i)).isDisconnected() ) { - return false; - } - } - // only return true if there are processes or targets that are disconnected - return hasChildren(); - } - - /* (non-Javadoc) - * @see org.eclipse.debug.core.ILaunchListener#launchRemoved(org.eclipse.debug.core.ILaunch) - */ - public void launchRemoved(ILaunch launch) { - if (this.equals(launch)) { - getLaunchManager().removeLaunchListener(this); - getLaunchManager().removeLaunchConfigurationListener(this); - DebugPlugin.getDefault().removeDebugEventListener(this); - } - } - - /** - * Returns the launch manager. - * - * @return the launch manager. - */ - protected ILaunchManager getLaunchManager() { - return DebugPlugin.getDefault().getLaunchManager(); - } - - /* (non-Javadoc) - * @see org.eclipse.debug.core.ILaunchListener#launchAdded(org.eclipse.debug.core.ILaunch) - */ - public void launchAdded(ILaunch launch) { - } - - /* (non-Javadoc) - * @see org.eclipse.debug.core.ILaunchListener#launchChanged(org.eclipse.debug.core.ILaunch) - */ - public void launchChanged(ILaunch launch) { - } - - /* (non-Javadoc) - * - * If the launch configuration this launch is associated with is - * moved, update the underlying handle to the new location. - * - * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationAdded(org.eclipse.debug.core.ILaunchConfiguration) - */ - public void launchConfigurationAdded(ILaunchConfiguration configuration) { - ILaunchConfiguration from = getLaunchManager().getMovedFrom(configuration); - if (from != null && from.equals(getLaunchConfiguration())) { - setLaunchConfiguration(configuration); - fireChanged(); - } - } - - /* (non-Javadoc) - * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationChanged(org.eclipse.debug.core.ILaunchConfiguration) - */ - public void launchConfigurationChanged(ILaunchConfiguration configuration) { - } - - /* (non-Javadoc) - * - * Update the launch configuration associated with this launch if the - * underlying configuration is deleted. - * - * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationRemoved(org.eclipse.debug.core.ILaunchConfiguration) - */ - public void launchConfigurationRemoved(ILaunchConfiguration configuration) { - if (configuration.equals(getLaunchConfiguration())) { - if (getLaunchManager().getMovedTo(configuration) == null) { - setLaunchConfiguration(null); - fireChanged(); - } - } - } - - /* (non-Javadoc) - * @see org.eclipse.debug.core.IDebugEventSetListener#handleDebugEvents(org.eclipse.debug.core.DebugEvent[]) - */ - public void handleDebugEvents(DebugEvent[] events) { - for (int i = 0; i < events.length; i++) { - DebugEvent event = events[i]; - if (event.getKind() == DebugEvent.TERMINATE) { - Object object = event.getSource(); - ILaunch launch = null; - if (object instanceof IProcess) { - launch = ((IProcess)object).getLaunch(); - } else if (object instanceof IDebugTarget) { - launch = ((IDebugTarget)object).getLaunch(); - } - if (this.equals(launch)) { - if (isTerminated()) { - fireTerminate(); - } - } - } - } - } - -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java deleted file mode 100644 index 83f983cef..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/Breakpoint.java +++ /dev/null @@ -1,358 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - - -import java.util.Map; - -import org.eclipse.core.resources.IMarker; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IResourceRuleFactory; -import org.eclipse.core.resources.IWorkspace; -import org.eclipse.core.resources.IWorkspaceRunnable; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.PlatformObject; -import org.eclipse.core.runtime.Status; -import org.eclipse.core.runtime.jobs.ISchedulingRule; -import org.eclipse.debug.core.DebugException; -import org.eclipse.debug.core.DebugPlugin; -import org.eclipse.debug.core.IBreakpointManager; -import org.eclipse.debug.internal.core.DebugCoreMessages; - -/** - * Abstract implementation of a breakpoint. This class is - * intended to be subclassed by implementations - * of breakpoints. - * - * @see IBreakpoint - * @since 2.0 - */ - -public abstract class Breakpoint extends PlatformObject implements IBreakpoint { - - static { - // making sure that the BreakpointManager is correctly initialized - // before any breakpoint marker related operation (see bug 54993) - DebugPlugin.getDefault().getBreakpointManager().getBreakpoints(); - } - - /** - * Underlying marker. - */ - private IMarker fMarker= null; - - /** - * @see IBreakpoint#setMarker(IMarker) - */ - public void setMarker(IMarker marker) throws CoreException { - fMarker= marker; - } - - /** - * @see Object#equals(Object) - */ - public boolean equals(Object item) { - if (item instanceof IBreakpoint) { - return getMarker().equals(((IBreakpoint)item).getMarker()); - } - return false; - } - - /** - * @see Object#hashCode() - */ - public int hashCode() { - return getMarker().hashCode(); - } - - /** - * @see IBreakpoint#setEnabled(boolean) - */ - public void setEnabled(boolean enabled) throws CoreException { - if (enabled != isEnabled()) { - setAttribute(ENABLED, enabled); - } - } - - /** - * @see IBreakpoint#isEnabled() - */ - public boolean isEnabled() throws CoreException { - return getMarker().getAttribute(ENABLED, false); - } - - /** - * @see IBreakpoint#isRegistered() - */ - public boolean isRegistered() throws CoreException { - IMarker marker= getMarker(); - return marker.exists() && marker.getAttribute(REGISTERED, true); - } - - /** - * @see IBreakpoint#setRegistered(boolean) - */ - public void setRegistered(boolean registered) throws CoreException { - if (isRegistered() != registered) { - setAttribute(REGISTERED, registered); - IBreakpointManager mgr = DebugPlugin.getDefault().getBreakpointManager(); - if (registered) { - mgr.addBreakpoint(this); - } else { - mgr.removeBreakpoint(this, false); - } - } - } - - /** - * @see IBreakpoint#delete() - */ - public void delete() throws CoreException { - DebugPlugin.getDefault().getBreakpointManager().removeBreakpoint(this, false); - getMarker().delete(); - } - - /** - * @see IBreakpoint#getMarker() - */ - public IMarker getMarker() { - return fMarker; - } - - /** - * @see IBreakpoint#isPersisted() - */ - public boolean isPersisted() throws CoreException { - return getMarker().getAttribute(PERSISTED, true); - } - - /** - * @see IBreakpoint#setPersisted(boolean) - */ - public void setPersisted(boolean persisted) throws CoreException { - if (isPersisted() != persisted) { - setAttributes(new String[] {PERSISTED, IMarker.TRANSIENT}, new Object[] {new Boolean(persisted), new Boolean(!persisted)}); - } - } - - /** - * @see IBreakpoint#getGroup() - */ - public String getGroup() throws CoreException { - return getMarker().getAttribute(GROUP, null); - } - - /** - * @see IBreakpoint#setGroup(String) - */ - public void setGroup(String group) throws CoreException { - if (group != null && group.length() == 0) { - group= null; - } - setAttribute(GROUP, group); - } - - /** - * Convenience method to set the given boolean attribute of - * this breakpoint's underlying marker in a workspace - * runnable. Setting marker attributes in a workspace runnable - * prevents deadlock. - * - * @param attributeName attribute name - * @param value attribute value - * @exception CoreException is setting the attribute fails - * @see IMarker#setAttribute(java.lang.String, boolean) - */ - protected void setAttribute(final String attributeName, final boolean value) throws CoreException { - IWorkspace workspace= ResourcesPlugin.getWorkspace(); - IWorkspaceRunnable runnable= new IWorkspaceRunnable() { - public void run(IProgressMonitor monitor) throws CoreException { - ensureMarker().setAttribute(attributeName, value); - } - }; - - workspace.run(runnable, getMarkerRule(), 0, null); - } - - /** - * Convenience method to set the given integer attribute of - * this breakpoint's underlying marker in a workspace - * runnable. Setting marker attributes in a workspace runnable - * prevents deadlock. - * - * @param attributeName attribute name - * @param value attribute value - * @exception CoreException is setting the attribute fails - * @see IMarker#setAttribute(java.lang.String, int) - */ - protected void setAttribute(final String attributeName, final int value) throws CoreException { - IWorkspace workspace= ResourcesPlugin.getWorkspace(); - IWorkspaceRunnable runnable= new IWorkspaceRunnable() { - public void run(IProgressMonitor monitor) throws CoreException { - ensureMarker().setAttribute(attributeName, value); - } - }; - - workspace.run(runnable, getMarkerRule(), 0, null); - } - - /** - * Convenience method to set the given attribute of - * this breakpoint's underlying marker in a workspace - * runnable. Setting marker attributes in a workspace runnable - * prevents deadlock. - * - * @param attributeName attribute name - * @param value attribute value - * @exception CoreException is setting the attribute fails - * @see IMarker#setAttribute(java.lang.String, java.lang.Object) - */ - protected void setAttribute(final String attributeName, final Object value) throws CoreException { - IWorkspace workspace= ResourcesPlugin.getWorkspace(); - IWorkspaceRunnable runnable= new IWorkspaceRunnable() { - public void run(IProgressMonitor monitor) throws CoreException { - ensureMarker().setAttribute(attributeName, value); - } - }; - - workspace.run(runnable, getMarkerRule(), 0, null); - } - - /** - * Convenience method to set the given attributes of - * this breakpoint's underlying marker in a workspace - * runnable. Setting marker attributes in a workspace runnable - * prevents deadlock. - * - * @param attributeNames attribute names - * @param values attribute values - * @exception CoreException is setting the attributes fails - * @see IMarker#setAttributes(java.lang.String[], java.lang.Object[]) - */ - protected void setAttributes(final String[] attributeNames, final Object[] values) throws CoreException { - IWorkspace workspace= ResourcesPlugin.getWorkspace(); - IWorkspaceRunnable runnable= new IWorkspaceRunnable() { - public void run(IProgressMonitor monitor) throws CoreException { - ensureMarker().setAttributes(attributeNames, values); - } - }; - - workspace.run(runnable, getMarkerRule(), IWorkspace.AVOID_UPDATE, null); - } - - /** - * Convenience method to set the attributes of - * this breakpoint's underlying marker in a workspace - * runnable. Setting marker attributes in a workspace runnable - * prevents deadlock. - * - * @param attributes attribute map - * @exception CoreException is setting the attributes fails - * @see IMarker#setAttributes(java.util.Map) - */ - protected void setAttributes(final Map attributes) throws CoreException{ - IWorkspace workspace= ResourcesPlugin.getWorkspace(); - IWorkspaceRunnable runnable= new IWorkspaceRunnable() { - public void run(IProgressMonitor monitor) throws CoreException { - ensureMarker().setAttributes(attributes); - } - }; - - workspace.run(runnable, getMarkerRule(), IWorkspace.AVOID_UPDATE, null); - } - - /** - * Returns the marker associated with this breakpoint. - * - * @return breakpoint marker - * @exception DebugException if no marker is associated with - * this breakpoint or the associated marker does not exist - */ - protected IMarker ensureMarker() throws DebugException { - IMarker m = getMarker(); - if (m == null || !m.exists()) { - throw new DebugException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.REQUEST_FAILED, - DebugCoreMessages.getString("Breakpoint.no_associated_marker"), null)); //$NON-NLS-1$ - } - return m; - } - - /** - * Returns whether this breakpoint has an associated marker that exists. - * - * @return returns whether this breakpoint has an associated marker that exists - * @since 2.1 - */ - protected boolean markerExists() { - IMarker m = getMarker(); - return (m != null && m.exists()); - } - - /** - * Returns a scheduling rule to use when modifying markers on the given resource, - * possibly <code>null</code>. - * - * @param resource a resource on which a marker will be created, modified, or deleted - * @return a scheduling rule to use when modifying markers on the given resource - * possibly <code>null</code> - * @since 3.1 - */ - protected ISchedulingRule getMarkerRule(IResource resource) { - ISchedulingRule rule = null; - if (resource != null) { - IResourceRuleFactory ruleFactory = ResourcesPlugin.getWorkspace().getRuleFactory(); - rule = ruleFactory.markerRule(resource); - } - return rule; - } - - /** - * Returns a scheduling rule to use when modifying or deleting this breakpoint's marker, - * possibly <code>null</code>. This method is only valid when this breakpoint's - * marker has already been created. When creating a marker on a specific resource, - * use <code>getMarkerRule(IResource)</code> instead. - * - * @return a scheduling rule to use when modifying or deleting this breakpoint's marker - * @since 3.1 - */ - protected ISchedulingRule getMarkerRule() { - ISchedulingRule rule = null; - IMarker marker = getMarker(); - if (marker != null) { - IResource resource = marker.getResource(); - if (resource != null) { - IResourceRuleFactory ruleFactory = ResourcesPlugin.getWorkspace().getRuleFactory(); - rule = ruleFactory.markerRule(resource); - } - } - return rule; - } - - /** - * Execute the given workspace runnable with the scheduling rule to use when running the operation. - * - * @param rule the rule to use when running the operation - * @param wr the runnable operation - * @throws DebugException If a core exception occurs performing the operation - * @since 3.1 - */ - protected void run(ISchedulingRule rule, IWorkspaceRunnable wr) throws DebugException { - try { - ResourcesPlugin.getWorkspace().run(wr, rule, 0, null); - } catch (CoreException e) { - throw new DebugException(e.getStatus()); - } - } - -}
\ No newline at end of file diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IBreakpoint.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IBreakpoint.java deleted file mode 100644 index 146182d39..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IBreakpoint.java +++ /dev/null @@ -1,254 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - - -import org.eclipse.core.resources.IMarker; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.debug.core.DebugPlugin; - -/** - * A breakpoint is capable of suspending the execution of a - * program at a specific location when a program is running - * in debug mode. Each breakpoint has an associated marker which - * stores and persists all attributes associated with a breakpoint. - * <p> - * A breakpoint is defined in two parts: - * <ol> - * <li>By an extension of kind <code>"org.eclipse.debug.core.breakpoints"</code></li> - * <li>By a marker definition that corresponds to the above breakpoint extension</li> - * </ol> - * <p> - * For example, following is a definition of corresponding breakpoint - * and breakpoint marker definitions. Note that the <code>markerType</code> - * attribute defined by the breakpoint extension corresponds to the - * type of the marker definition. - * <pre> - * <extension point="org.eclipse.debug.core.breakpoints"> - * <breakpoint - * id="com.example.Breakpoint" - * class="com.example.Breakpoint" - * markerType="com.example.BreakpointMarker"> - * </breakpoint> - * </extension> - * <extension point="org.eclipse.core.resources.markers"> - * <marker - * id="com.example.BreakpointMarker" - * super type="org.eclipse.debug.core.breakpointMarker" - * attribute name ="exampleAttribute"> - * </marker> - * </extension> - * </pre> - * <p> - * The breakpoint manager instantiates persisted breakpoints by - * traversing all markers that are a subtype of - * <code>"org.eclipse.debug.core.breakpointMarker"</code>, and - * instantiating the class defined by the <code>class</code> attribute - * on the associated breakpoint extension. The method <code>setMarker</code> - * is then called to associate a marker with the breakpoint. - * </p> - * <p> - * Breakpoints may or may not be registered with the breakpoint manager, and - * are persisted and restored as such. Since marker definitions only allow - * all or none of a specific marker type to be persisted, breakpoints define - * a <code>PERSISTED</code> attribute for selective persistence of breakpoints - * of the same type. - * </p> - * - * @since 2.0 - */ - -public interface IBreakpoint extends IAdaptable { - - /** - * Root breakpoint marker type - * (value <code>"org.eclipse.debug.core.breakpointMarker"</code>). - */ - public static final String BREAKPOINT_MARKER = DebugPlugin.getUniqueIdentifier() + ".breakpointMarker"; //$NON-NLS-1$ - - /** - * Line breakpoint marker type - * (value <code>"org.eclipse.debug.core.lineBreakpoint"</code>). - */ - public static final String LINE_BREAKPOINT_MARKER = DebugPlugin.getUniqueIdentifier() + ".lineBreakpointMarker"; //$NON-NLS-1$ - - /** - * Enabled breakpoint marker attribute (value <code>"org.eclipse.debug.core.enabled"</code>). - * The attribute is a <code>boolean</code> corresponding to the - * enabled state of a breakpoint. - * - * @see org.eclipse.core.resources.IMarker#getAttribute(String, boolean) - */ - public static final String ENABLED= "org.eclipse.debug.core.enabled"; //$NON-NLS-1$ - - /** - * Debug model identifier breakpoint marker attribute (value <code>"org.eclipse.debug.core.id"</code>). - * The attribute is a <code>String</code> corresponding to the - * identifier of the debug model a breakpoint is associated with. - */ - public static final String ID= "org.eclipse.debug.core.id"; //$NON-NLS-1$ - - /** - * Registered breakpoint marker attribute (value <code>"org.eclipse.debug.core.registered"</code>). - * The attribute is a <code>boolean</code> corresponding to - * whether a breakpoint has been registered with the breakpoint manager. - * - * @see org.eclipse.core.resources.IMarker#getAttribute(String, boolean) - */ - public static final String REGISTERED= "org.eclipse.debug.core.registered"; //$NON-NLS-1$ - - /** - * Persisted breakpoint marker attribute (value <code>"org.eclipse.debug.core.persisted"</code>). - * The attribute is a <code>boolean</code> corresponding to - * whether a breakpoint is to be persisted accross workspace - * invocations. - * - * @see org.eclipse.core.resources.IMarker#getAttribute(String, boolean) - */ - public static final String PERSISTED= "org.eclipse.debug.core.persisted"; //$NON-NLS-1$ - - /** - * Breakpoint group marker attribute (value <code>"org.eclipse.debug.core.group"</code>). - * The attribute is a <code>String</code> corresponding to the group - * name. - * - * @since 3.1 - */ - public static final String GROUP= "org.eclipse.debug.core.group"; //$NON-NLS-1$ - - /** - * Deletes this breakpoint's underlying marker, and removes - * this breakpoint from the breakpoint manager. - * - * @exception CoreException if unable to delete this breakpoint's - * underlying marker - */ - public void delete() throws CoreException; - - /** - * Returns the marker associated with this breakpoint, or - * <code>null</code> if no marker is associated with this breakpoint. - * - * @return associated marker, or <code>null</code> if there is - * no associated marker. - */ - public IMarker getMarker(); - /** - * Sets the marker associated with this breakpoint. This method is - * called once at breakpoint creation. - * - * @param marker the marker to associate with this breakpoint - * @exception CoreException if an error occurs accessing the marker - */ - public void setMarker(IMarker marker) throws CoreException; - /** - * Returns the identifier of the debug model this breakpoint is - * associated with. - * - * @return the identifier of the debug model this breakpoint is - * associated with - */ - public String getModelIdentifier(); - /** - * Returns whether this breakpoint is enabled - * - * @return whether this breakpoint is enabled - * @exception CoreException if unable to access the associated - * attribute from this breakpoint's underlying marker - */ - public boolean isEnabled() throws CoreException; - /** - * Sets the enabled state of this breakpoint. This has no effect - * if the current enabled state is the same as specified by the - * enabled parameter. - * - * @param enabled whether this breakpoint should be enabled - * @exception CoreException if unable to set the associated attribute on - * this breakpoint's underlying marker. - */ - public void setEnabled(boolean enabled) throws CoreException; - - /** - * Returns whether this breakpoint is currently registered with - * the breakpoint manager. - * - * @return whether this breakpoint is currently registered with - * the breakpoint manager - * @exception CoreException if unable to access the associated - * attribute on this breakpoint's underlying marker - */ - public boolean isRegistered() throws CoreException; - - /** - * Sets whether this breakpoint is currently registered with the - * breakpoint manager. - * - * @param registered whether this breakpoint is registered with the - * breakpoint manager - * @exception CoreException if unable to set the associated attribute - * on this breakpoint's underlying marker. - */ - public void setRegistered(boolean registered) throws CoreException; - - /** - * Returns whether this breakpoint is to be persisted across - * workspace invocations, or when a project is closed and re-opened. - * Since marker definitions only allow all/none of a specific type - * of marker to be persisted (rather than selected markers of a - * specific type), breakpoints define this functionality. - * - * @return whether this breakpoint is to be persisted - * @exception CoreException if unable to access the associated attribute - * on this breakpoint's underlying marker - */ - public boolean isPersisted() throws CoreException; - - /** - * Sets whether this breakpoint is to be persisted across - * workspace invocations, or when a project is closed and re-opened. - * Has no effect if this breakpoint's marker definition is defined as not - * persisted. Sets the underlying <code>TRANSIENT</code> attribute on this - * breakpoint's marker to <code>true</code>. - * - * @param registered whether this breakpoint is to be persisted across - * workspace invocations - * @exception CoreException if unable to set the associated attribute on - * this breakpoint's underlying marker. - */ - public void setPersisted(boolean registered) throws CoreException; - - /** - * Returns the name of the group this breakpoint belongs to - * or <code>null</code> if none. - * - * @return the name of the group this breakpoint belongs to or - * <code>null</code>. - * @exception CoreException if unable to access the associated attribute - * on this breakpoint's underlying marker - * @since 3.1 - */ - public String getGroup() throws CoreException; - - /** - * Sets this breakpoint's group to the group with the given name or - * <code>null</code> to set the group to none. - * - * @param groupName the name of the group to which this breakpoint belongs - * @exception CoreException if unable to set the associated attribute on - * this breakpoint's underlying marker. - * @since 3.1 - */ - public void setGroup(String groupName) throws CoreException; - -} - - diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugElement.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugElement.java deleted file mode 100644 index de85d117e..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugElement.java +++ /dev/null @@ -1,63 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - - -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.debug.core.ILaunch; - -/** - * A debug element represents an artifact in a program being - * debugged. - * <p> - * Some methods on debug elements require communication - * with the target program. Such methods may throw a <code>DebugException</code> - * with a status code of <code>TARGET_REQUEST_FAILED</code> - * when unable to complete a request due to a failure on the target. - * Methods that require communication with the target program or require - * the target to be in a specific state (for example, suspended), are declared - * as such. - * </p> - * <p> - * Debug elements are language independent. However, language specific - * features can be made available via the adapter mechanism provided by - * <code>IAdaptable</code>, or by extending the debug element interfaces. - * A debug model is responsible for declaring any special adapters - * its debug elements implement. - * </p> - * <p> - * Clients may implement this interface. - * </p> - */ -public interface IDebugElement extends IAdaptable { - - /** - * Returns the unique identifier of the plug-in - * this debug element originated from. - * - * @return the plug-in identifier - */ - public String getModelIdentifier(); - /** - * Returns the debug target this element is contained in. - * - * @return the debug target this element is contained in - */ - public IDebugTarget getDebugTarget(); - /** - * Returns the launch this element is contained in. - * - * @return the launch this element is contained in - */ - public ILaunch getLaunch(); -} - - diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugModelProvider.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugModelProvider.java deleted file mode 100644 index d3291a830..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugModelProvider.java +++ /dev/null @@ -1,35 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - -/** - * A debug model provider provides debug model identifiers. - * This interface is used as an adapter to determine what - * debug models are associated with an adaptable object. - * Generally, when debugging one language, only one debug - * model is associated with a debug element. However, - * a debug model that provides cross language debugging - * may represent several debug models. - * <p> - * Clients are intended to implement this interface. - * </p> - * @since 3.0 - */ -public interface IDebugModelProvider { - - /** - * Returns a collection of debug model identifiers. - * - * @return a collection of debug model identifiers - */ - public String[] getModelIdentifiers(); - -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugTarget.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugTarget.java deleted file mode 100644 index d1e8db15f..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDebugTarget.java +++ /dev/null @@ -1,95 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - - -import org.eclipse.debug.core.DebugException; -import org.eclipse.debug.core.IBreakpointListener; - -/** - * A debug target is a debuggable execution context. For example, a debug target - * may represent a debuggable process or a virtual machine. A debug target is the root - * of the debug element hierarchy. A debug target contains threads. Minimally, a debug - * target supports the following: - * <ul> - * <li>terminate - * <li>suspend/resume - * <li>breakpoints - * <li>disconnect - * </ul> - * <p> - * Generally, launching a debug session results in the creation of a - * debug target. Launching is a client responsibility, as is debug target - * creation. - * <p> - * Clients may implement this interface. - * </p> - * @see ITerminate - * @see ISuspendResume - * @see IBreakpointListener - * @see IDisconnect - * @see IMemoryBlockRetrieval - * @see org.eclipse.debug.core.ILaunch - */ -public interface IDebugTarget extends IDebugElement, ITerminate, ISuspendResume, IBreakpointListener, IDisconnect, IMemoryBlockRetrieval { - /** - * Returns the system process associated with this debug target. - * - * @return the system process associated with this debug target - */ - public IProcess getProcess(); - /** - * Returns the threads contained in this debug target. An - * empty collection is returned if this debug target contains - * no threads. - * - * @return a collection of threads - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the debug target. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li></ul> - * @since 2.0 - */ - public IThread[] getThreads() throws DebugException; - - /** - * Returns whether this debug target currently contains any threads. - * - * @return whether this debug target currently contains any threads - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the debug target. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li></ul> - * @since 2.0 - */ - public boolean hasThreads() throws DebugException; - - /** - * Returns the name of this debug target. Name format is debug model - * specific, and should be specified by a debug model. - * - * @return this target's name - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the debug target. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li></ul> - */ - public String getName() throws DebugException; - - /** - * Returns whether this target can install the given breakpoint. - * - * @return whether this target can install the given breakpoint - */ - public boolean supportsBreakpoint(IBreakpoint breakpoint); -} - - diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDisconnect.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDisconnect.java deleted file mode 100644 index f4eaf1adc..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IDisconnect.java +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - - -import org.eclipse.debug.core.DebugException; - -/** - * The ability to end a debug session with a target program - * and allow the target to continue running. - * <p> - * Clients may implement this interface. - * </p> - * @see IDebugTarget - */ -public interface IDisconnect { - /** - * Returns whether this element can currently disconnect. - * - * @return whether this element can currently disconnect - */ - public boolean canDisconnect(); - /** - * Disconnects this element from its target. Generally, disconnecting - * ends a debug session with a debug target, but allows the target - * program to continue running. - * - * @exception DebugException on failure. Reasons include:<ul> - * <li>TARGET_REQUEST_FAILED - The request failed in the target - * <li>NOT_SUPPORTED - The capability is not supported by the target - * </ul> - */ - public void disconnect() throws DebugException; - /** - * Returns whether this element is disconnected. - * - * @return whether this element is disconnected - */ - public boolean isDisconnected(); -} - - diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IErrorReportingExpression.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IErrorReportingExpression.java deleted file mode 100644 index 108588c01..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IErrorReportingExpression.java +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - -/** - * An expression that can report errors which occurred during the - * expression's evaluation. - * - * @since 3.0 - */ -public interface IErrorReportingExpression extends IExpression { - /** - * Returns whether this expression has errors to report. An expression - * can have errors if errors were generated the last time its value was - * computed - * - * @return whether this expression's result has errors - */ - public boolean hasErrors(); - /** - * Returns this expression's error messages, if any. An expression can - * have errors if errors were generated the last time its value was - * computed. - * - * @return this expression's error messages - */ - public String[] getErrorMessages(); -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IExpression.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IExpression.java deleted file mode 100644 index 7f2acbf38..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IExpression.java +++ /dev/null @@ -1,67 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - - -/** - * An expression is a snippet of code that can be evaluated - * to produce a value. When and how an expression is evaluated - * is implementation specific. The context/binding required to - * evaluate an expression varies by debug model, and by - * user intent. Furthermore, an expression may need to be evaluated - * at a specific location in a program (for example, at a - * breakpoint/line where certain variables referenced in the - * expression are visible/allocated). A user may want to - * evaluate an expression once to produce a value that can - * be inspected iteratively, or they may wish to evaluate an - * expression iteratively producing new values each time - * (i.e. as in a watch list). - * <p> - * Clients are intended to implement this interface. - * </p> - * @since 2.0 - */ -public interface IExpression extends IDebugElement { - - /** - * Returns this expression's snippet of code. - * - * @return the expression - */ - public abstract String getExpressionText(); - - /** - * Returns the current value of this expression or - * <code>null</code> if this expression does not - * currently have a value. - * - * @return value or <code>null</code> - */ - public abstract IValue getValue(); - - /** - * Returns the debug target this expression is associated - * with, or <code>null</code> if this expression is not - * associated with a debug target. - * - * @return debug target or <code>null</code> - * @see IDebugElement#getDebugTarget() - */ - public abstract IDebugTarget getDebugTarget(); - - /** - * Notifies this expression that it has been removed - * from the expression manager. Any required clean up - * is be performed such that this expression can be - * garbage collected. - */ - public abstract void dispose(); -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFilteredStep.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFilteredStep.java deleted file mode 100644 index 3c4c2faa5..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFilteredStep.java +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - - -import org.eclipse.debug.core.DebugException; - -/** - * Provides the ability to perform a filtered step. Implementations must be non- - * blocking. Filter implementation is debug model specific and may not be - * supported by all debug models. - * <p> - * Clients may implement this interface. - * </p> - * @since 2.1 - * @deprecated clients should implement <code>IStepFilters</code> instead - */ -public interface IFilteredStep extends IStep { - /** - * Returns whether this element can currently perform a filtered step into. - * - * @return whether this element can currently perform a filtered step into - */ - public boolean canStepWithFilters(); - /** - * Steps into the current statement, generating <code>RESUME</code> - * and <code>SUSPEND</code> events for the associated thread, applying step - * filters, as applicable for the associated thread. Can only be called when - * the associated thread is suspended. Implementations must implement - * stepping as non- blocking. - * - * @exception DebugException on failure. Reasons include:<ul> - * <li>TARGET_REQUEST_FAILED - The request failed in the target</li> - * <li>NOT_SUPPORTED - The capability is not supported by the target</li> - * </ul> - */ - public void stepWithFilters() throws DebugException; -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFlushableStreamMonitor.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFlushableStreamMonitor.java deleted file mode 100644 index 3999f6370..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IFlushableStreamMonitor.java +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - - - -/** - * A stream monitor who's contents can be flushed. As well, a client may - * turn buffering on/off in a flushable stream monitor. - * <p> - * Clients may implement this interface. - * </p> - * @since 2.1 - */ -public interface IFlushableStreamMonitor extends IStreamMonitor { - - /** - * Empties the contents of this stream monitor's underlying buffer. - */ - public void flushContents(); - - /** - * Sets whether the contents of this monitor's underlying stream should be - * buffered. When <code>false</code>, contents appended to this stream monitor - * are not stored in a buffer, and are thus not available from - * <code>getContents()</code>. Registered listeners are notified of appended - * text, and must buffer the contents if desired. - * - * @param buffer whether the contents of this monitor's underlying stream - * should be buffered - */ - public void setBuffered(boolean buffer); - - /** - * Returns whether the contents of this monitor's underlying stream is - * buffered. - * - * @return whether the contents of this monitor's underlying stream is - * buffered - */ - public boolean isBuffered(); -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IIndexedValue.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IIndexedValue.java deleted file mode 100644 index 54f920626..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IIndexedValue.java +++ /dev/null @@ -1,71 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - -import org.eclipse.debug.core.DebugException; - -/** - * A value containing an indexed collection of variables - for example, - * an array. - * <p> - * The indexed collection value has been added to the debug model to support - * automatic partitioning of large arrays in the debug UI. Clients are not required - * to implement this interface for values representing indexed collections, - * however, doing so will provide enhanced display options in the debug UI. - * </p> - * <p> - * Clients may implement this interface. - * </p> - * @since 3.0 - */ -public interface IIndexedValue extends IValue { - - /** - * Returns the variable at the given offset in this collection. - * The offset is zero based. - * @param offset zero based offset into this collection - * @return returns the variable in this collection at the given - * offset - * @throws DebugException if unable to retrieve the variable at the - * given offset - */ - public IVariable getVariable(int offset) throws DebugException; - - /** - * Returns a subset of the elements in this collection of variables as - * specified by the given offset and length. - * - * @param offset beginning offset of the subset of elements to return - * @param length the number of elements to return - * @return a subset of the elements in this collection of variables as - * specified by the given offset and length - * @throws DebugException if unable to retrieve the variables - */ - public IVariable[] getVariables(int offset, int length) throws DebugException; - - /** - * Returns the number of entries in this indexed collection. - * - * @return the number of entries in this indexed collection - * @throws DebugException if unable to determine the number - * of entries in this collection - */ - public int getSize() throws DebugException; - - /** - * Returns the index of the first variable contained in this value. - * Generally, indexed values are zero based, but this allows for - * an arbitrary base offset. - * - * @return the index of the first variable contained in this value - */ - public int getInitialOffset(); -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate.java deleted file mode 100644 index 70755652f..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate.java +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.debug.core.ILaunch; -import org.eclipse.debug.core.ILaunchConfiguration; - -/** - * A launch configuration delegate performs launching for a - * specific type of launch configuration. A launch configuration - * delegate is defined by the <code>delegate</code> attribute - * of a <code>launchConfigurationType</code> extension. - * <p> - * This interface is intended to be implemented by clients. - * </p> - * @see org.eclipse.debug.core.ILaunchConfigurationType - * @see ILaunchConfiguration - * @since 2.0 - */ -public interface ILaunchConfigurationDelegate { - - /** - * Launches the given configuration in the specified mode, contributing - * debug targets and/or processes to the given launch object. The - * launch object has already been registered with the launch manager. - * - * @param configuration the configuration to launch - * @param mode the mode in which to launch, one of the mode constants - * defined by <code>ILaunchManager</code> - - * <code>RUN_MODE</code> or <code>DEBUG_MODE</code>. - * @param monitor progress monitor, or <code>null</code> - * @param launch the launch object to contribute processes and debug - * targets to - * @exception CoreException if launching fails - */ - public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException; - -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate2.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate2.java deleted file mode 100644 index 3491a40ab..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILaunchConfigurationDelegate2.java +++ /dev/null @@ -1,94 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.debug.core.ILaunch; -import org.eclipse.debug.core.ILaunchConfiguration; - -/** - * Optional enhancements to the launch configuration delegate interface. - * Allows launch delegates to abort a launch, build relevant projects in - * the workspace before a launch, and create the launch object to be used - * in a launch. - * <p> - * Clients implementing <code>ILaunchConfigurationDelegate</code> may also - * implement this interface. - * </p> - * @since 3.0 - */ -public interface ILaunchConfigurationDelegate2 extends ILaunchConfigurationDelegate { - - /** - * Returns a launch object to use when launching the given launch - * configuration in the given mode, or <code>null</code> if a new default - * launch object should be created by the debug platform. If a launch object - * is returned, its launch mode must match that of the mode specified in - * this method call. - * - * @param configuration the configuration being launched - * @param mode the mode the configuration is being launched in - * @return a launch object or <code>null</code> - * @throws CoreException if unable to launch - */ - public ILaunch getLaunch(ILaunchConfiguration configuration, String mode) throws CoreException; - - /** - * Optionally performs any required building before launching the given - * configuration in the specified mode, and returns whether the debug platform - * should perform an incremental workspace build before the launch continues. - * If <code>false</code> is returned the launch will proceed without further - * building, and if <code>true</code> is returned an incremental build will - * be performed on the workspace before launching. - * <p> - * This method is only called if the launch is invoked with flag indicating - * building should take place before the launch. This is done via the - * method - * <code>ILaunchConfiguration.launch(String mode, IProgressMonitor monitor, boolean build)</code>. - * </p> - * @param configuration the configuration being launched - * @param mode the mode the configuration is being launched in - * @param monitor progress monitor - * @return whether the debug platform should perform an incremental workspace - * build before the launch - * @throws CoreException if an exception occurrs while building - */ - public boolean buildForLaunch(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException; - - /** - * Returns whether a launch should proceed. This method is called after - * <code>preLaunchCheck()</code> and <code>buildForLaunch()</code> providing - * a final chance for this launch delegate to abort a launch if required. - * For example, a delegate could cancel a launch if it discovered compilation - * errors that would prevent the launch from succeeding. - * - * @param configuration the configuration being launched - * @param mode launch mode - * @param monitor progress monitor - * @return whether the launch should proceed - * @throws CoreException if an exception occurs during final checks - */ - public boolean finalLaunchCheck(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException; - - /** - * Returns whether a launch should proceed. This method is called first - * in the launch sequence providing an opportunity for this launch delegate - * to abort the launch. - * - * @param configuration configuration being lanuched - * @param mode launch mode - * @param monitor progress monitor - * @return whether the launch should proceed - * @throws CoreException if an exception occurs while performing pre launch checks - */ - public boolean preLaunchCheck(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException; -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILineBreakpoint.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILineBreakpoint.java deleted file mode 100644 index 0f5369227..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILineBreakpoint.java +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - - -import org.eclipse.core.runtime.CoreException; - -/** - * A breakpoint that can be located at a specific line of source code. - */ -public interface ILineBreakpoint extends IBreakpoint { - -/** - * Returns the line number in the original source that corresponds - * to the location of this breakpoint, or -1 if the attribute is not - * present. - * - * @return this breakpoint's line number, or -1 if unknown - * @exception CoreException if a <code>CoreException</code> is thrown - * while accessing the underlying <code>IMarker.LINE_NUMBER</code> marker attribute - */ -public int getLineNumber() throws CoreException; -/** - * Returns starting source index in the original source that corresponds - * to the location of this breakpoint, or -1 if the attribute is not present. - * - * @return this breakpoint's char start value, or -1 if unknown - * @exception CoreException if a <code>CoreException</code> is thrown - * while accessing the underlying <code>IMarker.CHAR_START</code> marker attribute - */ -public int getCharStart() throws CoreException; -/** - * Returns ending source index in the original source that corresponds - * to the location of this breakpoint, or -1 if the attribute is not present. - * - * @return this breakpoint's char end value, or -1 if unknown - * @exception CoreException if a <code>CoreException</code> is thrown - * while accessing the underlying <code>IMarker.CHAR_END</code> marker attribute - */ -public int getCharEnd() throws CoreException; -} - diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate.java deleted file mode 100644 index a3b7b1cbd..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate.java +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - -import org.eclipse.core.runtime.CoreException; - -/** - * A delegate that provides a value represengting the logical structure of a raw - * implementation value from a debug model. Associated with a logical structure - * type extension. - * <p> - * Clients contributing logical structure types should implement this - * interface. - * </p> - * @since 3.0 - * @see org.eclipse.debug.core.ILogicalStructureType - */ -public interface ILogicalStructureTypeDelegate { - - /** - * Returns whether this structure type can provide a logical structure for - * the given value. - * - * @param value value for which a logial structure is being requested - * @return whether this structure type can provide a logical structure for - * the given value - */ - public boolean providesLogicalStructure(IValue value); - - /** - * Returns a value representing a logical structure of the given value. - * - * @param value value for which a logical structure is being requested - * @return value representing logical structure - * @throws CoreException if an exception occurrs generating a logical - * structure - */ - public IValue getLogicalStructure(IValue value) throws CoreException; - -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate2.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate2.java deleted file mode 100644 index b3de90aab..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ILogicalStructureTypeDelegate2.java +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - - -/** - * Optional extension to <code>ILogicalStructureTypeDelegate</code> that allows - * a logical structure type delegate to provide a description for a value. - * This allows a logical structure type to provide logical structures and - * descriptions for more than one type of value. - * <p> - * If a logical structure type delegate implements this interface, it will - * be consulted for a description rather than using the description attribute - * provided in plub-in XML. - * </p> - * <p> - * Clients contributing logical structure types can implement this - * interface. - * </p> - * @since 3.1 - * @see org.eclipse.debug.core.ILogicalStructureType - */ -public interface ILogicalStructureTypeDelegate2 { - - /** - * Returns a simple description of the logical structure provided by this - * structure type delegate, for the given value. - * Cannot return <code>null</code>. This method is only called if this - * logical strucure type delegate returns <code>true</code> for - * <code>providesLogicalStructure(IValue)</code>. - * - * @return a simple description of the logical structure provided by this - * structure type delegate, for the given value - */ - public String getDescription(IValue value); - -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlock.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlock.java deleted file mode 100644 index 54d248cfb..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlock.java +++ /dev/null @@ -1,82 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - - -import org.eclipse.debug.core.DebugException; - -/** - * A contiguous segment of memory in an execution context. - * A memory block is represented by a starting memory address - * and a length. Not all debug architectures support the retrieval - * of memory blocks. - * - * @see IMemoryBlockRetrieval - * @since 2.0 - */ -public interface IMemoryBlock extends IDebugElement { - - /** - * Returns the start address of this memory block. - * - * @return the start address of this memory block - */ - public long getStartAddress(); - - /** - * Returns the length of this memory block in bytes. - * - * @return the length of this memory block in bytes - */ - public long getLength(); - - /** - * Returns the values of the bytes currently contained - * in this this memory block. - * - * @return the values of the bytes currently contained - * in this this memory block - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the debug target. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li> - * </ul> - */ - public byte[] getBytes() throws DebugException; - - /** - * Returns whether this memory block supports value modification - * - * @return whether this memory block supports value modification - */ - public boolean supportsValueModification(); - - /** - * Sets the value of the bytes in this memory block at the specified - * offset within this memory block to the spcified bytes. - * The offset is zero based. - * - * @param offset the offset at which to set the new values - * @param bytes the new values - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the debug target. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li> - * <li>This memory block does not support value modification</li> - * <li>The specified offset is greater than or equal to the length - * of this memory block, or the number of bytes specified goes - * beyond the end of this memory block (index of out of range)</li> - * </ul> - */ - public void setValue(long offset, byte[] bytes) throws DebugException; - -} - diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockExtension.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockExtension.java deleted file mode 100644 index 0ec8c27a0..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockExtension.java +++ /dev/null @@ -1,170 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - -import java.math.BigInteger; - -import org.eclipse.debug.core.DebugException; - -/** - * Represents a memory block. - * - * When the memory block is changed, fire a CHANGE Debug Event. - * - * When firing change event, be aware of the following: - * - whenever a change event is fired, the content provider for Memory View / Memory Rendering - * view checks to see if memory has actually changed. - * - If memory has actually changed, a refresh will commence. Changes to the memory block - * will be computed and will be shown with the delta icons. - * - If memory has not changed, content will not be refreshed. However, previous delta information - * will be erased. The screen will be refreshed to show that no memory has been changed. (All - * delta icons will be removed.) - * - * Please note that these APIs will be called multiple times by the Memory View. - * To improve performance, debug adapters need to cache the content of its memory block and only - * retrieve updated data when necessary. - * @since 3.1 - */ -public interface IMemoryBlockExtension extends IMemoryBlock { - - /** - * Returns the expression of this memory block. - * The expression will be used to construct the tab label of the memory view. - * - * @return expression of the memory block. - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the engine. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li> - */ - public String getExpression() throws DebugException; - - /** - * Get the base address of this memory block in BigInteger - * @return the base address of this memory block - */ - public BigInteger getBigBaseAddress(); - - /** - * @return address size in number of bytes - */ - public int getAddressSize(); - - - /** - * Indicate if the base address of this memory block block could be modified - * If return true, setBaseAddress will be used to change the base address - * of this memory block. - * * @return if the memory block supports base address modification - */ - public boolean supportBaseAddressModification(); - - /** - * @return true to indicate that the memory block manages the changes in the - * memory block. If the memory block manages changes, the memory block is - * expected to cache the MemoryByte array returned by getBytesFromOffset and - * getBytesFromAddress. The change information will not be calculated by - * the memory view. Intead, the memory block keeps track of the bytes - * and marks the bytes as changed/unchanged. Turn off both the CHANGE and UNCHANGED - * bits if the memory block does not contain history for the address. - * - * If this function returns false, the Memory View will calculate - * delta information for each byte based on its history. - */ - public boolean supportsChangeManagement(); - - /** - * Set the base address of this memory block - * @param address - * @throws DebugException if the method fails. Reasons inlucde: - * <ul><li>Failure communicating with the engine. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li> - */ - public void setBaseAddress(BigInteger address) throws DebugException; - - - /** - * Get bytes based on offset and length. Memory at base address + offset - * should be returned. - * Return an array of IMemory. Each IMemory object represents a section of the - * memory block. The IMemory object allows debug adapters to provide more information - * about a section of memory. Refer to IMemory for details. - * - * @param offset - * @param length is the number of units of memory to return - * @return an array of bytes from the memory block based on the given offset and length - * The size of the array returned needs to be equal to - * length * IMemoryBlockExtensionRetrieval.getAddressibleSize() - * @throws DebugException if the method fails. - */ - public MemoryByte[] getBytesFromOffset(long offset, long length) throws DebugException; - - - /** - * Get bytes based on a given address. - * - * Return an array of IMemory. Each IMemory object represents a section of the - * memory block. The IMemory object allows debug adapters to provide more information - * about a section of memory. Refer to IMemory for details. - * - * @param address - * @param length is the number of units of memory to return - * @return an array of bytes from the memory block based on the given offset and length - * The size of the array returned needs to be equal to - * length * IMemoryBlockExtensionRetrieval.getAddressibleSize() - * @throws DebugException if method fails - */ - public MemoryByte[] getBytesFromAddress(BigInteger address, long length) throws DebugException; - - /** - * @return true if the platform is big endian, false otherwise - */ - public boolean isBigEndian(); - - - /** - * Connect a view to the memory block. Called by UI when a view that displays - * the memory block is visible. - * @param object - */ - public void connect(Object object); - - - /** - * Disconnect a view from the memory block. Called by UI when a view - * that displays the memory block is hidden. - * @param object - */ - public void disconnect(Object object); - - /** - * @return objects that are currently connected to the memory block. - * Return an empty array if nothing is connected - */ - public Object[] getConnected(); - - - /** - * Dispose this memory block. - */ - public void dispose(); - - /** - * @return the IMemoryBlockRetrieval responsible for creating this memory block - */ - public IMemoryBlockRetrieval getMemoryBlockRetrieval(); - - /** - * @return addssible size in number of bytes - */ - int getAddressibleSize(); -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockExtensionRetrieval.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockExtensionRetrieval.java deleted file mode 100644 index 9abc2b3bf..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockExtensionRetrieval.java +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -package org.eclipse.debug.core.model; - -import org.eclipse.debug.core.DebugException; - - -/** - * Extended capabilites for memory block retrieval. - * @since 3.1 - */ -public interface IMemoryBlockExtensionRetrieval extends IMemoryBlockRetrieval { - - /** - * Retrieves a memory block. - * - * @param expression - expression to be evalutated to an address, evaluation context can be retrieved - * from the selected debug element - * @param selected - selected debug element from Debug View - * @return a memory block based on the given expression and selected debug element - * @throws DebugException - */ - - public IMemoryBlockExtension getExtendedMemoryBlock(String expression, IDebugElement selected) throws DebugException; - - /** - * @return the string to be used in place of this memory content when bytes - * are not available. - * Return null if the byte is available. - */ - public String getPaddedString(); -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.java deleted file mode 100644 index 3efcb1aa5..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IMemoryBlockRetrieval.java +++ /dev/null @@ -1,52 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - - -import org.eclipse.debug.core.DebugException; - -/** - * Supports the retrieval of arbitrary blocks of memory. - * - * @see IMemoryBlock - * @since 2.0 - */ -public interface IMemoryBlockRetrieval { - - /** - * Returns whether this debug target supports the retrieval - * of memory blocks. - * - * @return whether this debug target supports the retrieval - * of memory blocks - */ - public boolean supportsStorageRetrieval(); - - /** - * Returns a memory block that starts at the specified - * memory address, with the specified length. - * - * @param startAddress starting address - * @param length length of the memory block in bytes - * @return a memory block that starts at the specified - * memory address, with the specified length - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the debug target. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li> - * <li>This debug target does not support memory block retrieval</li> - * <li>The specified address and length are not within valid - * ranges</li> - * </ul> - */ - public IMemoryBlock getMemoryBlock(long startAddress, long length) throws DebugException; -} - diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IPersistableSourceLocator.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IPersistableSourceLocator.java deleted file mode 100644 index 83f651d0e..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IPersistableSourceLocator.java +++ /dev/null @@ -1,84 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.debug.core.ILaunchConfiguration; - -/** - * A source locator that can be persisted and restored, - * to be used with a specfic launch configuration. - * The debug plug-in defines a source locator extension - * point for persistable source locators. - * <p> - * A source locator extension is defined in <code>plugin.xml</code>. - * Following is an example definition of a source locator extension. - * <pre> - * <extension point="org.eclipse.debug.core.sourceLocators"> - * <sourceLocator - * id="com.example.ExampleIdentifier" - * class="com.example.ExampleSourceLocator" - * name="Example Source Locator"> - * </sourceLocator> - * </extension> - * </pre> - * The attributes are specified as follows: - * <ul> - * <li><code>id</code> specifies a unique identifier for this source locator.</li> - * <li><code>class</code> specifies the fully qualified name of the Java class - * that implements <code>IPersistableSourceLocator</code>.</li> - * <li><code>name</code> a human readable name, describing the type of - * this source locator.</li> - * </ul> - * </p> - * <p> - * Clients may implement this interface. - * </p> - * @see org.eclipse.debug.core.ILaunch - * @see IStackFrame - * @see org.eclipse.debug.ui.IDebugModelPresentation - * @since 2.0 - */ -public interface IPersistableSourceLocator extends ISourceLocator { - - /** - * Returns a memento that can be used to reconstruct - * this source locator - * - * @return a memento that can be used to reconstruct - * this source locator - * @exception CoreException if unable to construct a memento - */ - public String getMemento() throws CoreException; - - /** - * Initializes this source locator based on the given - * memento. - * - * @param memento a memento to initialize this source locator - * @exception CoreException on failure to initialize - */ - public void initializeFromMemento(String memento) throws CoreException; - - /** - * Initializes this source locator to perform default - * source lookup for the given launch configuration. - * - * @param configuration launch configuration this source locator - * will be performing souce lookup for - * @exception CoreException on failure to initialize - */ - public void initializeDefaults(ILaunchConfiguration configuration) throws CoreException; - -} - - diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IProcess.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IProcess.java deleted file mode 100644 index 383847b7f..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IProcess.java +++ /dev/null @@ -1,105 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - - -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.debug.core.DebugException; -import org.eclipse.debug.core.DebugPlugin; -import org.eclipse.debug.core.ILaunch; - -/** - * A process represents a program running in normal (non-debug) mode. - * Processes support setting and getting of client defined attributes. - * This way, clients can annotate a process with any extra information - * important to them. For example, classpath annotations, or command - * line arguments used to launch the process may be important to a client. - * <p> - * Clients may implement this interface, however, the debug plug-in - * provides an implementation of this interface for a - * <code>java.lang.Process</code>. - * </p> - * @see org.eclipse.debug.core.DebugPlugin#newProcess(ILaunch, Process, String) - */ -public interface IProcess extends IAdaptable, ITerminate { - - /** - * Attribute key for a common, optional, process property. The value of this - * attribute is the command line a process was launched with. - * - * @since 2.1 - */ - public final static String ATTR_CMDLINE= DebugPlugin.getUniqueIdentifier() + ".ATTR_CMDLINE"; //$NON-NLS-1$ - - /** - * Attribute key for a common, optional, process property. The value of this - * attribute is an identifier for the type of this process. Process types - * are client defined - whoever creates a process may define its type. For - * example, a process type could be "java", "javadoc", or "ant". - * - * @since 2.1 - */ - public final static String ATTR_PROCESS_TYPE = DebugPlugin.getUniqueIdentifier() + ".ATTR_PROCESS_TYPE"; //$NON-NLS-1$ - - /** - * Attribute key for a common, optional, process property. The value of this - * attribute specifies an alternate dynamic label for a process, displayed by - * the console. - * - * @since 3.0 - */ - public final static String ATTR_PROCESS_LABEL = DebugPlugin.getUniqueIdentifier() + ".ATTR_PROCESS_LABEL"; //$NON-NLS-1$ - - /** - * Returns a human-readable label for this process. - * - * @return a label for this process - */ - public String getLabel(); - /** - * Returns the launch this element originated from. - * - * @return the launch this process is contained in - */ - public ILaunch getLaunch(); - /** - * Returns a proxy to the standard input, output, and error streams - * for this process, or <code>null</code> if not supported. - * - * @return a streams proxy, or <code>null</code> if not supported - */ - public IStreamsProxy getStreamsProxy(); - - /** - * Sets the value of a client defined attribute. - * - * @param key the attribute key - * @param value the attribute value - */ - public void setAttribute(String key, String value); - - /** - * Returns the value of a client defined attribute. - * - * @param key the attribute key - * @return value the String attribute value, or <code>null</code> if undefined - */ - public String getAttribute(String key); - - /** - * Returns the exit value of this process. Conventionally, 0 indicates - * normal termination. - * - * @return the exit value of this process - * @exception DebugException if this process has not yet terminated - */ - public int getExitValue() throws DebugException; -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegister.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegister.java deleted file mode 100644 index 6a2161be4..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegister.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - - -import org.eclipse.debug.core.DebugException; - -/** - * A register is a special kind of variable that is contained - * in a register group. Each register has a name and a value. - * Not all debug architectures provide access to registers. - * - * @since 2.0 - */ -public interface IRegister extends IVariable { - - /** - * Returns the register group this register is contained in. - * - * @return the register group this register is contained in - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the debug target. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li> - */ - public IRegisterGroup getRegisterGroup() throws DebugException; - -} - diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegisterGroup.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegisterGroup.java deleted file mode 100644 index 8c54c03e9..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IRegisterGroup.java +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - - -import org.eclipse.debug.core.DebugException; - -/** - * A register group is a group of registers that are - * assigned to a stack frame. Some debug architectures - * provide access to registers, and registers are often - * grouped logically. For example, a floating point - * register group. - * - * @since 2.0 - */ -public interface IRegisterGroup extends IDebugElement { - - - /** - * Returns the name of this register group. - * - * @return this register group's name - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the debug target. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li> - */ - public String getName() throws DebugException; - - /** - * Returns the registers in this register group. - * - * @return the registers in this register group - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the debug target. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li> - */ - public IRegister[] getRegisters() throws DebugException; - - /** - * Returns whether this register group currently contains any registers. - * - * @return whether this register group currently contains any registers - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the debug target. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li> - */ - public boolean hasRegisters() throws DebugException; - -} - diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISourceLocator.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISourceLocator.java deleted file mode 100644 index 64de70582..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISourceLocator.java +++ /dev/null @@ -1,68 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - - -import org.eclipse.debug.core.model.IStackFrame; - -/** - * A source locator locates source elements for stack frames. A launch (optionally) - * specifies a source locator which is - * used to locate source for that debug session. If a launch does not - * provide a source locator, source cannot be displayed. - * Abstraction of source lookup allows clients to hide implementation - * details of source location and representation. - * <p> - * Generally, an implementor of a debug model will also implement launch configuration types, - * delegates, and source locators that work together as a whole. That is, the implementation - * of a source locator will have knowledge of how to locate a source element - * for a stack frame. For example, a Java stack frame could define API which - * specifies a source file name. A Java source locator would use this information - * to locate the associated file in the workspace. - * </p> - * <p> - * Source is displayed by the debug UI plug-in. The debug UI uses a source locator - * to resolve an object representing the source for a stack frame, and then uses - * a debug model presentation to determine the editor and editor input to use to - * display the actual source in an editor. - * </p> - * <p> - * Clients may implement this interface. - * </p> - * @see org.eclipse.debug.core.ILaunch - * @see org.eclipse.debug.core.model.IStackFrame - * @see org.eclipse.debug.ui.IDebugModelPresentation - * @see org.eclipse.debug.core.model.IPersistableSourceLocator - */ -public interface ISourceLocator { - - /** - * Returns a source element that corresponds to the given stack frame, or - * <code>null</code> if a source element could not be located. The object returned - * by this method will be used by the debug UI plug-in to display source. - * The debug UI uses the debug model presentation associated - * with the given stack frame's debug model to translate a source object into an - * {editor input, editor id} pair in which to display source. - * <p> - * For example, a java source locator could return an object representing a - * compilation unit or class file. The java debug model presentation would - * then be responsible for providing an editor input and editor id for each - * compilation unit and class file such that the debug UI could display source. - * </p> - * - * @param stackFrame the stack frame for which to locate source - * @return an object representing a source element. - */ - public Object getSourceElement(IStackFrame stackFrame); - -} - - diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStackFrame.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStackFrame.java deleted file mode 100644 index 430c58db3..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStackFrame.java +++ /dev/null @@ -1,182 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - - -import org.eclipse.debug.core.DebugException; - -/** - * A stack frame represents an execution context in a suspended thread. - * A stack frame contains variables representing visible locals and arguments at - * the current execution location. Minimally, a stack frame supports - * the following: - * <ul> - * <li>suspend/resume (convenience to resume this stack frame's thread) - * <li>stepping - * <li>termination (convenience to terminate this stack frame's thread or debug target) - * </ul> - * <p> - * A debug model implementation may choose to re-use or discard - * stack frames on iterative thread suspensions. Clients - * cannot assume that stack frames are identical or equal across - * iterative thread suspensions and must check for equality on iterative - * suspensions if they wish to re-use the objects. - * </p> - * <p> - * A debug model implementation that preserves equality - * across iterative suspensions may display more desirable behavior in - * some clients. For example, if stack frames are preserved - * while stepping, a UI client would be able to update the UI incrementally, - * rather than collapse and redraw the entire list. - * </p> - * <p> - * Clients may implement this interface. - * </p> - * @see IStep - * @see ISuspendResume - * @see ITerminate - */ -public interface IStackFrame extends IDebugElement, IStep, ISuspendResume, ITerminate { - /** - * Returns the thread this stack frame is contained in. - * - * @return thread - * @since 2.0 - */ - public IThread getThread(); - /** - * Returns the visible variables in this stack frame. An empty - * collection is returned if there are no visible variables. - * - * @return collection of visible variables - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the debug target. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li> - * </ul> - * @since 2.0 - */ - public IVariable[] getVariables() throws DebugException; - - /** - * Returns whether this stack frame currently contains any visible variables. - * - * @return whether this stack frame currently contains any visible variables - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the debug target. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li> - * </ul> - * @since 2.0 - */ - public boolean hasVariables() throws DebugException; - - /** - * Returns the line number of the instruction pointer in - * this stack frame that corresponds to a line in an associated source - * element, or <code>-1</code> if line number information - * is unavailable. - * - * @return line number of instruction pointer in this stack frame, or - * <code>-1</code> if line number information is unavailable - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the debug target. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li> - * </ul> - */ - public int getLineNumber() throws DebugException; - - /** - * Returns the index of the first character in the associated source - * element that corresponds to the current location of the instruction pointer - * in this stack frame, or <code>-1</code> if the information is unavailable. - * <p> - * If a debug model supports expression level stepping, the start/end - * character ranges are used to highlight the expression within a line - * that is being executed. - * </p> - * @return index of the first character in the associated source - * element that corresponds to the current location of the instruction pointer - * in this stack frame, or <code>-1</code> if the information is unavailable - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the debug target. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li> - * </ul> - * @since 2.0 - */ - public int getCharStart() throws DebugException; - - /** - * Returns the index of the last character in the associated source - * element that corresponds to the current location of the instruction pointer - * in this stack frame, or <code>-1</code> if the information is unavailable. - * <p> - * If a debug model supports expression level stepping, the start/end - * character ranges are used to highlight the expression within a line - * that is being executed. - * </p> - * @return index of the last character in the associated source - * element that corresponds to the current location of the instruction pointer - * in this stack frame, or <code>-1</code> if the information is unavailable - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the debug target. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li> - * </ul> - * @since 2.0 - */ - public int getCharEnd() throws DebugException; - - /** - * Returns the name of this stack frame. Name format is debug model - * specific, and should be specified by a debug model. - * - * @return this frame's name - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the debug target. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li> - * </ul> - */ - public String getName() throws DebugException; - - /** - * Returns the register groups assigned to this stack frame, - * or an empty collection if no register groups are assigned - * to this stack frame. - * - * @return the register groups assigned to this stack frame - * or an empty collection if no register groups are assigned - * to this stack frame - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the debug target. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li> - * </ul> - * @since 2.0 - */ - public IRegisterGroup[] getRegisterGroups() throws DebugException; - - /** - * Returns whether this stack frame contains any register groups. - * - * @return whether this stack frame contains any visible register groups - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the debug target. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li> - * </ul> - * @since 2.0 - */ - public boolean hasRegisterGroups() throws DebugException; -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStep.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStep.java deleted file mode 100644 index aef7935f3..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStep.java +++ /dev/null @@ -1,96 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - - -import org.eclipse.debug.core.DebugException; - -/** - * Provides the ability to step into, over, and return - * from the current execution location. Implementations - * must be non-blocking. - * <p> - * Implementations should honor step filter settings in their - * associated debug target, as defined by <code>IStepFilters</code>. - * </p> - * <p> - * Clients may implement this interface. - * </p> - * @see org.eclipse.debug.core.model.IStepFilters - */ -public interface IStep { - /** - * Returns whether this element can currently perform a step into. - * - * @return whether this element can currently perform a step into - */ - public boolean canStepInto(); - /** - * Returns whether this element can currently perform a step over. - * - * @return whether this element can currently perform a step over - */ - public boolean canStepOver(); - /** - * Returns whether this element can currently perform a step return. - * - * @return whether this element can currently perform a step return - */ - public boolean canStepReturn(); - /** - * Returns whether this element is currently stepping. - * <p> - * For example, a thread is considered to be stepping - * after the <code>stepOver</code> call until the step over is completed, - * a breakpoint is reached, an exception is thrown, or the thread or debug target is - * terminated. - * </p> - * - * @return whether this element is currently stepping - */ - public boolean isStepping(); - /** - * Steps into the current statement, generating <code>RESUME</code> - * and <code>SUSPEND</code> events for the associated thread. Can only be called - * when the associated thread is suspended. Implementations must implement - * stepping as non-blocking. - * - * @exception DebugException on failure. Reasons include:<ul> - * <li>TARGET_REQUEST_FAILED - The request failed in the target</li> - * <li>NOT_SUPPORTED - The capability is not supported by the target</li> - * </ul> - */ - public void stepInto() throws DebugException; - /** - * Steps over the current statement, generating <code>RESUME</code> - * and <code>SUSPEND</code> events for the associated thread. Can only be called - * when the associated thread is suspended. Implementations must implement - * stepping as non-blocking. - * - * @exception DebugException on failure. Reasons include:<ul> - * <li>TARGET_REQUEST_FAILED - The request failed in the target</li> - * <li>NOT_SUPPORTED - The capability is not supported by the target</li> - * </ul> - */ - public void stepOver() throws DebugException; - /** - * Steps to the next return statement in the current scope, - * generating <code>RESUME</code> and <code>SUSPEND</code> events for - * the associated thread. Can only be called when the associated thread is suspended. - * Implementations must implement stepping as non-blocking. - * - * @exception DebugException on failure. Reasons include:<ul> - * <li>TARGET_REQUEST_FAILED - The request failed in the target</li> - * <li>NOT_SUPPORTED - The capability is not supported by the target</li> - * </ul> - */ - public void stepReturn() throws DebugException; -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStepFilters.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStepFilters.java deleted file mode 100644 index 204ccec20..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStepFilters.java +++ /dev/null @@ -1,64 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - -/** - * Support for step filters for a debug target. A debug target - * that supports step filters should implement this interface. - * Step filters can be toggled on/off for a debug target via - * this interface. When a step method is called (see - * <code>IStep</code>), the step implementation must respect - * the state of the step filters as defined by this interface. - * This allows step filters to be toggled on/off for - * all stepping operations (in, over, return). - * <p> - * Step filter management is debug model specific - this interface - * is used only to turn them on/off. - * </p> - * <p> - * In 2.1, the <code>IFilteredStep</code> interface was used - * to implement step filtering. The <code>IFilteredStep</code> - * interface is now deprecated, and this inteface should be used - * in its place to allow filters to be applied to any step - * function. - * </p> - * <p> - * Clients may implement this interface. Debug targets that support - * step filters should implement this interface. - * </p> - * @see org.eclipse.debug.core.model.IStep - * @since 3.0 - */ -public interface IStepFilters { - - /** - * Returns whether this debug target supports step filters. - * - * @return whether this debug target supports step filters - */ - public boolean supportsStepFilters(); - - /** - * Returns whether step filters are currently enabled in this - * debug target. - * - * @return whether step filters are currently enabled in this - * debug target - */ - public boolean isStepFiltersEnabled(); - - /** - * Sets whether step filters are enabled in this debug target. - * - * @param enabled whether step filters are enabled in this debug target - */ - public void setStepFiltersEnabled(boolean enabled); -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamMonitor.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamMonitor.java deleted file mode 100644 index 5051a80a8..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamMonitor.java +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - - -import org.eclipse.debug.core.IStreamListener; - -/** - * A stream monitor manages the contents of the stream a process - * is writing to, and notifies registered listeners of changes in - * the stream. - * <p> - * Clients may implement this interface. Generally, a client that - * provides an implementation of the <code>IStreamsProxy</code> - * interface must also provide an implementation of this interface. - * </p> - * @see org.eclipse.debug.core.model.IStreamsProxy - * @see org.eclipse.debug.core.model.IFlushableStreamMonitor - */ -public interface IStreamMonitor { - /** - * Adds the given listener to this stream monitor's registered listeners. - * Has no effect if an identical listener is already registered. - * - * @param listener the listener to add - */ - public void addListener(IStreamListener listener); - /** - * Returns the entire current contents of the stream. An empty - * String is returned if the stream is empty. - * - * @return the stream contents as a <code>String</code> - */ - public String getContents(); - /** - * Removes the given listener from this stream monitor's registered listeners. - * Has no effect if the listener is not already registered. - * - * @param listener the listener to remove - */ - public void removeListener(IStreamListener listener); -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy.java deleted file mode 100644 index b2f53f784..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy.java +++ /dev/null @@ -1,57 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - - -import java.io.IOException; - -/** - * A streams proxy acts as proxy between the streams of a - * process and interested clients. This abstraction allows - * implementations of <code>IProcess</code> to handle I/O related - * to the standard input, output, and error streams associated - * with a process. - * <p> - * Clients implementing the <code>IProcess</code> interface must also - * provide an implementation of this interface. - * </p> - * @see IProcess - */ -public interface IStreamsProxy { - /** - * Returns a monitor for the error stream of this proxy's process, - * or <code>null</code> if not supported. - * The monitor is connected to the error stream of the - * associated process. - * - * @return an error stream monitor, or <code>null</code> if none - */ - public IStreamMonitor getErrorStreamMonitor(); - /** - * Returns a monitor for the output stream of this proxy's process, - * or <code>null</code> if not supported. - * The monitor is connected to the output stream of the - * associated process. - * - * @return an output stream monitor, or <code>null</code> if none - */ - public IStreamMonitor getOutputStreamMonitor(); - /** - * Writes the given text to the output stream connected to the - * standard input stream of this proxy's process. - * - * @param input the text to be written - * @exception IOException when an error occurs writing to the - * underlying <code>OutputStream</code>. - * - */ - public void write(String input) throws IOException; -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy2.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy2.java deleted file mode 100644 index 8d954b80f..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IStreamsProxy2.java +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - -import java.io.IOException; - -/** - * Extension to a streams proxy that allows closing of the output stream - * connected to the standard input stream of a proxy's process. - * <p> - * Clients should implement this interface, in addition to - * <code>IStreamsProxy</code>, if interested closing the standard - * input stream. - * </p> - * @since 3.1 - */ -public interface IStreamsProxy2 extends IStreamsProxy { - - /** - * Closes the output stream connected to the standard input stream - * of this proxy's process. - * - * @throws IOException if unable to close the stream - */ - public void closeInputStream() throws IOException; -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISuspendResume.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISuspendResume.java deleted file mode 100644 index e45952ca2..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ISuspendResume.java +++ /dev/null @@ -1,63 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - - -import org.eclipse.debug.core.DebugException; - -/** - * Provides the ability to suspend and resume a thread - * or debug target. - * <p> - * Clients may implement this interface. - * </p> - */ -public interface ISuspendResume { - /** - * Returns whether this element can currently be resumed. - * - * @return whether this element can currently be resumed - */ - public boolean canResume(); - /** - * Returns whether this element can currently be suspended. - * - * @return whether this element can currently be suspended - */ - public boolean canSuspend(); - /** - * Returns whether this element is currently suspended. - * - * @return whether this element is currently suspended - */ - public boolean isSuspended(); - /** - * Causes this element to resume its execution, generating a <code>RESUME</code> event. - * Has no effect on an element that is not suspended. This call is non-blocking. - * - * @exception DebugException on failure. Reasons include:<ul> - * <li>TARGET_REQUEST_FAILED - The request failed in the target - * <li>NOT_SUPPORTED - The capability is not supported by the target - * </ul> - */ - public void resume() throws DebugException; - /** - * Causes this element to suspend its execution, generating a <code>SUSPEND</code> event. - * Has no effect on an already suspended element. - * Implementations may be blocking or non-blocking. - * - * @exception DebugException on failure. Reasons include:<ul> - * <li>TARGET_REQUEST_FAILED - The request failed in the target - * <li>NOT_SUPPORTED - The capability is not supported by the target - * </ul> - */ - public void suspend() throws DebugException; -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ITerminate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ITerminate.java deleted file mode 100644 index bf8a44536..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/ITerminate.java +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - - -import org.eclipse.debug.core.DebugException; - -/** - * Provides the ability to terminate an execution - * context - for example, a thread, debug target or process. - * <p> - * Clients may implement this interface. - * </p> - */ -public interface ITerminate { - /** - * Returns whether this element can be terminated. - * - * @return whether this element can be terminated - */ - public boolean canTerminate(); - /** - * Returns whether this element is terminated. - * - * @return whether this element is terminated - */ - public boolean isTerminated(); - /** - * Causes this element to terminate, generating a <code>TERMINATE</code> event. - * Implementations may be blocking or non-blocking. - * - * @exception DebugException on failure. Reasons include:<ul> - * <li>TARGET_REQUEST_FAILED - The request failed in the target - * <li>NOT_SUPPORTED - The capability is not supported by the target - * </ul> - */ - public void terminate() throws DebugException; -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IThread.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IThread.java deleted file mode 100644 index a737419e0..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IThread.java +++ /dev/null @@ -1,111 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - - -import org.eclipse.debug.core.DebugException; - -/** - * A thread is a sequential flow of execution in a debug target. - * A thread contains stack frames. Stack frames are only available when the - * thread is suspended, and are returned in top-down order. - * Minimally, a thread supports the following: - * <ul> - * <li>suspend/resume - * <li>stepping - * <li>terminate - * </ul> - * <p> - * Clients may implement this interface. - * </p> - * @see ISuspendResume - * @see IStep - * @see ITerminate - * @see IStackFrame - */ - -public interface IThread extends IDebugElement, ISuspendResume, IStep, ITerminate { - /** - * Returns the stack frames contained in this thread. An - * empty collection is returned if this thread contains - * no stack frames, or is not currently suspended. Stack frames - * are returned in top down order. - * - * @return a collection of stack frames - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the VM. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li> - * </ul> - * @since 2.0 - */ - public IStackFrame[] getStackFrames() throws DebugException; - - /** - * Returns whether this thread currently contains any stack - * frames. - * - * @return whether this thread currently contains any stack frames - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the debug target. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li> - * </ul> - * @since 2.0 - */ - public boolean hasStackFrames() throws DebugException; - - /** - * Returns the priority of this thread. The meaning of this - * number is operating-system dependent. - * - * @return thread priority - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the VM. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li> - */ - public int getPriority() throws DebugException; - /** - * Returns the top stack frame or <code>null</code> if there is - * currently no top stack frame. - * - * @return the top stack frame, or <code>null</code> if none - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the VM. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li> - */ - public IStackFrame getTopStackFrame() throws DebugException; - /** - * Returns the name of this thread. Name format is debug model - * specific, and should be specified by a debug model. - * - * @return this thread's name - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the VM. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li> - */ - public String getName() throws DebugException; - - /** - * Returns the breakpoints that caused this thread to suspend, - * or an empty collection if this thread is not suspended or - * was not suspended by a breakpoint. Usually a single breakpoint - * will be returned, but this collection can contain more than - * one breakpoint if two breakpoints are at the same location in - * a program. - * - * @return the collection of breakpoints that caused this thread to suspend - */ - public IBreakpoint[] getBreakpoints(); -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValue.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValue.java deleted file mode 100644 index ef167078e..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValue.java +++ /dev/null @@ -1,104 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - - -import org.eclipse.debug.core.DebugException; - -/** - * A value represents the value of a variable. - * A value representing a complex data structure contains variables. - * <p> - * An implementation may choose to re-use or discard - * values on iterative thread suspensions. Clients - * cannot assume that values are identical or equal across - * iterative thread suspensions and must check for equality on iterative - * suspensions if they wish to re-use the objects. - * </p> - * <p> - * An implementation that preserves equality - * across iterative suspensions may display more desirable behavior in - * some clients. For example, if variables are preserved - * while stepping, a UI client would be able to update the UI incrementally, - * rather than collapse and redraw the entire list or tree. - * </p> - * <p> - * Clients may implement this interface. - * </p> - * @see IVariable - */ - - -public interface IValue extends IDebugElement { - - /** - * Returns a description of the type of data this value contains - * or references. - * - * @return the name of this value's reference type - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the VM. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li> - */ - public String getReferenceTypeName() throws DebugException; - - /** - * Returns this value as a <code>String</code>. - * - * @return a String representation of this value - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the VM. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li> - */ - public String getValueString() throws DebugException; - - /** - * Returns whether this value is currently allocated. - * <p> - * For example, if this value represents - * an object that has been garbage collected, <code>false</code> is returned. - * </p> - * @return whether this value is currently allocated - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the VM. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li> - */ - public boolean isAllocated() throws DebugException; - /** - * Returns the visible variables in this value. An empty - * collection is returned if there are no visible variables. - * - * @return an array of visible variables - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the VM. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li> - * </ul> - * @since 2.0 - */ - public IVariable[] getVariables() throws DebugException; - - /** - * Returns whether this value currently contains any visible variables. - * - * @return whether this value currently contains any visible variables - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the debug target. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li> - * </ul> - * @since 2.0 - */ - public boolean hasVariables() throws DebugException; -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValueModification.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValueModification.java deleted file mode 100644 index d04c5ebaf..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IValueModification.java +++ /dev/null @@ -1,85 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - - -import org.eclipse.debug.core.DebugException; - -/** - * Provides the ability to modify the value of a variable in - * a target. - * <p> - * Clients may implement this interface. - * </p> - * @see IVariable - */ -public interface IValueModification { - - /** - * Attempts to set the value of this variable to the - * value of the given expression. - * - * @param expression an expression to generate a new value - * @exception DebugException on failure. Reasons include:<ul> - * <li>TARGET_REQUEST_FAILED - The request failed in the target - * <li>NOT_SUPPORTED - The capability is not supported by the target - * </ul> - */ - public void setValue(String expression) throws DebugException; - - /** - * Sets the value of this variable to the given value. - * - * @param value a new value - * @exception DebugException on failure. Reasons include:<ul> - * <li>TARGET_REQUEST_FAILED - The request failed in the target - * <li>NOT_SUPPORTED - The capability is not supported by the target - * </ul> - * @since 2.0 - */ - public void setValue(IValue value) throws DebugException; - - /** - * Returns whether this variable supports value modification. - * - * @return whether this variable supports value modification - */ - public boolean supportsValueModification(); - - /** - * Returns whether the given expression is valid to be used in - * setting a new value for this variable. - * - * @param expression an expression to generate a new value - * @return whether the expression is valid - * @exception DebugException on failure. Reasons include:<ul> - * <li>TARGET_REQUEST_FAILED - The request failed in the target - * <li>NOT_SUPPORTED - The capability is not supported by the target - * </ul> - */ - public boolean verifyValue(String expression) throws DebugException; - - /** - * Returns whether the given value can be used as - * a new value for this variable. - * - * @param value a new value - * @return whether the value is valid - * @exception DebugException on failure. Reasons include:<ul> - * <li>TARGET_REQUEST_FAILED - The request failed in the target - * <li>NOT_SUPPORTED - The capability is not supported by the target - * </ul> - * @since 2.0 - */ - public boolean verifyValue(IValue value) throws DebugException; -} - - diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IVariable.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IVariable.java deleted file mode 100644 index b67cbdcf3..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IVariable.java +++ /dev/null @@ -1,95 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - - -import org.eclipse.debug.core.DebugException; - -/** - * A variable represents a visible data structure in a stack frame - * or value. - * Each variable has a value which may in turn contain more variables. - * A variable may support value modification. - * <p> - * An implementation may choose to re-use or discard - * variables on iterative thread suspensions. Clients - * cannot assume that variables are identical or equal across - * iterative thread suspensions and must check for equality on iterative - * suspensions if they wish to re-use the objects. - * </p> - * <p> - * An implementation that preserves equality - * across iterative suspensions may display more desirable behavior in - * some clients. For example, if variables are preserved - * while stepping, a UI client would be able to update the UI incrementally, - * rather than collapse and redraw the entire list or tree. - * </p> - * <p> - * Clients may implement this interface. - * </p> - * @see IValue - * @see IStackFrame - * @see IValueModification - */ -public interface IVariable extends IDebugElement, IValueModification { - /** - * Returns the value of this variable. - * - * @return this variable's value - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the VM. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li> - */ - public IValue getValue() throws DebugException; - /** - * Returns the name of this variable. Name format is debug model - * specific, and should be specified by a debug model. - * - * @return this variable's name - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the VM. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li> - */ - public String getName() throws DebugException; - /** - * Returns a description of the type of data this variable is - * declared to reference. Note that the declared type of a - * variable and the concrete type of its value are not neccessarily - * the same. - * - * @return the declared type of this variable - * @exception DebugException if this method fails. Reasons include: - * <ul><li>Failure communicating with the VM. The DebugException's - * status code contains the underlying exception responsible for - * the failure.</li> - */ - public String getReferenceTypeName() throws DebugException; - - /** - * Returns whether this variable's value has changed since the last suspend event. - * Implementations may choose whether the last suspend event is the last suspend - * event in this variable's debug target, or within the thread(s) in which this variable - * is visible. - * <p> - * Implementations that choose not to implement this function should always - * return <code>false</code>. - * </p> - * - * @return whether this variable's value has changed since the last suspend event - * @exception DebugException if an exception occurs determining if this variable's - * value has changed since the last suspend event - */ - public boolean hasValueChanged() throws DebugException; - - -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpression.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpression.java deleted file mode 100644 index 3c9eb9e0f..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpression.java +++ /dev/null @@ -1,92 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - -/** - * A watch expression is an expression that is evaluated in the context - * of a specific stack frame, thread, debug target, process, or launch. - * Generally, a watch expression is a snippet of code that is evaluated - * each time a debug target suspends, or when a user provides a context - * for an evaluation by selecting a debug target or thread. An expression - * updates its value when it is provided with a context in which it - * can perform an evaluation. - * <p> - * Clients are not intended to implement this interface. An implementation - * is provided by the debug platform. Clients that support watch expressions - * should contribute and implement a watch exrepssion delegate. Watch - * expressions can be created via the <code>IExpressionManager</code>. - * </p> - * @see org.eclipse.debug.core.model.IWatchExpressionDelegate - * @see org.eclipse.debug.core.IExpressionManager - * @since 3.0 - */ -public interface IWatchExpression extends IErrorReportingExpression { - - /** - * Updates this watch expression's value based on the current evaluation - * context. This watch expression fires a debug change event when the - * evaluation is complete. A watch expression can be asked to - * evaluate even when it is disabled. Note that implementations should - * generally be asynchronous to avoid blocking the calling thread. - */ - public void evaluate(); - /** - * Sets the context for this watch expression, or <code>null</code> if none. - * If the given context is valid for this expression, this expression may - * update its value. When the value update is complete, a debug change event is - * fired. When <code>null</code> is specified as a context, this expression - * may choose to retain its previous value. - * <p> - * The context is usually one of (but not limited to): - * <ul> - * <li>a debug target (<code>IDebugTarget</code>)</li> - * <li>a thread (<code>IThread</code>)</li> - * <li>a stack frame (<code>IStackFrame</code>)</li> - * </ul> - * </p> - * - * @param context context in which to update this expression's value, or - * <code>null</code> if none - */ - public void setExpressionContext(IDebugElement context); - /** - * Sets this watch expression's snippet of code. This method - * causes the new snippet to be evaluated immediately in - * the expression's last context. - * - * @param expressionText the snippet which will be evaluated - */ - public void setExpressionText(String expressionText); - /** - * Returns whether the result of this watch expression is pending. - * An expression is pending if an evaluation has been requested, but - * the value has not yet been returned. - * - * @return whether this expression's result is pending - */ - public boolean isPending(); - /** - * Returns whether this expression is enabled. An enabled expression will - * update its value. A disabled expression will not. - * - * @return whether this expression is enabled - */ - public boolean isEnabled(); - /** - * Sets this expression's enabled state. This method - * causes the new snippet to be evaluated immediately in - * the expression's last context. - * - * @param enabled whether this expression should be enabled - */ - public void setEnabled(boolean enabled); - -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionDelegate.java deleted file mode 100644 index e34d22681..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionDelegate.java +++ /dev/null @@ -1,51 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - -/** - * A delegate which computes the value of a watch expression - * when provided a context. Watch delegates are provided on a - * per debug model basis. Watch expressions query the appropriate - * delegate based on the debug model of the context element. - * Plug-ins that wish to contribute watch expression delegates may do so using the - * <code>org.eclipse.debug.core.watchExpressionDelegates</code> - * extension point. - * <p> - * For example, the following is the definition of a watch expression - * delegate for the com.example.foo plug-in: - * <pre> - * <extension point="org.eclipse.debug.core.watchExpressionDelegates"> - * <watchExpressionDelegate - * debugModel="org.eclipse.jdt.debug" - * delegateClass="org.eclipse.jdt.internal.debug.ui.JavaWatchExpressionDelegate"/> - * </extension> - * </pre> - * <p> - * Clients are intended to implement this interface. - * </p> - * @see org.eclipse.debug.core.model.IWatchExpression - * @see org.eclipse.debug.core.model.IWatchExpressionListener - * - * @since 3.0 - */ -public interface IWatchExpressionDelegate { - - /** - * Evaluates the given expression in the given context asynchronously and - * notifies the given listener when the evaluation finishes. - * - * @param expression the expression to evaluate - * @param context the context for the evaluation - * @param listener the listener to notify when the evaluation completes - */ - public void evaluateExpression(String expression, IDebugElement context, IWatchExpressionListener listener); - -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionListener.java deleted file mode 100644 index 8b1baa0a5..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionListener.java +++ /dev/null @@ -1,31 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - -/** - * A watch expression listener is notified when an - * <code>org.eclipse.debug.core.model.IWatchExpressionDelegate</code> - * completes an evaluation. - * - * @see org.eclipse.debug.core.model.IWatchExpressionDelegate - * @see org.eclipse.debug.core.model.IWatchExpressionResult - * @since 3.0 - */ -public interface IWatchExpressionListener { - - /** - * Notifies the listener that an evaluation has completed. - * - * @param result the result of the evaluation - */ - public void watchEvaluationFinished(IWatchExpressionResult result); - -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionResult.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionResult.java deleted file mode 100644 index 90a1c315b..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchExpressionResult.java +++ /dev/null @@ -1,74 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - -import org.eclipse.debug.core.DebugException; - -/** - * The result of an evaluation performed by an - * <code>org.eclipse.debug.core.model.IWatchExpressionDelegate</code>. - * A watch expression reports the value of the evaluation - * and any errors or exceptions that occurred. - * - * @see org.eclipse.debug.core.model.IWatchExpressionDelegate - * @since 3.0 - */ -public interface IWatchExpressionResult { - /** - * Returns the value representing the result of the - * evaluation, or <code>null</code> if the - * associated evaluation failed. If - * the associated evaluation failed, there will - * be problems, or an exception in this result. - * - * @return the resulting value, possibly - * <code>null</code> - */ - public IValue getValue(); - - /** - * Returns whether the evaluation had any problems - * or if an exception occurred while performing the - * evaluation. - * - * @return whether there were any problems. - * @see #getErrorMessages() - * @see #getException() - */ - public boolean hasErrors(); - - /** - * Returns an array of problem messages. Each message describes a problem that - * occurred while compiling the snippet. - * - * @return evaluation error messages, or an empty array if no errors occurred - */ - public String[] getErrorMessages(); - - /** - * Returns the expression that was evaluated. - * - * @return The string expression. - */ - public String getExpressionText(); - - /** - * Returns any exception that occurred while performing the evaluation - * or <code>null</code> if an exception did not occur. - * The exception will be a debug exception or a debug exception - * that wrappers a debug model specific exception that indicates a problem communicating - * with the target or with actually performing some action in the target. - * - * @return The exception that occurred during the evaluation - * @see org.eclipse.debug.core.DebugException - */ - public DebugException getException(); -} diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchpoint.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchpoint.java deleted file mode 100644 index e106ceea7..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/IWatchpoint.java +++ /dev/null @@ -1,83 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - - -import org.eclipse.core.runtime.CoreException; - -/** - * A breakpoint that suspends when an associated variable is - * read or written. - * <p> - * Clients may implement this interface. Clients are not required to - * implement this interface to implement watchpoints, but those that do inherit - * default rendering of images for watchpoints from the debug platform's - * default label provider and actions to toggle access and modification - * properties of a watchpoint. - * </p> - * @since 3.1 - */ -public interface IWatchpoint extends IBreakpoint { - /** - * Returns whether this watchpoint will suspend execution when its associated - * variable is accessed (read). - * - * @return whether this is an access watchpoint - * @exception CoreException if unable to access the property - * on this breakpoint's underlying marker - */ - public boolean isAccess() throws CoreException; - /** - * Sets whether this breakpoint will suspend execution when its associated - * variable is accessed. - * - * @param access whether to suspend on access - * @exception CoreException if unable to set the property on this breakpoint's - * underlying marker or if the capability is not supported - */ - public void setAccess(boolean access) throws CoreException; - /** - * Returns whether this watchpoint will suspend execution when its associated - * variable is written. - * - * @return whether this is a modification watchpoint - * @exception CoreException if unable to access the property - * on this breakpoint's underlying marker - */ - public boolean isModification() throws CoreException; - /** - * Sets whether this breakpoint will suspend execution when its associated - * variable is modified. - * - * @param modification whether to suspend on modification - * @exception CoreException if unable to set the property on - * this breakpoint's underlying marker or if the capability is not supported - */ - public void setModification(boolean modification) throws CoreException; - /** - * Returns whether this breakpoints supports the capability to suspend - * when an associated variable is read. - * - * @return whether this breakpoints supports the capability to suspend - * when an associated variable is read - */ - public boolean supportsAccess(); - /** - * Returns whether this breakpoints supports the ability to suspend - * when an associated variable is written. - * - * @return whether this breakpoints supports the ability to suspend - * when an associated variable is written - */ - public boolean supportsModification(); - -} - diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/LaunchConfigurationDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/LaunchConfigurationDelegate.java deleted file mode 100644 index 1dd3d558d..000000000 --- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/LaunchConfigurationDelegate.java +++ /dev/null @@ -1,323 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004 IBM Corporation 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: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.debug.core.model; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Set; - -import org.eclipse.core.resources.IMarker; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.IWorkspace; -import org.eclipse.core.resources.IncrementalProjectBuilder; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.debug.core.DebugPlugin; -import org.eclipse.debug.core.IBreakpointManager; -import org.eclipse.debug.core.ILaunch; -import org.eclipse.debug.core.ILaunchConfiguration; -import org.eclipse.debug.core.ILaunchManager; -import org.eclipse.debug.core.IStatusHandler; -import org.eclipse.debug.internal.core.DebugCoreMessages; - -/** - * Default implementation of a launch configuration delegate. Provides - * convenience methods for computing the build order of projects, - * building projects, and searching for errors in the workspace. The - * default pre-launch check prompts the user to launch in debug mode - * if breakpoints are present in the workspace. - * <p> - * Clients implementing launch configration delegates should subclass - * this class. - * </p> - * @since 3.0 - */ -public abstract class LaunchConfigurationDelegate implements ILaunchConfigurationDelegate2 { - - /** - * Status code for which a UI prompter is registered. - */ - protected static final IStatus promptStatus = new Status(IStatus.INFO, "org.eclipse.debug.ui", 200, "", null); //$NON-NLS-1$//$NON-NLS-2$ - - /** - * Status code for which a prompter is registered to ask the user if they - * want to launch in debug mode when breakpoints are present. - */ - protected static final IStatus switchToDebugPromptStatus = new Status(IStatus.INFO, "org.eclipse.debug.core", 201, "", null); //$NON-NLS-1$//$NON-NLS-2$ - - /** - * Status code for which a prompter is registered to ask the user if the - * want to continue launch despite existing compile errors - */ - protected static final IStatus complileErrorPromptStatus = new Status(IStatus.INFO, "org.eclipse.debug.core", 202, "", null); //$NON-NLS-1$ //$NON-NLS-2$ - - /* (non-Javadoc) - * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate2#getLaunch(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String) - */ - public ILaunch getLaunch(ILaunchConfiguration configuration, String mode) throws CoreException { - return null; - } - - /* (non-Javadoc) - * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate2#buildForLaunch(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String, org.eclipse.core.runtime.IProgressMonitor) - */ - public boolean buildForLaunch(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException { - IProject[] projects = getBuildOrder(configuration, mode); - if (projects == null) { - return true; - } - buildProjects(projects, monitor); - return false; - } - - /** - * Returns the projects to build before launching the given launch configuration - * or <code>null</code> if the entire workspace should be built incrementally. - * Subclasses should override as required. - * - * @param configuration the configuration being launched - * @param mode launch mode - * @return projects to build, in build order, or <code>null</code> - * @throws CoreException if an exception occurrs - */ - protected IProject[] getBuildOrder(ILaunchConfiguration configuration, String mode) throws CoreException { - return null; - } - - /** - * Returns the set of projects to use when searching for errors or <code>null</code> - * if no search is to be done. - * - * @param configuration the configuration being launched - * @param mode launch mode - * @return a list of projects or <code>null</code> - * @throws CoreException if an exception occurrs - */ - protected IProject[] getProjectsForProblemSearch(ILaunchConfiguration configuration, String mode) throws CoreException { - return null; - } - - /* (non-Javadoc) - * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate2#finalLaunchCheck(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String, org.eclipse.core.runtime.IProgressMonitor) - */ - public boolean finalLaunchCheck(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException { - IProject[] projects = getProjectsForProblemSearch(configuration, mode); - if (projects == null) { - return true; //continue launch - } - boolean continueLaunch = true; - - monitor.subTask(DebugCoreMessages.getString("LaunchConfigurationDelegate.6")); //$NON-NLS-1$ - for (int i = 0; i < projects.length; i++) { - monitor.subTask(DebugCoreMessages.getString("LaunchConfigurationDelegate.7") + projects[i].getName()); //$NON-NLS-1$ - if (existsProblems(projects[i])) { - IStatusHandler prompter = DebugPlugin.getDefault().getStatusHandler(promptStatus); - if (prompter != null) { - continueLaunch = ((Boolean) prompter.handleStatus(complileErrorPromptStatus, configuration)).booleanValue(); - break; - } - } - } - - return continueLaunch; - } - - /* (non-Javadoc) - * - * If launching in run mode, and the configuration supports debug mode, check - * if there are any breakpoints in the workspace, and ask the user if they'd - * rather launch in debug mode. - * - * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate2#preLaunchCheck(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String, org.eclipse.core.runtime.IProgressMonitor) - */ - public boolean preLaunchCheck(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException { - if (mode.equals(ILaunchManager.RUN_MODE) && configuration.supportsMode(ILaunchManager.DEBUG_MODE)) { - IBreakpoint[] breakpoints= getBreakpoints(configuration); - if (breakpoints == null) { - |