Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-patch] Search Refactoring: bug 51250 & bug 50983

Search:
- fixed some warnings
- moved OrPattern from org.eclipse.cdt.internal.search.matching to 
org.eclipse.cdt.search (50983)
- changed SearchEngine.search and MatchLocator.locateMatches to throw 
InterruptedException when cancelled. (51250)

-changed calls to search to handle the InterruptedException

tested on windows

-Andrew

Index: search/ChangeLog
===================================================================
retrieving revision 1.43
diff -u -r1.43 ChangeLog
--- search/ChangeLog	15 Feb 2004 23:30:53 -0000	1.43
+++ search/ChangeLog	16 Feb 2004 16:32:23 -0000
@@ -1,3 +1,9 @@
+2004-02-13 Andrew Niefer
+	fixed a couple of warnings
+	moved OrPattern from org.eclipse.cdt.internal.core.search.matching to org.eclipse.cdt.core.search
+	changed SearchEngine.search & MatchLocator.locateMatches to throw InterruptedException when cancelled
+	updates calls to search to handle InterruptedException
+
 2004-02-13 Bogdan Gheorghe
 	- Added error handling to MatchLocator.locateMatches to handle possible
 	  parser failures.
Index: search/org/eclipse/cdt/core/search/BasicSearchMatch.java
===================================================================
retrieving revision 1.8
diff -u -r1.8 BasicSearchMatch.java
--- search/org/eclipse/cdt/core/search/BasicSearchMatch.java	1 Oct 2003 19:55:00 -0000	1.8
+++ search/org/eclipse/cdt/core/search/BasicSearchMatch.java	16 Feb 2004 16:32:23 -0000
@@ -59,8 +59,6 @@
 		}
 		BasicSearchMatch match = (BasicSearchMatch)obj;
 		
-		IPath path = getLocation();
-		
 		if( startOffset != match.getStartOffset() || endOffset != match.getEndOffset()  )
 			return false;
 		
Index: search/org/eclipse/cdt/core/search/SearchEngine.java
===================================================================
retrieving revision 1.12
diff -u -r1.12 SearchEngine.java
--- search/org/eclipse/cdt/core/search/SearchEngine.java	15 Jan 2004 18:06:14 -0000	1.12
+++ search/org/eclipse/cdt/core/search/SearchEngine.java	16 Feb 2004 16:32:23 -0000
@@ -36,7 +36,6 @@
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.core.runtime.SubProgressMonitor;
 
