head	1.73;
access;
symbols
	CDT_2_0_2_BI:1.67.2.2.0.2
	v200604120500:1.72
	v200604110500:1.72
	v200604100500:1.72
	v200604090500:1.72
	v200604080500:1.72
	v200604070500:1.72
	v200604060500:1.72
	v200604050500:1.72
	v200604041846:1.72
	v200604041825:1.72
	v200604041822:1.72
	CDT_3_0_2:1.72
	CDT_3_0_2_RC1:1.72
	CDT_3_0_2_RC0:1.72
	CDT_3_0_1:1.72
	CDT_3_0_1_b1:1.72
	CDT_3_0_1_b0:1.72
	CDT_3_0_1_RC1:1.72
	cdt_3_0:1.72.0.2
	CDT_3_0:1.72
	CDT_3_0_RC3:1.72
	CDT_3_0_RC2:1.72
	CDT_3_0_RC2_build0:1.72
	CDT_3_0_RC1:1.72
	CDT_3_0_RC1_build0:1.72
	CDT_3_0_M7b:1.72
	CDT_3_0_M7a:1.72
	CDT_3_0_M7:1.72
	CDT_3_0_M6:1.72
	CDT_2_1_1:1.70
	CDT_3_0_M5:1.71
	CDT_2_1_1_20050307:1.70
	CDT_2_1:1.70
	CDT_2_1_RC8:1.70
	CDT_2_1_RC7:1.70
	CDT_2_1_RC6:1.70
	CDT_2_1_RC5:1.70
	CDT_2_1_RC4:1.70
	CDT_2_1_RC3:1.70
	cdt_21:1.70.0.2
	Root_cdt_21:1.70
	CDT_2_1_RC2:1.70
	CDT_2_1_RC1:1.70
	CDT_2_1_RC0:1.70
	CDT_2_0_2:1.67.2.2
	cdt_ast2:1.69.0.2
	Root_cdt_ast2:1.69
	CDT_2_0:1.67
	cdt_2_0:1.67.0.2
	CDT_2_0_RC1:1.67
	CDT_2_0_M9:1.60
	CDT_2_0_M8:1.46
	CDT_1_2_1_RC3:1.37.2.5
	CDT_1_2_1_RC2:1.37.2.5
	CDT_2_0_M7:1.42
	CDT_1_2_1_RC1:1.37.2.2
	CDT_2_0_M6:1.39
	CDT_2_0_M5_1:1.39
	CDT_1_2_1_M1:1.37.2.2
	CDT_1_2_RC1:1.37.2.1
	CDT_1_2_RC0:1.37
	cdt_1_2:1.37.0.2
	Root_cdt_1_2:1.37;
locks; strict;
comment	@# @;
expand	@b@;


1.73
date	2006.04.12.17.11.13;	author dschaefer;	state dead;
branches;
next	1.72;

1.72
date	2005.03.28.16.36.13;	author gheorghe;	state Exp;
branches;
next	1.71;

1.71
date	2005.03.14.05.32.07;	author gheorghe;	state Exp;
branches;
next	1.70;

1.70
date	2004.11.02.06.43.17;	author gheorghe;	state Exp;
branches;
next	1.69;

1.69
date	2004.08.13.18.54.25;	author gheorghe;	state Exp;
branches;
next	1.68;

1.68
date	2004.08.11.19.50.26;	author gheorghe;	state Exp;
branches;
next	1.67;

1.67
date	2004.06.25.20.43.44;	author gheorghe;	state Exp;
branches
	1.67.2.1;
next	1.66;

1.66
date	2004.06.25.19.02.11;	author gheorghe;	state Exp;
branches;
next	1.65;

1.65
date	2004.06.24.21.51.38;	author gheorghe;	state Exp;
branches;
next	1.64;

1.64
date	2004.06.23.03.32.16;	author amagloire;	state Exp;
branches;
next	1.63;

1.63
date	2004.06.22.03.17.19;	author gheorghe;	state Exp;
branches;
next	1.62;

1.62
date	2004.06.11.18.29.03;	author aniefer;	state Exp;
branches;
next	1.61;

1.61
date	2004.06.10.20.46.57;	author aniefer;	state Exp;
branches;
next	1.60;

1.60
date	2004.05.26.18.24.15;	author aniefer;	state Exp;
branches;
next	1.59;

1.59
date	2004.05.21.21.08.40;	author aniefer;	state Exp;
branches;
next	1.58;

1.58
date	2004.05.21.20.33.16;	author aniefer;	state Exp;
branches;
next	1.57;

1.57
date	2004.05.21.18.16.58;	author aniefer;	state Exp;
branches;
next	1.56;

1.56
date	2004.05.21.14.34.44;	author gheorghe;	state Exp;
branches;
next	1.55;

1.55
date	2004.05.18.19.20.23;	author aniefer;	state Exp;
branches;
next	1.54;

1.54
date	2004.05.18.02.29.20;	author gheorghe;	state Exp;
branches;
next	1.53;

1.53
date	2004.05.17.18.06.33;	author aniefer;	state Exp;
branches;
next	1.52;

1.52
date	2004.05.14.23.27.47;	author gheorghe;	state Exp;
branches;
next	1.51;

1.51
date	2004.05.14.18.29.54;	author aniefer;	state Exp;
branches;
next	1.50;

1.50
date	2004.05.06.18.33.01;	author gheorghe;	state Exp;
branches;
next	1.49;

1.49
date	2004.04.19.20.08.41;	author aniefer;	state Exp;
branches;
next	1.48;

1.48
date	2004.04.12.17.43.20;	author gheorghe;	state Exp;
branches;
next	1.47;

1.47
date	2004.04.05.20.52.21;	author aniefer;	state Exp;
branches;
next	1.46;

1.46
date	2004.03.24.15.29.07;	author gheorghe;	state Exp;
branches;
next	1.45;

1.45
date	2004.03.08.15.30.11;	author gheorghe;	state Exp;
branches;
next	1.44;

1.44
date	2004.02.16.20.46.12;	author aniefer;	state Exp;
branches;
next	1.43;

1.43
date	2004.02.15.23.30.53;	author jcamelon;	state Exp;
branches;
next	1.42;

1.42
date	2004.02.09.15.46.35;	author hamer;	state Exp;
branches;
next	1.41;

1.41
date	2004.02.05.19.56.27;	author amagloire;	state Exp;
branches;
next	1.40;

1.40
date	2004.01.27.01.21.18;	author jcamelon;	state Exp;
branches;
next	1.39;

1.39
date	2003.10.27.20.57.43;	author dschaefer;	state Exp;
branches;
next	1.38;

1.38
date	2003.10.27.18.26.50;	author dschaefer;	state Exp;
branches;
next	1.37;

1.37
date	2003.10.01.21.33.17;	author jcamelon;	state Exp;
branches
	1.37.2.1;
next	1.36;

1.36
date	2003.10.01.19.55.00;	author jcamelon;	state Exp;
branches;
next	1.35;

1.35
date	2003.10.01.13.33.33;	author jcamelon;	state Exp;
branches;
next	1.34;

1.34
date	2003.09.30.18.18.22;	author jcamelon;	state Exp;
branches;
next	1.33;

1.33
date	2003.09.30.14.10.23;	author jcamelon;	state Exp;
branches;
next	1.32;

1.32
date	2003.09.30.13.42.39;	author jcamelon;	state Exp;
branches;
next	1.31;

1.31
date	2003.09.29.19.49.13;	author jcamelon;	state Exp;
branches;
next	1.30;

1.30
date	2003.09.26.17.53.31;	author dschaefer;	state Exp;
branches;
next	1.29;

1.29
date	2003.09.26.14.58.12;	author jcamelon;	state Exp;
branches;
next	1.28;

1.28
date	2003.09.25.19.51.46;	author jcamelon;	state Exp;
branches;
next	1.27;

1.27
date	2003.09.24.13.36.40;	author jcamelon;	state Exp;
branches;
next	1.26;

1.26
date	2003.09.22.18.38.24;	author jcamelon;	state Exp;
branches;
next	1.25;

1.25
date	2003.09.18.15.15.08;	author jcamelon;	state Exp;
branches;
next	1.24;

1.24
date	2003.09.15.17.31.22;	author jcamelon;	state Exp;
branches;
next	1.23;

1.23
date	2003.09.12.13.13.50;	author jcamelon;	state Exp;
branches;
next	1.22;

1.22
date	2003.09.09.15.46.38;	author jcamelon;	state Exp;
branches;
next	1.21;

1.21
date	2003.09.05.18.31.39;	author jcamelon;	state Exp;
branches;
next	1.20;

1.20
date	2003.09.04.13.50.42;	author jcamelon;	state Exp;
branches;
next	1.19;

1.19
date	2003.08.26.19.15.58;	author dschaefer;	state Exp;
branches;
next	1.18;

1.18
date	2003.08.20.20.53.50;	author dschaefer;	state Exp;
branches;
next	1.17;

1.17
date	2003.08.12.15.20.21;	author jcamelon;	state Exp;
branches;
next	1.16;

1.16
date	2003.08.12.14.29.07;	author jcamelon;	state Exp;
branches;
next	1.15;

1.15
date	2003.08.11.13.48.35;	author jcamelon;	state Exp;
branches;
next	1.14;

1.14
date	2003.08.11.13.42.47;	author jcamelon;	state Exp;
branches;
next	1.13;

1.13
date	2003.08.07.14.52.18;	author dschaefer;	state Exp;
branches;
next	1.12;

1.12
date	2003.08.01.19.26.50;	author jcamelon;	state Exp;
branches;
next	1.11;

1.11
date	2003.07.29.22.47.57;	author jcamelon;	state Exp;
branches;
next	1.10;

1.10
date	2003.07.29.12.40.17;	author jcamelon;	state Exp;
branches;
next	1.9;

1.9
date	2003.07.25.17.25.49;	author jcamelon;	state Exp;
branches;
next	1.8;

1.8
date	2003.07.25.15.21.57;	author jcamelon;	state Exp;
branches;
next	1.7;

1.7
date	2003.07.24.21.43.47;	author jcamelon;	state Exp;
branches;
next	1.6;

1.6
date	2003.07.24.14.20.16;	author dschaefer;	state Exp;
branches;
next	1.5;

1.5
date	2003.07.15.14.43.50;	author dschaefer;	state Exp;
branches;
next	1.4;

1.4
date	2003.07.11.22.12.35;	author dschaefer;	state Exp;
branches;
next	1.3;

1.3
date	2003.07.04.17.15.41;	author jcamelon;	state Exp;
branches;
next	1.2;

1.2
date	2003.06.28.19.56.54;	author jcamelon;	state Exp;
branches;
next	1.1;

1.1
date	2003.06.27.14.31.27;	author dschaefer;	state Exp;
branches;
next	;

1.37.2.1
date	2003.10.09.17.46.54;	author dschaefer;	state Exp;
branches;
next	1.37.2.2;

1.37.2.2
date	2003.10.27.20.44.57;	author dschaefer;	state Exp;
branches;
next	1.37.2.3;

1.37.2.3
date	2004.02.05.19.56.06;	author amagloire;	state Exp;
branches;
next	1.37.2.4;

1.37.2.4
date	2004.02.13.22.03.10;	author jcamelon;	state Exp;
branches;
next	1.37.2.5;

1.37.2.5
date	2004.02.15.23.12.35;	author jcamelon;	state Exp;
branches;
next	;

1.67.2.1
date	2004.08.11.20.05.35;	author gheorghe;	state Exp;
branches;
next	1.67.2.2;

1.67.2.2
date	2004.08.13.19.39.11;	author gheorghe;	state Exp;
branches;
next	1.67.2.3;

1.67.2.3
date	2004.12.16.01.33.50;	author gheorghe;	state Exp;
branches;
next	;


desc
@@


1.73
log
@Testing the scalability of the Commit Files dialog. No really, I've removed the old indexer, search and type cache and have fixed all the compile errors that doing so caused. A number of features are disabled to be re-enabled later.
@
text
@2005-03-28 Bogdan Gheorghe
	Modified IndexSelector and PatternSearchJob to work with all 3 indexers.
	
2005-03-12 Bogdan Gheorghe
	Updated search to work with new index framework
	
2004-11-02 Bogdan Gheorghe
	Partial Fix for 74427: Indexer needs to store more info
	
2004-08-11 Bogdan Gheorghe	
 	Fix for 71964: Search parses too many times
 	
 	* search/org/eclipse/cdt/internal/core/search/matching/MatchLocators.java
 	
2004-08-11 Bogdan Gheorghe
	Fix for Bug 59493: need to refine index query for open-type 
	
	* search/org/eclipse/cdt/internal/core/search/ICSearchConstants.java
	* search/org/eclipse/cdt/internal/core/search/matching/ClassDeclarationPattern.java
	* search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java
	* search/org/eclipse/cdt/internal/core/search/matching/DerivedTypesPattern.java
	* search/org/eclipse/cdt/internal/core/search/matching/FriendPattern.java
	
2004-06-25 Bogdan Gheorghe
	Indirect fix for Bug 65551: [Search] Search for Variable references should not include parameters
	Instead of excluding parameter references from searches, added parm declarations to the index (for
	both functions and methods)
	
	* search/org/eclipse/cdt/core/search/BasicSearchResultCollector.java
	* index/org/eclipse/cdt/internal/core/search/matching/MatchLocator.java
	
2004-06-25 Bogdan Gheorghe
	Fix for 68550: [Indexer] Cannot restart indexer by touching .c/.cpp/.cc files
	
	* search/org/eclipse/cdt/internal/core/search/processing/JobManager.java
	* index/org/eclipse/cdt/internal/core/search/indexing/IndexManager.java
	
2004-06-24 Bogdan Gheorghe
	Fix for 66695: [Indexer] Manually add an include path to a file/folder 
	is ignored by indexer
	
	* search/org/eclipse/cdt/internal/core/search/matching/MatchLocator.java
	
2004-06-22 Alain Magloire
	Part of PR 68246.
	Close the inputstream to release resource handle
	when we done with it, we can not rely on the GC to do it for us.

	* search/org/eclipse/cdt/internal/core/search/matching/MatchLocator.java

2004-06-21 Bogdan Gheorghe
	Modified JobManager to change state from waiting to enabled on a job request.
	
2004-06-11 Andrew Niefer
	fix bugs 43063 & 43498 - better handling of spaces around wild cards in search pattern

2004-06-10 Andrew Niefer
	fix bug 64986 - handle Containers in CSearchScope

2004-05-26 Andrew Niefer
	Modified search to use ASTUtil.getFunctionParameterTypes to get the strings to search for
	functions with specific parameters.

2004-05-21 Andrw Niefer
	fix bug 63478

2004-05-21 Andrew Niefer
	Indexer problems reporting: group problems under the indexer job in progress view

2004-05-21 Andrew Niefer
	bug 62731 - [Search] typedefs are appearing as union declarations
	* search/org/eclipse/cdt/internal/core/search/matching/ClassDeclarationPattern.java
	
2004-05-21 Bogdan Gheorghe
	bug 63320 - Search does not consider working copies
	Added a check to turn off indexer timer thread, if number entered is <= 0
	
2004-05-18 Andrew Niefer
	bug 62651 - indexer job hangs if project deleted from workspace
	When we discard jobs, we must downtick the indexing job as well.
	 * search/org/eclipse/cdt/internal/core/search/processing/IndexingJob.java
	 * search/org/eclipse/cdt/internal/core/search/processing/JobManager.java

2004-05-17 Bogdan Gheorghe
	Added matching routine to IncludePattern
	
2004-05-17 Andrew Niefer
	bug 61044 - report search matches at the end of each compilation unit

2004-05-14 Bogdan Gheorghe
	bug 60491 
	Added working copy filtering to search engine
	From now on only relevent working copies are considered for search
	If no index paths are found then search will return no results regardless of any working copies passed in
	
2004-05-14 Andrew Niefer
	bug 56411 - Added IndexingJob show that indexing shows up in the process view
      - this allows for the index job to be cancelled, which pauses indexing until someone requests something
      - if a request was waiting on the indexer and the indexer gets paused from a user canceling it, then the
        request is forced immediate.

2004-05-06 Bogdan Gheorghe
	Added friend to ICSearchConstants
	Created IMatchLocator to allow search users to pass in their own match locators
	Modified CSearchPattern to create friend search pattern
	Added Friend pattern
	Modified MatchLocator to check for class specifiers upon class exit

2004-04-19 Andrew Niefer
	speed up BasicSearchMatch.compareTo and .hashCode by reducing number of string objects created.

