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