From 2937f68a8c988f80532d8268d1faeb19f402b33a Mon Sep 17 00:00:00 2001 From: Hoda Amer Date: Mon, 9 Feb 2004 15:46:40 +0000 Subject: [PATCH] Patch for Bogdan : Search for function with no parameters VS ignore parameters. --- core/org.eclipse.cdt.core.tests/ChangeLog | 3 + .../resources/search/include.h | 2 + .../tests/FunctionMethodPatternTests.java | 23 +- core/org.eclipse.cdt.core/search/ChangeLog | 543 +++++++++--------- .../core/search/matching/CSearchPattern.java | 6 + .../matching/MethodDeclarationPattern.java | 6 + 6 files changed, 314 insertions(+), 269 deletions(-) diff --git a/core/org.eclipse.cdt.core.tests/ChangeLog b/core/org.eclipse.cdt.core.tests/ChangeLog index cd24fbcc7d0..4a271be4ba5 100644 --- a/core/org.eclipse.cdt.core.tests/ChangeLog +++ b/core/org.eclipse.cdt.core.tests/ChangeLog @@ -1,3 +1,6 @@ +2004-02-06 Bogdan Gheorghe + Added FunctionMethodPatternTests.testMethodDeclarationWithNoParameters + 2004-02-08 John Camelon Moved testErrorHandling_1() from failed tests to CompleteParseASTTest. Moved testBug44340() from failed tests to CompleteParseASTTest. diff --git a/core/org.eclipse.cdt.core.tests/resources/search/include.h b/core/org.eclipse.cdt.core.tests/resources/search/include.h index 1df7c093c2f..f9c3d75956e 100644 --- a/core/org.eclipse.cdt.core.tests/resources/search/include.h +++ b/core/org.eclipse.cdt.core.tests/resources/search/include.h @@ -27,6 +27,8 @@ void forwardFunction(); class Direction{ void turn(); + void turn(int); + void turnAgain(void); }; class Right : public Direction { void turn() { } diff --git a/core/org.eclipse.cdt.core.tests/search/org/eclipse/cdt/core/search/tests/FunctionMethodPatternTests.java b/core/org.eclipse.cdt.core.tests/search/org/eclipse/cdt/core/search/tests/FunctionMethodPatternTests.java index 16f094cb8ee..0f0672dee91 100644 --- a/core/org.eclipse.cdt.core.tests/search/org/eclipse/cdt/core/search/tests/FunctionMethodPatternTests.java +++ b/core/org.eclipse.cdt.core.tests/search/org/eclipse/cdt/core/search/tests/FunctionMethodPatternTests.java @@ -105,6 +105,27 @@ public class FunctionMethodPatternTests extends BaseSearchTest { assertEquals( matches.size(), 1 ); } + public void testMethodWithNoParameters(){ + ICSearchPattern pattern = SearchEngine.createSearchPattern( "turn( )", METHOD, DECLARATIONS, true ); + + search( workspace, pattern, scope, resultCollector ); + Set matches = resultCollector.getSearchResults(); + assertEquals( matches.size(), 2 ); + + pattern = SearchEngine.createSearchPattern( "turn(void)", METHOD, DECLARATIONS, true ); + + search( workspace, pattern, scope, resultCollector ); + matches = resultCollector.getSearchResults(); + assertEquals( matches.size(), 2 ); + + pattern = SearchEngine.createSearchPattern( "turnAgain()", METHOD, DECLARATIONS, true ); + + search( workspace, pattern, scope, resultCollector ); + matches = resultCollector.getSearchResults(); + assertEquals( matches.size(), 1 ); + + } + public void testOperators_bug43063_bug42979(){ ICSearchPattern pattern = SearchEngine.createSearchPattern( "operator \\*", METHOD, DECLARATIONS, true ); @@ -196,7 +217,7 @@ public class FunctionMethodPatternTests extends BaseSearchTest { ICSearchPattern pattern = SearchEngine.createSearchPattern( "turn", METHOD, DECLARATIONS, true ); search( workspace, pattern, scope, resultCollector ); Set matches = resultCollector.getSearchResults(); - assertEquals( matches.size(), 2 ); + assertEquals( matches.size(), 3 ); pattern = SearchEngine.createSearchPattern( "Direction::turn", METHOD, DEFINITIONS, true ); search( workspace, pattern, scope, resultCollector ); diff --git a/core/org.eclipse.cdt.core/search/ChangeLog b/core/org.eclipse.cdt.core/search/ChangeLog index 6220c71300f..30210b06292 100644 --- a/core/org.eclipse.cdt.core/search/ChangeLog +++ b/core/org.eclipse.cdt.core/search/ChangeLog @@ -1,269 +1,276 @@ -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 +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 \ No newline at end of file diff --git a/core/org.eclipse.cdt.core/search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java b/core/org.eclipse.cdt.core/search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java index 48a45f095d7..389c8411d23 100644 --- a/core/org.eclipse.cdt.core/search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java +++ b/core/org.eclipse.cdt.core/search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java @@ -452,6 +452,12 @@ public abstract class CSearchPattern implements ICSearchConstants, ICSearchPatte param = getParamString( (IASTParameterDeclaration)parameters.next() ); list.add( param ); } + + if (param == null){ + //This means that no params have been added (i.e. empty brackets - void case) + param = "void ".toCharArray(); + list.add (param); + } } return list; diff --git a/core/org.eclipse.cdt.core/search/org/eclipse/cdt/internal/core/search/matching/MethodDeclarationPattern.java b/core/org.eclipse.cdt.core/search/org/eclipse/cdt/internal/core/search/matching/MethodDeclarationPattern.java index 0e0afddd642..7c5ff22897b 100644 --- a/core/org.eclipse.cdt.core/search/org/eclipse/cdt/internal/core/search/matching/MethodDeclarationPattern.java +++ b/core/org.eclipse.cdt.core/search/org/eclipse/cdt/internal/core/search/matching/MethodDeclarationPattern.java @@ -96,11 +96,17 @@ public class MethodDeclarationPattern extends CSearchPattern { } } + //parameters if( parameterNames != null && parameterNames.length > 0 && parameterNames[0].length > 0 ){ Iterator params = function.getParameters(); + if (!params.hasNext() && CharOperation.equals(parameterNames[0], "void ".toCharArray())){ + //All empty lists have transformed to void, this function has no parms + return ACCURATE_MATCH; + } + for( int i = 0; i < parameterNames.length; i++ ){ //if this function doesn't have this many parameters, it is not a match.