2004-04-12 Bogdan Gheorghe
	Modified FieldDeclarationPattern to work with new Enumerator type, added 
	DerivedTypesPattern.
	
2004-04-05 Andrew Niefer
	fix bug 54169, TYPE includes enum & typedef, handle that in ClassDeclarationPattern.matchLevel

2004-03-24 Bogdan Gheorghe
	Modified BasicSearchMatch to keep track of what files contained the match in order
	to create file links to support external file markers.
	
	Modified MatchLocator to pass in the referring file path to BasicSearchMatch if the
	match has no resource attached to it (ie. the match is external).
	
	* search/org/eclipse/cdt/core/search/BasicSearchResultCollector.java
	* search/org/eclipse/cdt/core/search/BasicSearchMatch.java
	* search/org/eclipse/cdt/core/search/ICSearchResultCollector.java
	* search/org/eclipse/cdt/core/search/IMatch.java
	* search/org/eclipse/cdt/internal/core/search/matching/MatchLocator.java

	
2004-03-08 Bogdan Gheorghe
	BasicSearchResultCollector patch from Chris Wiebe - adds setProgressMonitor method,
	cleans up some of the CoreException warnings
	
2004-02-16 Andrew Niefer
	fixed a couple of warnings
	moved OrPattern from org.eclipse.cdt.internal.core.search.matching to org.eclipse.cdt.core.search
	changed SearchEngine.search & MatchLocator.locateMatches to throw InterruptedException when cancelled
	updates calls to search to handle InterruptedException

2004-02-13 Bogdan Gheorghe
	- Added error handling to MatchLocator.locateMatches to handle possible
	  parser failures.
	
2004-02-06 Bogdan Gheorghe

	- Modified CSearchPattern.scanforParameters. If no parameters are passed in
	  as part of a function/method search, void is assigned as a parameter type.
	  
	- Modified MethodDeclarationPattern to check for void parameter types
	
2004-02-05 Alain Magloire
	PR 51221
	Reformat Patch from Bogdan base on Thomas Fletcher original patch
	In a nutshell, it moves the search operation into a runnable which
	can be passed to a progress dialog.

	* search/org/eclipse/cdt/core/search/BasicSearchResultCollector.java

2004-01-26 John Camelon
	Updated clients to use new Scanner logging service.
	
2003-10-23 Bogdan Gheorghe

	- Added AcceptMatchOperation to get around Bug 45324. The search
	  operation is no longer a WorkspaceModifyOperation (which used to
	  lock the workspace for the duration of search). Instead, we now
	  lock the workspace only when we tag the resources with markers.
	  	
	- Modified SearchEngine : we now receive a list of matches
	from the search that we pass into the AcceptMatchOperation.
	
	- Modified MatchLocator to add matches to passed in list instead
	  of reporting them right away
	  
	- Modified JobManager: -added in jobToIgnore parm to unblock dependency
	  jobs
	  
	  
2003-10-06 Bogdan Gheorghe
	- added createCFileSearchScope() to SearchEngine.java to improve
	  code complete performance
	  
2003-10-01 Andrew Niefer
	- fix bug 44026 by checking scope before reporting match in MatchLocator.report

2003-10-01 Andrew Niefer
	- fix BasicSearchMatch.equals() for bug43988

2003-09-30 Bogdan Gheorghe
	- changed logging in JobManager to use new ICLogConstants
	
2003-09-30 Andrew Niefer
	-fix bug43862 - Cannot find macro delcarations using all occurences.
	  * modified CSearchPattern.createMacroPattern

2003-09-29 Andrew Niefer
	- fix bug 43062 outline is confused on operator methods containing spaces
		- modify CSearchPattern.scanForNames to use same naming convention as TokenDuple.toString()
		- modify MatchLocator.report to use IASTOffsetableNamedElement.getNameEndOffset()

2003-09-29 Andrew Niefer
	-bug42911 - Search: cannot find beyond use of data member
	   - fix NPE's in BasicSearchMatch.equals & hashCode

2003-09-29 Andrew Niefer
	-fix NPE if IScannerInfoProvider returns null IScannerInfo

2003-09-25 Andrew Niefer
	- bug43129 - Cannot search for definitions of global variables
		- check definitions for variables, fields, enumerators and namespaces
		- handle enter/exitLinkageSpecification
		* search/org/eclipse/cdt/internal/core/search/matching/MatchLocator.java
		* search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java

2003-09-25 Bogdan Gheorghe
	- added SearchFor INCLUDE in ICSearchConstants
	- added acceptIncludeDeclaration to IIndexSearchRequestor
	- modified PathCollector to acceptIncludeDeclarations
	- modified CSearchPattern to create an IncludePattern
	- added IncludePattern.java
	
2003-09-25 Andrew Niefer
	- partial fix for 43664	Modify Matchlocator to not try and create a link if we have no 
	resource, instead just use the path

2003-09-23 Andrew Niefer
	fix bug 43498 Search with ? fails on first letter of second word
		-modifications to CSearchPattern.scanForNames()
		-add getSimpleName to MethodDeclarationPattern

2003-09-19 Andrew Niefer
	fix bug 43327 Code Complete finds local variables  
	- modified MatchLocator to not report local declarations when boolean is set
	- modified SearchEngine.search to take an additional parameter "excludeLocalDeclarations"

2003-09-15 Andrew Niefer
	- modify CSearchPattern to handle escaping wildcards (bug43063)
	- modify enterFunctionBody and enterMethodBody to fix bug42979
	- search for Parameter References

2003-09-13 Andrew Niefer
	-Searching for Typedefs: (bug42902)
		- modified setElementInfo in BasicSearchResultCollector
		- added TYPEDEF to ICSearchConstants
		- modified CSearchPattern & ClassDeclarationPattern
		- implemented acceptTypedef* in MatchLocator
	- modified BasicSearchMatch to implement Comparable

2003-09-11 Andrew Niefer
	- Modified ICSearchResultCollector.createMatch to not take a parent parameter
	- modified BasicSearchResultCollector to create the parent string from the fully qualified name of the node
	- modified MatchLocator to keep track of most recent declaration for reporting purposes
	- modified MatchLocator.report to use the most recent declaration

2003-09-09 Andrew Niefer
	pattern matching on function parameters:
	 - modified scanForParameters in CSearchPattern
	 - added getParamString in CSearchPattern
	 - modified matchLevel in MethodDeclarationPattern
	 
	Enumeration references
	 - modified acceptEnumeratorReference in MatchLocator

2003-09-05 Andrew Niefer
	- fix searching for enumerators

2003-09-03 Andrew Niefer
	- added CLASS_STRUCT to the SearchFor constants
	- Modified CSearchPattern to handle CLASS_STRUCT

2003-08-26 Bogdan Gheorghe
	- Added debug tracing statements to SearchEngine
	- Modified scanForNames in CSearchPattern to treat append
	  a token after "~" to allow for destructors search
	- Added scope checking to MatchLocator
	- Added debug trace statements to MatchLocator
	
2003-08-20 Bogdan Gheorghe
	- Changed matching and reporting functions to handle nodes 
	  of type IElaboratedTypeSpecifier
	
2003-08-12 Bogdan Gheorghe
	- Rolled field and variable search patterns into one pattern, in
	  order to allow for qualified var searches
	
2003-08-11 Andrew Niefer
	- Added Macro ICSearchConstant
	- Added acceptMacro to IIndexSearchRequestor and PathCollector
	- Added MacroDeclaration Pattern
	- Rolled method and function patterns into one method pattern
	- Added WorkingCopy support to search
	
2003-08-08 Bogdan Gheorghe
	- Added CreateSearchScope to create a search scope out of
	  CElements
	- Filled out CSearchScope to enable:
	   - adding a project to scope, include referenced projects
	   - adding individual CElements to scope
	
2003-08-08 Andrew Niefer
	- add function parameter information to search results

2003-08-06 Andrew Niefer
	- Create OrPattern which matches for search if any of its constituent patterns matches
	- modified MatchLocator to support the OrPattern
	- searching for All occurences now uses the OrPattern

2003-08-01 Andrew Niefer
	- Modified BasicSearchResultCollector to only accept matches it has not already seen
	- fixed bug in finding a resource when entering includes

2003-07-29 Andrew Niefer
	Refactoring Search result collection:
	- Modified ICSearchResultCollector
	- Modified IMatch
	- Modified MatchLocator to reflect changes in ICSearchResultCollector
	- Created BasicSearchMatch implements IMatch
	- Created BasicSearchResultCollector implements ICSearchResultCollector

2003-07-28 Andrew Niefer
	- added abstract CSearchPattern.resetIndexInfo fix bug with searching with globally 
	  qualified names
	- fixed bug in CSearchPattern.matchQualifications to do with globally qualified names
	- fixed bug in CSearchPattern.createFunctionPattern to do with parameter lists.

2003-07-25 Bogdan Gheorghe
	- Added refs to PathCollector
	- Filled in feedIndexRequestor for the new search patterns
	- Fixed the FunctionDeclarationPattern to work with no parms
	
2003-07-24 Andrew Niefer
	- Implemented decodeIndexEntry & matchIndexEntry for all patterns
	- changed MatchLocator to use a COMPLETE_PARSE.

2003-07-23 Andrew Niefer
	-Changed ICSearchPattern.matchLevel to take a ISourceElementCallbackDelegate
	-Changed ICSearchResultCollector.createMatch to take a ISourceElementCallbackDelegate
	-first implementations of:
		-CSearchPattern.createFunctionPattern
		-CSearchPattern.createVariablePattern
		-CSearchPattern.createMethodPattern
	-preliminary matching for remaining patterns
	-handling of remaining parser callbacks
	-generating index Prefixes for the patterns

2003-07-14 Andrew Niefer
	-Modified SearchFor instances in ICSearchConstants to more closely match what we are searching for
	-added IMatch interface, it represents matches found by the search engine, implementors can store
	 whatever information they like, see ICSearchResultCollector::createMatch
	-added createMatch to the ICSearchResultCollector interface, the result collector is responsible for
	 implementing IMatch to store whatever data they want out of the AST nodes.
	-added skeleton patterns:
		search/org/eclipse/cdt/internal/core/search/matching/FieldDeclarationPattern.java
		search/org/eclipse/cdt/internal/core/search/matching/FunctionDeclarationPattern.java
		search/org/eclipse/cdt/internal/core/search/matching/MethodDeclarationPattern.java
		search/org/eclipse/cdt/internal/core/search/matching/NamespaceDeclarationPattern.java
		search/org/eclipse/cdt/internal/core/search/matching/VariableDeclarationPattern.java
	-added beginnings of CSearchPattern::create*Pattern functions
	-modifications to MatchLocator to keep track of current scope
	-added CSearchPattern::matchQualifications
	
2003-07-10 Bogdan Gheorghe
	Provided implementation for ICSearchScope.java, CSearchScope.java
	
	Hooked up new CWorkspaceScope, PathCollector, PatternSearchJob in SearchEngine.java
	
	Provided implementation for PatternSearchJob.java - PatternSearchJob is where the first part
	of the search occurs - using an IndexSelector to filter the indexes, it gets the indexes from
	the IndexManager and then uses the passed in pattern to find the index matched. Once it finds
	an index match it adds the file path to the PathCollector.
	
	Modified CSearchPattern - added support to find index entries.
	
	Modified ClassDeclarationPattern - added support to decode, match and report
	index entries.
	
	
	Added:
		* search/org/eclipse/cdt/internal/core/search/CWorkspaceScope.java
		* search/org/eclipse/cdt/internal/core/search/IIndexSearchRequestor.java
		* search/org/eclipse/cdt/internal/core/search/IndexSelector.java
		* search/org/eclipse/cdt/internal/core/search/PathCollector.java
		
	Modified:
		* search/org/eclipse/cdt/core/search/ICSearchScope.java
		* search/org/eclipse/cdt/core/search/SearchEngine.java
		* search/org/eclipse/cdt/internal/core/search/CSearchScope.java
		* search/org/eclipse/cdt/internal/core/search/PatternSearchJob.java
		* search/org/eclipse/cdt/internal/core/search/matching/ClassDeclarationPattern.java
		* search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java
				
2003-07-04 Andrew Niefer
	Modified ICSearchConstants to use new nested classes SearchFor and LimitTo instead of int
	for stronger type safety
	
	Updated MatchLocator to invoke parser to do actual search.

2003-06-27 Andrew Niefer
	Modified:
		search/org.eclipse.cdt.core.search.matching/MatchLocator.java
			- enter/exitInclusion
			- enterClassSpecifier
		search/org.eclipse.cdt.core.search.matching/CSearchPattern.java
			- createClassPattern
			- matchesName
		search/org.eclipse.cdt.core.search.matching/ClassDeclarationPattern.java
			- matchLevel
		search/org.eclipse.cdt.core.search/ICSearchPattern.java
		search/org.eclipse.cdt.core.search/ICSearchResultCollector.java
		search/org.eclipse.cdt.core.search/SearchEngine.java

2003-06-25	Bogdan Gheorghe
	Modified:
		* search/org/eclipse/cdt/core/search/ICSearchConstants.java
		* search/org/eclipse/cdt/internal/core/search/Utils.java
		 - moved to index/org/eclipse/cdt/internal/core/search/Utils.java
		* search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java
		* search/org/eclipse/cdt/internal/core/search/processing/IJob.java
		* search/org/eclipse/cdt/internal/core/search/processing/JobManager.java@


1.72
log
@Initial CTags Indexer contribution
Added timing option to all three indexers
Modified event notification for all indexers to make use of ICDTIndexer constants
Modified SearchEngine to work with all 3 indexers
Added UI block for CTagsIndexer
Ironed out some UI wrinkles in Indexer Block
Added indexer change event for UI Block
@
text
@@


1.71
log
@New core framework for indexer
New UI framework for indexer
Updates to core tests/ui tests
@
text
@d1 3
@


1.70
log
@Partial Fix for Bug 74427: Indexer needs to store more info
Add more info to the index notification mechanism
Updated Indexer Tests to use new notification mechanism
@
text
@d1 3
@


1.69
log
@ Fix for 71964: Search parses too many times
@
text
@d1 3
@


1.68
log
@Fix for Bug 59493: need to refine index query for open-type
@
text
@d1 5
@


1.67
log
@Indirect fix for Bug 65551: [Search] Search for Variable references should not include parameters
Instead of excluding parameter references from searches, added parm declarations to the index (for
both functions and methods)
@
text
@d1 9
@


1.67.2.1
log
@Fix for Bug 59493: need to refine index query for open-type  (2.0 Stream)
@
text
@d1 398
a398 407
2004-08-11 Bogdan Gheorghe
	Fix for Bug 59493: need to refine index query for open-type 
	
	* search/org/eclipse/cdt/internal/core/search/ICSearchConstants.java
	* search/org/eclipse/cdt/internal/core/search/matching/ClassDeclarationPattern.java
	* search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java
	* search/org/eclipse/cdt/internal/core/search/matching/DerivedTypesPattern.java
	* search/org/eclipse/cdt/internal/core/search/matching/FriendPattern.java
	
2004-06-25 Bogdan Gheorghe
	Indirect fix for Bug 65551: [Search] Search for Variable references should not include parameters
	Instead of excluding parameter references from searches, added parm declarations to the index (for
	both functions and methods)
	
	* search/org/eclipse/cdt/core/search/BasicSearchResultCollector.java
	* index/org/eclipse/cdt/internal/core/search/matching/MatchLocator.java
	
2004-06-25 Bogdan Gheorghe
	Fix for 68550: [Indexer] Cannot restart indexer by touching .c/.cpp/.cc files
	
	* search/org/eclipse/cdt/internal/core/search/processing/JobManager.java
	* index/org/eclipse/cdt/internal/core/search/indexing/IndexManager.java
	
2004-06-24 Bogdan Gheorghe
	Fix for 66695: [Indexer] Manually add an include path to a file/folder 
	is ignored by indexer
	
	* search/org/eclipse/cdt/internal/core/search/matching/MatchLocator.java
	
2004-06-22 Alain Magloire
	Part of PR 68246.
	Close the inputstream to release resource handle
	when we done with it, we can not rely on the GC to do it for us.

	* search/org/eclipse/cdt/internal/core/search/matching/MatchLocator.java

2004-06-21 Bogdan Gheorghe
	Modified JobManager to change state from waiting to enabled on a job request.
	
2004-06-11 Andrew Niefer
	fix bugs 43063 & 43498 - better handling of spaces around wild cards in search pattern

2004-06-10 Andrew Niefer
	fix bug 64986 - handle Containers in CSearchScope