@@ -109,7 +108,6 @@
 	 */
 	public static ICSearchScope createCFileSearchScope(IFile sourceFile, ArrayList elements) {
 		CSearchScope scope = new CSearchScope();
-		HashSet visitedProjects = new HashSet(2);
 		
 		if (sourceFile != null){
 			//Add the source file and project
@@ -155,7 +153,7 @@
 	 * @param _scope
 	 * @param _collector
 	 */
-	public void search(IWorkspace workspace, ICSearchPattern pattern, ICSearchScope scope, ICSearchResultCollector collector, boolean excludeLocalDeclarations) {
+	public void search(IWorkspace workspace, ICSearchPattern pattern, ICSearchScope scope, ICSearchResultCollector collector, boolean excludeLocalDeclarations) throws InterruptedException {
 		if( VERBOSE ) {
 			System.out.println("Searching for " + pattern + " in " + scope); //$NON-NLS-1$//$NON-NLS-2$
 		}
@@ -199,7 +197,7 @@
 			matchLocator.setShouldExcludeLocalDeclarations( excludeLocalDeclarations );
 			
 			if( progressMonitor != null && progressMonitor.isCanceled() )
-				throw new OperationCanceledException();
+				throw new InterruptedException();
 			
 			matchLocator.locateMatches( pathCollector.getPaths(), workspace, this.workingCopies, matches);
Index: search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java
===================================================================
retrieving revision 1.34
diff -u -r1.34 CSearchPattern.java
--- search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java	9 Feb 2004 15:46:35 -0000	1.34
+++ search/org/eclipse/cdt/internal/core/search/matching/CSearchPattern.java	16 Feb 2004 16:32:23 -0000
@@ -45,6 +45,7 @@
 import org.eclipse.cdt.core.parser.ast.IASTParameterDeclaration;
 import org.eclipse.cdt.core.parser.ast.IASTSimpleTypeSpecifier;
 import org.eclipse.cdt.core.parser.ast.IASTTypeSpecifier;
+import org.eclipse.cdt.core.search.*;
 import org.eclipse.cdt.core.search.ICSearchConstants;
 import org.eclipse.cdt.core.search.ICSearchPattern;
 import org.eclipse.cdt.core.search.ICSearchScope;
Index: search/org/eclipse/cdt/internal/core/search/matching/FieldDeclarationPattern.java
===================================================================
retrieving revision 1.10
diff -u -r1.10 FieldDeclarationPattern.java
--- search/org/eclipse/cdt/internal/core/search/matching/FieldDeclarationPattern.java	18 Sep 2003 15:15:08 -0000	1.10
+++ search/org/eclipse/cdt/internal/core/search/matching/FieldDeclarationPattern.java	16 Feb 2004 16:32:23 -0000
@@ -189,7 +189,6 @@
 	private char [][] decodedQualifications;
 	private char []   simpleName;
 	private char []   decodedSimpleName;
-	private char      decodedType;
 
 	private SearchFor searchFor;
 }
Index: search/org/eclipse/cdt/internal/core/search/matching/IncludePattern.java
===================================================================
retrieving revision 1.1
diff -u -r1.1 IncludePattern.java
--- search/org/eclipse/cdt/internal/core/search/matching/IncludePattern.java	26 Sep 2003 17:53:31 -0000	1.1
+++ search/org/eclipse/cdt/internal/core/search/matching/IncludePattern.java	16 Feb 2004 16:32:23 -0000
@@ -41,7 +41,6 @@
 	 */
 	protected void decodeIndexEntry(IEntryResult entryResult) {
 		char[] word = entryResult.getWord();
-		int size = word.length;
 	
 		int firstSlash = CharOperation.indexOf( SEPARATOR, word, 0 );
 
Index: search/org/eclipse/cdt/internal/core/search/matching/MacroDeclarationPattern.java
===================================================================
retrieving revision 1.2
diff -u -r1.2 MacroDeclarationPattern.java
--- search/org/eclipse/cdt/internal/core/search/matching/MacroDeclarationPattern.java	12 Aug 2003 20:20:04 -0000	1.2
+++ search/org/eclipse/cdt/internal/core/search/matching/MacroDeclarationPattern.java	16 Feb 2004 16:32:24 -0000
@@ -86,7 +86,6 @@
 	 */
 	protected void decodeIndexEntry(IEntryResult entryResult) {
 		char[] word = entryResult.getWord();
-		int size = word.length;
 		
 		int firstSlash = CharOperation.indexOf( SEPARATOR, word, 0 );
 	
Index: search/org/eclipse/cdt/internal/core/search/matching/MatchLocator.java
===================================================================
retrieving revision 1.43
diff -u -r1.43 MatchLocator.java
--- search/org/eclipse/cdt/internal/core/search/matching/MatchLocator.java	15 Feb 2004 23:30:53 -0000	1.43
+++ search/org/eclipse/cdt/internal/core/search/matching/MatchLocator.java	16 Feb 2004 16:32:24 -0000
@@ -89,7 +89,6 @@
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
 import org.eclipse.core.runtime.Path;
 
 
@@ -335,7 +334,7 @@
 	}
 		
    
-	public void locateMatches( String [] paths, IWorkspace workspace, IWorkingCopy[] workingCopies,ArrayList matches ){
+	public void locateMatches( String [] paths, IWorkspace workspace, IWorkingCopy[] workingCopies,ArrayList matches ) throws InterruptedException{
 		matchStorage = matches;
 		workspaceRoot = (workspace != null) ? workspace.getRoot() : null;
 		
@@ -368,7 +367,7 @@
 		for( int i = 0; i < length; i++ ){
 			if( progressMonitor != null ) {
 				if( progressMonitor.isCanceled() ){
-					throw new OperationCanceledException();
+					throw new InterruptedException();
 				} else {
 					progressMonitor.worked( 1 );
 				}
@@ -482,7 +481,7 @@
 			if( node instanceof IASTReference ){
 				IASTReference reference = (IASTReference) node;
 				offset = reference.getOffset();
-				end = offset + reference.getName().length();;
+				end = offset + reference.getName().length();
 				if (VERBOSE)
 					MatchLocator.verbose("Report Match: " + reference.getName());
 			} else if( node instanceof IASTOffsetableNamedElement ){
@@ -491,7 +490,7 @@
 															    : offsetableElement.getStartingOffset();
 				end = offsetableElement.getNameEndOffset();
 				if( end == 0 ){
-					end = offset + offsetableElement.getName().length();;
+					end = offset + offsetableElement.getName().length();
 				}
 																						  
 				if (VERBOSE)
Index: search/org/eclipse/cdt/internal/core/search/matching/OrPattern.java
===================================================================
diff -N search/org/eclipse/cdt/internal/core/search/matching/OrPattern.java
--- search/org/eclipse/cdt/internal/core/search/matching/OrPattern.java	7 Aug 2003 14:52:18 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v0.5 
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- * 
- * Contributors:
- *     IBM Corp. - Rational Software - initial implementation
- ******************************************************************************/
-/*
- * Created on Aug 6, 2003
- */
-package org.eclipse.cdt.internal.core.search.matching;
-
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.LinkedList;
-
-import org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate;
-import org.eclipse.cdt.core.search.ICSearchPattern;
-import org.eclipse.cdt.core.search.ICSearchScope;
-import org.eclipse.cdt.internal.core.index.IEntryResult;
-import org.eclipse.cdt.internal.core.index.impl.IndexInput;
-import org.eclipse.cdt.internal.core.search.IIndexSearchRequestor;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-
-/**
- * @author aniefer
- *
- * To change the template for this generated type comment go to
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-public class OrPattern extends CSearchPattern {
-
-	public OrPattern(){
-		super();
-		patterns = new LinkedList();
-	}
-
-	/**
-	 * @param pattern
-	 */
-	public void addPattern( ICSearchPattern pattern) {
-		if( pattern != null )
-			patterns.add( pattern );
-	}
-
-	public int matchLevel(ISourceElementCallbackDelegate node, LimitTo limit ) {
-		Iterator iter = patterns.iterator();
-		int size = patterns.size();
-		
-		int result = IMPOSSIBLE_MATCH;
-		
-		for( int i = 0; i < size; i++ ){
-			ICSearchPattern pattern = (ICSearchPattern) iter.next();
-			result = pattern.matchLevel( node, limit );
-			if( result != IMPOSSIBLE_MATCH )
-				break;
-		}
-		
-		return result;
-	}
-
-	public boolean canAccept(LimitTo limit) {
-		if( limit == ALL_OCCURRENCES ){
-			return true;
-		}
-		
-		Iterator iter = patterns.iterator();
-		int size = patterns.size();
-		
-		for( int i = 0; i < size; i++ ){
-			ICSearchPattern pattern = (ICSearchPattern) iter.next();
-			if( pattern.canAccept( limit ) )
-				return true;
-		}
-		
-		return false;
-	}
-	
-	public void findIndexMatches(IndexInput input, IIndexSearchRequestor requestor, int detailLevel, IProgressMonitor progressMonitor, ICSearchScope scope) throws IOException {
-	   Iterator iter = patterns.iterator();
-	   int size = patterns.size();
-		
-	   for( int i = 0; i < size; i++ ){
-		   CSearchPattern pattern = (CSearchPattern) iter.next();
-		   pattern.findIndexMatches( input, requestor, detailLevel, progressMonitor, scope );
-	   }
-   }
-
-   public void feedIndexRequestor(	IIndexSearchRequestor requestor, int detailLevel, int[] references, IndexInput input, ICSearchScope scope )
-   throws IOException {
-	   //never called for OrPattern
-   }
-	   
-	protected void resetIndexInfo() {
-		//never called for OrPattern
-	}
-
-	protected void decodeIndexEntry(IEntryResult entryResult) {
-		//never called for OrPattern
-	}
-
-	public char[] indexEntryPrefix() {
-		//never called for OrPattern
-		return null;
-	}
-
-	protected boolean matchIndexEntry() {
-		//never called for OrPattern
-		return false;
-	}
-
-	private LinkedList patterns;
-
-}
Index: search/org/eclipse/cdt/core/search/OrPattern.java
===================================================================
RCS file: search/org/eclipse/cdt/core/search/OrPattern.java
diff -N search/org/eclipse/cdt/core/search/OrPattern.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ search/org/eclipse/cdt/core/search/OrPattern.java	1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,117 @@
+/*******************************************************************************
+ * Copyright (c) 2003 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials 
+ * are made available under the terms of the Common Public License v0.5 
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v05.html
+ * 
+ * Contributors:
+ *     IBM Corp. - Rational Software - initial implementation
+ ******************************************************************************/
+/*
+ * Created on Aug 6, 2003
+ */
+package org.eclipse.cdt.core.search;
+
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.LinkedList;
+
+import org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate;
+import org.eclipse.cdt.internal.core.index.IEntryResult;
+import org.eclipse.cdt.internal.core.index.impl.IndexInput;
+import org.eclipse.cdt.internal.core.search.IIndexSearchRequestor;
+import org.eclipse.cdt.internal.core.search.matching.CSearchPattern;
+import org.eclipse.core.runtime.IProgressMonitor;
+
+
+/**
+ * @author aniefer
+ *
+ * To change the template for this generated type comment go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+public class OrPattern extends CSearchPattern {
+
+	public OrPattern(){
+		super();
+		patterns = new LinkedList();
+	}
+
+	/**
+	 * @param pattern
+	 */
+	public void addPattern( ICSearchPattern pattern) {
+		if( pattern != null )
+			patterns.add( pattern );
+	}
+
+	public int matchLevel(ISourceElementCallbackDelegate node, LimitTo limit ) {
+		Iterator iter = patterns.iterator();
+		int size = patterns.size();
+		
+		int result = IMPOSSIBLE_MATCH;
+		
+		for( int i = 0; i < size; i++ ){
+			ICSearchPattern pattern = (ICSearchPattern) iter.next();
+			result = pattern.matchLevel( node, limit );
+			if( result != IMPOSSIBLE_MATCH )
+				break;
+		}
+		
+		return result;
+	}
+
+	public boolean canAccept(LimitTo limit) {
+		if( limit == ALL_OCCURRENCES ){
+			return true;
+		}
+		
+		Iterator iter = patterns.iterator();
+		int size = patterns.size();
+		
+		for( int i = 0; i < size; i++ ){
+			ICSearchPattern pattern = (ICSearchPattern) iter.next();
+			if( pattern.canAccept( limit ) )
+				return true;
+		}
+		
+		return false;
+	}
+	
+	public void findIndexMatches(IndexInput input, IIndexSearchRequestor requestor, int detailLevel, IProgressMonitor progressMonitor, ICSearchScope scope) throws IOException {
+	   Iterator iter = patterns.iterator();
+	   int size = patterns.size();
+		
+	   for( int i = 0; i < size; i++ ){
+		   CSearchPattern pattern = (CSearchPattern) iter.next();
+		   pattern.findIndexMatches( input, requestor, detailLevel, progressMonitor, scope );
+	   }
+   }
+
+   public void feedIndexRequestor(	IIndexSearchRequestor requestor, int detailLevel, int[] references, IndexInput input, ICSearchScope scope )
+   throws IOException {
+	   //never called for OrPattern
+   }
+	   
+	protected void resetIndexInfo() {
+		//never called for OrPattern
+	}
+
+	protected void decodeIndexEntry(IEntryResult entryResult) {
+		//never called for OrPattern
+	}
+
+	public char[] indexEntryPrefix() {
+		//never called for OrPattern
+		return null;
+	}
+
+	protected boolean matchIndexEntry() {
+		//never called for OrPattern
+		return false;
+	}
+
+	private LinkedList patterns;
+
+}
Index: ChangeLog
===================================================================
retrieving revision 1.185
diff -u -r1.185 ChangeLog
--- ChangeLog	13 Feb 2004 15:40:08 -0000	1.185
+++ ChangeLog	16 Feb 2004 16:28:21 -0000
@@ -1,3 +1,6 @@
+2004-02-13 Andrew Niefer
+	updated tests using search to handle InterruptedExcpetion
+
 2004-02-12 Andrew Niefer
 	UnCommented CompleteParseASTTest.testBug47628
 	Added CompleteParseASTTest.testBug47636
Index: indexer/org/eclipse/cdt/core/indexer/tests/DependencyTests.java
===================================================================
retrieving revision 1.7
diff -u -r1.7 DependencyTests.java
--- indexer/org/eclipse/cdt/core/indexer/tests/DependencyTests.java	16 Feb 2004 03:45:20 -0000	1.7
+++ indexer/org/eclipse/cdt/core/indexer/tests/DependencyTests.java	16 Feb 2004 16:28:21 -0000
@@ -650,9 +650,12 @@
 	   }
    }
 	
-   protected void search(IWorkspace workspace, ICSearchPattern pattern, ICSearchScope scope, ICSearchResultCollector collector) {
-	   searchEngine.search( workspace, pattern, scope, collector, false );
-   }
+	protected void search(IWorkspace workspace, ICSearchPattern pattern, ICSearchScope scope, ICSearchResultCollector collector) {
+   		try {
+   			searchEngine.search( workspace, pattern, scope, collector, false );
+		} catch (InterruptedException e) {
+		}
+	}
    
    /*
 	* Utils
Index: search/org/eclipse/cdt/core/search/tests/BaseSearchTest.java
===================================================================
retrieving revision 1.16
diff -u -r1.16 BaseSearchTest.java
--- search/org/eclipse/cdt/core/search/tests/BaseSearchTest.java	16 Feb 2004 03:45:20 -0000	1.16
+++ search/org/eclipse/cdt/core/search/tests/BaseSearchTest.java	16 Feb 2004 16:28:26 -0000
@@ -122,7 +122,11 @@
 	}
 		
 	protected void search(IWorkspace workspace, ICSearchPattern pattern, ICSearchScope scope, ICSearchResultCollector collector) {
-		searchEngine.search( workspace, pattern, scope, collector, false );
+		try {
+			searchEngine.search( workspace, pattern, scope, collector, false );
+		} catch (InterruptedException e) {
+
+		}
 	}
 	
 }
Index: search/org/eclipse/cdt/core/search/tests/ClassDeclarationPatternTests.java
===================================================================
retrieving revision 1.16
diff -u -r1.16 ClassDeclarationPatternTests.java
--- search/org/eclipse/cdt/core/search/tests/ClassDeclarationPatternTests.java	19 Sep 2003 16:00:44 -0000	1.16
+++ search/org/eclipse/cdt/core/search/tests/ClassDeclarationPatternTests.java	16 Feb 2004 16:28:26 -0000
@@ -19,10 +19,10 @@
 import org.eclipse.cdt.core.search.ICSearchConstants;
 import org.eclipse.cdt.core.search.ICSearchPattern;
 import org.eclipse.cdt.core.search.IMatch;
+import org.eclipse.cdt.core.search.OrPattern;
 import org.eclipse.cdt.core.search.SearchEngine;
 import org.eclipse.cdt.internal.core.CharOperation;
 import org.eclipse.cdt.internal.core.search.matching.ClassDeclarationPattern;
-import org.eclipse.cdt.internal.core.search.matching.OrPattern;
 
 
 /**
Index: search/org/eclipse/cdt/core/search/tests/OtherPatternTests.java
===================================================================
retrieving revision 1.24
diff -u -r1.24 OtherPatternTests.java
--- search/org/eclipse/cdt/core/search/tests/OtherPatternTests.java	16 Feb 2004 05:02:21 -0000	1.24
+++ search/org/eclipse/cdt/core/search/tests/OtherPatternTests.java	16 Feb 2004 16:28:26 -0000
@@ -22,13 +22,13 @@
 import org.eclipse.cdt.core.search.BasicSearchMatch;
 import org.eclipse.cdt.core.search.ICSearchPattern;
 import org.eclipse.cdt.core.search.IMatch;
+import org.eclipse.cdt.core.search.OrPattern;
 import org.eclipse.cdt.core.search.SearchEngine;
 import org.eclipse.cdt.internal.core.CharOperation;
 import org.eclipse.cdt.internal.core.search.AcceptMatchOperation;
 import org.eclipse.cdt.internal.core.search.matching.FieldDeclarationPattern;
 import org.eclipse.cdt.internal.core.search.matching.MatchLocator;
 import org.eclipse.cdt.internal.core.search.matching.NamespaceDeclarationPattern;
-import org.eclipse.cdt.internal.core.search.matching.OrPattern;
 import org.eclipse.cdt.testplugin.CTestPlugin;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.Path;
@@ -327,7 +327,10 @@
 
 		ArrayList matchesList = new ArrayList();
 		MatchLocator matchLocator = new MatchLocator( pattern, resultCollector, scope, monitor );
-		matchLocator.locateMatches( new String [] { path }, workspace, null, matchesList);
+		try {
+			matchLocator.locateMatches( new String [] { path }, workspace, null, matchesList);
+		} catch (InterruptedException e1) {
+		}
 		
 		AcceptMatchOperation acceptMatchOp = new AcceptMatchOperation(resultCollector, matchesList);
 		try {
Index: ChangeLog
===================================================================
retrieving revision 1.273
diff -u -r1.273 ChangeLog
--- ChangeLog	16 Feb 2004 03:28:25 -0000	1.273
+++ ChangeLog	16 Feb 2004 16:30:34 -0000
@@ -1,3 +1,6 @@
+2004-02-13 Andrew Niefer
+	Updated calls to search to handle InterruptedException
+
 2004-02-15 Alain Magloire
 
 	Special working set for the C/C++ Celements
Index: src/org/eclipse/cdt/internal/ui/editor/OpenDeclarationsAction.java
===================================================================
retrieving revision 1.5
diff -u -r1.5 OpenDeclarationsAction.java
--- src/org/eclipse/cdt/internal/ui/editor/OpenDeclarationsAction.java	5 Feb 2004 19:53:54 -0000	1.5
+++ src/org/eclipse/cdt/internal/ui/editor/OpenDeclarationsAction.java	16 Feb 2004 16:30:39 -0000
@@ -16,8 +16,8 @@
 import org.eclipse.cdt.core.search.ICSearchConstants;
 import org.eclipse.cdt.core.search.ICSearchScope;
 import org.eclipse.cdt.core.search.IMatch;
+import org.eclipse.cdt.core.search.OrPattern;
 import org.eclipse.cdt.core.search.SearchEngine;
-import org.eclipse.cdt.internal.core.search.matching.OrPattern;
 import org.eclipse.cdt.internal.ui.dialogs.ElementListSelectionDialog;
 import org.eclipse.cdt.internal.ui.util.EditorUtility;
 import org.eclipse.cdt.ui.CSearchResultLabelProvider;
@@ -124,55 +124,59 @@
 	 * @see IAction#actionPerformed
 	 */
 	public void run() {
-		 		 final String selectedText = getSelectedStringFromEditor();
-
-		 		 if(selectedText == null) {
-		 		 		 return;
-		 		 }
-
-		 		 final ArrayList elementsFound = new ArrayList();
+		final String selectedText = getSelectedStringFromEditor();
+		
+		if(selectedText == null) {
+			return;
+		}
+		
+		final ArrayList elementsFound = new ArrayList();
 
-		 		 IRunnableWithProgress runnable = new IRunnableWithProgress() {
-		 		 		 public void run(IProgressMonitor monitor) {
-		 		 		 		 BasicSearchResultCollector  resultCollector =  new BasicSearchResultCollector(monitor);
-		 		 		 		 IWorkingCopyManager fManager = CUIPlugin.getDefault().getWorkingCopyManager();
-		 		 		 		 ITranslationUnit unit = fManager.getWorkingCopy(fEditor.getEditorInput());
+		IRunnableWithProgress runnable = new IRunnableWithProgress() 
+		{
+			public void run(IProgressMonitor monitor) {
+				BasicSearchResultCollector  resultCollector =  new BasicSearchResultCollector(monitor);
+		 		IWorkingCopyManager fManager = CUIPlugin.getDefault().getWorkingCopyManager();
+		 		ITranslationUnit unit = fManager.getWorkingCopy(fEditor.getEditorInput());
 
 				ICElement[] projectScopeElement = new ICElement[1];
 				projectScopeElement[0] = unit.getCProject();//(ICElement)currentScope.getCProject();
 				ICSearchScope scope = SearchEngine.createCSearchScope(projectScopeElement, true);
 				OrPattern orPattern = new OrPattern();
 				// search for global variables, functions, classes, structs, unions, enums and macros
-		 		 		 		 orPattern.addPattern(SearchEngine.createSearchPattern( selectedText, ICSearchConstants.VAR, ICSearchConstants.DECLARATIONS, true ));
-		 		 		 		 orPattern.addPattern(SearchEngine.createSearchPattern( selectedText, ICSearchConstants.FUNCTION, ICSearchConstants.DECLARATIONS, true ));
-		 		 		 		 orPattern.addPattern(SearchEngine.createSearchPattern( selectedText, ICSearchConstants.METHOD, ICSearchConstants.DECLARATIONS, true ));
-		 		 		 		 orPattern.addPattern(SearchEngine.createSearchPattern( selectedText, ICSearchConstants.TYPE, ICSearchConstants.DECLARATIONS, true ));
-		 		 		 		 orPattern.addPattern(SearchEngine.createSearchPattern( selectedText, ICSearchConstants.ENUM, ICSearchConstants.DECLARATIONS, true ));
-		 		 		 		 orPattern.addPattern(SearchEngine.createSearchPattern( selectedText, ICSearchConstants.FIELD, ICSearchConstants.DECLARATIONS, true ));
-		 		 		 		 orPattern.addPattern(SearchEngine.createSearchPattern( selectedText, ICSearchConstants.NAMESPACE, ICSearchConstants.DECLARATIONS, true ));
-		 		 		 		 orPattern.addPattern(SearchEngine.createSearchPattern( selectedText, ICSearchConstants.MACRO, ICSearchConstants.DECLARATIONS, true ));
-		 		 		 		 orPattern.addPattern(SearchEngine.createSearchPattern( selectedText, ICSearchConstants.TYPEDEF, ICSearchConstants.DECLARATIONS, true ));
-				searchEngine.search(CUIPlugin.getWorkspace(), orPattern, scope, resultCollector, true);
-		 		 		 		 elementsFound.addAll(resultCollector.getSearchResults());		 
+ 		 		orPattern.addPattern(SearchEngine.createSearchPattern( selectedText, ICSearchConstants.VAR, ICSearchConstants.DECLARATIONS, true ));
+ 		 		orPattern.addPattern(SearchEngine.createSearchPattern( selectedText, ICSearchConstants.FUNCTION, ICSearchConstants.DECLARATIONS, true ));
+ 		 		orPattern.addPattern(SearchEngine.createSearchPattern( selectedText, ICSearchConstants.METHOD, ICSearchConstants.DECLARATIONS, true ));
+ 		 		orPattern.addPattern(SearchEngine.createSearchPattern( selectedText, ICSearchConstants.TYPE, ICSearchConstants.DECLARATIONS, true ));
+ 		 		orPattern.addPattern(SearchEngine.createSearchPattern( selectedText, ICSearchConstants.ENUM, ICSearchConstants.DECLARATIONS, true ));
+ 		 		orPattern.addPattern(SearchEngine.createSearchPattern( selectedText, ICSearchConstants.FIELD, ICSearchConstants.DECLARATIONS, true ));
+ 		 		orPattern.addPattern(SearchEngine.createSearchPattern( selectedText, ICSearchConstants.NAMESPACE, ICSearchConstants.DECLARATIONS, true ));
+ 		 		orPattern.addPattern(SearchEngine.createSearchPattern( selectedText, ICSearchConstants.MACRO, ICSearchConstants.DECLARATIONS, true ));
+ 		 		orPattern.addPattern(SearchEngine.createSearchPattern( selectedText, ICSearchConstants.TYPEDEF, ICSearchConstants.DECLARATIONS, true ));
+				try {
+					searchEngine.search(CUIPlugin.getWorkspace(), orPattern, scope, resultCollector, true);
+				} catch (InterruptedException e) {
+				}
+		 		elementsFound.addAll(resultCollector.getSearchResults());		 
 			}
-		 		 };
-
-		 		 try {
-		 		 		 ProgressMonitorDialog progressMonitor = new ProgressMonitorDialog(getShell());
-		 		 		 progressMonitor.run(true, true, runnable);
-
-		 		 		 if (elementsFound.isEmpty() == true) {
-		 		 		 		 return;
-		 		 		 }
+ 		};
 
-		 		 		 IMatch selected= selectCElement(elementsFound, getShell(), fDialogTitle, fDialogMessage);
-		 		 		 if (selected != null) {
-		 		 		 		 open(selected);
-		 		 		 		 return;
-		 		 		 }
-		 		 } catch(Exception x) {
-		 		 		 CUIPlugin.getDefault().log(x);
-		 		 }
+		try {
+	 		ProgressMonitorDialog progressMonitor = new ProgressMonitorDialog(getShell());
+	 		progressMonitor.run(true, true, runnable);
+	
+	 		if (elementsFound.isEmpty() == true) {
+	 			return;
+	 		}
+	
+	 		IMatch selected= selectCElement(elementsFound, getShell(), fDialogTitle, fDialogMessage);
+	 		if (selected != null) {
+	 			open(selected);
+	 			return;
+	 		}
+		} catch(Exception x) {
+		 		 CUIPlugin.getDefault().log(x);
+		}
 	}
 
 	protected Shell getShell() {
Index: src/org/eclipse/cdt/internal/ui/opentype/TypeSearchOperation.java
===================================================================
retrieving revision 1.2
diff -u -r1.2 TypeSearchOperation.java
--- src/org/eclipse/cdt/internal/ui/opentype/TypeSearchOperation.java	5 Feb 2004 20:39:07 -0000	1.2
+++ src/org/eclipse/cdt/internal/ui/opentype/TypeSearchOperation.java	16 Feb 2004 16:30:40 -0000
@@ -12,8 +12,8 @@
 
 import org.eclipse.cdt.core.search.ICSearchConstants;
 import org.eclipse.cdt.core.search.ICSearchScope;
+import org.eclipse.cdt.core.search.OrPattern;
 import org.eclipse.cdt.core.search.SearchEngine;
-import org.eclipse.cdt.internal.core.search.matching.OrPattern;
 import org.eclipse.core.resources.IWorkspace;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.OperationCanceledException;
Index: src/org/eclipse/cdt/internal/ui/search/CSearchOperation.java
===================================================================
retrieving revision 1.9
diff -u -r1.9 CSearchOperation.java
--- src/org/eclipse/cdt/internal/ui/search/CSearchOperation.java	27 Oct 2003 20:57:47 -0000	1.9
+++ src/org/eclipse/cdt/internal/ui/search/CSearchOperation.java	16 Feb 2004 16:30:40 -0000
@@ -20,16 +20,14 @@
 import org.eclipse.cdt.core.search.ICSearchConstants;
 import org.eclipse.cdt.core.search.ICSearchPattern;
 import org.eclipse.cdt.core.search.ICSearchScope;
+import org.eclipse.cdt.core.search.OrPattern;
 import org.eclipse.cdt.core.search.SearchEngine;
-import org.eclipse.cdt.internal.core.search.matching.OrPattern;
 import org.eclipse.cdt.internal.ui.CPluginImages;
 import org.eclipse.cdt.ui.CUIPlugin;
 import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.jface.operation.IRunnableWithProgress;
 import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
 
 /**
  * @author aniefer
@@ -78,9 +76,10 @@
 			pattern = SearchEngine.createSearchPattern( _stringPattern, (SearchFor)iter.next(), _limitTo, _caseSensitive );
 		}
 		
-		engine.search( _workspace, pattern, _scope, _collector, false );
-	
-		
+		try {
+			engine.search( _workspace, pattern, _scope, _collector, false );
+		} catch (InterruptedException e) {
+		}
 	}
 	
 	/**
Index: src/org/eclipse/cdt/internal/ui/text/contentassist/CCompletionProcessor.java
===================================================================
retrieving revision 1.11
diff -u -r1.11 CCompletionProcessor.java
--- src/org/eclipse/cdt/internal/ui/text/contentassist/CCompletionProcessor.java	10 Feb 2004 16:06:10 -0000	1.11
+++ src/org/eclipse/cdt/internal/ui/text/contentassist/CCompletionProcessor.java	16 Feb 2004 16:30:41 -0000
@@ -20,8 +20,8 @@
 import org.eclipse.cdt.core.search.BasicSearchResultCollector;
 import org.eclipse.cdt.core.search.ICSearchConstants;
 import org.eclipse.cdt.core.search.ICSearchScope;
+import org.eclipse.cdt.core.search.OrPattern;
 import org.eclipse.cdt.core.search.SearchEngine;
-import org.eclipse.cdt.internal.core.search.matching.OrPattern;
 import org.eclipse.cdt.internal.corext.template.ContextType;
 import org.eclipse.cdt.internal.corext.template.ContextTypeRegistry;
 import org.eclipse.cdt.internal.corext.template.ITemplateEditor;
@@ -546,7 +546,10 @@
 				orPattern.addPattern(SearchEngine.createSearchPattern( 
 						searchPrefix, ICSearchConstants.FUNCTION, ICSearchConstants.DECLARATIONS, false ));
 			}
-			searchEngine.search(CUIPlugin.getWorkspace(), orPattern, scope, searchResultCollector, true);
+			try {
+				searchEngine.search(CUIPlugin.getWorkspace(), orPattern, scope, searchResultCollector, true);
+			} catch (InterruptedException e) {
+			}
 			elementsFound.addAll(searchResultCollector.getSearchResults());
 			
 			sendResultsToCollector(elementsFound.iterator(), offset, length, prefix ); 
Index: src/org/eclipse/cdt/ui/wizards/NewClassWizardPage.java
===================================================================
retrieving revision 1.11
diff -u -r1.11 NewClassWizardPage.java
--- src/org/eclipse/cdt/ui/wizards/NewClassWizardPage.java	15 Jan 2004 18:05:58 -0000	1.11
+++ src/org/eclipse/cdt/ui/wizards/NewClassWizardPage.java	16 Feb 2004 16:30:43 -0000
@@ -449,7 +449,10 @@
 		elements[0] = cProject;
 		ICSearchScope scope = SearchEngine.createCSearchScope(elements, true);
 
-		searchEngine.search(CUIPlugin.getWorkspace(), pattern, scope, resultCollector, false);
+		try {
+			searchEngine.search(CUIPlugin.getWorkspace(), pattern, scope, resultCollector, false);
+		} catch (InterruptedException e) {
+		}
 		elementsFound.addAll(resultCollector.getSearchResults());
 	}
 	

Back to the top