diff --git a/core/org.eclipse.cdt.core/search/ChangeLog b/core/org.eclipse.cdt.core/search/ChangeLog index 8dbcf24e501..a6e7b705d77 100644 --- a/core/org.eclipse.cdt.core/search/ChangeLog +++ b/core/org.eclipse.cdt.core/search/ChangeLog @@ -1,3 +1,7 @@ +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 diff --git a/core/org.eclipse.cdt.core/search/org/eclipse/cdt/core/search/ICSearchConstants.java b/core/org.eclipse.cdt.core/search/org/eclipse/cdt/core/search/ICSearchConstants.java index d35d562f651..788e6e8fa13 100644 --- a/core/org.eclipse.cdt.core/search/org/eclipse/cdt/core/search/ICSearchConstants.java +++ b/core/org.eclipse.cdt.core/search/org/eclipse/cdt/core/search/ICSearchConstants.java @@ -95,6 +95,8 @@ public interface ICSearchConstants { public static final SearchFor MACRO = new SearchFor( 10 ); + public static final SearchFor CLASS_STRUCT = new SearchFor( 11 ); + /* Nature of match */ /** 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 6f01a53befa..0fdfb972260 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 } CSearchPattern pattern = null; - if( searchFor == TYPE || searchFor == CLASS || searchFor == STRUCT || searchFor == ENUM || searchFor == UNION ){ + if( searchFor == TYPE || searchFor == CLASS || searchFor == STRUCT || searchFor == ENUM || searchFor == UNION || searchFor == CLASS_STRUCT ){ pattern = createClassPattern( patternString, searchFor, limitTo, matchMode, caseSensitive ); } else if ( searchFor == METHOD || searchFor == FUNCTION ){ pattern = createMethodPattern( patternString, searchFor, limitTo, matchMode, caseSensitive ); @@ -239,6 +239,13 @@ public abstract class CSearchPattern implements ICSearchConstants, ICSearchPatte return orPattern; } + if( searchFor == CLASS_STRUCT ){ + OrPattern orPattern = new OrPattern(); + orPattern.addPattern( createClassPattern( patternString, CLASS, limitTo, matchMode, caseSensitive ) ); + orPattern.addPattern( createClassPattern( patternString, STRUCT, limitTo, matchMode, caseSensitive ) ); + return orPattern; + } + IScanner scanner = ParserFactory.createScanner( new StringReader( patternString ), "TEXT", new ScannerInfo(), ParserMode.QUICK_PARSE, null ); IToken token = null;