2004-05-26 Andrew Niefer
	Modified search to use ASTUtil.getFunctionParameterTypes to get the strings to search for
	functions with specific parameters.

2004-05-21 Andrw Niefer
	fix bug 63478

2004-05-21 Andrew Niefer
	Indexer problems reporting: group problems under the indexer job in progress view

2004-05-21 Andrew Niefer
	bug 62731 - [Search] typedefs are appearing as union declarations
	* search/org/eclipse/cdt/internal/core/search/matching/ClassDeclarationPattern.java
	
2004-05-21 Bogdan Gheorghe
	bug 63320 - Search does not consider working copies
	Added a check to turn off indexer timer thread, if number entered is <= 0
	
2004-05-18 Andrew Niefer
	bug 62651 - indexer job hangs if project deleted from workspace
	When we discard jobs, we must downtick the indexing job as well.
	 * search/org/eclipse/cdt/internal/core/search/processing/IndexingJob.java
	 * search/org/eclipse/cdt/internal/core/search/processing/JobManager.java

2004-05-17 Bogdan Gheorghe
	Added matching routine to IncludePattern
	
2004-05-17 Andrew Niefer
	bug 61044 - report search matches at the end of each compilation unit

2004-05-14 Bogdan Gheorghe
	bug 60491 
	Added working copy filtering to search engine
	From now on only relevent working copies are considered for search
	If no index paths are found then search will return no results regardless of any working copies passed in
	
2004-05-14 Andrew Niefer
	bug 56411 - Added IndexingJob show that indexing shows up in the process view
      - this allows for the index job to be cancelled, which pauses indexing until someone requests something
      - if a request was waiting on the indexer and the indexer gets paused from a user canceling it, then the
        request is forced immediate.

2004-05-06 Bogdan Gheorghe
	Added friend to ICSearchConstants
	Created IMatchLocator to allow search users to pass in their own match locators
	Modified CSearchPattern to create friend search pattern
	Added Friend pattern
	Modified MatchLocator to check for class specifiers upon class exit

2004-04-19 Andrew Niefer
	speed up BasicSearchMatch.compareTo and .hashCode by reducing number of string objects created.

2004-04-12 Bogdan Gheorghe
	Modified FieldDeclarationPattern to work with new Enumerator type, added 
	DerivedTypesPattern.
	
2004-04-05 Andrew Niefer
	fix bug 54169, TYPE includes enum & typedef, handle that in ClassDeclarationPattern.matchLevel

2004-03-24 Bogdan Gheorghe
	Modified BasicSearchMatch to keep track of what files contained the match in order
	to create file links to support external file markers.
	
	Modified MatchLocator to pass in the referring file path to BasicSearchMatch if the
	match has no resource attached to it (ie. the match is external).
	
	* search/org/eclipse/cdt/core/search/BasicSearchResultCollector.java
	* search/org/eclipse/cdt/core/search/BasicSearchMatch.java
	* search/org/eclipse/cdt/core/search/ICSearchResultCollector.java
	* search/org/eclipse/cdt/core/search/IMatch.java
	* search/org/eclipse/cdt/internal/core/search/matching/MatchLocator.java

	
2004-03-08 Bogdan Gheorghe
	BasicSearchResultCollector patch from Chris Wiebe - adds setProgressMonitor method,
	cleans up some of the CoreException warnings
	
2004-02-16 Andrew Niefer
	fixed a couple of warnings
	moved OrPattern from org.eclipse.cdt.internal.core.search.matching to org.eclipse.cdt.core.search
	changed SearchEngine.search & MatchLocator.locateMatches to throw InterruptedException when cancelled
	updates calls to search to handle InterruptedException

2004-02-13 Bogdan Gheorghe
	- Added error handling to MatchLocator.locateMatches to handle possible
	  parser failures.
	
2004-02-06 Bogdan Gheorghe

	- Modified CSearchPattern.scanforParameters. If no parameters are passed in
	  as part of a function/method search, void is assigned as a parameter type.
	  
	- Modified MethodDeclarationPattern to check for void parameter types
	
2004-02-05 Alain Magloire
	PR 51221
	Reformat Patch from Bogdan base on Thomas Fletcher original patch
	In a nutshell, it moves the search operation into a runnable which
	can be passed to a progress dialog.

	* search/org/eclipse/cdt/core/search/BasicSearchResultCollector.java

2004-01-26 John Camelon
	Updated clients to use new Scanner logging service.
	
2003-10-23 Bogdan Gheorghe

	- Added AcceptMatchOperation to get around Bug 45324. The search
	  operation is no longer a WorkspaceModifyOperation (which used to
	  lock the workspace for the duration of search). Instead, we now
	  lock the workspace only when we tag the resources with markers.
	  	
	- Modified SearchEngine : we now receive a list of matches
	from the search that we pass into the AcceptMatchOperation.
	
	- Modified MatchLocator to add matches to passed in list instead
	  of reporting them right away
	  
	- Modified JobManager: -added in jobToIgnore parm to unblock dependency
	  jobs
	  
	  
2003-10-06 Bogdan Gheorghe
	- added createCFileSearchScope() to SearchEngine.java to improve
	  code complete performance
	  
2003-10-01 Andrew Niefer
	- fix bug 44026 by checking scope before reporting match in MatchLocator.report

2003-10-01 Andrew Niefer
	- fix BasicSearchMatch.equals() for bug43988

2003-09-30 Bogdan Gheorghe
	- changed logging in JobManager to use new ICLogConstants
	
2003-09-30 Andrew Niefer
	-fix bug43862 - Cannot find macro delcarations using all occurences.
	  * modified CSearchPattern.createMacroPattern

2003-09-29 Andrew Niefer
	- fix bug 43062 outline is confused on operator methods containing spaces
		- modify CSearchPattern.scanForNames to use same naming convention as TokenDuple.toString()
		- modify MatchLocator.report to use IASTOffsetableNamedElement.getNameEndOffset()

2003-09-29 Andrew Niefer
	-bug42911 - Search: cannot find beyond use of data member
	   - fix NPE's in BasicSearchMatch.equals & hashCode

2003-09-29 Andrew Niefer
	-fix NPE if IScannerInfoProvider returns null IScannerInfo

2003-09-25 Andrew Niefer
	- bug43129 - Cannot search for definitions of global variables
		- check definitions for variables, fields, enumerators and namespaces
		- handle enter/exitLinkageSpecification
		* search/org/eclipse/cdt/internal/core/search/matching/MatchLocator.java
		* search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java

2003-09-25 Bogdan Gheorghe
	- added SearchFor INCLUDE in ICSearchConstants
	- added acceptIncludeDeclaration to IIndexSearchRequestor
	- modified PathCollector to acceptIncludeDeclarations
	- modified CSearchPattern to create an IncludePattern
	- added IncludePattern.java
	
2003-09-25 Andrew Niefer
	- partial fix for 43664	Modify Matchlocator to not try and create a link if we have no 
	resource, instead just use the path

2003-09-23 Andrew Niefer
	fix bug 43498 Search with ? fails on first letter of second word
		-modifications to CSearchPattern.scanForNames()
		-add getSimpleName to MethodDeclarationPattern

2003-09-19 Andrew Niefer
	fix bug 43327 Code Complete finds local variables  
	- modified MatchLocator to not report local declarations when boolean is set
	- modified SearchEngine.search to take an additional parameter "excludeLocalDeclarations"

2003-09-15 Andrew Niefer
	- modify CSearchPattern to handle escaping wildcards (bug43063)
	- modify enterFunctionBody and enterMethodBody to fix bug42979
	- search for Parameter References

2003-09-13 Andrew Niefer
	-Searching for Typedefs: (bug42902)
		- modified setElementInfo in BasicSearchResultCollector
		- added TYPEDEF to ICSearchConstants
		- modified CSearchPattern & ClassDeclarationPattern
		- implemented acceptTypedef* in MatchLocator
	- modified BasicSearchMatch to implement Comparable

2003-09-11 Andrew Niefer
	- Modified ICSearchResultCollector.createMatch to not take a parent parameter
	- modified BasicSearchResultCollector to create the parent string from the fully qualified name of the node
	- modified MatchLocator to keep track of most recent declaration for reporting purposes
	- modified MatchLocator.report to use the most recent declaration

2003-09-09 Andrew Niefer
	pattern matching on function parameters:
	 - modified scanForParameters in CSearchPattern
	 - added getParamString in CSearchPattern
	 - modified matchLevel in MethodDeclarationPattern
	 
	Enumeration references
	 - modified acceptEnumeratorReference in MatchLocator

2003-09-05 Andrew Niefer
	- fix searching for enumerators

2003-09-03 Andrew Niefer
	- added CLASS_STRUCT to the SearchFor constants
	- Modified CSearchPattern to handle CLASS_STRUCT

2003-08-26 Bogdan Gheorghe
	- Added debug tracing statements to SearchEngine
	- Modified scanForNames in CSearchPattern to treat append
	  a token after "~" to allow for destructors search
	- Added scope checking to MatchLocator
	- Added debug trace statements to MatchLocator
	
2003-08-20 Bogdan Gheorghe
	- Changed matching and reporting functions to handle nodes 
	  of type IElaboratedTypeSpecifier
	
2003-08-12 Bogdan Gheorghe
	- Rolled field and variable search patterns into one pattern, in
	  order to allow for qualified var searches
	
2003-08-11 Andrew Niefer
	- Added Macro ICSearchConstant
	- Added acceptMacro to IIndexSearchRequestor and PathCollector
	- Added MacroDeclaration Pattern
	- Rolled method and function patterns into one method pattern
	- Added WorkingCopy support to search
	
2003-08-08 Bogdan Gheorghe
	- Added CreateSearchScope to create a search scope out of
	  CElements
	- Filled out CSearchScope to enable:
	   - adding a project to scope, include referenced projects
	   - adding individual CElements to scope
	
2003-08-08 Andrew Niefer
	- add function parameter information to search results

2003-08-06 Andrew Niefer
	- Create OrPattern which matches for search if any of its constituent patterns matches
	- modified MatchLocator to support the OrPattern
	- searching for All occurences now uses the OrPattern

2003-08-01 Andrew Niefer
	- Modified BasicSearchResultCollector to only accept matches it has not already seen
	- fixed bug in finding a resource when entering includes

2003-07-29 Andrew Niefer
	Refactoring Search result collection:
	- Modified ICSearchResultCollector
	- Modified IMatch
	- Modified MatchLocator to reflect changes in ICSearchResultCollector
	- Created BasicSearchMatch implements IMatch
	- Created BasicSearchResultCollector implements ICSearchResultCollector

2003-07-28 Andrew Niefer
	- added abstract CSearchPattern.resetIndexInfo fix bug with searching with globally 
	  qualified names
	- fixed bug in CSearchPattern.matchQualifications to do with globally qualified names
	- fixed bug in CSearchPattern.createFunctionPattern to do with parameter lists.

2003-07-25 Bogdan Gheorghe
	- Added refs to PathCollector
	- Filled in feedIndexRequestor for the new search patterns
	- Fixed the FunctionDeclarationPattern to work with no parms
	
2003-07-24 Andrew Niefer
	- Implemented decodeIndexEntry & matchIndexEntry for all patterns
	- changed MatchLocator to use a COMPLETE_PARSE.

2003-07-23 Andrew Niefer
	-Changed ICSearchPattern.matchLevel to take a ISourceElementCallbackDelegate
	-Changed ICSearchResultCollector.createMatch to take a ISourceElementCallbackDelegate
	-first implementations of:
		-CSearchPattern.createFunctionPattern
		-CSearchPattern.createVariablePattern
		-CSearchPattern.createMethodPattern
	-preliminary matching for remaining patterns
	-handling of remaining parser callbacks
	-generating index Prefixes for the patterns

2003-07-14 Andrew Niefer
	-Modified SearchFor instances in ICSearchConstants to more closely match what we are searching for
	-added IMatch interface, it represents matches found by the search engine, implementors can store
	 whatever information they like, see ICSearchResultCollector::createMatch
	-added createMatch to the ICSearchResultCollector interface, the result collector is responsible for
	 implementing IMatch to store whatever data they want out of the AST nodes.
	-added skeleton patterns:
		search/org/eclipse/cdt/internal/core/search/matching/FieldDeclarationPattern.java
		search/org/eclipse/cdt/internal/core/search/matching/FunctionDeclarationPattern.java
		search/org/eclipse/cdt/internal/core/search/matching/MethodDeclarationPattern.java
		search/org/eclipse/cdt/internal/core/search/matching/NamespaceDeclarationPattern.java
		search/org/eclipse/cdt/internal/core/search/matching/VariableDeclarationPattern.java
	-added beginnings of CSearchPattern::create*Pattern functions
	-modifications to MatchLocator to keep track of current scope
	-added CSearchPattern::matchQualifications
	
2003-07-10 Bogdan Gheorghe
	Provided implementation for ICSearchScope.java, CSearchScope.java
	
	Hooked up new CWorkspaceScope, PathCollector, PatternSearchJob in SearchEngine.java
	
	Provided implementation for PatternSearchJob.java - PatternSearchJob is where the first part
	of the search occurs - using an IndexSelector to filter the indexes, it gets the indexes from
	the IndexManager and then uses the passed in pattern to find the index matched. Once it finds
	an index match it adds the file path to the PathCollector.
	
	Modified CSearchPattern - added support to find index entries.
	
	Modified ClassDeclarationPattern - added support to decode, match and report
	index entries.
	
	
	Added:
		* search/org/eclipse/cdt/internal/core/search/CWorkspaceScope.java
		* search/org/eclipse/cdt/internal/core/search/IIndexSearchRequestor.java
		* search/org/eclipse/cdt/internal/core/search/IndexSelector.java
		* search/org/eclipse/cdt/internal/core/search/PathCollector.java
		
	Modified:
		* search/org/eclipse/cdt/core/search/ICSearchScope.java
		* search/org/eclipse/cdt/core/search/SearchEngine.java
		* search/org/eclipse/cdt/internal/core/search/CSearchScope.java
		* search/org/eclipse/cdt/internal/core/search/PatternSearchJob.java
		* search/org/eclipse/cdt/internal/core/search/matching/ClassDeclarationPattern.java
		* search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java
				
2003-07-04 Andrew Niefer
	Modified ICSearchConstants to use new nested classes SearchFor and LimitTo instead of int
	for stronger type safety
	
	Updated MatchLocator to invoke parser to do actual search.

2003-06-27 Andrew Niefer
	Modified:
		search/org.eclipse.cdt.core.search.matching/MatchLocator.java
			- enter/exitInclusion
			- enterClassSpecifier
		search/org.eclipse.cdt.core.search.matching/CSearchPattern.java
			- createClassPattern
			- matchesName
		search/org.eclipse.cdt.core.search.matching/ClassDeclarationPattern.java
			- matchLevel
		search/org.eclipse.cdt.core.search/ICSearchPattern.java
		search/org.eclipse.cdt.core.search/ICSearchResultCollector.java
		search/org.eclipse.cdt.core.search/SearchEngine.java

2003-06-25	Bogdan Gheorghe
	Modified:
		* search/org/eclipse/cdt/core/search/ICSearchConstants.java
		* search/org/eclipse/cdt/internal/core/search/Utils.java
		 - moved to index/org/eclipse/cdt/internal/core/search/Utils.java
		* search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java
		* search/org/eclipse/cdt/internal/core/search/processing/IJob.java
@


1.67.2.2
log
@Fix for Bug 71964: Search parses too many times
@
text
@a0 5
2004-08-13 Bogdan Gheorghe
	Fix for Bug 71964: Search parses too many times
	
	* search/org/eclipse/cdt/internal/core/search/matching/MatchLocator.java
	
@


1.67.2.3
log
@Fix for 79402 - Store Index Locations per Header
@
text
@a0 3
2004-12-14 Bogdan Gheorghe
 	Partial Fix for 74427: Indexer needs to store more info
 	 
@


1.66
log
@Fix for 68550: [Indexer] Cannot restart indexer by touching .c/.cpp/.cc files
@
text
@d2 8
@


1.65
log
@Fix for 66695: [Indexer] Manually add an include path to a file/folder is ignored
Changed CompletionEngine getScannerInfo to get the info from a resource instead of
a project in order to get a complete list of include paths
@
text
@d1 6
@


1.64
log
@	Part of PR 68246.
	Close the inputstream to release resource handle
	when we done with it, we can not rely on the GC to do it for us.
@
text
@d1 6
@


1.63
log
@Modified JobManager to change state from waiting to enabled on a job request.
@
text
@d1 7
@


