diff --git a/cnd.gotodeclaration/src/org/netbeans/modules/cnd/gotodeclaration/symbol/CppSymbolProvider.java b/cnd.gotodeclaration/src/org/netbeans/modules/cnd/gotodeclaration/symbol/CppSymbolProvider.java --- a/cnd.gotodeclaration/src/org/netbeans/modules/cnd/gotodeclaration/symbol/CppSymbolProvider.java +++ b/cnd.gotodeclaration/src/org/netbeans/modules/cnd/gotodeclaration/symbol/CppSymbolProvider.java @@ -93,6 +93,7 @@ @org.openide.util.lookup.ServiceProvider(service=org.netbeans.spi.jumpto.symbol.SymbolProvider.class) public class CppSymbolProvider implements SymbolProvider { + private static final String OPERATOR_MUL = "operator *"; //NOI18N private static final boolean TRACE = Boolean.getBoolean("cnd.gotosymbol.trace"); private static final Logger LOG = TRACE ? Logger.getLogger("cnd.symbol.provider.trace") : null; // NOI18N private static final RequestProcessor RP = new RequestProcessor(CppSymbolProvider.class.getName(), 1); @@ -219,7 +220,14 @@ return String.format("Context: prj=%s type=%s text=%s", context.getProject(), context.getSearchType(), context.getText()); //NOI18N } - public static CsmSelect.NameAcceptor createNameAcceptor(final String text, final SearchType searchType) { + public static CsmSelect.NameAcceptor createNameAcceptor(final String text, SearchType searchType) { + if (OPERATOR_MUL.equalsIgnoreCase(text)) { + if (searchType == SearchType.CASE_INSENSITIVE_REGEXP) { + searchType = SearchType.CASE_INSENSITIVE_PREFIX; + } else if (searchType == SearchType.REGEXP) { + searchType = SearchType.PREFIX; + } + } final NameMatcher nameMatcher = NameMatcherFactory.createNameMatcher(text, searchType); return new NameAcceptorImpl(nameMatcher); }