From 5e641d7377e935d38ef463f3deb9d4654430859b Mon Sep 17 00:00:00 2001 From: Bogdan Gheorghe Date: Thu, 7 Jul 2005 15:22:03 +0000 Subject: [PATCH] Fix for 102066: macro definitions should be found via Search with Declarations --- .../internal/core/search/matching/CSearchPattern.java | 4 ++-- .../cdt/internal/ui/search/CSearchMessages.properties | 2 ++ .../eclipse/cdt/internal/ui/search/CSearchPage.java | 11 ++++++++++- 3 files changed, 14 insertions(+), 3 deletions(-) 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 3242581e28b..25ccdb6de22 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 @@ -76,7 +76,7 @@ public abstract class CSearchPattern implements ICSearchConstants, ICSearchPatte public static final int ACCURATE_MATCH = 2; public static final int INACCURATE_MATCH = 3; - private static SearchFor[] fSearchForValues = { CLASS_STRUCT, FUNCTION, VAR, UNION, METHOD, FIELD, ENUM, ENUMTOR, NAMESPACE, TYPEDEF, MACRO}; + public static SearchFor[] fSearchForValues = { CLASS_STRUCT, FUNCTION, VAR, UNION, METHOD, FIELD, ENUM, ENUMTOR, NAMESPACE, TYPEDEF, MACRO}; protected static class Requestor extends NullSourceElementRequestor { @@ -177,7 +177,7 @@ public abstract class CSearchPattern implements ICSearchConstants, ICSearchPatte * @return */ private static CSearchPattern createMacroPattern(String patternString, LimitTo limitTo, int matchMode, boolean caseSensitive) { - if( limitTo != DECLARATIONS && limitTo != ALL_OCCURRENCES ) + if( limitTo != DECLARATIONS && limitTo != ALL_OCCURRENCES && limitTo != DECLARATIONS_DEFINITIONS ) return null; return new MacroDeclarationPattern( patternString.toCharArray(), matchMode, DECLARATIONS, caseSensitive ); diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/CSearchMessages.properties b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/CSearchMessages.properties index 0a30ce7d281..4ecd5529c64 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/CSearchMessages.properties +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/CSearchMessages.properties @@ -41,6 +41,8 @@ CSearchPage.searchFor.enum= &Enumeration CSearchPage.searchFor.enumr = Enume&rator CSearchPage.searchFor.derived = &Derived CSearchPage.searchFor.friend = &Friend +CSearchPage.searchFor.typedef = Type&def +CSearchPage.searchFor.macro = &Macro CSearchPage.searchFor.any= An&y Element CSearchPage.searchFor.classStruct= Cl&ass / Struct diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/CSearchPage.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/CSearchPage.java index 84f7c625d2e..a3a96d24e1a 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/CSearchPage.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/CSearchPage.java @@ -27,6 +27,7 @@ import org.eclipse.cdt.core.model.ICElement; import org.eclipse.cdt.core.search.ICSearchConstants; import org.eclipse.cdt.core.search.ICSearchScope; import org.eclipse.cdt.core.search.SearchEngine; +import org.eclipse.cdt.internal.core.search.matching.CSearchPattern; import org.eclipse.cdt.internal.ui.ICHelpContextIds; import org.eclipse.cdt.internal.ui.util.RowLayouter; import org.eclipse.cdt.ui.CUIPlugin; @@ -77,6 +78,12 @@ public class CSearchPage extends DialogPage implements ISearchPage, ICSearchCons public static final String EXTENSION_POINT_ID= "org.eclipse.cdt.ui.CSearchPage"; //$NON-NLS-1$ + public CSearchPage(){ + int size = CSearchPattern.fSearchForValues.length; + fSearchForValues = new SearchFor[size + 1]; + System.arraycopy(CSearchPattern.fSearchForValues, 0, fSearchForValues, 0,size); + fSearchForValues[size] = UNKNOWN_SEARCH_FOR; + } public boolean performAction() { fLineManager.setErrorMessage(null); SearchPatternData data = getPatternData(); @@ -655,7 +662,7 @@ public class CSearchPage extends DialogPage implements ISearchPage, ICSearchCons private static List fgPreviousSearchPatterns = new ArrayList(20); private Button[] fSearchFor; - private SearchFor[] fSearchForValues = { CLASS_STRUCT, FUNCTION, VAR, UNION, METHOD, FIELD, ENUM, ENUMTOR, NAMESPACE, UNKNOWN_SEARCH_FOR }; + private SearchFor[] fSearchForValues; private String[] fSearchForText= { CSearchMessages.getString("CSearchPage.searchFor.classStruct"), //$NON-NLS-1$ @@ -667,6 +674,8 @@ public class CSearchPage extends DialogPage implements ISearchPage, ICSearchCons CSearchMessages.getString("CSearchPage.searchFor.enum"), //$NON-NLS-1$ CSearchMessages.getString("CSearchPage.searchFor.enumr"), //$NON-NLS-1$ CSearchMessages.getString("CSearchPage.searchFor.namespace"), //$NON-NLS-1$ + CSearchMessages.getString("CSearchPage.searchFor.typedef"), //$NON-NLS-1$ + CSearchMessages.getString("CSearchPage.searchFor.macro"), //$NON-NLS-1$ CSearchMessages.getString("CSearchPage.searchFor.any") }; //$NON-NLS-1$