1.62
log
@fix bugs 43063 & 43498
@
text
@d1 3
@


1.61
log
@fix for bug 64986 - handle containers in CSearchScope
@
text
@d1 3
@


1.60
log
@- Move cdt.internal.core.parser.util.ASTUtil to cdt.core.parser.ast
- Modify search to use ASTUtil for building function parameter strings
- Modify selection search to use parameter info in search (bug 63966)
@
text
@d1 3
@


1.59
log
@fix bug 63478
@
text
@d1 4
@


1.58
log
@bug 43014, 62979:  Reporting IProblems encountered during indexing.  Only preprocessor problems to start
@
text
@d1 3
@


1.57
log
@bug 62731
@
text
@d2 3
@


1.56
log
@bug 63320 - Search does not consider working copies
Added a check to turn off indexer timer thread, if number entered is <= 0
@
text
@d1 4
@


1.55
log
@fix bug 62651
@
text
@d1 4
@


1.54
log
@Fix for 62512
Added matching routine to IncludePattern
@
text
@d1 6
@


1.53
log
@bug 61044 - report matches after each compilation unit
@
text
@d1 3
@


1.52
log
@	Fix for bug 60491
	Added working copy filtering to search engine
	From now on only relevent working copies are considered for search
	If no index paths are found then search will return no results regardless of any working copies passed in
@
text
@d1 3
@


1.51
log
@bug 56411
@
text
@d1 6
@


1.50
log
@Refactored search engine to take an IMatchLocator; added friends to the index: removed derived from search page
@
text
@d1 6
@


1.49
log
@speed up BasicSearchMatch.compareTo and .hashCode by reducing number of string objects created
@
text
@d1 7
@


1.48
log
@Added derived, enumerator types to the index. Modified search tests to work with new types, added new derived test. Modified Search dialog; added new types.
@
text
@d1 3
@


1.47
log
@fix bug 54169 - Search fails to find enum declaration
@
text
@d1 4
@


1.46
log
@External markers patch: allows searches on external included files
@
text
@d1 3
@


1.45
log
@Patch for Chris Wiebe: BasicSearchResultCollector refactoring
Refactored MouseClickListener out of CEditor; modified it to use CppCodeScanner keywords
Fixed Outline refresh problem by reverting to an earlier copy of WorkingCopyManager
@
text
@d1 14
@


1.44
log
@Search Refactoring for bugs
50983 - OrPattern not visible
51250 - search engine throws runtime exception OperationCanceledException
@
text
@d1 4
@


1.43
log
@Patch for Bogdan Gheorghe.

Improved error handling for Indexer 
Improved error handling for MatchLocator 
Bounds checking for mappings in IncudeEntry 
Improved error handling for Merge operations 
Source file name fitering for recreating an already existing index
@
text
@d1 285
a285 279
2004-02-13 Bogdan Gheorghe
	- Added error handling to MatchLocator.locateMatches to handle possible
	  parser failures.
	
2004-02-06 Bogdan Gheorghe

	- Modified CSearchPattern.scanforParameters. If no parameters are passed in
	  as part of a function/method search, void is assigned as a parameter type.
	  
	- Modified MethodDeclarationPattern to check for void parameter types
	
2004-02-05 Alain Magloire
	PR 51221
	Reformat Patch from Bogdan base on Thomas Fletcher original patch
	In a nutshell, it moves the search operation into a runnable which
	can be passed to a progress dialog.

	* search/org/eclipse/cdt/core/search/BasicSearchResultCollector.java

2004-01-26 John Camelon
	Updated clients to use new Scanner logging service.
	
2003-10-23 Bogdan Gheorghe

	- Added AcceptMatchOperation to get around Bug 45324. The search
	  operation is no longer a WorkspaceModifyOperation (which used to
	  lock the workspace for the duration of search). Instead, we now
	  lock the workspace only when we tag the resources with markers.
	  	
	- Modified SearchEngine : we now receive a list of matches
	from the search that we pass into the AcceptMatchOperation.
	
	- Modified MatchLocator to add matches to passed in list instead
	  of reporting them right away
	  
	- Modified JobManager: -added in jobToIgnore parm to unblock dependency
	  jobs
	  
	  
2003-10-06 Bogdan Gheorghe
	- added createCFileSearchScope() to SearchEngine.java to improve
	  code complete performance
	  
2003-10-01 Andrew Niefer
	- fix bug 44026 by checking scope before reporting match in MatchLocator.report

2003-10-01 Andrew Niefer
	- fix BasicSearchMatch.equals() for bug43988

2003-09-30 Bogdan Gheorghe
	- changed logging in JobManager to use new ICLogConstants
	
2003-09-30 Andrew Niefer
	-fix bug43862 - Cannot find macro delcarations using all occurences.
	  * modified CSearchPattern.createMacroPattern

2003-09-29 Andrew Niefer
	- fix bug 43062 outline is confused on operator methods containing spaces
		- modify CSearchPattern.scanForNames to use same naming convention as TokenDuple.toString()
		- modify MatchLocator.report to use IASTOffsetableNamedElement.getNameEndOffset()

2003-09-29 Andrew Niefer
	-bug42911 - Search: cannot find beyond use of data member
	   - fix NPE's in BasicSearchMatch.equals & hashCode

2003-09-29 Andrew Niefer
	-fix NPE if IScannerInfoProvider returns null IScannerInfo

2003-09-25 Andrew Niefer
	- bug43129 - Cannot search for definitions of global variables
		- check definitions for variables, fields, enumerators and namespaces
		- handle enter/exitLinkageSpecification
		* search/org/eclipse/cdt/internal/core/search/matching/MatchLocator.java
		* search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java

2003-09-25 Bogdan Gheorghe
	- added SearchFor INCLUDE in ICSearchConstants
	- added acceptIncludeDeclaration to IIndexSearchRequestor
	- modified PathCollector to acceptIncludeDeclarations
	- modified CSearchPattern to create an IncludePattern
	- added IncludePattern.java
	
2003-09-25 Andrew Niefer
	- partial fix for 43664	Modify Matchlocator to not try and create a link if we have no 
	resource, instead just use the path

2003-09-23 Andrew Niefer
	fix bug 43498 Search with ? fails on first letter of second word
		-modifications to CSearchPattern.scanForNames()
		-add getSimpleName to MethodDeclarationPattern

2003-09-19 Andrew Niefer
	fix bug 43327 Code Complete finds local variables  
	- modified MatchLocator to not report local declarations when boolean is set
	- modified SearchEngine.search to take an additional parameter "excludeLocalDeclarations"

2003-09-15 Andrew Niefer
	- modify CSearchPattern to handle escaping wildcards (bug43063)
	- modify enterFunctionBody and enterMethodBody to fix bug42979
	- search for Parameter References

2003-09-13 Andrew Niefer
	-Searching for Typedefs: (bug42902)
		- modified setElementInfo in BasicSearchResultCollector
		- added TYPEDEF to ICSearchConstants
		- modified CSearchPattern & ClassDeclarationPattern
		- implemented acceptTypedef* in MatchLocator
	- modified BasicSearchMatch to implement Comparable

2003-09-11 Andrew Niefer
	- Modified ICSearchResultCollector.createMatch to not take a parent parameter
	- modified BasicSearchResultCollector to create the parent string from the fully qualified name of the node
	- modified MatchLocator to keep track of most recent declaration for reporting purposes
	- modified MatchLocator.report to use the most recent declaration

2003-09-09 Andrew Niefer
	pattern matching on function parameters:
	 - modified scanForParameters in CSearchPattern
	 - added getParamString in CSearchPattern
	 - modified matchLevel in MethodDeclarationPattern
	 
	Enumeration references
	 - modified acceptEnumeratorReference in MatchLocator

2003-09-05 Andrew Niefer
	- fix searching for enumerators

2003-09-03 Andrew Niefer
	- added CLASS_STRUCT to the SearchFor constants
	- Modified CSearchPattern to handle CLASS_STRUCT

2003-08-26 Bogdan Gheorghe
	- Added debug tracing statements to SearchEngine
	- Modified scanForNames in CSearchPattern to treat append
	  a token after "~" to allow for destructors search
	- Added scope checking to MatchLocator
	- Added debug trace statements to MatchLocator
	
2003-08-20 Bogdan Gheorghe
	- Changed matching and reporting functions to handle nodes 
	  of type IElaboratedTypeSpecifier
	
2003-08-12 Bogdan Gheorghe
	- Rolled field and variable search patterns into one pattern, in
	  order to allow for qualified var searches
	
2003-08-11 Andrew Niefer
	- Added Macro ICSearchConstant
	- Added acceptMacro to IIndexSearchRequestor and PathCollector
	- Added MacroDeclaration Pattern
	- Rolled method and function patterns into one method pattern
	- Added WorkingCopy support to search
	
2003-08-08 Bogdan Gheorghe
	- Added CreateSearchScope to create a search scope out of
	  CElements
	- Filled out CSearchScope to enable:
	   - adding a project to scope, include referenced projects
	   - adding individual CElements to scope
	
2003-08-08 Andrew Niefer
	- add function parameter information to search results

2003-08-06 Andrew Niefer
	- Create OrPattern which matches for search if any of its constituent patterns matches
	- modified MatchLocator to support the OrPattern
	- searching for All occurences now uses the OrPattern

2003-08-01 Andrew Niefer
	- Modified BasicSearchResultCollector to only accept matches it has not already seen
	- fixed bug in finding a resource when entering includes

2003-07-29 Andrew Niefer
	Refactoring Search result collection:
	- Modified ICSearchResultCollector
	- Modified IMatch
	- Modified MatchLocator to reflect changes in ICSearchResultCollector
	- Created BasicSearchMatch implements IMatch
	- Created BasicSearchResultCollector implements ICSearchResultCollector

2003-07-28 Andrew Niefer
	- added abstract CSearchPattern.resetIndexInfo fix bug with searching with globally 
	  qualified names
	- fixed bug in CSearchPattern.matchQualifications to do with globally qualified names
	- fixed bug in CSearchPattern.createFunctionPattern to do with parameter lists.

2003-07-25 Bogdan Gheorghe
	- Added refs to PathCollector
	- Filled in feedIndexRequestor for the new search patterns
	- Fixed the FunctionDeclarationPattern to work with no parms
	
2003-07-24 Andrew Niefer
	- Implemented decodeIndexEntry & matchIndexEntry for all patterns
	- changed MatchLocator to use a COMPLETE_PARSE.

2003-07-23 Andrew Niefer
	-Changed ICSearchPattern.matchLevel to take a ISourceElementCallbackDelegate
	-Changed ICSearchResultCollector.createMatch to take a ISourceElementCallbackDelegate
	-first implementations of:
		-CSearchPattern.createFunctionPattern
		-CSearchPattern.createVariablePattern
		-CSearchPattern.createMethodPattern
	-preliminary matching for remaining patterns
	-handling of remaining parser callbacks
	-generating index Prefixes for the patterns

2003-07-14 Andrew Niefer
	-Modified SearchFor instances in ICSearchConstants to more closely match what we are searching for
	-added IMatch interface, it represents matches found by the search engine, implementors can store
	 whatever information they like, see ICSearchResultCollector::createMatch
	-added createMatch to the ICSearchResultCollector interface, the result collector is responsible for
	 implementing IMatch to store whatever data they want out of the AST nodes.
	-added skeleton patterns:
		search/org/eclipse/cdt/internal/core/search/matching/FieldDeclarationPattern.java
		search/org/eclipse/cdt/internal/core/search/matching/FunctionDeclarationPattern.java
		search/org/eclipse/cdt/internal/core/search/matching/MethodDeclarationPattern.java
		search/org/eclipse/cdt/internal/core/search/matching/NamespaceDeclarationPattern.java
		search/org/eclipse/cdt/internal/core/search/matching/VariableDeclarationPattern.java
	-added beginnings of CSearchPattern::create*Pattern functions
	-modifications to MatchLocator to keep track of current scope
	-added CSearchPattern::matchQualifications
	
2003-07-10 Bogdan Gheorghe
	Provided implementation for ICSearchScope.java, CSearchScope.java
	
	Hooked up new CWorkspaceScope, PathCollector, PatternSearchJob in SearchEngine.java
	
	Provided implementation for PatternSearchJob.java - PatternSearchJob is where the first part
	of the search occurs - using an IndexSelector to filter the indexes, it gets the indexes from
	the IndexManager and then uses the passed in pattern to find the index matched. Once it finds
	an index match it adds the file path to the PathCollector.
	
	Modified CSearchPattern - added support to find index entries.
	
	Modified ClassDeclarationPattern - added support to decode, match and report
	index entries.
	
	
	Added:
		* search/org/eclipse/cdt/internal/core/search/CWorkspaceScope.java
		* search/org/eclipse/cdt/internal/core/search/IIndexSearchRequestor.java
		* search/org/eclipse/cdt/internal/core/search/IndexSelector.java
		* search/org/eclipse/cdt/internal/core/search/PathCollector.java
		
	Modified:
		* search/org/eclipse/cdt/core/search/ICSearchScope.java
		* search/org/eclipse/cdt/core/search/SearchEngine.java
		* search/org/eclipse/cdt/internal/core/search/CSearchScope.java
		* search/org/eclipse/cdt/internal/core/search/PatternSearchJob.java
		* search/org/eclipse/cdt/internal/core/search/matching/ClassDeclarationPattern.java
		* search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java
				
2003-07-04 Andrew Niefer
	Modified ICSearchConstants to use new nested classes SearchFor and LimitTo instead of int
	for stronger type safety
	
	Updated MatchLocator to invoke parser to do actual search.

2003-06-27 Andrew Niefer
	Modified:
		search/org.eclipse.cdt.core.search.matching/MatchLocator.java
			- enter/exitInclusion
			- enterClassSpecifier
		search/org.eclipse.cdt.core.search.matching/CSearchPattern.java
			- createClassPattern
			- matchesName
		search/org.eclipse.cdt.core.search.matching/ClassDeclarationPattern.java
			- matchLevel
		search/org.eclipse.cdt.core.search/ICSearchPattern.java
		search/org.eclipse.cdt.core.search/ICSearchResultCollector.java
		search/org.eclipse.cdt.core.search/SearchEngine.java

2003-06-25	Bogdan Gheorghe
	Modified:
		* search/org/eclipse/cdt/core/search/ICSearchConstants.java
		* search/org/eclipse/cdt/internal/core/search/Utils.java
		 - moved to index/org/eclipse/cdt/internal/core/search/Utils.java
		* search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java
		* search/org/eclipse/cdt/internal/core/search/processing/IJob.java
@


1.42
log
@Patch for Bogdan : Search for function with no parameters VS ignore parameters.
@
text
@d1 4
@


1.41
log
@2004-02-05 Alain Magloire
	PR 51221
	Reformat Patch from Bogdan base on Thomas Fletcher original patch
	In a nutshell, it moves the search operation into a runnable which
	can be passed to a progress dialog.
@
text
@d1 275
a275 268
2004-02-05 Alain Magloire
	PR 51221
	Reformat Patch from Bogdan base on Thomas Fletcher original patch
	In a nutshell, it moves the search operation into a runnable which
	can be passed to a progress dialog.

	* search/org/eclipse/cdt/core/search/BasicSearchResultCollector.java

2004-01-26 John Camelon
	Updated clients to use new Scanner logging service.
	
2003-10-23 Bogdan Gheorghe

	- Added AcceptMatchOperation to get around Bug 45324. The search
	  operation is no longer a WorkspaceModifyOperation (which used to
	  lock the workspace for the duration of search). Instead, we now
	  lock the workspace only when we tag the resources with markers.
	  	
	- Modified SearchEngine : we now receive a list of matches
	from the search that we pass into the AcceptMatchOperation.
	
	- Modified MatchLocator to add matches to passed in list instead
	  of reporting them right away
	  
	- Modified JobManager: -added in jobToIgnore parm to unblock dependency
	  jobs
	  
	  
2003-10-06 Bogdan Gheorghe
	- added createCFileSearchScope() to SearchEngine.java to improve
	  code complete performance
	  
2003-10-01 Andrew Niefer
	- fix bug 44026 by checking scope before reporting match in MatchLocator.report

2003-10-01 Andrew Niefer
	- fix BasicSearchMatch.equals() for bug43988

2003-09-30 Bogdan Gheorghe
	- changed logging in JobManager to use new ICLogConstants
	
2003-09-30 Andrew Niefer
	-fix bug43862 - Cannot find macro delcarations using all occurences.
	  * modified CSearchPattern.createMacroPattern

