Bug 117025 Invalid "Unsupported search pattern" message while search again
This problem exist since 3.0 I guess, here's the scenario.. Test case is a simple class: class X { void foo() {} void bar() { foo(); } } Here are steps: 1) Search reference to foo() method => you get 1 match in Search view: OK 2) Rename foo (using refactoring or directly in code, it does not matter) 3) Go back to Search view and select "Search again" item => you get "Java Search" dialog: 'Unsupported search pattern: "foo"' I think user should have a better error message than this one which definitely sounds like an internal error. perhaps something like: Java element "foo" does no longer exist...
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/search/JavaSearchQuery.java
IJavaElement element= ((ElementQuerySpecification) fPatternData).getElement();
			return JavaElementLabels.getElementLabel(element, JavaElementLabels.ALL_DEFAULT | JavaElementLabels.USE_RESOLVED);
		} 
		return ((PatternQuerySpecification) fPatternData).getPattern();
	}
	ImageDescriptor getImageDescriptor() {
		if (fPatternData.getLimitTo() == IJavaSearchConstants.IMPLEMENTORS || fPatternData.getLimitTo() == IJavaSearchConstants.DECLARATIONS)
			return JavaPluginImages.DESC_OBJS_SEARCH_DECL;
		else
			return JavaPluginImages.DESC_OBJS_SEARCH_REF;
	}
	public boolean canRerun() {
		return true;
	}
	public boolean canRunInBackground() {
		return true;
	}
	public ISearchResult getSearchResult() {
		if (fResult == null) {
			fResult= new JavaSearchResult(this);
			new SearchResultUpdater((JavaSearchResult) fResult);
		}
		return fResult;
	}
	
	QuerySpecification getSpecification() {
		return fPatternData;
	}
}