From 9aee6c4850fa0e464f50122bdee94527d926eb30 Mon Sep 17 00:00:00 2001 From: Sergey Prigogin Date: Fri, 10 Dec 2010 22:39:43 +0000 Subject: [PATCH] Bug 225805 - Sourcelookup handling does not scale to large projects --- .../org/eclipse/cdt/core/ISourceFinder.java | 2 +- .../plugin.properties | 7 + debug/org.eclipse.cdt.debug.core/plugin.xml | 24 +- .../cdt/debug/core/CDebugCorePlugin.java | 23 +- .../sourcelookup/CProjectSourceContainer.java | 277 ++++++++++++++++++ .../sourcelookup/IMappingSourceContainer.java | 29 ++ .../sourcelookup/MappingSourceContainer.java | 6 +- .../core/ICDebugInternalConstants.java | 10 +- .../internal/core/model/CDebugTarget.java | 7 +- .../CProjectSourceContainerType.java | 67 +++++ .../sourcelookup/CSourceLookupDirector.java | 51 ++-- .../CSourcePathComputerDelegate.java | 46 +-- .../CommonSourceLookupDirector.java | 6 +- .../CompilationDirectorySourceContainer.java | 204 +++++++++++++ ...mpilationDirectorySourceContainerType.java | 64 ++++ .../InternalSourceLookupMessages.java | 14 +- .../InternalSourceLookupMessages.properties | 12 +- ...rceFoldersRelativePathSourceContainer.java | 208 +++++++++++++ ...oldersRelativePathSourceContainerType.java | 65 ++++ .../core/sourcelookup/SourceUtils.java | 61 +++- .../icons/obj16/dir_anchor_obj.gif | Bin 0 -> 936 bytes .../icons/obj16/proj_anchor_obj.gif | Bin 0 -> 963 bytes .../plugin.properties | 2 +- debug/org.eclipse.cdt.debug.ui/plugin.xml | 23 +- .../internal/ui/ICDebugHelpContextIds.java | 8 +- .../ui/IInternalCDebugUIConstants.java | 15 +- .../preferences/PreferenceMessages.properties | 4 +- .../ui/preferences/SourcePreferencePage.java | 2 +- .../CProjectSourceContainerBrowser.java | 64 ++++ ...lationDirectorySourceContainerBrowser.java | 67 +++++ ...ilationDirectorySourceContainerDialog.java | 231 +++++++++++++++ ...ramRelativePathSourceContainerBrowser.java | 27 ++ .../SourceContainerWorkbenchAdapter.java | 14 +- ...ersRelativePathSourceContainerBrowser.java | 64 ++++ .../sourcelookup/SourceLookupUIMessages.java | 15 +- .../SourceLookupUIMessages.properties | 20 +- .../TargetProjectSourceContainerDialog.java | 73 +++++ .../contexts_CDT_DEBUGGER.xml | 4 +- .../reference/cdt_o_ref.htm | 2 +- .../reference/cdt_u_dbg_src.htm | 16 +- .../topics_Reference.xml | 3 +- .../cdt/dsf/mi/service/CSourceLookup.java | 11 +- 42 files changed, 1735 insertions(+), 113 deletions(-) create mode 100644 debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/sourcelookup/CProjectSourceContainer.java create mode 100644 debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/sourcelookup/IMappingSourceContainer.java create mode 100644 debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/sourcelookup/CProjectSourceContainerType.java create mode 100644 debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/sourcelookup/CompilationDirectorySourceContainer.java create mode 100644 debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/sourcelookup/CompilationDirectorySourceContainerType.java create mode 100644 debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/sourcelookup/SourceFoldersRelativePathSourceContainer.java create mode 100644 debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/sourcelookup/SourceFoldersRelativePathSourceContainerType.java create mode 100644 debug/org.eclipse.cdt.debug.ui/icons/obj16/dir_anchor_obj.gif create mode 100644 debug/org.eclipse.cdt.debug.ui/icons/obj16/proj_anchor_obj.gif create mode 100644 debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/sourcelookup/CProjectSourceContainerBrowser.java create mode 100644 debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/sourcelookup/CompilationDirectorySourceContainerBrowser.java create mode 100644 debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/sourcelookup/CompilationDirectorySourceContainerDialog.java create mode 100644 debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/sourcelookup/ProgramRelativePathSourceContainerBrowser.java create mode 100644 debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/sourcelookup/SourceFoldersRelativePathSourceContainerBrowser.java create mode 100644 debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/sourcelookup/TargetProjectSourceContainerDialog.java diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ISourceFinder.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ISourceFinder.java index adf6f11f5e5..34f2fede5bf 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ISourceFinder.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/ISourceFinder.java @@ -29,7 +29,7 @@ import org.eclipse.core.runtime.IPath; * CDT has: *