2003-09-29 Andrew Niefer
	- fix bug 43062 outline is confused on operator methods containing spaces
		- modify CSearchPattern.scanForNames to use same naming convention as TokenDuple.toString()
		- modify MatchLocator.report to use IASTOffsetableNamedElement.getNameEndOffset()

2003-09-29 Andrew Niefer
	-bug42911 - Search: cannot find beyond use of data member
	   - fix NPE's in BasicSearchMatch.equals & hashCode

2003-09-29 Andrew Niefer
	-fix NPE if IScannerInfoProvider returns null IScannerInfo

2003-09-25 Andrew Niefer
	- bug43129 - Cannot search for definitions of global variables
		- check definitions for variables, fields, enumerators and namespaces
		- handle enter/exitLinkageSpecification
		* search/org/eclipse/cdt/internal/core/search/matching/MatchLocator.java
		* search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java

2003-09-25 Bogdan Gheorghe
	- added SearchFor INCLUDE in ICSearchConstants
	- added acceptIncludeDeclaration to IIndexSearchRequestor
	- modified PathCollector to acceptIncludeDeclarations
	- modified CSearchPattern to create an IncludePattern
	- added IncludePattern.java
	
2003-09-25 Andrew Niefer
	- partial fix for 43664	Modify Matchlocator to not try and create a link if we have no 
	resource, instead just use the path

2003-09-23 Andrew Niefer
	fix bug 43498 Search with ? fails on first letter of second word
		-modifications to CSearchPattern.scanForNames()
		-add getSimpleName to MethodDeclarationPattern

2003-09-19 Andrew Niefer
	fix bug 43327 Code Complete finds local variables  
	- modified MatchLocator to not report local declarations when boolean is set
	- modified SearchEngine.search to take an additional parameter "excludeLocalDeclarations"

2003-09-15 Andrew Niefer
	- modify CSearchPattern to handle escaping wildcards (bug43063)
	- modify enterFunctionBody and enterMethodBody to fix bug42979
	- search for Parameter References

2003-09-13 Andrew Niefer
	-Searching for Typedefs: (bug42902)
		- modified setElementInfo in BasicSearchResultCollector
		- added TYPEDEF to ICSearchConstants
		- modified CSearchPattern & ClassDeclarationPattern
		- implemented acceptTypedef* in MatchLocator
	- modified BasicSearchMatch to implement Comparable

2003-09-11 Andrew Niefer
	- Modified ICSearchResultCollector.createMatch to not take a parent parameter
	- modified BasicSearchResultCollector to create the parent string from the fully qualified name of the node
	- modified MatchLocator to keep track of most recent declaration for reporting purposes
	- modified MatchLocator.report to use the most recent declaration

2003-09-09 Andrew Niefer
	pattern matching on function parameters:
	 - modified scanForParameters in CSearchPattern
	 - added getParamString in CSearchPattern
	 - modified matchLevel in MethodDeclarationPattern
	 
	Enumeration references
	 - modified acceptEnumeratorReference in MatchLocator

2003-09-05 Andrew Niefer
	- fix searching for enumerators

2003-09-03 Andrew Niefer
	- added CLASS_STRUCT to the SearchFor constants
	- Modified CSearchPattern to handle CLASS_STRUCT

2003-08-26 Bogdan Gheorghe
	- Added debug tracing statements to SearchEngine
	- Modified scanForNames in CSearchPattern to treat append
	  a token after "~" to allow for destructors search
	- Added scope checking to MatchLocator
	- Added debug trace statements to MatchLocator
	
2003-08-20 Bogdan Gheorghe
	- Changed matching and reporting functions to handle nodes 
	  of type IElaboratedTypeSpecifier
	
2003-08-12 Bogdan Gheorghe
	- Rolled field and variable search patterns into one pattern, in
	  order to allow for qualified var searches
	
2003-08-11 Andrew Niefer
	- Added Macro ICSearchConstant
	- Added acceptMacro to IIndexSearchRequestor and PathCollector
	- Added MacroDeclaration Pattern
	- Rolled method and function patterns into one method pattern
	- Added WorkingCopy support to search
	
2003-08-08 Bogdan Gheorghe
	- Added CreateSearchScope to create a search scope out of
	  CElements
	- Filled out CSearchScope to enable:
	   - adding a project to scope, include referenced projects
	   - adding individual CElements to scope
	
2003-08-08 Andrew Niefer
	- add function parameter information to search results

2003-08-06 Andrew Niefer
	- Create OrPattern which matches for search if any of its constituent patterns matches
	- modified MatchLocator to support the OrPattern
	- searching for All occurences now uses the OrPattern

2003-08-01 Andrew Niefer
	- Modified BasicSearchResultCollector to only accept matches it has not already seen
	- fixed bug in finding a resource when entering includes

2003-07-29 Andrew Niefer
	Refactoring Search result collection:
	- Modified ICSearchResultCollector
	- Modified IMatch
	- Modified MatchLocator to reflect changes in ICSearchResultCollector
	- Created BasicSearchMatch implements IMatch
	- Created BasicSearchResultCollector implements ICSearchResultCollector

2003-07-28 Andrew Niefer
	- added abstract CSearchPattern.resetIndexInfo fix bug with searching with globally 
	  qualified names
	- fixed bug in CSearchPattern.matchQualifications to do with globally qualified names
	- fixed bug in CSearchPattern.createFunctionPattern to do with parameter lists.

2003-07-25 Bogdan Gheorghe
	- Added refs to PathCollector
	- Filled in feedIndexRequestor for the new search patterns
	- Fixed the FunctionDeclarationPattern to work with no parms
	
2003-07-24 Andrew Niefer
	- Implemented decodeIndexEntry & matchIndexEntry for all patterns
	- changed MatchLocator to use a COMPLETE_PARSE.

2003-07-23 Andrew Niefer
	-Changed ICSearchPattern.matchLevel to take a ISourceElementCallbackDelegate
	-Changed ICSearchResultCollector.createMatch to take a ISourceElementCallbackDelegate
	-first implementations of:
		-CSearchPattern.createFunctionPattern
		-CSearchPattern.createVariablePattern
		-CSearchPattern.createMethodPattern
	-preliminary matching for remaining patterns
	-handling of remaining parser callbacks
	-generating index Prefixes for the patterns

2003-07-14 Andrew Niefer
	-Modified SearchFor instances in ICSearchConstants to more closely match what we are searching for
	-added IMatch interface, it represents matches found by the search engine, implementors can store
	 whatever information they like, see ICSearchResultCollector::createMatch
	-added createMatch to the ICSearchResultCollector interface, the result collector is responsible for
	 implementing IMatch to store whatever data they want out of the AST nodes.
	-added skeleton patterns:
		search/org/eclipse/cdt/internal/core/search/matching/FieldDeclarationPattern.java
		search/org/eclipse/cdt/internal/core/search/matching/FunctionDeclarationPattern.java
		search/org/eclipse/cdt/internal/core/search/matching/MethodDeclarationPattern.java
		search/org/eclipse/cdt/internal/core/search/matching/NamespaceDeclarationPattern.java
		search/org/eclipse/cdt/internal/core/search/matching/VariableDeclarationPattern.java
	-added beginnings of CSearchPattern::create*Pattern functions
	-modifications to MatchLocator to keep track of current scope
	-added CSearchPattern::matchQualifications
	
2003-07-10 Bogdan Gheorghe
	Provided implementation for ICSearchScope.java, CSearchScope.java
	
	Hooked up new CWorkspaceScope, PathCollector, PatternSearchJob in SearchEngine.java
	
	Provided implementation for PatternSearchJob.java - PatternSearchJob is where the first part
	of the search occurs - using an IndexSelector to filter the indexes, it gets the indexes from
	the IndexManager and then uses the passed in pattern to find the index matched. Once it finds
	an index match it adds the file path to the PathCollector.
	
	Modified CSearchPattern - added support to find index entries.
	
	Modified ClassDeclarationPattern - added support to decode, match and report
	index entries.
	
	
	Added:
		* search/org/eclipse/cdt/internal/core/search/CWorkspaceScope.java
		* search/org/eclipse/cdt/internal/core/search/IIndexSearchRequestor.java
		* search/org/eclipse/cdt/internal/core/search/IndexSelector.java
		* search/org/eclipse/cdt/internal/core/search/PathCollector.java
		
	Modified:
		* search/org/eclipse/cdt/core/search/ICSearchScope.java
		* search/org/eclipse/cdt/core/search/SearchEngine.java
		* search/org/eclipse/cdt/internal/core/search/CSearchScope.java
		* search/org/eclipse/cdt/internal/core/search/PatternSearchJob.java
		* search/org/eclipse/cdt/internal/core/search/matching/ClassDeclarationPattern.java
		* search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java
				
2003-07-04 Andrew Niefer
	Modified ICSearchConstants to use new nested classes SearchFor and LimitTo instead of int
	for stronger type safety
	
	Updated MatchLocator to invoke parser to do actual search.

2003-06-27 Andrew Niefer
	Modified:
		search/org.eclipse.cdt.core.search.matching/MatchLocator.java
			- enter/exitInclusion
			- enterClassSpecifier
		search/org.eclipse.cdt.core.search.matching/CSearchPattern.java
			- createClassPattern
			- matchesName
		search/org.eclipse.cdt.core.search.matching/ClassDeclarationPattern.java
			- matchLevel
		search/org.eclipse.cdt.core.search/ICSearchPattern.java
		search/org.eclipse.cdt.core.search/ICSearchResultCollector.java
		search/org.eclipse.cdt.core.search/SearchEngine.java

2003-06-25	Bogdan Gheorghe
	Modified:
		* search/org/eclipse/cdt/core/search/ICSearchConstants.java
		* search/org/eclipse/cdt/internal/core/search/Utils.java
		 - moved to index/org/eclipse/cdt/internal/core/search/Utils.java
		* search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java
		* search/org/eclipse/cdt/internal/core/search/processing/IJob.java
@


1.40
log
@Added traceLogs into Scanner.  	Fixed Bug 46402 : expression evaluation error on branch not taken. Added beginning of IScannerExtension and GCCScannerExtension support for gcc specific aspects. Added separate Scanner log category for tracing and updated clients to use it.
@
text
@d1 8
@


1.39
log
@Patch for Bogda Gheorghe: (44366 & 45324)
- Moved off all dependency calculations to the Indexer thread,
created a new UpdateDependency job
- Modified CSearchOperation to only lock the workspace when
tagging resources with markers.
@
text
@d1 3
@


1.38
log
@Merged 1.2 fixes into HEAD. Includes:
- managed make fix for infinite make recursion
- search fix for large projects
- fixes to source project so that it actually contains source
@
text
@d1 257
a257 240
2003-10-06 Bogdan Gheorghe
	- added createCFileSearchScope() to SearchEngine.java to improve
	  code complete performance
	  
2003-10-01 Andrew Niefer
	- fix bug 44026 by checking scope before reporting match in MatchLocator.report

2003-10-01 Andrew Niefer
	- fix BasicSearchMatch.equals() for bug43988

2003-09-30 Bogdan Gheorghe
	- changed logging in JobManager to use new ICLogConstants
	
2003-09-30 Andrew Niefer
	-fix bug43862 - Cannot find macro delcarations using all occurences.
	  * modified CSearchPattern.createMacroPattern

2003-09-29 Andrew Niefer
	- fix bug 43062 outline is confused on operator methods containing spaces
		- modify CSearchPattern.scanForNames to use same naming convention as TokenDuple.toString()
		- modify MatchLocator.report to use IASTOffsetableNamedElement.getNameEndOffset()

2003-09-29 Andrew Niefer
	-bug42911 - Search: cannot find beyond use of data member
	   - fix NPE's in BasicSearchMatch.equals & hashCode

2003-09-29 Andrew Niefer
	-fix NPE if IScannerInfoProvider returns null IScannerInfo

2003-09-25 Andrew Niefer
	- bug43129 - Cannot search for definitions of global variables
		- check definitions for variables, fields, enumerators and namespaces
		- handle enter/exitLinkageSpecification
		* search/org/eclipse/cdt/internal/core/search/matching/MatchLocator.java
		* search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java

2003-09-25 Bogdan Gheorghe
	- added SearchFor INCLUDE in ICSearchConstants
	- added acceptIncludeDeclaration to IIndexSearchRequestor
	- modified PathCollector to acceptIncludeDeclarations
	- modified CSearchPattern to create an IncludePattern
	- added IncludePattern.java
	
2003-09-25 Andrew Niefer
	- partial fix for 43664	Modify Matchlocator to not try and create a link if we have no 
	resource, instead just use the path

2003-09-23 Andrew Niefer
	fix bug 43498 Search with ? fails on first letter of second word
		-modifications to CSearchPattern.scanForNames()
		-add getSimpleName to MethodDeclarationPattern

2003-09-19 Andrew Niefer
	fix bug 43327 Code Complete finds local variables  
	- modified MatchLocator to not report local declarations when boolean is set
	- modified SearchEngine.search to take an additional parameter "excludeLocalDeclarations"

2003-09-15 Andrew Niefer
	- modify CSearchPattern to handle escaping wildcards (bug43063)
	- modify enterFunctionBody and enterMethodBody to fix bug42979
	- search for Parameter References

2003-09-13 Andrew Niefer
	-Searching for Typedefs: (bug42902)
		- modified setElementInfo in BasicSearchResultCollector
		- added TYPEDEF to ICSearchConstants
		- modified CSearchPattern & ClassDeclarationPattern
		- implemented acceptTypedef* in MatchLocator
	- modified BasicSearchMatch to implement Comparable

2003-09-11 Andrew Niefer
	- Modified ICSearchResultCollector.createMatch to not take a parent parameter
	- modified BasicSearchResultCollector to create the parent string from the fully qualified name of the node
	- modified MatchLocator to keep track of most recent declaration for reporting purposes
	- modified MatchLocator.report to use the most recent declaration

2003-09-09 Andrew Niefer
	pattern matching on function parameters:
	 - modified scanForParameters in CSearchPattern
	 - added getParamString in CSearchPattern
	 - modified matchLevel in MethodDeclarationPattern
	 
	Enumeration references
	 - modified acceptEnumeratorReference in MatchLocator

2003-09-05 Andrew Niefer
	- fix searching for enumerators

2003-09-03 Andrew Niefer
	- added CLASS_STRUCT to the SearchFor constants
	- Modified CSearchPattern to handle CLASS_STRUCT

2003-08-26 Bogdan Gheorghe
	- Added debug tracing statements to SearchEngine
	- Modified scanForNames in CSearchPattern to treat append
	  a token after "~" to allow for destructors search
	- Added scope checking to MatchLocator
	- Added debug trace statements to MatchLocator
	
2003-08-20 Bogdan Gheorghe
	- Changed matching and reporting functions to handle nodes 
	  of type IElaboratedTypeSpecifier
	
2003-08-12 Bogdan Gheorghe
	- Rolled field and variable search patterns into one pattern, in
	  order to allow for qualified var searches
	
2003-08-11 Andrew Niefer
	- Added Macro ICSearchConstant
	- Added acceptMacro to IIndexSearchRequestor and PathCollector
	- Added MacroDeclaration Pattern
	- Rolled method and function patterns into one method pattern
	- Added WorkingCopy support to search
	
2003-08-08 Bogdan Gheorghe
	- Added CreateSearchScope to create a search scope out of
	  CElements
	- Filled out CSearchScope to enable:
	   - adding a project to scope, include referenced projects
	   - adding individual CElements to scope
	
2003-08-08 Andrew Niefer
	- add function parameter information to search results

2003-08-06 Andrew Niefer
	- Create OrPattern which matches for search if any of its constituent patterns matches
	- modified MatchLocator to support the OrPattern
	- searching for All occurences now uses the OrPattern

2003-08-01 Andrew Niefer
	- Modified BasicSearchResultCollector to only accept matches it has not already seen
	- fixed bug in finding a resource when entering includes

2003-07-29 Andrew Niefer
	Refactoring Search result collection:
	- Modified ICSearchResultCollector
	- Modified IMatch
	- Modified MatchLocator to reflect changes in ICSearchResultCollector
	- Created BasicSearchMatch implements IMatch
	- Created BasicSearchResultCollector implements ICSearchResultCollector

2003-07-28 Andrew Niefer
	- added abstract CSearchPattern.resetIndexInfo fix bug with searching with globally 
	  qualified names
	- fixed bug in CSearchPattern.matchQualifications to do with globally qualified names
	- fixed bug in CSearchPattern.createFunctionPattern to do with parameter lists.

