import com.ibm.wala.shrikeBT.*;
import com.ibm.wala.shrikeCT.*;
import com.ibm.wala.util.config.FileOfClasses;
import com.ibm.wala.util.intset.*;
import com.ibm.wala.ipa.callgraph.*;
import com.ibm.wala.ipa.callgraph.impl.Util;
import com.ibm.wala.ipa.cha.ClassHierarchy;
import com.ibm.wala.ipa.cha.ClassHierarchyException;
import com.ibm.wala.util.CancelException;
import com.ibm.wala.util.config.AnalysisScopeReader;
import com.ibm.wala.util.io.FileProvider;
import java.io.*;
public class WALAShrikeExample {
public static void main(String[] args) {
try {
File exFile = new FileProvider().getFile("path/to/your/class/files.txt");
AnalysisScope scope = AnalysisScopeReader.readJavaScope("path/to/your/exclusions.txt", exFile,
WALAShrikeExample.class.getClassLoader());
ClassHierarchy cha = ClassHierarchy.make(scope);
AnalysisOptions options = new AnalysisOptions();
CallGraphBuilder builder = Util.makeZeroCFABuilder(options, Throttle.create());
CallGraph cg = builder.makeCallGraph(options, null);
for (CGNode node : cg) {
performAnalysis(node);
}
} catch (IOException e) {
e.printStackTrace();
} catch (ClassHierarchyException e) {
e.printStackTrace();
} catch (CancelException e) {
e.printStackTrace();
}
}
private static void performAnalysis(CGNode node) {
}
}