From 4006f2c6ff6e6b24c091ff7882e0264cb39d9a45 Mon Sep 17 00:00:00 2001 From: sjfink Date: Tue, 29 May 2007 17:14:11 +0000 Subject: [PATCH] changes to search implementation and API git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1189 f5eafffb-2e1d-0410-98e4-8ec43c5233c4 --- .../src/com/ibm/wala/eclipse/util/JdtUtil.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/com.ibm.wala.core/src/com/ibm/wala/eclipse/util/JdtUtil.java b/com.ibm.wala.core/src/com/ibm/wala/eclipse/util/JdtUtil.java index 2c513e85a..3979cb291 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/eclipse/util/JdtUtil.java +++ b/com.ibm.wala.core/src/com/ibm/wala/eclipse/util/JdtUtil.java @@ -214,11 +214,14 @@ public class JdtUtil { * * @return null if not found */ - public static IType findJavaClassInWorkspace(String className) { + public static IType findJavaClassInProjects(String className, Collection projects) { SearchPattern p = SearchPattern.createPattern(className, IJavaSearchConstants.CLASS_AND_INTERFACE, IJavaSearchConstants.DECLARATIONS, SearchPattern.R_EXACT_MATCH); - IJavaSearchScope scope = SearchEngine.createWorkspaceScope(); + IJavaElement[] arr = new IJavaElement[projects.size()]; + projects.toArray(arr); + IJavaSearchScope scope = SearchEngine.createJavaSearchScope(arr , false); +// IJavaSearchScope scope = SearchEngine.createWorkspaceScope(); SearchEngine engine = new SearchEngine(); final Collection kludge = HashSetFactory.make(); SearchRequestor requestor = new SearchRequestor() { @@ -251,11 +254,11 @@ public class JdtUtil { * * @return null if not found */ - public static IMethod findJavaMethodInWorkspace(String klass, String selector) { + public static IMethod findJavaMethodInProjects(String klass, String selector, Collection projects) { IType type = null; try { - type = findJavaClassInWorkspace(klass); + type = findJavaClassInProjects(klass, projects); } catch (Throwable t) { return null; } @@ -443,6 +446,7 @@ public class JdtUtil { * * @return null if not found */ + @Deprecated public static IMethod findJavaMethodInWorkspaceBrokenForInnerClasses(String methodSig) { // dammit ... this doesn't work for inner classes.