2003-07-25 Bogdan Gheorghe
	- Added refs to PathCollector
	- Filled in feedIndexRequestor for the new search patterns
	- Fixed the FunctionDeclarationPattern to work with no parms
	
2003-07-24 Andrew Niefer
	- Implemented decodeIndexEntry & matchIndexEntry for all patterns
	- changed MatchLocator to use a COMPLETE_PARSE.

2003-07-23 Andrew Niefer
	-Changed ICSearchPattern.matchLevel to take a ISourceElementCallbackDelegate
	-Changed ICSearchResultCollector.createMatch to take a ISourceElementCallbackDelegate
	-first implementations of:
		-CSearchPattern.createFunctionPattern
		-CSearchPattern.createVariablePattern
		-CSearchPattern.createMethodPattern
	-preliminary matching for remaining patterns
	-handling of remaining parser callbacks
	-generating index Prefixes for the patterns

2003-07-14 Andrew Niefer
	-Modified SearchFor instances in ICSearchConstants to more closely match what we are searching for
	-added IMatch interface, it represents matches found by the search engine, implementors can store
	 whatever information they like, see ICSearchResultCollector::createMatch
	-added createMatch to the ICSearchResultCollector interface, the result collector is responsible for
	 implementing IMatch to store whatever data they want out of the AST nodes.
	-added skeleton patterns:
		search/org/eclipse/cdt/internal/core/search/matching/FieldDeclarationPattern.java
		search/org/eclipse/cdt/internal/core/search/matching/FunctionDeclarationPattern.java
		search/org/eclipse/cdt/internal/core/search/matching/MethodDeclarationPattern.java
		search/org/eclipse/cdt/internal/core/search/matching/NamespaceDeclarationPattern.java
		search/org/eclipse/cdt/internal/core/search/matching/VariableDeclarationPattern.java
	-added beginnings of CSearchPattern::create*Pattern functions
	-modifications to MatchLocator to keep track of current scope
	-added CSearchPattern::matchQualifications
	
2003-07-10 Bogdan Gheorghe
	Provided implementation for ICSearchScope.java, CSearchScope.java
	
	Hooked up new CWorkspaceScope, PathCollector, PatternSearchJob in SearchEngine.java
	
	Provided implementation for PatternSearchJob.java - PatternSearchJob is where the first part
	of the search occurs - using an IndexSelector to filter the indexes, it gets the indexes from
	the IndexManager and then uses the passed in pattern to find the index matched. Once it finds
	an index match it adds the file path to the PathCollector.
	
	Modified CSearchPattern - added support to find index entries.
	
	Modified ClassDeclarationPattern - added support to decode, match and report
	index entries.
	
	
	Added:
		* search/org/eclipse/cdt/internal/core/search/CWorkspaceScope.java
		* search/org/eclipse/cdt/internal/core/search/IIndexSearchRequestor.java
		* search/org/eclipse/cdt/internal/core/search/IndexSelector.java
		* search/org/eclipse/cdt/internal/core/search/PathCollector.java
		
	Modified:
		* search/org/eclipse/cdt/core/search/ICSearchScope.java
		* search/org/eclipse/cdt/core/search/SearchEngine.java
		* search/org/eclipse/cdt/internal/core/search/CSearchScope.java
		* search/org/eclipse/cdt/internal/core/search/PatternSearchJob.java
		* search/org/eclipse/cdt/internal/core/search/matching/ClassDeclarationPattern.java
		* search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java
				
2003-07-04 Andrew Niefer
	Modified ICSearchConstants to use new nested classes SearchFor and LimitTo instead of int
	for stronger type safety
	
	Updated MatchLocator to invoke parser to do actual search.

2003-06-27 Andrew Niefer
	Modified:
		search/org.eclipse.cdt.core.search.matching/MatchLocator.java
			- enter/exitInclusion
			- enterClassSpecifier
		search/org.eclipse.cdt.core.search.matching/CSearchPattern.java
			- createClassPattern
			- matchesName
		search/org.eclipse.cdt.core.search.matching/ClassDeclarationPattern.java
			- matchLevel
		search/org.eclipse.cdt.core.search/ICSearchPattern.java
		search/org.eclipse.cdt.core.search/ICSearchResultCollector.java
		search/org.eclipse.cdt.core.search/SearchEngine.java

2003-06-25	Bogdan Gheorghe
	Modified:
		* search/org/eclipse/cdt/core/search/ICSearchConstants.java
		* search/org/eclipse/cdt/internal/core/search/Utils.java
		 - moved to index/org/eclipse/cdt/internal/core/search/Utils.java
		* search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java
		* search/org/eclipse/cdt/internal/core/search/processing/IJob.java
@


1.37
log
@Patch for Andrew Niefer

core:
- fix bug 44026 by checking scope before reporting match in 
MatchLocator.report
ui:
-bug44032 - deleting/moving files breaks search
        * modified src/org/eclipse/cdt/ui/CSearchResultLabelProvider 
getText to return empty string instead of null
-bug43130 - Selected resources is disabled but selected
        * src/org/eclipse/cdt/internal/ui/search/CSearchPage
@
text
@d1 4
@


1.37.2.1
log
@Patch for Bogdan Gheorghe:
- Add in option (which is turned on by default) to limit the
scope of the code assist search to the file and it's inclusions
as opposed to the entire project.
@
text
@a0 4
2003-10-06 Bogdan Gheorghe
	- added createCFileSearchScope() to SearchEngine.java to improve
	  code complete performance
	  
@


1.37.2.2
log
@Patch for Bogdan: (44366 & 45324)
- Moved off all dependency calculations to the Indexer thread,
created a new UpdateDependency job
- Modified CSearchOperation to only lock the workspace
when tagging resources with markers.
@
text
@d1 240
a240 257
2003-10-23 Bogdan Gheorghe

	- Added AcceptMatchOperation to get around Bug 45324. The search
	  operation is no longer a WorkspaceModifyOperation (which used to
	  lock the workspace for the duration of search). Instead, we now
	  lock the workspace only when we tag the resources with markers.
	  	
	- Modified SearchEngine : we now receive a list of matches
	from the search that we pass into the AcceptMatchOperation.
	
	- Modified MatchLocator to add matches to passed in list instead
	  of reporting them right away
	  
	- Modified JobManager: -added in jobToIgnore parm to unblock dependency
	  jobs
	  
	  
2003-10-06 Bogdan Gheorghe
	- added createCFileSearchScope() to SearchEngine.java to improve
	  code complete performance
	  
2003-10-01 Andrew Niefer
	- fix bug 44026 by checking scope before reporting match in MatchLocator.report

2003-10-01 Andrew Niefer
	- fix BasicSearchMatch.equals() for bug43988

2003-09-30 Bogdan Gheorghe
	- changed logging in JobManager to use new ICLogConstants
	
2003-09-30 Andrew Niefer
	-fix bug43862 - Cannot find macro delcarations using all occurences.
	  * modified CSearchPattern.createMacroPattern

2003-09-29 Andrew Niefer
	- fix bug 43062 outline is confused on operator methods containing spaces
		- modify CSearchPattern.scanForNames to use same naming convention as TokenDuple.toString()
		- modify MatchLocator.report to use IASTOffsetableNamedElement.getNameEndOffset()

2003-09-29 Andrew Niefer
	-bug42911 - Search: cannot find beyond use of data member
	   - fix NPE's in BasicSearchMatch.equals & hashCode

2003-09-29 Andrew Niefer
	-fix NPE if IScannerInfoProvider returns null IScannerInfo

2003-09-25 Andrew Niefer
	- bug43129 - Cannot search for definitions of global variables
		- check definitions for variables, fields, enumerators and namespaces
		- handle enter/exitLinkageSpecification
		* search/org/eclipse/cdt/internal/core/search/matching/MatchLocator.java
		* search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java

2003-09-25 Bogdan Gheorghe
	- added SearchFor INCLUDE in ICSearchConstants
	- added acceptIncludeDeclaration to IIndexSearchRequestor
	- modified PathCollector to acceptIncludeDeclarations
	- modified CSearchPattern to create an IncludePattern
	- added IncludePattern.java
	
2003-09-25 Andrew Niefer
	- partial fix for 43664	Modify Matchlocator to not try and create a link if we have no 
	resource, instead just use the path

2003-09-23 Andrew Niefer
	fix bug 43498 Search with ? fails on first letter of second word
		-modifications to CSearchPattern.scanForNames()
		-add getSimpleName to MethodDeclarationPattern

2003-09-19 Andrew Niefer
	fix bug 43327 Code Complete finds local variables  
	- modified MatchLocator to not report local declarations when boolean is set
	- modified SearchEngine.search to take an additional parameter "excludeLocalDeclarations"

2003-09-15 Andrew Niefer
	- modify CSearchPattern to handle escaping wildcards (bug43063)
	- modify enterFunctionBody and enterMethodBody to fix bug42979
	- search for Parameter References

2003-09-13 Andrew Niefer
	-Searching for Typedefs: (bug42902)
		- modified setElementInfo in BasicSearchResultCollector
		- added TYPEDEF to ICSearchConstants
		- modified CSearchPattern & ClassDeclarationPattern
		- implemented acceptTypedef* in MatchLocator
	- modified BasicSearchMatch to implement Comparable

2003-09-11 Andrew Niefer
	- Modified ICSearchResultCollector.createMatch to not take a parent parameter
	- modified BasicSearchResultCollector to create the parent string from the fully qualified name of the node
	- modified MatchLocator to keep track of most recent declaration for reporting purposes
	- modified MatchLocator.report to use the most recent declaration

2003-09-09 Andrew Niefer
	pattern matching on function parameters:
	 - modified scanForParameters in CSearchPattern
	 - added getParamString in CSearchPattern
	 - modified matchLevel in MethodDeclarationPattern
	 
	Enumeration references
	 - modified acceptEnumeratorReference in MatchLocator

2003-09-05 Andrew Niefer
	- fix searching for enumerators

2003-09-03 Andrew Niefer
	- added CLASS_STRUCT to the SearchFor constants
	- Modified CSearchPattern to handle CLASS_STRUCT

2003-08-26 Bogdan Gheorghe
	- Added debug tracing statements to SearchEngine
	- Modified scanForNames in CSearchPattern to treat append
	  a token after "~" to allow for destructors search
	- Added scope checking to MatchLocator
	- Added debug trace statements to MatchLocator
	
2003-08-20 Bogdan Gheorghe
	- Changed matching and reporting functions to handle nodes 
	  of type IElaboratedTypeSpecifier
	
2003-08-12 Bogdan Gheorghe
	- Rolled field and variable search patterns into one pattern, in
	  order to allow for qualified var searches
	
2003-08-11 Andrew Niefer
	- Added Macro ICSearchConstant
	- Added acceptMacro to IIndexSearchRequestor and PathCollector
	- Added MacroDeclaration Pattern
	- Rolled method and function patterns into one method pattern
	- Added WorkingCopy support to search
	
2003-08-08 Bogdan Gheorghe
	- Added CreateSearchScope to create a search scope out of
	  CElements
	- Filled out CSearchScope to enable:
	   - adding a project to scope, include referenced projects
	   - adding individual CElements to scope
	
2003-08-08 Andrew Niefer
	- add function parameter information to search results

2003-08-06 Andrew Niefer
	- Create OrPattern which matches for search if any of its constituent patterns matches
	- modified MatchLocator to support the OrPattern
	- searching for All occurences now uses the OrPattern

2003-08-01 Andrew Niefer
	- Modified BasicSearchResultCollector to only accept matches it has not already seen
	- fixed bug in finding a resource when entering includes

2003-07-29 Andrew Niefer
	Refactoring Search result collection:
	- Modified ICSearchResultCollector
	- Modified IMatch
	- Modified MatchLocator to reflect changes in ICSearchResultCollector
	- Created BasicSearchMatch implements IMatch
	- Created BasicSearchResultCollector implements ICSearchResultCollector

2003-07-28 Andrew Niefer
	- added abstract CSearchPattern.resetIndexInfo fix bug with searching with globally 
	  qualified names
	- fixed bug in CSearchPattern.matchQualifications to do with globally qualified names
	- fixed bug in CSearchPattern.createFunctionPattern to do with parameter lists.

2003-07-25 Bogdan Gheorghe
	- Added refs to PathCollector
	- Filled in feedIndexRequestor for the new search patterns
	- Fixed the FunctionDeclarationPattern to work with no parms
	
2003-07-24 Andrew Niefer
	- Implemented decodeIndexEntry & matchIndexEntry for all patterns
	- changed MatchLocator to use a COMPLETE_PARSE.

2003-07-23 Andrew Niefer
	-Changed ICSearchPattern.matchLevel to take a ISourceElementCallbackDelegate
	-Changed ICSearchResultCollector.createMatch to take a ISourceElementCallbackDelegate
	-first implementations of:
		-CSearchPattern.createFunctionPattern
		-CSearchPattern.createVariablePattern
		-CSearchPattern.createMethodPattern
	-preliminary matching for remaining patterns
	-handling of remaining parser callbacks
	-generating index Prefixes for the patterns

2003-07-14 Andrew Niefer
	-Modified SearchFor instances in ICSearchConstants to more closely match what we are searching for
	-added IMatch interface, it represents matches found by the search engine, implementors can store
	 whatever information they like, see ICSearchResultCollector::createMatch
	-added createMatch to the ICSearchResultCollector interface, the result collector is responsible for
	 implementing IMatch to store whatever data they want out of the AST nodes.
	-added skeleton patterns:
		search/org/eclipse/cdt/internal/core/search/matching/FieldDeclarationPattern.java
		search/org/eclipse/cdt/internal/core/search/matching/FunctionDeclarationPattern.java
		search/org/eclipse/cdt/internal/core/search/matching/MethodDeclarationPattern.java
		search/org/eclipse/cdt/internal/core/search/matching/NamespaceDeclarationPattern.java
		search/org/eclipse/cdt/internal/core/search/matching/VariableDeclarationPattern.java
	-added beginnings of CSearchPattern::create*Pattern functions
	-modifications to MatchLocator to keep track of current scope
	-added CSearchPattern::matchQualifications
	
2003-07-10 Bogdan Gheorghe
	Provided implementation for ICSearchScope.java, CSearchScope.java
	
	Hooked up new CWorkspaceScope, PathCollector, PatternSearchJob in SearchEngine.java
	
	Provided implementation for PatternSearchJob.java - PatternSearchJob is where the first part
	of the search occurs - using an IndexSelector to filter the indexes, it gets the indexes from
	the IndexManager and then uses the passed in pattern to find the index matched. Once it finds
	an index match it adds the file path to the PathCollector.
	
	Modified CSearchPattern - added support to find index entries.
	
	Modified ClassDeclarationPattern - added support to decode, match and report
	index entries.
	
	
	Added:
		* search/org/eclipse/cdt/internal/core/search/CWorkspaceScope.java
		* search/org/eclipse/cdt/internal/core/search/IIndexSearchRequestor.java
		* search/org/eclipse/cdt/internal/core/search/IndexSelector.java
		* search/org/eclipse/cdt/internal/core/search/PathCollector.java
		
	Modified:
		* search/org/eclipse/cdt/core/search/ICSearchScope.java
		* search/org/eclipse/cdt/core/search/SearchEngine.java
		* search/org/eclipse/cdt/internal/core/search/CSearchScope.java
		* search/org/eclipse/cdt/internal/core/search/PatternSearchJob.java
		* search/org/eclipse/cdt/internal/core/search/matching/ClassDeclarationPattern.java
		* search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java
				
2003-07-04 Andrew Niefer
	Modified ICSearchConstants to use new nested classes SearchFor and LimitTo instead of int
	for stronger type safety
	
	Updated MatchLocator to invoke parser to do actual search.

2003-06-27 Andrew Niefer
	Modified:
		search/org.eclipse.cdt.core.search.matching/MatchLocator.java
			- enter/exitInclusion
			- enterClassSpecifier
		search/org.eclipse.cdt.core.search.matching/CSearchPattern.java
			- createClassPattern
			- matchesName
		search/org.eclipse.cdt.core.search.matching/ClassDeclarationPattern.java
			- matchLevel
		search/org.eclipse.cdt.core.search/ICSearchPattern.java
		search/org.eclipse.cdt.core.search/ICSearchResultCollector.java
		search/org.eclipse.cdt.core.search/SearchEngine.java

2003-06-25	Bogdan Gheorghe
	Modified:
		* search/org/eclipse/cdt/core/search/ICSearchConstants.java
		* search/org/eclipse/cdt/internal/core/search/Utils.java
		 - moved to index/org/eclipse/cdt/internal/core/search/Utils.java
		* search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java
		* search/org/eclipse/cdt/internal/core/search/processing/IJob.java
