From 50dd4919ebe70a5213e674a6f3acfbfa0b2ac8c5 Mon Sep 17 00:00:00 2001 From: dolby-oss Date: Fri, 23 May 2008 15:39:37 +0000 Subject: [PATCH] use FileProvider to find exclusions file git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2831 f5eafffb-2e1d-0410-98e4-8ec43c5233c4 --- .../src/com/ibm/wala/client/AbstractAnalysisEngine.java | 3 ++- .../src/com/ibm/wala/util/config/AnalysisScopeReader.java | 3 +++ .../src/com/ibm/wala/util/config/FileOfClasses.java | 8 ++++++-- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/com.ibm.wala.core/src/com/ibm/wala/client/AbstractAnalysisEngine.java b/com.ibm.wala.core/src/com/ibm/wala/client/AbstractAnalysisEngine.java index ea229c235..6a3bb045a 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/client/AbstractAnalysisEngine.java +++ b/com.ibm.wala.core/src/com/ibm/wala/client/AbstractAnalysisEngine.java @@ -40,6 +40,7 @@ import com.ibm.wala.ssa.DefaultIRFactory; import com.ibm.wala.types.ClassLoaderReference; import com.ibm.wala.util.config.AnalysisScopeReader; import com.ibm.wala.util.debug.Assertions; +import com.ibm.wala.util.io.FileProvider; /** * @@ -159,7 +160,7 @@ public abstract class AbstractAnalysisEngine implements AnalysisEngine { Assertions.UNREACHABLE("no j2selibs specified. You probably did not call AppAnalysisEngine.setJ2SELibrary."); } - scope = AnalysisScopeReader.read(SYNTHETIC_J2SE_MODEL, new File(getExclusionsFile()), getClass().getClassLoader()); + scope = AnalysisScopeReader.read(SYNTHETIC_J2SE_MODEL, FileProvider.getFile(getExclusionsFile()), getClass().getClassLoader()); // add standard libraries for (int i = 0; i < j2seLibs.length; i++) { diff --git a/com.ibm.wala.core/src/com/ibm/wala/util/config/AnalysisScopeReader.java b/com.ibm.wala.core/src/com/ibm/wala/util/config/AnalysisScopeReader.java index 2b41a0ef0..53f455542 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/util/config/AnalysisScopeReader.java +++ b/com.ibm.wala.core/src/com/ibm/wala/util/config/AnalysisScopeReader.java @@ -63,9 +63,11 @@ public class AnalysisScopeReader { String entryPathname = toks.nextToken(); if ("classFile".equals(entryType)) { File cf = FileProvider.getFile(entryPathname, javaLoader); + assert cf != null && cf.exists(); scope.addClassFileToScope(walaLoader, cf); } else if ("sourceFile".equals(entryType)) { File sf = FileProvider.getFile(entryPathname, javaLoader); + assert sf != null && sf.exists(); scope.addSourceFileToScope(walaLoader, sf, entryPathname); } else if ("binaryDir".equals(entryType)) { File bd = FileProvider.getFile(entryPathname, javaLoader); @@ -95,6 +97,7 @@ public class AnalysisScopeReader { } } catch (IOException e) { + e.printStackTrace(); Assertions.UNREACHABLE(e.toString()); } diff --git a/com.ibm.wala.core/src/com/ibm/wala/util/config/FileOfClasses.java b/com.ibm.wala.core/src/com/ibm/wala/util/config/FileOfClasses.java index 5b45ee9ab..c0cddd883 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/util/config/FileOfClasses.java +++ b/com.ibm.wala.core/src/com/ibm/wala/util/config/FileOfClasses.java @@ -14,6 +14,7 @@ import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.IOException; +import java.io.InputStream; import java.io.InputStreamReader; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -39,8 +40,11 @@ public class FileOfClasses extends SetOfClasses { private boolean needsCompile = false; public FileOfClasses(File textFile) throws IOException { - - BufferedReader is = new BufferedReader(new InputStreamReader(new FileInputStream(textFile))); + this(new FileInputStream(textFile)); + } + + public FileOfClasses(InputStream input) throws IOException { + BufferedReader is = new BufferedReader(new InputStreamReader(input)); StringBuffer regex = null; String line;