@


1.37.2.3
log
@PR 51221
Move the search operation in a runnable.
@
text
@a0 8
2004-02-05 Alain Magloire
	PR 51221
	Reformat Patch from Bogdan base on Thomas Fletcher original patch
	In a nutshell, it moves the search operation into a runnable which
	can be passed to a progress dialog.

	* search/org/eclipse/cdt/core/search/BasicSearchResultCollector.java

@


1.37.2.4
log
@Patch for Bogdan Gheorghe
In this patch: 

- Improved error handling for Indexer 
- Improved error handling for MatchLocator 
- Bounds checking for mappings in IncudeEntry 
- Improved error handling for Merge operations 
- Source file name fitering for recreating an already existing index
@
text
@d1 265
a265 269
2004-02-13 Bogdan Gheorghe
	- Added error handling to MatchLocator.locateMatches to handle possible
	  parser failures.
	
2004-02-05 Alain Magloire
	PR 51221
	Reformat Patch from Bogdan base on Thomas Fletcher original patch
	In a nutshell, it moves the search operation into a runnable which
	can be passed to a progress dialog.

	* search/org/eclipse/cdt/core/search/BasicSearchResultCollector.java

2003-10-23 Bogdan Gheorghe

	- Added AcceptMatchOperation to get around Bug 45324. The search
	  operation is no longer a WorkspaceModifyOperation (which used to
	  lock the workspace for the duration of search). Instead, we now
	  lock the workspace only when we tag the resources with markers.
	  	
	- Modified SearchEngine : we now receive a list of matches
	from the search that we pass into the AcceptMatchOperation.
	
	- Modified MatchLocator to add matches to passed in list instead
	  of reporting them right away
	  
	- Modified JobManager: -added in jobToIgnore parm to unblock dependency
	  jobs
	  
	  
2003-10-06 Bogdan Gheorghe
	- added createCFileSearchScope() to SearchEngine.java to improve
	  code complete performance
	  
2003-10-01 Andrew Niefer
	- fix bug 44026 by checking scope before reporting match in MatchLocator.report

2003-10-01 Andrew Niefer
	- fix BasicSearchMatch.equals() for bug43988

2003-09-30 Bogdan Gheorghe
	- changed logging in JobManager to use new ICLogConstants
	
2003-09-30 Andrew Niefer
	-fix bug43862 - Cannot find macro delcarations using all occurences.
	  * modified CSearchPattern.createMacroPattern

2003-09-29 Andrew Niefer
	- fix bug 43062 outline is confused on operator methods containing spaces
		- modify CSearchPattern.scanForNames to use same naming convention as TokenDuple.toString()
		- modify MatchLocator.report to use IASTOffsetableNamedElement.getNameEndOffset()

2003-09-29 Andrew Niefer
	-bug42911 - Search: cannot find beyond use of data member
	   - fix NPE's in BasicSearchMatch.equals & hashCode

2003-09-29 Andrew Niefer
	-fix NPE if IScannerInfoProvider returns null IScannerInfo

2003-09-25 Andrew Niefer
	- bug43129 - Cannot search for definitions of global variables
		- check definitions for variables, fields, enumerators and namespaces
		- handle enter/exitLinkageSpecification
		* search/org/eclipse/cdt/internal/core/search/matching/MatchLocator.java
		* search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java

2003-09-25 Bogdan Gheorghe
	- added SearchFor INCLUDE in ICSearchConstants
	- added acceptIncludeDeclaration to IIndexSearchRequestor
	- modified PathCollector to acceptIncludeDeclarations
	- modified CSearchPattern to create an IncludePattern
	- added IncludePattern.java
	
2003-09-25 Andrew Niefer
	- partial fix for 43664	Modify Matchlocator to not try and create a link if we have no 
	resource, instead just use the path

2003-09-23 Andrew Niefer
	fix bug 43498 Search with ? fails on first letter of second word
		-modifications to CSearchPattern.scanForNames()
		-add getSimpleName to MethodDeclarationPattern

2003-09-19 Andrew Niefer
	fix bug 43327 Code Complete finds local variables  
	- modified MatchLocator to not report local declarations when boolean is set
	- modified SearchEngine.search to take an additional parameter "excludeLocalDeclarations"

2003-09-15 Andrew Niefer
	- modify CSearchPattern to handle escaping wildcards (bug43063)
	- modify enterFunctionBody and enterMethodBody to fix bug42979
	- search for Parameter References

2003-09-13 Andrew Niefer
	-Searching for Typedefs: (bug42902)
		- modified setElementInfo in BasicSearchResultCollector
		- added TYPEDEF to ICSearchConstants
		- modified CSearchPattern & ClassDeclarationPattern
		- implemented acceptTypedef* in MatchLocator
	- modified BasicSearchMatch to implement Comparable

2003-09-11 Andrew Niefer
	- Modified ICSearchResultCollector.createMatch to not take a parent parameter
	- modified BasicSearchResultCollector to create the parent string from the fully qualified name of the node
	- modified MatchLocator to keep track of most recent declaration for reporting purposes
	- modified MatchLocator.report to use the most recent declaration

2003-09-09 Andrew Niefer
	pattern matching on function parameters:
	 - modified scanForParameters in CSearchPattern
	 - added getParamString in CSearchPattern
	 - modified matchLevel in MethodDeclarationPattern
	 
	Enumeration references
	 - modified acceptEnumeratorReference in MatchLocator

2003-09-05 Andrew Niefer
	- fix searching for enumerators

2003-09-03 Andrew Niefer
	- added CLASS_STRUCT to the SearchFor constants
	- Modified CSearchPattern to handle CLASS_STRUCT

2003-08-26 Bogdan Gheorghe
	- Added debug tracing statements to SearchEngine
	- Modified scanForNames in CSearchPattern to treat append
	  a token after "~" to allow for destructors search
	- Added scope checking to MatchLocator
	- Added debug trace statements to MatchLocator
	
2003-08-20 Bogdan Gheorghe
	- Changed matching and reporting functions to handle nodes 
	  of type IElaboratedTypeSpecifier
	
2003-08-12 Bogdan Gheorghe
	- Rolled field and variable search patterns into one pattern, in
	  order to allow for qualified var searches
	
2003-08-11 Andrew Niefer
	- Added Macro ICSearchConstant
	- Added acceptMacro to IIndexSearchRequestor and PathCollector
	- Added MacroDeclaration Pattern
	- Rolled method and function patterns into one method pattern
	- Added WorkingCopy support to search
	
2003-08-08 Bogdan Gheorghe
	- Added CreateSearchScope to create a search scope out of
	  CElements
	- Filled out CSearchScope to enable:
	   - adding a project to scope, include referenced projects
	   - adding individual CElements to scope
	
2003-08-08 Andrew Niefer
	- add function parameter information to search results

2003-08-06 Andrew Niefer
	- Create OrPattern which matches for search if any of its constituent patterns matches
	- modified MatchLocator to support the OrPattern
	- searching for All occurences now uses the OrPattern

2003-08-01 Andrew Niefer
	- Modified BasicSearchResultCollector to only accept matches it has not already seen
	- fixed bug in finding a resource when entering includes

2003-07-29 Andrew Niefer
	Refactoring Search result collection:
	- Modified ICSearchResultCollector
	- Modified IMatch
	- Modified MatchLocator to reflect changes in ICSearchResultCollector
	- Created BasicSearchMatch implements IMatch
	- Created BasicSearchResultCollector implements ICSearchResultCollector

2003-07-28 Andrew Niefer
	- added abstract CSearchPattern.resetIndexInfo fix bug with searching with globally 
	  qualified names
	- fixed bug in CSearchPattern.matchQualifications to do with globally qualified names
	- fixed bug in CSearchPattern.createFunctionPattern to do with parameter lists.

2003-07-25 Bogdan Gheorghe
	- Added refs to PathCollector
	- Filled in feedIndexRequestor for the new search patterns
	- Fixed the FunctionDeclarationPattern to work with no parms
	
2003-07-24 Andrew Niefer
	- Implemented decodeIndexEntry & matchIndexEntry for all patterns
	- changed MatchLocator to use a COMPLETE_PARSE.

2003-07-23 Andrew Niefer
	-Changed ICSearchPattern.matchLevel to take a ISourceElementCallbackDelegate
	-Changed ICSearchResultCollector.createMatch to take a ISourceElementCallbackDelegate
	-first implementations of:
		-CSearchPattern.createFunctionPattern
		-CSearchPattern.createVariablePattern
		-CSearchPattern.createMethodPattern
	-preliminary matching for remaining patterns
	-handling of remaining parser callbacks
	-generating index Prefixes for the patterns

2003-07-14 Andrew Niefer
	-Modified SearchFor instances in ICSearchConstants to more closely match what we are searching for
	-added IMatch interface, it represents matches found by the search engine, implementors can store
	 whatever information they like, see ICSearchResultCollector::createMatch
	-added createMatch to the ICSearchResultCollector interface, the result collector is responsible for
	 implementing IMatch to store whatever data they want out of the AST nodes.
	-added skeleton patterns:
		search/org/eclipse/cdt/internal/core/search/matching/FieldDeclarationPattern.java
		search/org/eclipse/cdt/internal/core/search/matching/FunctionDeclarationPattern.java
		search/org/eclipse/cdt/internal/core/search/matching/MethodDeclarationPattern.java
		search/org/eclipse/cdt/internal/core/search/matching/NamespaceDeclarationPattern.java
		search/org/eclipse/cdt/internal/core/search/matching/VariableDeclarationPattern.java
	-added beginnings of CSearchPattern::create*Pattern functions
	-modifications to MatchLocator to keep track of current scope
	-added CSearchPattern::matchQualifications
	
2003-07-10 Bogdan Gheorghe
	Provided implementation for ICSearchScope.java, CSearchScope.java
	
	Hooked up new CWorkspaceScope, PathCollector, PatternSearchJob in SearchEngine.java
	
	Provided implementation for PatternSearchJob.java - PatternSearchJob is where the first part
	of the search occurs - using an IndexSelector to filter the indexes, it gets the indexes from
	the IndexManager and then uses the passed in pattern to find the index matched. Once it finds
	an index match it adds the file path to the PathCollector.
	
	Modified CSearchPattern - added support to find index entries.
	
	Modified ClassDeclarationPattern - added support to decode, match and report
	index entries.
	
	
	Added:
		* search/org/eclipse/cdt/internal/core/search/CWorkspaceScope.java
		* search/org/eclipse/cdt/internal/core/search/IIndexSearchRequestor.java
		* search/org/eclipse/cdt/internal/core/search/IndexSelector.java
		* search/org/eclipse/cdt/internal/core/search/PathCollector.java
		
	Modified:
		* search/org/eclipse/cdt/core/search/ICSearchScope.java
		* search/org/eclipse/cdt/core/search/SearchEngine.java
		* search/org/eclipse/cdt/internal/core/search/CSearchScope.java
		* search/org/eclipse/cdt/internal/core/search/PatternSearchJob.java
		* search/org/eclipse/cdt/internal/core/search/matching/ClassDeclarationPattern.java
		* search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java
				
2003-07-04 Andrew Niefer
	Modified ICSearchConstants to use new nested classes SearchFor and LimitTo instead of int
	for stronger type safety
	
	Updated MatchLocator to invoke parser to do actual search.

2003-06-27 Andrew Niefer
	Modified:
		search/org.eclipse.cdt.core.search.matching/MatchLocator.java
			- enter/exitInclusion
			- enterClassSpecifier
		search/org.eclipse.cdt.core.search.matching/CSearchPattern.java
			- createClassPattern
			- matchesName
		search/org.eclipse.cdt.core.search.matching/ClassDeclarationPattern.java
			- matchLevel
		search/org.eclipse.cdt.core.search/ICSearchPattern.java
		search/org.eclipse.cdt.core.search/ICSearchResultCollector.java
		search/org.eclipse.cdt.core.search/SearchEngine.java

2003-06-25	Bogdan Gheorghe
	Modified:
		* search/org/eclipse/cdt/core/search/ICSearchConstants.java
		* search/org/eclipse/cdt/internal/core/search/Utils.java
		 - moved to index/org/eclipse/cdt/internal/core/search/Utils.java
		* search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java
		* search/org/eclipse/cdt/internal/core/search/processing/IJob.java
@


1.37.2.5
log
@Patch for Bogdan Gheorghe and Thomas Fletcher.

This is Thomas' patch which causes the completion engine to use the FORCE_IMMEDIATE_SEARCH option 
in the search engine. Test suite run on Windows.
@
text
@a1 4
	- From Thomas: Modified SearchEngine.search to allow for the passing of
	a waiting policy
	
2004-02-13 Bogdan Gheorghe
@


1.36
log
@Patch for Andrew Niefer

Search filtering was broken, it would have become more obvious when 
searching larger projects with includes.

core:
-modify BasicSearchMatch.equals()

tests:
modified OtherPatternTests.testBug42911() and renamed it 
testBug42911_43988
@
text
@d2 3
@


1.35
log
@Patch for Bogdan Gheorghe. 

Here's a patch that creates and manages a CDT log file in the .metadata\.plugins\org.eclipse.cdt.core folder. This log file, for now, will contain indexer failure messages and parser failure messages - particularly inclusion failures. These messages were being logged to the PDE error log which, given the number of failures that we can expect on some files, was filling up rather quickly. I put a 5MB limit on the CDT log file after which it gets deleted and a new one gets created. The intent of this log file is to help a user figure out why something isn't being indexed properly - the usual reasons are: i) can't find an include file, ii) symbols not defined. 

Also in this patch are 2 minor UI fixes: i) dedicated to Brent - Ctrl+H now brings up the C++ Search Dialog for all C Editor supported extensions, and ii) especially for Alain - F3 will perform a Open Declarations.
@
text
@d1 3
@


1.34
log
@Patch for Andrew Niefer

Core:
-fix bug43862 - Cannot find macro delcarations using all occurences.
  * modified CSearchPattern.createMacroPattern()

Core.tests:
Updated OtherPatternTests::testMacroPattern() to test for bug43862
@
text
@d1 3
@


1.33
log
@Patch for Andrew Niefer

Core:
-bug42911 - Search: cannot find beyond use of data member
   - fix NPE's in BasicSearchMatch.equals & hashCode

TESTS:
-added testBug42911 to OtherPatternTests
@
text
@d1 4
@


1.32
log
@Patch for Andrew Niefer

core:
- modify CSearchPattern.scanForNames to use same naming convention as 
TokenDuple.toString()
- modify MatchLocator.report to use 
IASTOffsetableNamedElement.getNameEndOffset()

core.tests:
- added testBug43062 and testConstructorDestructor to 
FunctionMethodPatternTests
- modified resources/search/classDecl.cpp & include.h to include more 
operators and a constructor
@
text
@d7 4
@


1.31
log
@Patch for Andrew Niefer

Core:
- fixed bug 43834 : Empty Parameter list and parameter list taking one 
void do not match
- fix NPE if IScannerInfoProvider returns null IScannerInfo

Tests:
- added testbug43834 to ParserSymbolTableTest
@
text
@d2 5
@


1.30
log
@Patch for Bogdan Gheorghe:
This patch integrates the dependency calculator into
the indexer. As a result the underlying indexer file storage
format has changes. Lots of detail in the change logs of
exactly what changed...
@
text
@d1 3
@


1.29
log
@Patch for Andrew Niefer

fix bug 43129 - report definitions for variables, fields, enumerators and 
namespaces.

core:
- check definitions for variables, fields, enumerators and namespaces
- handle enter/exitLinkageSpecification
  * search/org/eclipse/cdt/internal/core/search/matching/MatchLocator.java
  * 
search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java

core.tests:
-added testbug43129() in OtherPatternTests
modified:
* resources/search/include.h
* resources/search/classDecl.cpp
* search/org/eclipse/cdt/core/search/tests/OtherPatternTests.java

ui:
 modify UI to allow selecting Definitions for more items
* src/org/eclipse/cdt/internal/ui/search/CSearchPage.java
@
text
@d8 7
@


1.28
log
@Patch for Andrew Niefer

partial fix for bug 43664 - Search cannot report matches outside of 
workspace.

This enables non-ui reporting of matches outside the workspace.  So 
clients of search, like code assist will get external results.

We still need a resource to report a match to the search view so no 
external matches in the UI.

core:
Modify Matchlocator to not try and create a link if we have no resource, 
instead just use the path

core.tests:
added testNoResourceSearching() to OtherPatternTests

ui:
modify CSearchResultCollector to accept matches without resources, but not 
attempt to report
them in the UI.
* src/org/eclipse/cdt/internal/ui/search/CSearchResultCollector.java
@
text
@d2 7
@


1.27
log
@Patch for Andrew Niefer

core:
- modifications to CSearchPattern.scanForNames()
- add getSimpleName to MethodDeclarationPattern

tests:
- Added FunctionMethodPatternTests.testBug43498()
@
text
@d1 4
@


1.26
log
@Patch for Andrew Niefer

core : 
  - modified MatchLocator to not report local declarations when boolean is 
set
  - modified SearchEngine.search to take an additional parameter 
"excludeLocalDeclarations"

core.tests:
  - modified resources/cfiles/CompletionProposalsTestStart.cpp
  - modified CompletionProposalsTest.testCompletionProposals
  - updated calls to SearchEngine.search

ui:
  - update calls to SearchEngine.search.  CodeCompletion passes true for 
excludeLocalDeclarations
@
text
@d1 5
@


1.25
log
@Patch for Andrew Niefer

core :
        - add parameter references to index
        - modify CharOperation.match to allow escaping wildcards 
(bug43063)
        - modify AbstractIndexer.bestPrefix to handle wildcard escaping in 
name (bug43063)
        - modify CSearchPattern to handle escaping wildcards (bug43063)
        - modify enterFunctionBody and enterMethodBody to fix bug42979
        - search for Parameter References
        - added setThrowExceptionOnBadCharacterRead to IScanner to help 
with wildcard bug43063

tests:
        - modified resources/search/classDecl.cpp & include.h to include 
some operators
        - added testOperators_bug43063_bug42979() to 
MethodDeclarationPatternTests
        - added testParameterREferences to OtherPatternTests
@
text
@d1 5
@


1.24
log
@This patch is for the following bugs:
bug42836 - Navigate/search: prepopulate template classes from Outline...
bug42902 - Search: Cannot find typedef
bug43016 - Search: Cannot find macro declarations
 
 Core:
 - add Typedefs to index as Types with suffix T (bug42902)
         - added addTypedefReference to AbstractIndexer
         - modified bestTypePrefix in AbstractIndexer
 - added TYPEDEF_DECL, TYPEDEF_SUFFIX to IIndexConstants
         - modified acceptTypedefReference in SourceIndexerRequestor
 -Searching for Typedefs: (bug42902)
         - modified setElementInfo in BasicSearchResultCollector
        - added TYPEDEF to ICSearchConstants
         - modified CSearchPattern & ClassDeclarationPattern
         - implemented acceptTypedef* in MatchLocator
 
 Core.tests
 - updated testIndexContents and testIndexAll and added them back into the 
   IndexManagerTests suite
 - modified resources/search/classDecl.cpp to include a typedef
  - added testbug42902_TypeDefs to ClassDeclarationPatternTests
  - updated testNamespaceReferenceInClassBaseClause in OtherPatternTests
 
 UI
 - modified performAction & determineInitValuesFrom in CSearchPage
 - modified getImage in CSearchResultLabelProvider
@
text
@d1 5
@


1.23
log
@Patch for Andrew Niefer.  

Core:
For bug42815
- Modified ICSearchResultCollector.createMatch to not take a parent 
parameter
- modified BasicSearchResultCollector to create the parent string from the 
fully qualified name of the node
- modified MatchLocator to keep track of most recent declaration for 
reporting purposes
- modified MatchLocator.report to use the most recent declaration

Core.Tests:
- Created search/SearchTestSuite
- Added SearchTestSuite to AutomatedIntegrationSuite and removed the 
individual search tests
- Added testReferencesInFunction to ClassDeclarationPatternTests
- Modified resources/search/classDecl.cpp
- Modified testNamespaceReferenceInClassBaseClause, testMacroPattern, 
testEnumerators, 
  and testEnumeratorReferences in OtherPatternTests to test the Match 
result strings

UI:
- bug42837 - fixed populating search dialog on function declarations
- bug42829 - prepopulated search dialog to any element declarations
- bug42815 - group together search results with same label
- modified CSearchResultLabelProvider to not display the "-" in the search 
label
  while sorting by name if there is no parent.
@
text
@d1 8
@


1.22
log
@Patch for Andrew Niefer

Core :
        Index
        Enumerator references
         - Added createEnumeratorFullyQualifiedName in AbstractIndexer
         - Added addEnumeratorReference in AbstractIndexer
         - implemented acceptEnumeratorReference in SourceIndexerRequestor

        Search
        pattern matching on function parameters:
         - modified scanForParameters in CSearchPattern
         - added getParamString in CSearchPattern
         - modified matchLevel in MethodDeclarationPattern
 
        Enumeration references
         - modified acceptEnumeratorReference in MatchLocator

core.tests:
        Modified resources/search/classDecl.cpp
         - to include more function declarations to test parameter 
matching
         - to include an enumerator reference to test enumerators
        Added testMethodDeclarationParameterMatching to 
FunctionMethodPatternTests.java
        Added testEnumeratorReferences to OtherPatternTests
@
text
@d1 6
@


1.21
log
@Patch for Andrew Niefer

Core:
- fix patterns & indexing for Enumerators

Core.Tests:
- Added testEnumerators to OtherPatternTests.java
- Modified resources/search/classDecl.cpp to include some enumerators

UI:
- enable Selected Resources scope
- populate dialog base on selection when opened from outline view
- fix small bug that found namespaces when searching for enumerations
- tweak sorting by path to consider line number second
@
text
@d1 9
@


1.20
log
@Patch for Andrew Niefer

- set default C++ search sort order to be by path
- modified search dialog to use checkboxes instead of radio buttons

SearchFor buttons are now organized like this:
        Class / Struct          Function        Variable
        Union                   Method          Field
        Enumeration             Namespace       Any Element

When multiple buttons are selected, they are combined using the Or 
Pattern.
@
text
@d1 3
@


1.19
log
@Patch for Bogdan Gheorghe:
Indexer 
======= 
- Changed file extensions to prevent header files from being indexed (they will be indexed via inclusion) 

Search 
======= 
- Added scope checking to MatchLocator 
- Modified CSearchPattern to allow for destructor searches 
- Added debug tracing statements to SearchEngine 
- Added debug tracing statements to MatchLocator 

UI 
== 
- Converted CTags based OpenOnSelectionAction to OpenDeclarationsAction. For now, we do a search on all types with the selected name. 
- Hooked up OpenDeclarationsAction to search engine 

General 
======= 
- Modified start up code to set debug trace options (which are defined from the launcher). I've added the following trace components: 
        - dependency 
        - indexer 
        - indexmanager 
        - matchlocator 
        - model 
        - search 
        - parser 

- Added trace debug statements to CModelBuilder 
- Modified Util.java to make use of IDebugLogConstants
@
text
@d1 4
@


1.18
log
@Patch for Bogdan Gheorghe:
Indexer 
- Added additional file extensions to supported indexed files 
- Changed the parser instantiation to pass in retrieved build info 
- Added function decl index entry based on enterFunctionBody 
- Added method decl index entry based on enterMethodBody 
- Added forward decl refs 
- Added debug tracing to AbstractIndexer 

Search 
- Changed matching and reporting functions to handle nodes 
  of type IElaboratedTypeSpecifier 

UI 
- Added a search dialog pop up item to the context menu for the 
  CEditor and CContentOutlinePage
@
text
@d1 7
@


1.17
log
@Patch for Bogdan Gheorghe

This patch combines the field and variable search patterns into one in order to allow qualified searches on variables.
@
text
@d1 4
@


1.16
log
@Patch for Bogdan Gheorghe. 

This patch adds working copy search, macro search and combines the function and method search patterns into one.
@
text
@d1 4
@


1.15
log
@Patch for Andrew Niefer

core : 
- add function parameter information to search results

ui:
- modified Search result sorting to sort by offset if the label is the 
same for two items
@
text
@d1 7
@


1.14
log
@Patch for Bogdan Gheorghe

Put in Indexer shut down which cleans up the .metadata directory of any suspicious looking index files 
Put in CSearchScope changes (in both UI and core) to enable working set searches
@
text
@d8 3
@


1.13
log
@Patch for Andrew Niefer:
core:
- created new search pattern OrPattern, which returns a match if any of 
its constituent pattens return a match.

To use it, do something like:
OrPattern orPattern = new OrPattern();
orPattern.addPattern( SearchEngine.createSearchPattern( "::NS::B::e", 
ENUM, REFERENCES, true ) );
orPattern.addPattern( SearchEngine.createSearchPattern( "Hea*", CLASS, 
DECLARATIONS, true ) );

Searching for all occurences of something now uses the OrPattern. ie, 
SearchEngine.createSearchPattern( "A", TYPE, ALL_OCCURENCES, true );
is the same as
OrPattern orPattern = new OrPattern();
orPattern.addPattern( SearchEngine.createSearchPattern( "f", FUNCTION, 
DECLARATIONS, true ) );
orPattern.addPattern( SearchEngine.createSearchPattern( "f", FUNCTION, 
REFERENCES, true ) );
orPattern.addPattern( SearchEngine.createSearchPattern( "f", FUNCTION, 
DEFINITIONS, true ) );

For large projects this is much more efficient than the old method of 
finding all occurences

core.tests:
- added ClassDeclarationPatternTests.testAllOccurences
- added OtherPatternTests.testOrPattern
@
text
@d1 7
@


1.12
log
@Patch for Andrew Niefer.

This patch contains modifications to BasicSearchMatch and 
BasicSearchResultCollector so that the collector will not accept matches 
that have already been seen.

( Addresses the problem of seeing a class definition in a header file 
multiple times because that header was included from multiple cpp files)

This patch also fixes a small bug in finding the resource for header files 
we enter while parsing.
@
text
@d1 5
@


1.11
log
@Patch by Andrew Niefer.

This patch is a refactoring of the C++ search result collecting.

There are 2 new classes:
- BasicSearchMatch implements IMatch
- BasicSearchResultCollector implements ICSearchResultCollector

IMatch itself has been modified to reflect a minimum set of information 
that will be returned by the search.

The old CSearchResultCollector now extends BasicSearchResultCollector and 
the old Match is now gone.

The CSearchResultLabelProvider has been moved from 
org.eclipse.cdt.internal.ui.search  to  org.eclipse.cdt.ui, and it has 
been modified to reflect changes to IMatch.

The result of this is that anyone wishing to take advantage of the search 
engine (ie ClassWizard ) can now do it without implementing their own 
ICSearchResultCollector and IMatch objects.
@
text
@d1 4
@


1.10
log
@Patch for Andrew Niefer

core:
- fixed a couple of bugs to do with searching for globally qualified 
patterns
- fixed a bug to do with the '?' wildcard
- fixed a bug to do with searching for functions/methods using patterns 
specifying parameters

tests:
- new search tests:
                ClassDeclarationPatternTests.testClassReferenceInFieldType
                ClassDeclarationPatternTests.testClassReferences
 ClassDeclarationPatternTests.testEnumerationReferenceVisibleByInheritance
                ClassDeclarationPatternTests.testGloballyQualifiedItem
 ClassDeclarationPatternTests.testTypeReferenceVisibleByUsingDirective
                FunctionMethodPatternTests.testMethodDeclaration
                FunctionMethodPatternTests.testMethodDeclarationWithParams
                OtherPatternTests.testFieldDeclaration
                OtherPatternTests.testNamespaceDeclaration
                OtherPatternTests.testNamespaceReferenceInClassBaseClause
                OtherPatternTests.testNamespaceReferenceInUsingDirective
                OtherPatternTests.testVariableDeclaration
@
text
@d1 8
@


1.9
log
@Last minute demo fix from Bogdan.
@
text
@d1 6
@


1.8
log
@Patch for Bogdan Gheorghe.  

This patch adds type refs, function refs, method refs,  fireld refs and namespace refs to the index and changes the parser mode to complete parse.
@
text
@d4 1
@


1.7
log
@Patch for Andrew Niefer

This patch is for the search.  No new things can be searched yet, but this 
brings more things closer to being able to be searched.

        - Implemented decodeIndexEntry & matchIndexEntry for all patterns
        - changed MatchLocator to use a COMPLETE_PARSE.
        - added TYPE_ALL, FUNCTION_ALL, METHOD_ALL, NAMESPACE_ALL, 
FIELD_ALL constants to IIndexConstants
        - modified AbstractIndexer prefix functions to properly handle 
searching for all occurences
@
text
@d1 4
@


1.6
log
@Patch for Andrew Niefer:
Core:
- modifications to the Indexer to better support qualified names
- functions to create Index entry prefixes for the different Search 
Patterns
- all of the search patterns are now being created and all do at least 
some matching
- all of the parser callbacks for declarations, definitions, and 
references are now being handled, though the patterns and indexer both 
need some work here

Core.tests:
- new BaseSearchTest which creates a project and uses the indexer
- new test class FunctionMethodPatternTests to test aspects of the 
Function & Method patterns
- new test class OtherPatternTests to test the other (Namespace, Field & 
variable) patterns
- new tests to test index prefixes for the patterns

UI:
- handle more varied search results and display more icons
@
text
@d1 4
@


1.5
log
@Patch for Andrew Niefer:
Patch for C++ Search to support searching for class declarations

Interface changes:
- modified search Interfaces : 
        - ICSearchConstants - changed SearchFor instantiations to more 
closely match what we can search for.
        - ICSearchPattern - added getLimitTo() 
        - ICSearchResultCollector - added createMatch(), which should 
return an object implementing the new IMatch interface, these store the 
any data needed to keep found matches.
  These interfaces are still new and its too early for anyone other than 
search and the indexer to be using them.
- added search interface IMatch.


Changes to core.search had to do with keeping track of the current scope 
during the search, as well as other modifications for matching class 
declarations, and the start of the patterns for matching other things.

Changes to ui.search had to do with creating IMatch objects to store the 
information needed by the label provider to display icons and sort the 
results.
@
text
@d1 11
@


1.4
log
@Patch for Bogdan Gheorghe:
- support for class specifier search
- a new C/C++ search menu item.
@
text
@d1 16
@


1.3
log
@Patch for Andrew Niefer.

cdt.core: 
- Modified ICSearchConstants to use classes (SearchFor & LimitTo) instead of int for constants 
- Modified MatchLocator to actually invoke the parser to do the search 

cdt.core.tests: 
        - Added new source Folder search 
        - Added search/ClassDeclarationPatternTests::testMatchSimpleDeclaration 
        - Added search/ClassDeclarationPatternTests::testMatchNamespaceNestedDeclaration 
        - Added new resource folder search & containing file classDecl.cpp 
        - Added new failures package ord.eclipse.cdt.core.search.failedTests 
        - Added new failing test PatternsFailedTests::testBug39652 

        * Note that both the ClassDeclarationPatternTests and PatternsFailedTests must be run as Plugin Tests * 

        cdt.ui: 
        - Updated Search classes to reflect changes to ICSearchConstants.
@
text
@d1 30
d32 4
a35 3
	* Modified ICSearchConstants to use new nested classes SearchFor and LimitTo instead of int
	  for stronger type safety
	* Updated MatchLocator to invoke parser to do actual search.
d38 12
a49 12
Modified:
	search/org.eclipse.cdt.core.search.matching/MatchLocator.java
		- enter/exitInclusion
		- enterClassSpecifier
	search/org.eclipse.cdt.core.search.matching/CSearchPattern.java
		- createClassPattern
		- matchesName
	search/org.eclipse.cdt.core.search.matching/ClassDeclarationPattern.java
		- matchLevel
	search/org.eclipse.cdt.core.search/ICSearchPattern.java
	search/org.eclipse.cdt.core.search/ICSearchResultCollector.java
	search/org.eclipse.cdt.core.search/SearchEngine.java
d52 7
a58 9

Modified:
	
	* search/org/eclipse/cdt/core/search/ICSearchConstants.java
	* search/org/eclipse/cdt/internal/core/search/Utils.java
	 - moved to index/org/eclipse/cdt/internal/core/search/Utils.java
	* search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java
	* search/org/eclipse/cdt/internal/core/search/processing/IJob.java
	* search/org/eclipse/cdt/internal/core/search/processing/JobManager.java@


1.2
log
@Patch for Andrew Niefer
	Further work on C/C++ Search framework.
@
text
@d1 5
@


1.1
log
@Patch for Bogdan Gheorghe:
- The initial framework for the new indexer.
- Added a checkbox to the Indexer tab on the
C/C++ Projects settings dialog to turn on the
indexing on a per project basis.
@
text
@d1 14
@

