diff --git a/com.ibm.wala.cast.java.test.data/src/foo/bar/hello/world/ArraysAndSuch.java b/com.ibm.wala.cast.java.test.data/src/foo/bar/hello/world/ArraysAndSuch.java index 26e71a9e2..285c5579f 100644 --- a/com.ibm.wala.cast.java.test.data/src/foo/bar/hello/world/ArraysAndSuch.java +++ b/com.ibm.wala.cast.java.test.data/src/foo/bar/hello/world/ArraysAndSuch.java @@ -55,7 +55,7 @@ public class ArraysAndSuch { os1.clone(); if ( os1.equals(os2) ) { - Class x = os1.getClass(); + Class x = os1.getClass(); os1.notify(); os1.toString(); try { diff --git a/com.ibm.wala.cast.java.test/src/com/ibm/wala/cast/java/test/IRTests.java b/com.ibm.wala.cast.java.test/src/com/ibm/wala/cast/java/test/IRTests.java index 2799e1a93..197cdc3da 100644 --- a/com.ibm.wala.cast.java.test/src/com/ibm/wala/cast/java/test/IRTests.java +++ b/com.ibm.wala.cast.java.test/src/com/ibm/wala/cast/java/test/IRTests.java @@ -378,8 +378,8 @@ public abstract class IRTests { Set unreachable = HashSetFactory.make(); IClassHierarchy cha = cg.getClassHierarchy(); IClassLoader sourceLoader = cha.getLoader(JavaSourceAnalysisScope.SOURCE); - for (Iterator iter = sourceLoader.iterateAllClasses(); iter.hasNext();) { - IClass clazz = (IClass) iter.next(); + for (Iterator iter = sourceLoader.iterateAllClasses(); iter.hasNext();) { + IClass clazz = iter.next(); System.err.println(clazz); if (clazz.isInterface()) @@ -389,7 +389,7 @@ public abstract class IRTests { if (m.isAbstract()) { System.err.println(m); } else { - Iterator nodeIter = cg.getNodes(m.getReference()).iterator(); + Iterator nodeIter = cg.getNodes(m.getReference()).iterator(); if (!nodeIter.hasNext()) { if (m instanceof AstMethod) { String fn = ((AstClass)m.getDeclaringClass()).getSourcePosition().getURL().getFile(); @@ -400,7 +400,7 @@ public abstract class IRTests { } continue; } - CGNode node = (CGNode) nodeIter.next(); + CGNode node = nodeIter.next(); System.err.println(node.getIR()); } } @@ -450,7 +450,7 @@ public abstract class IRTests { return null; } - public static void populateScope(JavaSourceAnalysisEngine engine, Collection sources, List libs) { + public static void populateScope(JavaSourceAnalysisEngine engine, Collection sources, List libs) { boolean foundLib = false; for (String lib : libs) { File libFile = new File(lib); diff --git a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/examples/ast/SynchronizedBlockDuplicator.java b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/examples/ast/SynchronizedBlockDuplicator.java index 67d6a220d..c6eb392c3 100644 --- a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/examples/ast/SynchronizedBlockDuplicator.java +++ b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/examples/ast/SynchronizedBlockDuplicator.java @@ -158,7 +158,7 @@ public class SynchronizedBlockDuplicator extends } @Override - protected CAstNode flowOutTo(Map nodeMap, CAstNode oldSource, Object label, CAstNode oldTarget, CAstControlFlowMap orig, + protected CAstNode flowOutTo(Map, CAstNode> nodeMap, CAstNode oldSource, Object label, CAstNode oldTarget, CAstControlFlowMap orig, CAstSourcePositionMap src) { assert oldTarget == CAstControlFlowMap.EXCEPTION_TO_EXIT; return oldTarget; diff --git a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ipa/callgraph/AstJavaSSAPropagationCallGraphBuilder.java b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ipa/callgraph/AstJavaSSAPropagationCallGraphBuilder.java index 725db5264..4fba572a7 100644 --- a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ipa/callgraph/AstJavaSSAPropagationCallGraphBuilder.java +++ b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ipa/callgraph/AstJavaSSAPropagationCallGraphBuilder.java @@ -182,7 +182,7 @@ public class AstJavaSSAPropagationCallGraphBuilder extends AstSSAPropagationCall system.newSideEffect(new UnaryOperator() { @Override public byte evaluate(PointsToSetVariable lhs, PointsToSetVariable rhs) { - IntSetVariable tv = rhs; + IntSetVariable tv = rhs; if (tv.getValue() != null) { tv.getValue().foreach(new IntSetAction() { @Override diff --git a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ipa/callgraph/JavaScopeMappingInstanceKeys.java b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ipa/callgraph/JavaScopeMappingInstanceKeys.java index 37ad1dad3..36ef6e7f6 100644 --- a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ipa/callgraph/JavaScopeMappingInstanceKeys.java +++ b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ipa/callgraph/JavaScopeMappingInstanceKeys.java @@ -12,7 +12,6 @@ package com.ibm.wala.cast.java.ipa.callgraph; import java.util.Collection; import java.util.Collections; -import java.util.Iterator; import java.util.Set; import com.ibm.wala.cast.ipa.callgraph.ScopeMappingInstanceKeys; @@ -42,8 +41,7 @@ public class JavaScopeMappingInstanceKeys extends ScopeMappingInstanceKeys { if (isPossiblyLexicalClass(cls)) { Set result = HashSetFactory.make(); - for (Iterator MS = cls.getAllMethods().iterator(); MS.hasNext();) { - IMethod m = (IMethod) MS.next(); + for (IMethod m : cls.getAllMethods()) { if ((m instanceof AstMethod) && !m.isStatic()) { AstMethod M = (AstMethod) m; LexicalParent[] parents = M.getParents(); diff --git a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/loader/JavaSourceLoaderImpl.java b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/loader/JavaSourceLoaderImpl.java index 7d315b2cf..ed40b90b5 100644 --- a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/loader/JavaSourceLoaderImpl.java +++ b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/loader/JavaSourceLoaderImpl.java @@ -100,11 +100,11 @@ public abstract class JavaSourceLoaderImpl extends ClassLoaderImpl { public class JavaClass extends AstClass { protected final IClass enclosingClass; - protected final Collection superTypeNames; + protected final Collection superTypeNames; private final Collection annotations; - public JavaClass(String typeName, Collection superTypeNames, CAstSourcePositionMap.Position position, Collection qualifiers, + public JavaClass(String typeName, Collection superTypeNames, CAstSourcePositionMap.Position position, Collection qualifiers, JavaSourceLoaderImpl loader, IClass enclosingClass, Collection annotations) { super(position, TypeName.string2TypeName(typeName), loader, (short) mapToInt(qualifiers), new HashMap(), new HashMap()); this.superTypeNames = superTypeNames; @@ -125,8 +125,8 @@ public abstract class JavaSourceLoaderImpl extends ClassLoaderImpl { @Override public IClass getSuperclass() { boolean excludedSupertype=false; - for (Iterator iter = superTypeNames.iterator(); iter.hasNext();) { - TypeName name = (TypeName) iter.next(); + for (Iterator iter = superTypeNames.iterator(); iter.hasNext();) { + TypeName name = iter.next(); IClass domoType = lookupClass(name); if (domoType != null && !domoType.isInterface()) { return domoType; @@ -156,8 +156,7 @@ public abstract class JavaSourceLoaderImpl extends ClassLoaderImpl { @Override public Collection getDirectInterfaces() { List result = new ArrayList<>(); - for (Iterator iter = superTypeNames.iterator(); iter.hasNext();) { - TypeName name = (TypeName) iter.next(); + for (TypeName name : superTypeNames) { IClass domoType = lookupClass(name); if (domoType != null && domoType.isInterface()) { result.add(domoType); @@ -170,7 +169,7 @@ public abstract class JavaSourceLoaderImpl extends ClassLoaderImpl { return result; } - private void addMethod(CAstEntity methodEntity, IClass owner, AbstractCFG cfg, SymbolTable symtab, boolean hasCatchBlock, + private void addMethod(CAstEntity methodEntity, IClass owner, AbstractCFG cfg, SymbolTable symtab, boolean hasCatchBlock, Map, TypeReference[]> caughtTypes, boolean hasMonitorOp, AstLexicalInformation lexicalInfo, DebuggingInformation debugInfo) { declaredMethods.put(Util.methodEntityToSelector(methodEntity), new ConcreteJavaMethod(methodEntity, owner, cfg, symtab, hasCatchBlock, caughtTypes, hasMonitorOp, lexicalInfo, debugInfo)); @@ -251,7 +250,7 @@ public abstract class JavaSourceLoaderImpl extends ClassLoaderImpl { private final TypeReference[] exceptionTypes; - public JavaEntityMethod(CAstEntity methodEntity, IClass owner, AbstractCFG cfg, SymbolTable symtab, boolean hasCatchBlock, + public JavaEntityMethod(CAstEntity methodEntity, IClass owner, AbstractCFG cfg, SymbolTable symtab, boolean hasCatchBlock, Map, TypeReference[]> caughtTypes, boolean hasMonitorOp, AstLexicalInformation lexicalInfo, DebuggingInformation debugInfo) { super(owner, methodEntity.getQualifiers(), cfg, symtab, MethodReference.findOrCreate(owner.getReference(), Util .methodEntityToSelector(methodEntity)), hasCatchBlock, caughtTypes, hasMonitorOp, lexicalInfo, debugInfo, JavaSourceLoaderImpl.this.getAnnotations(methodEntity)); @@ -310,13 +309,13 @@ public abstract class JavaSourceLoaderImpl extends ClassLoaderImpl { private TypeReference[] computeExceptionTypes(CAstEntity methodEntity) { CAstType.Function fType = (Function) methodEntity.getType(); - Collection exceptionTypes = fType.getExceptionTypes(); + Collection exceptionTypes = fType.getExceptionTypes(); TypeReference[] result = new TypeReference[exceptionTypes.size()]; int i = 0; - for (Iterator iter = exceptionTypes.iterator(); iter.hasNext(); i++) { - CAstType type = (CAstType) iter.next(); + for (CAstType type : exceptionTypes) { result[i] = TypeReference.findOrCreate(JavaSourceLoaderImpl.this.getReference(), type.getName()); + ++i; } return result; @@ -369,7 +368,7 @@ public abstract class JavaSourceLoaderImpl extends ClassLoaderImpl { * @author rfuhrer */ public class ConcreteJavaMethod extends JavaEntityMethod { - public ConcreteJavaMethod(CAstEntity methodEntity, IClass owner, AbstractCFG cfg, SymbolTable symtab, boolean hasCatchBlock, + public ConcreteJavaMethod(CAstEntity methodEntity, IClass owner, AbstractCFG cfg, SymbolTable symtab, boolean hasCatchBlock, Map, TypeReference[]> caughtTypes, boolean hasMonitorOp, AstLexicalInformation lexicalInfo, DebuggingInformation debugInfo) { super(methodEntity, owner, cfg, symtab, hasCatchBlock, caughtTypes, hasMonitorOp, lexicalInfo, debugInfo); } @@ -451,11 +450,9 @@ public abstract class JavaSourceLoaderImpl extends ClassLoaderImpl { } } - public static int mapToInt(Collection/* */qualifiers) { + public static int mapToInt(Collection qualifiers) { int result = 0; - for (Iterator iter = qualifiers.iterator(); iter.hasNext();) { - CAstQualifier q = (CAstQualifier) iter.next(); - + for (CAstQualifier q : qualifiers) { if (q == CAstQualifier.PUBLIC) result |= ClassConstants.ACC_PUBLIC; if (q == CAstQualifier.PROTECTED) @@ -522,7 +519,7 @@ public abstract class JavaSourceLoaderImpl extends ClassLoaderImpl { /** END Custom change: Optional deletion of fTypeMap */ } - public void defineFunction(CAstEntity n, IClass owner, AbstractCFG cfg, SymbolTable symtab, boolean hasCatchBlock, + public void defineFunction(CAstEntity n, IClass owner, AbstractCFG cfg, SymbolTable symtab, boolean hasCatchBlock, Map, TypeReference[]> caughtTypes, boolean hasMonitorOp, AstLexicalInformation lexicalInfo, DebuggingInformation debugInfo) { ((JavaClass) owner).addMethod(n, owner, cfg, symtab, hasCatchBlock, caughtTypes, hasMonitorOp, lexicalInfo, debugInfo); } @@ -541,8 +538,8 @@ public abstract class JavaSourceLoaderImpl extends ClassLoaderImpl { public IClass defineType(CAstEntity type, String typeName, CAstEntity owner) { Collection superTypeNames = new ArrayList<>(); - for (Iterator superTypes = type.getType().getSupertypes().iterator(); superTypes.hasNext();) { - superTypeNames.add(toWALATypeName(((CAstType) superTypes.next()))); + for (CAstType superType : type.getType().getSupertypes()) { + superTypeNames.add(toWALATypeName(superType)); } JavaClass javaClass = new JavaClass(typeName, superTypeNames, type.getPosition(), type.getQualifiers(), this, diff --git a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/loader/Util.java b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/loader/Util.java index 50c023ab3..c8137a7bb 100644 --- a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/loader/Util.java +++ b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/loader/Util.java @@ -11,8 +11,6 @@ package com.ibm.wala.cast.java.loader; -import java.util.Iterator; - import com.ibm.wala.cast.tree.CAstEntity; import com.ibm.wala.cast.tree.CAstType; import com.ibm.wala.types.Descriptor; @@ -34,11 +32,9 @@ public class Util { new TypeName[signature.getArgumentCount()]; int i= 0; - for(Iterator iter= signature.getArgumentTypes().iterator(); - iter.hasNext(); i++) - { - CAstType argType= (CAstType) iter.next(); + for (CAstType argType : signature.getArgumentTypes()) { argTypeNames[i]= TypeName.string2TypeName(argType.getName()); + ++i; } Descriptor desc= Descriptor.findOrCreate(argTypeNames, retTypeName); diff --git a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/translator/Java2IRTranslator.java b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/translator/Java2IRTranslator.java index 525f989cf..c25583e6d 100644 --- a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/translator/Java2IRTranslator.java +++ b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/translator/Java2IRTranslator.java @@ -29,7 +29,7 @@ public class Java2IRTranslator { protected final JavaSourceLoaderImpl fLoader; - CAstRewriterFactory castRewriterFactory = null; + CAstRewriterFactory castRewriterFactory = null; public Java2IRTranslator(JavaSourceLoaderImpl srcLoader) { this(srcLoader, false); @@ -40,12 +40,12 @@ public class Java2IRTranslator { } public Java2IRTranslator(JavaSourceLoaderImpl srcLoader, - CAstRewriterFactory castRewriterFactory) { + CAstRewriterFactory castRewriterFactory) { this(srcLoader, castRewriterFactory, false); } public Java2IRTranslator(JavaSourceLoaderImpl srcLoader, - CAstRewriterFactory castRewriterFactory, boolean debug) { + CAstRewriterFactory castRewriterFactory, boolean debug) { DEBUG = debug; fLoader = srcLoader; this.castRewriterFactory = castRewriterFactory; @@ -60,7 +60,7 @@ public class Java2IRTranslator { if (castRewriterFactory != null) { CAst cast = new CAstImpl(); - CAstRewriter rw = castRewriterFactory.createCAstRewriter(cast); + CAstRewriter rw = castRewriterFactory.createCAstRewriter(cast); ce = rw.rewrite(ce); if (DEBUG) { PrintWriter printWriter = new PrintWriter(System.out); diff --git a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/translator/JavaCAst2IRTranslator.java b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/translator/JavaCAst2IRTranslator.java index b9d8662a3..672c44e20 100644 --- a/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/translator/JavaCAst2IRTranslator.java +++ b/com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/translator/JavaCAst2IRTranslator.java @@ -15,7 +15,6 @@ package com.ibm.wala.cast.java.translator; import java.util.Collection; import java.util.Collections; -import java.util.Iterator; import java.util.Map; import com.ibm.wala.cast.ir.translator.AstTranslator; @@ -171,10 +170,9 @@ public class JavaCAst2IRTranslator extends AstTranslator { context.cfg().addPreNode(n, context.getUnwindState()); context.cfg().newBlock(true); - Collection labels = context.getControlFlow().getTargetLabels(n); + Collection labels = context.getControlFlow().getTargetLabels(n); - for (Iterator iter = labels.iterator(); iter.hasNext();) { - Object label = iter.next(); + for (Object label : labels) { CAstNode target = context.getControlFlow().getTarget(n, label); if (target == CAstControlFlowMap.EXCEPTION_TO_EXIT) context.cfg().addPreEdgeToExit(n, true); diff --git a/com.ibm.wala.cast.js.nodejs/src/com/ibm/wala/cast/js/nodejs/NodejsCallGraphBuilderUtil.java b/com.ibm.wala.cast.js.nodejs/src/com/ibm/wala/cast/js/nodejs/NodejsCallGraphBuilderUtil.java index 978b9eb41..7caabef44 100644 --- a/com.ibm.wala.cast.js.nodejs/src/com/ibm/wala/cast/js/nodejs/NodejsCallGraphBuilderUtil.java +++ b/com.ibm.wala.cast.js.nodejs/src/com/ibm/wala/cast/js/nodejs/NodejsCallGraphBuilderUtil.java @@ -64,7 +64,7 @@ public class NodejsCallGraphBuilderUtil extends JSCallGraphUtil { Language language = JavaScriptLoader.JS; Collection languages = Collections.singleton(language); - IRFactory irFactory = new AstIRFactory.AstDefaultIRFactory(); + IRFactory irFactory = new AstIRFactory.AstDefaultIRFactory<>(); AnalysisCache cache = new AnalysisCacheImpl(irFactory); JavaScriptLoaderFactory loaders = new JavaScriptLoaderFactory(translatorFactory, null); diff --git a/com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test/JSCallGraphBuilderUtil.java b/com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test/JSCallGraphBuilderUtil.java index 438afdb4f..4fbcec10a 100644 --- a/com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test/JSCallGraphBuilderUtil.java +++ b/com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test/JSCallGraphBuilderUtil.java @@ -95,7 +95,7 @@ public class JSCallGraphBuilderUtil extends com.ibm.wala.cast.js.ipa.callgraph.J */ public static JSCFABuilder makeScriptCGBuilder(String dir, String name, CGBuilderType builderType, ClassLoader loader) throws IOException, WalaException { URL script = getURLforFile(dir, name, loader); - CAstRewriterFactory preprocessor = builderType.extractCorrelatedPairs ? new CorrelatedPairExtractorFactory(translatorFactory, script) : null; + CAstRewriterFactory preprocessor = builderType.extractCorrelatedPairs ? new CorrelatedPairExtractorFactory(translatorFactory, script) : null; JavaScriptLoaderFactory loaders = JSCallGraphUtil.makeLoaders(preprocessor); AnalysisScope scope = makeScriptScope(dir, name, loaders, loader); @@ -163,7 +163,7 @@ public class JSCallGraphBuilderUtil extends com.ibm.wala.cast.js.ipa.callgraph.J public static CallGraph makeScriptCG(SourceModule[] scripts, CGBuilderType builderType, IRFactory irFactory) throws IOException, IllegalArgumentException, CancelException, WalaException { - CAstRewriterFactory preprocessor = builderType.extractCorrelatedPairs ? new CorrelatedPairExtractorFactory(translatorFactory, scripts) : null; + CAstRewriterFactory preprocessor = builderType.extractCorrelatedPairs ? new CorrelatedPairExtractorFactory(translatorFactory, scripts) : null; PropagationCallGraphBuilder b = makeCGBuilder(makeLoaders(preprocessor), scripts, builderType, irFactory); CallGraph CG = b.makeCallGraph(b.getOptions()); // dumpCG(b.getPointerAnalysis(), CG); @@ -176,7 +176,7 @@ public class JSCallGraphBuilderUtil extends com.ibm.wala.cast.js.ipa.callgraph.J public static JSCFABuilder makeHTMLCGBuilder(URL url, CGBuilderType builderType, Function fExtractor) throws IOException, WalaException { IRFactory irFactory = AstIRFactory.makeDefaultFactory(); - CAstRewriterFactory preprocessor = builderType.extractCorrelatedPairs ? new CorrelatedPairExtractorFactory(translatorFactory, url) : null; + CAstRewriterFactory preprocessor = builderType.extractCorrelatedPairs ? new CorrelatedPairExtractorFactory(translatorFactory, url) : null; JavaScriptLoaderFactory loaders = new WebPageLoaderFactory(translatorFactory, preprocessor); SourceModule[] scriptsArray = makeHtmlScope(url, loaders, fExtractor); diff --git a/com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test/TestJavaScriptSlicer.java b/com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test/TestJavaScriptSlicer.java index e2658490b..531be9486 100644 --- a/com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test/TestJavaScriptSlicer.java +++ b/com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test/TestJavaScriptSlicer.java @@ -23,6 +23,7 @@ import com.ibm.wala.classLoader.CallSiteReference; import com.ibm.wala.core.tests.slicer.SlicerTest; import com.ibm.wala.ipa.callgraph.CGNode; import com.ibm.wala.ipa.callgraph.CallGraph; +import com.ibm.wala.ipa.callgraph.propagation.InstanceKey; import com.ibm.wala.ipa.slicer.NormalStatement; import com.ibm.wala.ipa.slicer.SDG; import com.ibm.wala.ipa.slicer.Slicer; @@ -75,7 +76,7 @@ public abstract class TestJavaScriptSlicer extends TestJSCallGraphShape { JSCFABuilder B = JSCallGraphBuilderUtil.makeScriptCGBuilder("tests", file); CallGraph CG = B.makeCallGraph(B.getOptions()); - SDG sdg = new SDG<>(CG, B.getPointerAnalysis(), new JavaScriptModRef<>(), data, ctrl); + SDG sdg = new SDG<>(CG, B.getPointerAnalysis(), new JavaScriptModRef<>(), data, ctrl); final Collection ss = findTargetStatement(CG); Collection result = Slicer.computeBackwardSlice(sdg, ss); diff --git a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/client/impl/OneCFABuilderFactory.java b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/client/impl/OneCFABuilderFactory.java index 7149e9349..31d8fc570 100644 --- a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/client/impl/OneCFABuilderFactory.java +++ b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/client/impl/OneCFABuilderFactory.java @@ -16,6 +16,7 @@ import com.ibm.wala.cast.js.ipa.callgraph.JSZeroOrOneXCFABuilder; import com.ibm.wala.ipa.callgraph.AnalysisCache; import com.ibm.wala.ipa.callgraph.AnalysisScope; import com.ibm.wala.ipa.callgraph.CallGraphBuilder; +import com.ibm.wala.ipa.callgraph.propagation.InstanceKey; import com.ibm.wala.ipa.callgraph.propagation.cfa.ZeroXInstanceKeys; import com.ibm.wala.ipa.cha.IClassHierarchy; @@ -26,7 +27,7 @@ import com.ibm.wala.ipa.cha.IClassHierarchy; */ public class OneCFABuilderFactory { - public CallGraphBuilder make(JSAnalysisOptions options, AnalysisCache cache, IClassHierarchy cha, AnalysisScope scope, + public CallGraphBuilder make(JSAnalysisOptions options, AnalysisCache cache, IClassHierarchy cha, AnalysisScope scope, boolean keepPointsTo) { com.ibm.wala.ipa.callgraph.impl.Util.addDefaultSelectors(options, cha); options.setSelector(new StandardFunctionTargetSelector(cha, options.getMethodTargetSelector())); diff --git a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/html/WebPageLoaderFactory.java b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/html/WebPageLoaderFactory.java index 5986cf8a0..fb84e43a3 100644 --- a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/html/WebPageLoaderFactory.java +++ b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/html/WebPageLoaderFactory.java @@ -34,7 +34,7 @@ public class WebPageLoaderFactory extends JavaScriptLoaderFactory { super(factory); } - public WebPageLoaderFactory(JavaScriptTranslatorFactory factory, CAstRewriterFactory preprocessor) { + public WebPageLoaderFactory(JavaScriptTranslatorFactory factory, CAstRewriterFactory preprocessor) { super(factory, preprocessor); } diff --git a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/ArgumentSpecialization.java b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/ArgumentSpecialization.java index 92f8637d0..299616a81 100644 --- a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/ArgumentSpecialization.java +++ b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/ArgumentSpecialization.java @@ -156,7 +156,7 @@ public class ArgumentSpecialization { } - public static class ArgumentCountIRFactory extends AstIRFactory.AstDefaultIRFactory { + public static class ArgumentCountIRFactory extends AstIRFactory.AstDefaultIRFactory { private static final CAstPattern directAccessPattern = CAstPattern.parse("|(ARRAY_REF(VAR(\"arguments\"),*)||OBJECT_REF(VAR(\"arguments\"),*))|"); private static final CAstPattern destructuredAccessPattern = CAstPattern.parse("BLOCK_EXPR(ASSIGN(VAR(/[$][$]destructure[$]rcvr[0-9]+/),VAR(\"arguments\")),ASSIGN(VAR(/[$][$]destructure[$]elt[0-9]+/),*))"); diff --git a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/JSCFABuilder.java b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/JSCFABuilder.java index 4fb6d364d..705b586ed 100644 --- a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/JSCFABuilder.java +++ b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/JSCFABuilder.java @@ -87,7 +87,7 @@ public abstract class JSCFABuilder extends JSSSAPropagationCallGraphBuilder { } @Override - protected PointerKey getInstanceFieldPointerKeyForConstant(InstanceKey I, ConstantKey F) { + protected PointerKey getInstanceFieldPointerKeyForConstant(InstanceKey I, ConstantKey F) { Object v = F.getValue(); String strVal = JSCallGraphUtil.simulateToStringForPropertyNames(v); // if we know the string representation of the constant, use it... diff --git a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/JSCallGraphUtil.java b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/JSCallGraphUtil.java index 7a314c1a8..b7c2b6fe7 100755 --- a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/JSCallGraphUtil.java +++ b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/JSCallGraphUtil.java @@ -109,7 +109,7 @@ public class JSCallGraphUtil extends com.ibm.wala.cast.ipa.callgraph.CAstCallGra * @param preprocessor CAst rewriter to use for preprocessing JavaScript source files; may be null * @return */ - public static JavaScriptLoaderFactory makeLoaders(CAstRewriterFactory preprocessor) { + public static JavaScriptLoaderFactory makeLoaders(CAstRewriterFactory preprocessor) { if (translatorFactory == null) { throw new IllegalStateException("com.ibm.wala.cast.js.ipa.callgraph.Util.setTranslatorFactory() must be invoked before makeLoaders()"); } diff --git a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/JSSSAPropagationCallGraphBuilder.java b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/JSSSAPropagationCallGraphBuilder.java index 148d5618b..2d509b46b 100755 --- a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/JSSSAPropagationCallGraphBuilder.java +++ b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/JSSSAPropagationCallGraphBuilder.java @@ -242,7 +242,7 @@ public class JSSSAPropagationCallGraphBuilder extends AstSSAPropagationCallGraph } @Override - protected void addAssignmentsForCatchPointerKey(PointerKey exceptionVar, Set catchClasses, PointerKey e) { + protected void addAssignmentsForCatchPointerKey(PointerKey exceptionVar, Set catchClasses, PointerKey e) { system.newConstraint(exceptionVar, assignOperator, e); } @@ -373,7 +373,7 @@ public class JSSSAPropagationCallGraphBuilder extends AstSSAPropagationCallGraph InstanceKey globalObj = ((AstSSAPropagationCallGraphBuilder) jsAnalysis.builder).getGlobalObject(JavaScriptTypes.jsName); PointerKey fkey = analysis.getHeapModel().getPointerKeyForInstanceField(globalObj, f); if (fkey != null) { - OrdinalSet pointees = analysis.getPointsToSet(fkey); + OrdinalSet pointees = analysis.getPointsToSet(fkey); IntSet set = pointees.getBackingSet(); if (set != null) { S.addAll(set); @@ -819,8 +819,8 @@ public class JSSSAPropagationCallGraphBuilder extends AstSSAPropagationCallGraph } catch (CancelException e) { throw new CancelRuntimeException(e); } - String v1 = (String) ((ConstantKey) iks1[i]).getValue(); - String v2 = (String) ((ConstantKey) iks2[j]).getValue(); + String v1 = (String) ((ConstantKey) iks1[i]).getValue(); + String v2 = (String) ((ConstantKey) iks2[j]).getValue(); if (v1.indexOf(v2) == -1 && v2.indexOf(v1) == -1) { InstanceKey lvalKey = getInstanceKeyForConstant(v1 + v2); if (addKey(lvalKey)) { diff --git a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/LoadFileTargetSelector.java b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/LoadFileTargetSelector.java index 0e9735e74..45b2987d1 100644 --- a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/LoadFileTargetSelector.java +++ b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/LoadFileTargetSelector.java @@ -59,7 +59,7 @@ public class LoadFileTargetSelector implements MethodTargetSelector { OrdinalSet ptrs = builder.getPointerAnalysis().getPointsToSet(fileNameV); for(InstanceKey k : ptrs) { if (k instanceof ConstantKey) { - Object v = ((ConstantKey)k).getValue(); + Object v = ((ConstantKey)k).getValue(); if (v instanceof String) { names.add((String)v); } diff --git a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/loader/JavaScriptLoader.java b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/loader/JavaScriptLoader.java index 389ae075e..71d12ed1f 100755 --- a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/loader/JavaScriptLoader.java +++ b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/loader/JavaScriptLoader.java @@ -145,7 +145,7 @@ public class JavaScriptLoader extends CAstAbstractModuleLoader { if (o == null) { return JavaScriptTypes.Null; } else { - Class c = o.getClass(); + Class c = o.getClass(); if (c == Boolean.class) { return JavaScriptTypes.Boolean; } else if (c == String.class) { @@ -676,13 +676,13 @@ public class JavaScriptLoader extends CAstAbstractModuleLoader { private final JavaScriptTranslatorFactory translatorFactory; - private final CAstRewriterFactory preprocessor; + private final CAstRewriterFactory preprocessor; public JavaScriptLoader(IClassHierarchy cha, JavaScriptTranslatorFactory translatorFactory) { this(cha, translatorFactory, null); } - public JavaScriptLoader(IClassHierarchy cha, JavaScriptTranslatorFactory translatorFactory, CAstRewriterFactory preprocessor) { + public JavaScriptLoader(IClassHierarchy cha, JavaScriptTranslatorFactory translatorFactory, CAstRewriterFactory preprocessor) { super(cha); this.translatorFactory = translatorFactory; this.preprocessor = preprocessor; @@ -800,7 +800,7 @@ public class JavaScriptLoader extends CAstAbstractModuleLoader { private WalkContext translationContext; private CAstEntity entity; - JavaScriptMethodObject(IClass cls, AbstractCFG cfg, SymbolTable symtab, boolean hasCatchBlock, + JavaScriptMethodObject(IClass cls, AbstractCFG cfg, SymbolTable symtab, boolean hasCatchBlock, Map, TypeReference[]> caughtTypes, boolean hasMonitorOp, AstLexicalInformation lexicalInfo, DebuggingInformation debugInfo) { super(cls, functionQualifiers, cfg, symtab, AstMethodReference.fnReference(cls.getReference()), hasCatchBlock, caughtTypes, hasMonitorOp, lexicalInfo, debugInfo, null); @@ -914,14 +914,14 @@ public class JavaScriptLoader extends CAstAbstractModuleLoader { return makeCodeBodyType(name, JavaScriptTypes.Script, pos, entity, context); } - public IMethod defineCodeBodyCode(String clsName, AbstractCFG cfg, SymbolTable symtab, boolean hasCatchBlock, + public IMethod defineCodeBodyCode(String clsName, AbstractCFG cfg, SymbolTable symtab, boolean hasCatchBlock, Map, TypeReference[]> caughtTypes, boolean hasMonitorOp, AstLexicalInformation lexicalInfo, DebuggingInformation debugInfo) { JavaScriptCodeBody C = (JavaScriptCodeBody) lookupClass(clsName, cha); assert C != null : clsName; return C.setCodeBody(makeCodeBodyCode(cfg, symtab, hasCatchBlock, caughtTypes, hasMonitorOp, lexicalInfo, debugInfo, C)); } - public JavaScriptMethodObject makeCodeBodyCode(AbstractCFG cfg, SymbolTable symtab, boolean hasCatchBlock, + public JavaScriptMethodObject makeCodeBodyCode(AbstractCFG cfg, SymbolTable symtab, boolean hasCatchBlock, Map, TypeReference[]> caughtTypes, boolean hasMonitorOp, AstLexicalInformation lexicalInfo, DebuggingInformation debugInfo, IClass C) { return new JavaScriptMethodObject(C, cfg, symtab, hasCatchBlock, caughtTypes, hasMonitorOp, lexicalInfo, diff --git a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/loader/JavaScriptLoaderFactory.java b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/loader/JavaScriptLoaderFactory.java index bfac347ba..d7f551217 100644 --- a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/loader/JavaScriptLoaderFactory.java +++ b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/loader/JavaScriptLoaderFactory.java @@ -23,13 +23,13 @@ import com.ibm.wala.types.ClassLoaderReference; */ public class JavaScriptLoaderFactory extends SingleClassLoaderFactory { protected final JavaScriptTranslatorFactory translatorFactory; - protected final CAstRewriterFactory preprocessor; + protected final CAstRewriterFactory preprocessor; public JavaScriptLoaderFactory(JavaScriptTranslatorFactory factory) { this(factory, null); } - public JavaScriptLoaderFactory(JavaScriptTranslatorFactory factory, CAstRewriterFactory preprocessor) { + public JavaScriptLoaderFactory(JavaScriptTranslatorFactory factory, CAstRewriterFactory preprocessor) { this.translatorFactory = factory; this.preprocessor = preprocessor; } diff --git a/com.ibm.wala.cast.test/harness-src/c/Makefile.configuration b/com.ibm.wala.cast.test/harness-src/c/Makefile.configuration index d17251fe9..8e30f4128 100644 --- a/com.ibm.wala.cast.test/harness-src/c/Makefile.configuration +++ b/com.ibm.wala.cast.test/harness-src/c/Makefile.configuration @@ -1 +1 @@ -CAST_TEST_BIN = /home/vagrant/WALA/com.ibm.wala.cast.test/target/classes/ +CAST_TEST_BIN = /home/liblit/Documents/research/joust/joust/WALA/com.ibm.wala.cast.test/target/classes/ diff --git a/com.ibm.wala.cast.test/harness-src/java/com/ibm/wala/cast/test/TestCAstPattern.java b/com.ibm.wala.cast.test/harness-src/java/com/ibm/wala/cast/test/TestCAstPattern.java index ca5d1dc4e..02bc781c7 100644 --- a/com.ibm.wala.cast.test/harness-src/java/com/ibm/wala/cast/test/TestCAstPattern.java +++ b/com.ibm.wala.cast.test/harness-src/java/com/ibm/wala/cast/test/TestCAstPattern.java @@ -12,7 +12,6 @@ package com.ibm.wala.cast.test; import java.util.ArrayList; import java.util.HashMap; -import java.util.Iterator; import java.util.List; import java.util.Map; @@ -33,24 +32,26 @@ public class TestCAstPattern extends WalaTestCase { private static final int NAME_ASSERTION_MULTI = 502; private static class TestingCAstImpl extends CAstImpl { - private final Map testNameMap = new HashMap(); + private final Map testNameMap = new HashMap<>(); @Override @SuppressWarnings("unchecked") public CAstNode makeNode(int kind, CAstNode children[]) { if (kind == NAME_ASSERTION_SINGLE || kind == NAME_ASSERTION_MULTI) { assert children.length == 2; - assert children[0].getValue() instanceof String; + final Object child0Value = children[0].getValue(); + assert child0Value instanceof String; + final String name = (String) child0Value; @SuppressWarnings("unused") CAstNode result = children[1]; if (kind == NAME_ASSERTION_SINGLE) { - testNameMap.put(children[0].getValue(), children[1]); + testNameMap.put(name, children[1]); } else { - if (!testNameMap.containsKey(children[0].getValue())) { - testNameMap.put(children[0].getValue(), new ArrayList()); + if (!testNameMap.containsKey(name)) { + testNameMap.put(name, new ArrayList<>()); } - ((List) testNameMap.get(children[0].getValue())).add(children[1]); + ((List) testNameMap.get(children[0].getValue())).add(children[1]); } return children[1]; } else { @@ -60,7 +61,7 @@ public class TestCAstPattern extends WalaTestCase { } - private static void test(CAstPattern p, CAstNode n, Map names) { + private static void test(CAstPattern p, CAstNode n, Map names) { System.err.println(("testing pattern " + p)); System.err.println(("testing with input " + CAstPrinter.print(n))); @@ -69,16 +70,15 @@ public class TestCAstPattern extends WalaTestCase { } else { Segments s = CAstPattern.match(p, n); Assert.assertTrue(s != null); - for (Iterator ns = names.keySet().iterator(); ns.hasNext();) { - String nm = (String) ns.next(); + for (String nm : names.keySet()) { Object o = names.get(nm); if (o instanceof CAstNode) { System.err.println(("found " + CAstPrinter.print(s.getSingle(nm)) + " for " + nm)); Assert.assertTrue("for name " + nm + ": expected " + names.get(nm) + " but got " + s.getSingle(nm), names.get(nm).equals( s.getSingle(nm))); } else { - for (Iterator cs = s.getMultiple(nm).iterator(); cs.hasNext();) { - System.err.println(("found " + CAstPrinter.print((CAstNode) cs.next()) + " for " + nm)); + for (CAstNode node : s.getMultiple(nm)) { + System.err.println(("found " + CAstPrinter.print(node) + " for " + nm)); } Assert.assertTrue("for name " + nm + ": expected " + names.get(nm) + " but got " + s.getMultiple(nm), names.get(nm) .equals(s.getMultiple(nm))); @@ -91,7 +91,7 @@ public class TestCAstPattern extends WalaTestCase { private final CAstNode simpleNameAst; - private final Map simpleNameMap; + private final Map simpleNameMap; { TestingCAstImpl Ast = new TestingCAstImpl(); @@ -111,7 +111,7 @@ public class TestCAstPattern extends WalaTestCase { private final CAstNode simpleStarNameAst; - private final Map simpleStarNameMap; + private final Map simpleStarNameMap; { TestingCAstImpl Ast = new TestingCAstImpl(); @@ -131,7 +131,7 @@ public class TestCAstPattern extends WalaTestCase { private final CAstNode simpleRepeatedAstOne; - private final Map simpleRepeatedMapOne; + private final Map simpleRepeatedMapOne; { TestingCAstImpl Ast = new TestingCAstImpl(); @@ -149,7 +149,7 @@ public class TestCAstPattern extends WalaTestCase { private final CAstNode simpleRepeatedAstTwo; - private final Map simpleRepeatedMapTwo; + private final Map simpleRepeatedMapTwo; { TestingCAstImpl Ast = new TestingCAstImpl(); @@ -168,7 +168,7 @@ public class TestCAstPattern extends WalaTestCase { private final CAstNode simpleRepeatedAstThree; - private final Map simpleRepeatedMapThree; + private final Map simpleRepeatedMapThree; { TestingCAstImpl Ast = new TestingCAstImpl(); @@ -190,7 +190,7 @@ public class TestCAstPattern extends WalaTestCase { private final CAstNode simpleDoubleStarAst; - private final Map simpleDoubleStarMap; + private final Map simpleDoubleStarMap; { TestingCAstImpl Ast = new TestingCAstImpl(); @@ -212,7 +212,7 @@ public class TestCAstPattern extends WalaTestCase { private final CAstNode simpleAlternativeAst; - private final Map simpleAlternativeMap; + private final Map simpleAlternativeMap; { TestingCAstImpl Ast = new TestingCAstImpl(); @@ -233,7 +233,7 @@ public class TestCAstPattern extends WalaTestCase { private final CAstNode simpleOptionalAstWith; - private final Map simpleOptionalMapWith; + private final Map simpleOptionalMapWith; { TestingCAstImpl Ast = new TestingCAstImpl(); @@ -251,7 +251,7 @@ public class TestCAstPattern extends WalaTestCase { private final CAstNode simpleOptionalAstNot; - private final Map simpleOptionalMapNot; + private final Map simpleOptionalMapNot; { TestingCAstImpl Ast = new TestingCAstImpl(); @@ -273,7 +273,7 @@ public class TestCAstPattern extends WalaTestCase { private final CAstNode recursiveTreeOneAst; - private final Map recursiveTreeOneMap; + private final Map recursiveTreeOneMap; { TestingCAstImpl Ast = new TestingCAstImpl(); @@ -291,7 +291,7 @@ public class TestCAstPattern extends WalaTestCase { private final CAstNode recursiveTreeTwoAst; - private final Map recursiveTreeTwoMap; + private final Map recursiveTreeTwoMap; { TestingCAstImpl Ast = new TestingCAstImpl(); @@ -311,7 +311,7 @@ public class TestCAstPattern extends WalaTestCase { private final CAstNode recursiveTreeFiveAst; - private final Map recursiveTreeFiveMap; + private final Map recursiveTreeFiveMap; { TestingCAstImpl Ast = new TestingCAstImpl(); @@ -367,7 +367,7 @@ public class TestCAstPattern extends WalaTestCase { private final CAstNode testedTreeOneAst; - private final Map testedTreeOneMap; + private final Map testedTreeOneMap; { TestingCAstImpl Ast = new TestingCAstImpl(); diff --git a/com.ibm.wala.cast.test/harness-src/java/com/ibm/wala/cast/test/TestCAstTranslator.java b/com.ibm.wala.cast.test/harness-src/java/com/ibm/wala/cast/test/TestCAstTranslator.java index 109f75db0..72a698fdd 100644 --- a/com.ibm.wala.cast.test/harness-src/java/com/ibm/wala/cast/test/TestCAstTranslator.java +++ b/com.ibm.wala.cast.test/harness-src/java/com/ibm/wala/cast/test/TestCAstTranslator.java @@ -100,14 +100,14 @@ public abstract class TestCAstTranslator extends WalaTestCase { } } - Pair[] instanceMethods = (Pair[]) entry[4]; + Pair[] instanceMethods = (Pair[]) entry[4]; if (instanceMethods != null) { for (int i = 0; i < instanceMethods.length; i++) { this.instanceMethods.put(Pair.make(clsName, instanceMethods[i].fst), instanceMethods[i].snd); } } - Pair[] staticMethods = (Pair[]) entry[5]; + Pair[] staticMethods = (Pair[]) entry[5]; if (staticMethods != null) { for (int i = 0; i < staticMethods.length; i++) { this.staticMethods.put(Pair.make(clsName, staticMethods[i].fst), staticMethods[i].snd); diff --git a/com.ibm.wala.cast.test/harness-src/java/com/ibm/wala/cast/test/TestCallGraphShape.java b/com.ibm.wala.cast.test/harness-src/java/com/ibm/wala/cast/test/TestCallGraphShape.java index 593d63ea9..559487b59 100644 --- a/com.ibm.wala.cast.test/harness-src/java/com/ibm/wala/cast/test/TestCallGraphShape.java +++ b/com.ibm.wala.cast.test/harness-src/java/com/ibm/wala/cast/test/TestCallGraphShape.java @@ -101,9 +101,9 @@ public abstract class TestCallGraphShape extends WalaTestCase { protected void verifyNameAssertions(CallGraph CG, Object[][] assertionData) { for (int i = 0; i < assertionData.length; i++) { - Iterator NS = getNodes(CG, (String) assertionData[i][0]).iterator(); + Iterator NS = getNodes(CG, (String) assertionData[i][0]).iterator(); while (NS.hasNext()) { - CGNode N = (CGNode) NS.next(); + CGNode N = NS.next(); IR ir = N.getIR(); Name[] names = (Name[]) assertionData[i][1]; for (int j = 0; j < names.length; j++) { @@ -135,7 +135,7 @@ public abstract class TestCallGraphShape extends WalaTestCase { for (int i = 0; i < assertionData.length; i++) { check_target: for (int j = 0; j < ((String[]) assertionData[i][1]).length; j++) { - Iterator srcs = (assertionData[i][0] instanceof String) ? getNodes(CG, (String) assertionData[i][0]).iterator() + Iterator srcs = (assertionData[i][0] instanceof String) ? getNodes(CG, (String) assertionData[i][0]).iterator() : new NonNullSingletonIterator<>(CG.getFakeRootNode()); Assert.assertTrue("cannot find " + assertionData[i][0], srcs.hasNext()); @@ -148,18 +148,18 @@ public abstract class TestCallGraphShape extends WalaTestCase { } while (srcs.hasNext()) { - CGNode src = (CGNode) srcs.next(); - for (Iterator sites = src.iterateCallSites(); sites.hasNext();) { - CallSiteReference sr = (CallSiteReference) sites.next(); + CGNode src = srcs.next(); + for (Iterator sites = src.iterateCallSites(); sites.hasNext();) { + CallSiteReference sr = sites.next(); - Iterator dsts = getNodes(CG, targetName).iterator(); + Iterator dsts = getNodes(CG, targetName).iterator(); if (! checkAbsence) { Assert.assertTrue("cannot find " + targetName, dsts.hasNext()); } while (dsts.hasNext()) { - CGNode dst = (CGNode) dsts.next(); - for (Iterator tos = CG.getPossibleTargets(src, sr).iterator(); tos.hasNext();) { + CGNode dst = dsts.next(); + for (Iterator tos = CG.getPossibleTargets(src, sr).iterator(); tos.hasNext();) { if (tos.next().equals(dst)) { if (checkAbsence) { System.err.println(("found unexpected " + src + " --> " + dst + " at " + sr)); @@ -190,8 +190,8 @@ public abstract class TestCallGraphShape extends WalaTestCase { * @param destDescription */ protected void verifyNoEdges(CallGraph CG, String sourceDescription, String destDescription) { - Collection sources = getNodes(CG, sourceDescription); - Collection dests = getNodes(CG, destDescription); + Collection sources = getNodes(CG, sourceDescription); + Collection dests = getNodes(CG, destDescription); for (Object source : sources) { for (Object dest : dests) { for (Iterator i = CG.getSuccNodes((CGNode) source); i.hasNext();) { diff --git a/com.ibm.wala.cast/source/c/Makefile.configuration b/com.ibm.wala.cast/source/c/Makefile.configuration index b8c7327a1..b4ec2f263 100644 --- a/com.ibm.wala.cast/source/c/Makefile.configuration +++ b/com.ibm.wala.cast/source/c/Makefile.configuration @@ -1,5 +1,5 @@ -JAVA_SDK = /usr/lib/jvm/jdk1.8.0_111/ -DOMO_AST_BIN = /home/vagrant/WALA/com.ibm.wala.cast/target/classes/ -JAVAH_CLASS_PATH = :/home/vagrant/WALA/com.ibm.wala.cast/target/classes/ +JAVA_SDK = /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-1.b12.fc25.x86_64/ +DOMO_AST_BIN = /home/liblit/Documents/research/joust/joust/WALA/com.ibm.wala.cast/target/classes/ +JAVAH_CLASS_PATH = :/home/liblit/Documents/research/joust/joust/WALA/com.ibm.wala.cast/target/classes/ TRACE = JNI_MD_DIR = linux diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/AstCallGraph.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/AstCallGraph.java index 9ae74ee57..8a9e66e8a 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/AstCallGraph.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/AstCallGraph.java @@ -118,7 +118,7 @@ public class AstCallGraph extends ExplicitCallGraph { callbacks.add(callback); - for (Iterator ps = getCallGraph().getPredNodes(this); ps.hasNext();) { + for (Iterator ps = getCallGraph().getPredNodes(this); ps.hasNext();) { ((AstCGNode) ps.next()).addCallback(callback); } } @@ -132,7 +132,7 @@ public class AstCallGraph extends ExplicitCallGraph { callbacks.addAll(callback); - for (Iterator ps = getCallGraph().getPredNodes(this); ps.hasNext();) { + for (Iterator ps = getCallGraph().getPredNodes(this); ps.hasNext();) { ((AstCGNode) ps.next()).addAllCallbacks(callback); } } diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/AstSSAPropagationCallGraphBuilder.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/AstSSAPropagationCallGraphBuilder.java index 7a7c9ea71..9ba5fc212 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/AstSSAPropagationCallGraphBuilder.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/AstSSAPropagationCallGraphBuilder.java @@ -22,7 +22,7 @@ import com.ibm.wala.cast.ir.ssa.AstAssertInstruction; import com.ibm.wala.cast.ir.ssa.AstEchoInstruction; import com.ibm.wala.cast.ir.ssa.AstGlobalRead; import com.ibm.wala.cast.ir.ssa.AstGlobalWrite; -import com.ibm.wala.cast.ir.ssa.AstIRFactory.AstIR; +import com.ibm.wala.cast.ir.ssa.AstIRFactory; import com.ibm.wala.cast.ir.ssa.AstInstructionVisitor; import com.ibm.wala.cast.ir.ssa.AstIsDefinedInstruction; import com.ibm.wala.cast.ir.ssa.AstLexicalAccess; @@ -314,7 +314,7 @@ public abstract class AstSSAPropagationCallGraphBuilder extends SSAPropagationCa public boolean hasNoInterestingUses(CGNode node, int vn, DefUse du) { if (node.getMethod() instanceof AstMethod) { // uses in nested functions are interesting - IntSet uses = ((AstIR) node.getIR()).lexicalInfo().getAllExposedUses(); + IntSet uses = ((AstIRFactory.AstIR) node.getIR()).lexicalInfo().getAllExposedUses(); if (uses.contains(vn)) { return false; } @@ -471,7 +471,7 @@ public abstract class AstSSAPropagationCallGraphBuilder extends SSAPropagationCa system.newSideEffect(new UnaryOperator() { @Override public byte evaluate(PointsToSetVariable lhs, PointsToSetVariable rhs) { - final IntSetVariable objects = rhs; + final IntSetVariable objects = rhs; if (objects.getValue() != null) { objects.getValue().foreach(new IntSetAction() { @Override @@ -537,7 +537,7 @@ public abstract class AstSSAPropagationCallGraphBuilder extends SSAPropagationCa system.newSideEffect(new UnaryOperator() { @Override public byte evaluate(PointsToSetVariable lhs, PointsToSetVariable rhs) { - final IntSetVariable objects = rhs; + final IntSetVariable objects = rhs; if (objects.getValue() != null) { objects.getValue().foreach(new IntSetAction() { @Override @@ -749,8 +749,8 @@ public abstract class AstSSAPropagationCallGraphBuilder extends SSAPropagationCa private void addUpwardFunargConstraints(PointerKey lhs, String name, String definer, CGNode definingNode) { discoveredUpwardFunargs.add(lhs); - LexicalInformation LI = ((AstIR) definingNode.getIR()).lexicalInfo(); - Pair[] names = LI.getExposedNames(); + LexicalInformation LI = ((AstIRFactory.AstIR) definingNode.getIR()).lexicalInfo(); + Pair[] names = LI.getExposedNames(); for (int i = 0; i < names.length; i++) { if (name.equals(names[i].fst) && definer.equals(names[i].snd)) { int vn = LI.getExitExposedUses()[i]; @@ -954,8 +954,8 @@ public abstract class AstSSAPropagationCallGraphBuilder extends SSAPropagationCa @Override public byte evaluate(PointsToSetVariable lhs, final PointsToSetVariable[] rhs) { - final IntSetVariable receivers = rhs[0]; - final IntSetVariable fields = rhs[1]; + final IntSetVariable receivers = rhs[0]; + final IntSetVariable fields = rhs[1]; if (receivers.getValue() != null && fields.getValue() != null) { receivers.getValue().foreach(new IntSetAction() { @Override @@ -974,7 +974,7 @@ public abstract class AstSSAPropagationCallGraphBuilder extends SSAPropagationCa public void act(int fptr) { if (!doneField.contains(fptr) || !doneReceiver.contains(rptr)) { InstanceKey field = system.getInstanceKey(fptr); - for (Iterator keys = isLoadOperation ? getPointerKeysForReflectedFieldRead(receiver, field) + for (Iterator keys = isLoadOperation ? getPointerKeysForReflectedFieldRead(receiver, field) : getPointerKeysForReflectedFieldWrite(receiver, field); keys.hasNext();) { AbstractFieldPointerKey key = (AbstractFieldPointerKey) keys.next(); if (DEBUG_PROPERTIES) @@ -1015,7 +1015,7 @@ public abstract class AstSSAPropagationCallGraphBuilder extends SSAPropagationCa system.newSideEffect(new UnaryOperator() { @Override public byte evaluate(PointsToSetVariable lhs, PointsToSetVariable rhs) { - final IntSetVariable objects = rhs; + final IntSetVariable objects = rhs; if (objects.getValue() != null) { objects.getValue().foreach(new IntSetAction() { @Override @@ -1024,7 +1024,7 @@ public abstract class AstSSAPropagationCallGraphBuilder extends SSAPropagationCa PointerKey objCatalog = getPointerKeyForObjectCatalog(object); for (int f = 0; f < fieldsKeys.length; f++) { if (isLoadOperation) { - for (Iterator keys = getPointerKeysForReflectedFieldRead(object, fieldsKeys[f]); keys.hasNext();) { + for (Iterator keys = getPointerKeysForReflectedFieldRead(object, fieldsKeys[f]); keys.hasNext();) { AbstractFieldPointerKey key = (AbstractFieldPointerKey) keys.next(); if (DEBUG_PROPERTIES) action.dump(key, true, false); @@ -1034,7 +1034,7 @@ public abstract class AstSSAPropagationCallGraphBuilder extends SSAPropagationCa if (objCatalog != null) { system.newConstraint(objCatalog, fieldsKeys[f]); } - for (Iterator keys = getPointerKeysForReflectedFieldWrite(object, fieldsKeys[f]); keys.hasNext();) { + for (Iterator keys = getPointerKeysForReflectedFieldWrite(object, fieldsKeys[f]); keys.hasNext();) { AbstractFieldPointerKey key = (AbstractFieldPointerKey) keys.next(); if (DEBUG_PROPERTIES) action.dump(key, true, false); @@ -1079,14 +1079,14 @@ public abstract class AstSSAPropagationCallGraphBuilder extends SSAPropagationCa system.newSideEffect(new UnaryOperator() { @Override public byte evaluate(PointsToSetVariable lhs, PointsToSetVariable rhs) { - final IntSetVariable fields = rhs; + final IntSetVariable fields = rhs; if (fields.getValue() != null) { fields.getValue().foreach(new IntSetAction() { @Override public void act(int fptr) { InstanceKey field = system.getInstanceKey(fptr); for (int o = 0; o < objKeys.length; o++) { - for (Iterator keys = isLoadOperation ? getPointerKeysForReflectedFieldRead(objKeys[o], field) + for (Iterator keys = isLoadOperation ? getPointerKeysForReflectedFieldRead(objKeys[o], field) : getPointerKeysForReflectedFieldWrite(objKeys[o], field); keys.hasNext();) { AbstractFieldPointerKey key = (AbstractFieldPointerKey) keys.next(); if (DEBUG_PROPERTIES) @@ -1123,7 +1123,7 @@ public abstract class AstSSAPropagationCallGraphBuilder extends SSAPropagationCa PointerKey objCatalog = getPointerKeyForObjectCatalog(objKeys[o]); for (int f = 0; f < fieldsKeys.length; f++) { if (isLoadOperation) { - for (Iterator keys = getPointerKeysForReflectedFieldRead(objKeys[o], fieldsKeys[f]); keys.hasNext();) { + for (Iterator keys = getPointerKeysForReflectedFieldRead(objKeys[o], fieldsKeys[f]); keys.hasNext();) { AbstractFieldPointerKey key = (AbstractFieldPointerKey) keys.next(); if (DEBUG_PROPERTIES) action.dump(key, true, true); @@ -1133,7 +1133,7 @@ public abstract class AstSSAPropagationCallGraphBuilder extends SSAPropagationCa if (objCatalog != null) { system.newConstraint(objCatalog, fieldsKeys[f]); } - for (Iterator keys = getPointerKeysForReflectedFieldWrite(objKeys[o], fieldsKeys[f]); keys.hasNext();) { + for (Iterator keys = getPointerKeysForReflectedFieldWrite(objKeys[o], fieldsKeys[f]); keys.hasNext();) { AbstractFieldPointerKey key = (AbstractFieldPointerKey) keys.next(); if (DEBUG_PROPERTIES) action.dump(key, true, true); diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/CAstCallGraphUtil.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/CAstCallGraphUtil.java index a0cb7f487..7ed60f214 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/CAstCallGraphUtil.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/CAstCallGraphUtil.java @@ -124,8 +124,7 @@ public class CAstCallGraphUtil { public static void dumpCG(SSAContextInterpreter interp, PointerAnalysis PA, CallGraph CG) { if (AVOID_DUMP) return; - for (Iterator x = CG.iterator(); x.hasNext();) { - CGNode N = (CGNode) x.next(); + for (CGNode N : CG) { System.err.print("callees of node " + getShortName(N) + " : ["); boolean fst = true; for (Iterator ns = CG.getSuccNodes(N); ns.hasNext();) { @@ -146,8 +145,7 @@ public class CAstCallGraphUtil { } System.err.println("pointer analysis"); - for (Iterator x = PA.getPointerKeys().iterator(); x.hasNext();) { - PointerKey n = (PointerKey) x.next(); + for (PointerKey n : PA.getPointerKeys()) { try { System.err.println((n + " --> " + PA.getPointsToSet(n))); } catch (Throwable e) { diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/CrossLanguageCallGraph.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/CrossLanguageCallGraph.java index 182e415f5..6316d9fab 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/CrossLanguageCallGraph.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/CrossLanguageCallGraph.java @@ -165,7 +165,7 @@ public class CrossLanguageCallGraph extends AstCallGraph { } } - Iterator getLanguageRoots() { + Iterator getLanguageRoots() { return languageRootNodes.iterator(); } diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/CrossLanguageClassTargetSelector.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/CrossLanguageClassTargetSelector.java index bc87d4484..6b7571a84 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/CrossLanguageClassTargetSelector.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/CrossLanguageClassTargetSelector.java @@ -29,9 +29,9 @@ import com.ibm.wala.util.strings.Atom; */ public class CrossLanguageClassTargetSelector implements ClassTargetSelector { - private final Map languageSelectors; + private final Map languageSelectors; - public CrossLanguageClassTargetSelector(Map languageSelectors) { + public CrossLanguageClassTargetSelector(Map languageSelectors) { this.languageSelectors = languageSelectors; } @@ -43,7 +43,7 @@ public class CrossLanguageClassTargetSelector implements ClassTargetSelector { } private ClassTargetSelector getSelector(NewSiteReference site) { - return (ClassTargetSelector)languageSelectors.get(getLanguage(site)); + return languageSelectors.get(getLanguage(site)); } @Override diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/CrossLanguageContextSelector.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/CrossLanguageContextSelector.java index a9acc92c1..bcdd137ee 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/CrossLanguageContextSelector.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/CrossLanguageContextSelector.java @@ -35,9 +35,9 @@ import com.ibm.wala.util.strings.Atom; */ public class CrossLanguageContextSelector implements ContextSelector { - private final Map languageSelectors; + private final Map languageSelectors; - public CrossLanguageContextSelector(Map languageSelectors) { + public CrossLanguageContextSelector(Map languageSelectors) { this.languageSelectors = languageSelectors; } @@ -50,7 +50,7 @@ public class CrossLanguageContextSelector implements ContextSelector { } private ContextSelector getSelector(CallSiteReference site) { - return (ContextSelector)languageSelectors.get(getLanguage(site)); + return languageSelectors.get(getLanguage(site)); } @Override diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/CrossLanguageSSAPropagationCallGraphBuilder.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/CrossLanguageSSAPropagationCallGraphBuilder.java index 68fe2260a..6ed1fb800 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/CrossLanguageSSAPropagationCallGraphBuilder.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/CrossLanguageSSAPropagationCallGraphBuilder.java @@ -10,8 +10,6 @@ *******************************************************************************/ package com.ibm.wala.cast.ipa.callgraph; -import java.util.Iterator; - import com.ibm.wala.cast.ipa.callgraph.AstSSAPropagationCallGraphBuilder.AstPointerAnalysisImpl.AstImplicitPointsToSetVisitor; import com.ibm.wala.cast.util.TargetLanguageSelector; import com.ibm.wala.ipa.callgraph.AnalysisOptions; @@ -103,8 +101,8 @@ public abstract class CrossLanguageSSAPropagationCallGraphBuilder extends AstSSA @Override protected void customInit() { - for (Iterator roots = ((CrossLanguageCallGraph) callGraph).getLanguageRoots(); roots.hasNext();) { - markDiscovered((CGNode) roots.next()); + for (CGNode root : callGraph) { + markDiscovered(root); } } diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/DelegatingAstPointerKeys.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/DelegatingAstPointerKeys.java index 80dbd9a37..88e1aea03 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/DelegatingAstPointerKeys.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/DelegatingAstPointerKeys.java @@ -79,7 +79,7 @@ public class DelegatingAstPointerKeys implements AstPointerKeyFactory { List result = new LinkedList<>(); if (F instanceof ConstantKey) { - PointerKey ifk = getInstanceFieldPointerKeyForConstant(I, (ConstantKey) F); + PointerKey ifk = getInstanceFieldPointerKeyForConstant(I, (ConstantKey) F); if (ifk != null) { result.add(ifk); } @@ -105,7 +105,7 @@ public class DelegatingAstPointerKeys implements AstPointerKeyFactory { * @param F * @return */ - protected PointerKey getInstanceFieldPointerKeyForConstant(InstanceKey I, ConstantKey F) { + protected PointerKey getInstanceFieldPointerKeyForConstant(InstanceKey I, ConstantKey F) { Object v = F.getValue(); // FIXME: current only constant string are handled if (v instanceof String) { @@ -118,7 +118,7 @@ public class DelegatingAstPointerKeys implements AstPointerKeyFactory { @Override public Iterator getPointerKeysForReflectedFieldRead(InstanceKey I, InstanceKey F) { if (F instanceof ConstantKey) { - PointerKey ifk = getInstanceFieldPointerKeyForConstant(I, (ConstantKey) F); + PointerKey ifk = getInstanceFieldPointerKeyForConstant(I, (ConstantKey) F); if (ifk != null) { return new NonNullSingletonIterator<>(ifk); } diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/MiscellaneousHacksContextSelector.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/MiscellaneousHacksContextSelector.java index a21cce624..1adf24167 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/MiscellaneousHacksContextSelector.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/MiscellaneousHacksContextSelector.java @@ -10,7 +10,6 @@ *****************************************************************************/ package com.ibm.wala.cast.ipa.callgraph; -import java.util.Iterator; import java.util.Set; import com.ibm.wala.classLoader.CallSiteReference; @@ -82,8 +81,8 @@ public class MiscellaneousHacksContextSelector implements ContextSelector { IClass klass = cha.lookupClass(TypeReference.findOrCreate(new ClassLoaderReference(Atom.findOrCreateUnicodeAtom(descr[0]), ClassLoaderReference.Java, null), TypeName.string2TypeName(descr[1]))); - for (Iterator M = klass.getDeclaredMethods().iterator(); M.hasNext();) { - methodsToSpecialize.add(((IMethod) M.next()).getReference()); + for (IMethod M : klass.getDeclaredMethods()) { + methodsToSpecialize.add(M.getReference()); } break; @@ -93,8 +92,8 @@ public class MiscellaneousHacksContextSelector implements ContextSelector { case 1: { IClass klass = cha.lookupClass(TypeReference.findOrCreate(ClassLoaderReference.Application, TypeName.string2TypeName(descr[0]))); - for (Iterator M = klass.getDeclaredMethods().iterator(); M.hasNext();) { - methodsToSpecialize.add(((IMethod) M.next()).getReference()); + for (IMethod M : klass.getDeclaredMethods()) { + methodsToSpecialize.add(M.getReference()); } break; diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/cha/CrossLanguageClassHierarchy.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/cha/CrossLanguageClassHierarchy.java index 406862317..484197183 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/cha/CrossLanguageClassHierarchy.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/cha/CrossLanguageClassHierarchy.java @@ -101,8 +101,8 @@ public class CrossLanguageClassHierarchy implements IClassHierarchy { @Override public IClassLoader[] getLoaders() { Set loaders = HashSetFactory.make(); - for (Iterator ldrs = analysisScope.getLoaders().iterator(); ldrs.hasNext();) { - loaders.add(getLoader((ClassLoaderReference) ldrs.next())); + for (ClassLoaderReference loaderReference : analysisScope.getLoaders()) { + loaders.add(getLoader(loaderReference)); } return loaders.toArray(new IClassLoader[loaders.size()]); @@ -121,8 +121,8 @@ public class CrossLanguageClassHierarchy implements IClassHierarchy { @Override public int getNumberOfClasses() { int total = 0; - for (Iterator ldrs = analysisScope.getLoaders().iterator(); ldrs.hasNext();) { - total += getLoader((ClassLoaderReference) ldrs.next()).getNumberOfClasses(); + for (ClassLoaderReference loaderReference : analysisScope.getLoaders()) { + total += getLoader(loaderReference).getNumberOfClasses(); } return total; @@ -264,8 +264,7 @@ public class CrossLanguageClassHierarchy implements IClassHierarchy { throws ClassHierarchyException { Set languages = scope.getBaseLanguages(); Map hierarchies = HashMapFactory.make(); - for (Iterator ls = languages.iterator(); ls.hasNext();) { - Language L = (Language) ls.next(); + for (Language L : languages) { Set ll = HashSetFactory.make(L.getDerivedLanguages()); ll.add(L); hierarchies.put(L.getName(), ClassHierarchyFactory.make(scope, factory, ll)); diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/modref/AstModRef.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/modref/AstModRef.java index 60cbcf460..9fe09cb4e 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/modref/AstModRef.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/modref/AstModRef.java @@ -33,7 +33,7 @@ import com.ibm.wala.ipa.modref.ModRef; public class AstModRef extends ModRef { @Override - public ExtendedHeapModel makeHeapModel(PointerAnalysis pa) { + public ExtendedHeapModel makeHeapModel(PointerAnalysis pa) { return (AstHeapModel)pa.getHeapModel(); } diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/ssa/AbstractSSAConversion.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/ssa/AbstractSSAConversion.java index 4f5ada723..4e8db3df3 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/ssa/AbstractSSAConversion.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/ssa/AbstractSSAConversion.java @@ -155,11 +155,10 @@ public abstract class AbstractSSAConversion { @SuppressWarnings("unchecked") private void makeAssignmentMap() { this.assignmentMap = new Set[getMaxValueNumber() + 1]; - for (Iterator BBs = CFG.iterator(); BBs.hasNext();) { - SSACFG.BasicBlock BB = (SSACFG.BasicBlock) BBs.next(); + for (ISSABasicBlock issaBasicBlock : CFG) { + SSACFG.BasicBlock BB = (SSACFG.BasicBlock) issaBasicBlock; if (BB.getFirstInstructionIndex() >= 0) { - for (Iterator IS = BB.iterator(); IS.hasNext();) { - SSAInstruction inst = (SSAInstruction) IS.next(); + for (SSAInstruction inst : BB) { if (inst != null) { for (int j = 0; j < getNumberOfDefs(inst); j++) { addDefiningBlock(assignmentMap, BB, getDef(inst, j)); @@ -185,8 +184,8 @@ public abstract class AbstractSSAConversion { protected void placePhiNodes() { int IterCount = 0; - for (Iterator Xs = CFG.iterator(); Xs.hasNext();) { - SSACFG.BasicBlock X = (SSACFG.BasicBlock) Xs.next(); + for (ISSABasicBlock issaBasicBlock : CFG) { + SSACFG.BasicBlock X = (SSACFG.BasicBlock) issaBasicBlock; setHasAlready(X, 0); setWork(X, 0); } @@ -204,8 +203,7 @@ public abstract class AbstractSSAConversion { IterCount++; - for (Iterator XS = assignmentMap[V].iterator(); XS.hasNext();) { - SSACFG.BasicBlock X = (SSACFG.BasicBlock) XS.next(); + for (BasicBlock X : assignmentMap[V]) { setWork(X, IterCount); W.add(X); } @@ -213,7 +211,7 @@ public abstract class AbstractSSAConversion { while (!W.isEmpty()) { SSACFG.BasicBlock X = W.iterator().next(); W.remove(X); - for (Iterator YS = DF.getDominanceFrontier(X); YS.hasNext();) { + for (Iterator YS = DF.getDominanceFrontier(X); YS.hasNext();) { SSACFG.BasicBlock Y = (SSACFG.BasicBlock) YS.next(); if (getHasAlready(Y) < IterCount) { if (isLive(Y, V)) { @@ -355,7 +353,7 @@ public abstract class AbstractSSAConversion { repairExit(); } - for (Iterator YS = CFG.getSuccNodes(X); YS.hasNext();) { + for (Iterator YS = CFG.getSuccNodes(X); YS.hasNext();) { SSACFG.BasicBlock Y = (SSACFG.BasicBlock) YS.next(); int Y_id = Y.getGraphNodeId(); int j = com.ibm.wala.cast.ir.cfg.Util.whichPred(CFG, Y, X); diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/ssa/AstIRFactory.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/ssa/AstIRFactory.java index 544427cf7..a62a5bab4 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/ssa/AstIRFactory.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/ssa/AstIRFactory.java @@ -36,18 +36,18 @@ import com.ibm.wala.types.TypeReference; public class AstIRFactory implements IRFactory { - public ControlFlowGraph makeCFG(final IMethod method, final Context context) { + public ControlFlowGraph makeCFG(final IMethod method, final Context context) { return ((AstMethod) method).getControlFlowGraph(); } - public static class AstDefaultIRFactory extends DefaultIRFactory { - private final AstIRFactory astFactory; + public static class AstDefaultIRFactory extends DefaultIRFactory { + private final AstIRFactory astFactory; public AstDefaultIRFactory() { - this(new AstIRFactory()); + this(new AstIRFactory()); } - public AstDefaultIRFactory(AstIRFactory astFactory) { + public AstDefaultIRFactory(AstIRFactory astFactory) { this.astFactory = astFactory; } @@ -79,7 +79,7 @@ public class AstIRFactory implements IRFactory { return lexicalInfo; } - private void setCatchInstructions(SSACFG ssacfg, AbstractCFG oldcfg) { + private void setCatchInstructions(SSACFG ssacfg, AbstractCFG oldcfg) { for (int i = 0; i < oldcfg.getNumberOfNodes(); i++) if (oldcfg.isCatchBlock(i)) { ExceptionHandlerBasicBlock B = (ExceptionHandlerBasicBlock) ssacfg.getNode(i); @@ -144,7 +144,7 @@ public class AstIRFactory implements IRFactory { public IR makeIR(final IMethod method, final Context context, final SSAOptions options) { assert method instanceof AstMethod : method.toString(); - AbstractCFG oldCfg = ((AstMethod) method).cfg(); + AbstractCFG oldCfg = ((AstMethod) method).cfg(); SSAInstruction[] oldInstrs = (SSAInstruction[]) oldCfg.getInstructions(); SSAInstruction[] instrs = new SSAInstruction[ oldInstrs.length ]; System.arraycopy(oldInstrs, 0, instrs, 0, instrs.length); @@ -156,7 +156,7 @@ public class AstIRFactory implements IRFactory { } public static IRFactory makeDefaultFactory() { - return new AstDefaultIRFactory(); + return new AstDefaultIRFactory<>(); } @Override diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/ssa/SSAConversion.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/ssa/SSAConversion.java index af1cf4de3..fcfb52278 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/ssa/SSAConversion.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/ssa/SSAConversion.java @@ -17,7 +17,7 @@ import java.util.Iterator; import java.util.Map; import java.util.Set; -import com.ibm.wala.cast.ir.ssa.AstIRFactory.AstIR; +import com.ibm.wala.cast.ir.ssa.AstIRFactory; import com.ibm.wala.cast.ir.ssa.analysis.LiveAnalysis; import com.ibm.wala.cast.loader.AstMethod; import com.ibm.wala.cast.loader.AstMethod.DebuggingInformation; @@ -51,7 +51,7 @@ public class SSAConversion extends AbstractSSAConversion { public static boolean DUMP = false; - private final AstIR ir; + private final AstIRFactory.AstIR ir; private int nextSSAValue; @@ -247,12 +247,12 @@ public class SSAConversion extends AbstractSSAConversion { } } - public static void undoCopyPropagation(AstIR ir, int instruction, int use) { + public static void undoCopyPropagation(AstIRFactory.AstIR ir, int instruction, int use) { SSAInformation info = (SSAInformation) ir.getLocalMap(); info.undoCopyPropagation(instruction, use); } - public static void copyUse(AstIR ir, int fromInst, int fromUse, int toInst, int toUse) { + public static void copyUse(AstIRFactory.AstIR ir, int fromInst, int fromUse, int toInst, int toUse) { SSAInformation info = (SSAInformation) ir.getLocalMap(); info.copyUse(fromInst, fromUse, toInst, toUse); } @@ -519,7 +519,7 @@ public class SSAConversion extends AbstractSSAConversion { * @param options */ @SuppressWarnings("unchecked") - private SSAConversion(AstMethod M, AstIR ir, SSAOptions options) { + private SSAConversion(AstMethod M, AstIRFactory.AstIR ir, SSAOptions options) { super(ir, options); HashMap m = HashMapFactory.make(); this.copyPropagationMap = (ir.getLocalMap() instanceof SSAInformation) ? ((SSAInformation) ir.getLocalMap()).getCopyHistory() @@ -535,7 +535,7 @@ public class SSAConversion extends AbstractSSAConversion { SSACFG.BasicBlock bb = CFG.getNode(i); if (bb.hasPhi()) { int n = 0; - for (Iterator X = bb.iteratePhis(); X.hasNext(); n++) + for (Iterator X = bb.iteratePhis(); X.hasNext(); n++) X.next(); phiCounts[i] = n; } @@ -637,7 +637,7 @@ public class SSAConversion extends AbstractSSAConversion { computedLocalMap = new SSAInformation(); } - private static IntSet valuesToConvert(AstIR ir) { + private static IntSet valuesToConvert(AstIRFactory.AstIR ir) { SSAInstruction[] insts = ir.getInstructions(); MutableIntSet foundOne = new BitVectorIntSet(); MutableIntSet foundTwo = new BitVectorIntSet(); @@ -661,11 +661,11 @@ public class SSAConversion extends AbstractSSAConversion { return foundTwo; } - public static SSA2LocalMap convert(AstMethod M, AstIR ir, SSAOptions options) { + public static SSA2LocalMap convert(AstMethod M, AstIRFactory.AstIR ir, SSAOptions options) { return convert(M, ir, options, valuesToConvert(ir)); } - public static SSA2LocalMap convert(AstMethod M, final AstIR ir, SSAOptions options, final IntSet values) { + public static SSA2LocalMap convert(AstMethod M, final AstIRFactory.AstIR ir, SSAOptions options, final IntSet values) { try { if (DEBUG) { System.err.println(("starting conversion for " + values)); diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/translator/AstTranslator.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/translator/AstTranslator.java index 1e02599dc..c1569bdcf 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/translator/AstTranslator.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/translator/AstTranslator.java @@ -469,18 +469,18 @@ public abstract class AstTranslator extends CAstVisitor namedEntityResolver; protected final SSAInstructionFactory insts; - protected AstTranslator(IClassLoader loader, Map namedEntityResolver, ArrayOpHandler arrayOpHandler) { + protected AstTranslator(IClassLoader loader, Map namedEntityResolver, ArrayOpHandler arrayOpHandler) { this.loader = loader; this.namedEntityResolver = namedEntityResolver; this.arrayOpHandler = arrayOpHandler!=null? arrayOpHandler: this; this.insts = loader.getInstructionFactory(); } - protected AstTranslator(IClassLoader loader, Map namedEntityResolver) { + protected AstTranslator(IClassLoader loader, Map namedEntityResolver) { this(loader, namedEntityResolver, null); } @@ -1145,8 +1145,8 @@ public abstract class AstTranslator extends CAstVisitor j = icfg.getSuccNodes(src); j.hasNext();) { + PreBasicBlock dst = j.next(); if (isCatchBlock(dst.getNumber()) || (dst.isExitBlock() && icfg.exceptionalToExit.contains(src))) { except.act(src, dst); } @@ -1370,7 +1370,7 @@ public abstract class AstTranslator extends CAstVisitor ss = getSuccNodes(bb); ss.hasNext();) s.append(" -->" + ss.next() + "\n"); for (int j = bb.getFirstInstructionIndex(); j <= bb.getLastInstructionIndex(); j++) @@ -2326,7 +2326,7 @@ public abstract class AstTranslator extends CAstVisitor bb, TypeReference catchType); void setCatchType(CAstNode catchNode, TypeReference catchType); @@ -2413,7 +2413,7 @@ public abstract class AstTranslator extends CAstVisitor bb, TypeReference catchType) { parent.setCatchType(bb, catchType); } @@ -2615,7 +2615,7 @@ public abstract class AstTranslator extends CAstVisitor bb, TypeReference catchType) { if (! catchTypes.containsKey(bb)) { catchTypes.put(bb, new TypeReference[] { catchType }); } else { @@ -3627,14 +3627,13 @@ public abstract class AstTranslator extends CAstVisitor labels = context.getControlFlow().getTargetLabels(n); if (!labels.isEmpty()) { context.cfg().addPreNode(n, context.getUnwindState()); mayBeInteger = true; assert op == CAstOperator.OP_DIV || op == CAstOperator.OP_MOD : CAstPrinter.print(n); - for (Iterator iter = labels.iterator(); iter.hasNext();) { - Object label = iter.next(); + for (Object label : labels) { CAstNode target = context.getControlFlow().getTarget(n, label); if (target == CAstControlFlowMap.EXCEPTION_TO_EXIT) context.cfg().addPreEdgeToExit(n, true); @@ -4177,10 +4176,8 @@ public abstract class AstTranslator extends CAstVisitor visitor) { CAstControlFlowMap ctrl = context.getControlFlow(); - Collection caseLabels = ctrl.getTargetLabels(n); - for (Iterator kases = caseLabels.iterator(); kases.hasNext();) { - Object x = kases.next(); - + Collection caseLabels = ctrl.getTargetLabels(n); + for (Object x : caseLabels) { if (x == CAstControlFlowMap.SWITCH_DEFAULT) continue; @@ -4216,7 +4213,7 @@ public abstract class AstTranslator extends CAstVisitor caseLabels = ctrl.getTargetLabels(n); int cases = caseLabels.size(); if (hasExplicitDefault) cases--; @@ -4242,8 +4239,7 @@ public abstract class AstTranslator extends CAstVisitor caseLabels = ctrl.getTargetLabels(n); Map labelToBlock = new LinkedHashMap<>(); - for (Iterator kases = caseLabels.iterator(); kases.hasNext();) { - Object x = kases.next(); + for (Object x : caseLabels) { if (x != CAstControlFlowMap.SWITCH_DEFAULT) { visitor.visit((CAstNode) x, context, visitor); context.cfg().addInstruction( @@ -4287,8 +4282,7 @@ public abstract class AstTranslator extends CAstVisitor labels = context.getControlFlow().getTargetLabels(n); + for (Object label : labels) { CAstNode target = context.getControlFlow().getTarget(n, label); if (target == CAstControlFlowMap.EXCEPTION_TO_EXIT) context.cfg().addPreEdgeToExit(n, true); @@ -4587,7 +4580,7 @@ public abstract class AstTranslator extends CAstVisitor bb, TypeReference catchType) { } @Override diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/translator/RewritingTranslatorToCAst.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/translator/RewritingTranslatorToCAst.java index 7fd362ac4..72315cfa6 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/translator/RewritingTranslatorToCAst.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/translator/RewritingTranslatorToCAst.java @@ -12,7 +12,7 @@ import com.ibm.wala.cast.tree.rewrite.CAstRewriterFactory; import com.ibm.wala.classLoader.ModuleEntry; public class RewritingTranslatorToCAst implements TranslatorToCAst { - private final List rewriters = new LinkedList<>(); + private final List> rewriters = new LinkedList<>(); protected final ModuleEntry M; private final TranslatorToCAst base; @@ -33,7 +33,7 @@ private final TranslatorToCAst base; public CAstEntity translateToCAst() throws IOException, Error { CAstImpl Ast = new CAstImpl(); CAstEntity entity = base.translateToCAst(); - for(CAstRewriterFactory rwf : rewriters) + for(CAstRewriterFactory rwf : rewriters) entity = rwf.createCAstRewriter(Ast).rewrite(entity); return entity; } diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/loader/AstField.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/loader/AstField.java index ce723f35e..03d798a5c 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/loader/AstField.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/loader/AstField.java @@ -23,14 +23,14 @@ import com.ibm.wala.types.annotations.Annotation; import com.ibm.wala.util.strings.Atom; public class AstField implements IField { - private final Collection qualifiers; + private final Collection qualifiers; private final FieldReference ref; private final IClass declaringClass; private final IClassHierarchy cha; private final Collection annotations; public AstField(FieldReference ref, - Collection qualifiers, + Collection qualifiers, IClass declaringClass, IClassHierarchy cha, Collection annotations) diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/loader/AstMethod.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/loader/AstMethod.java index c74c7d4ee..da3fd1ff8 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/loader/AstMethod.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/loader/AstMethod.java @@ -103,8 +103,8 @@ public abstract class AstMethod implements IMethod { } protected final IClass cls; - private final Collection qualifiers; - private final AbstractCFG cfg; + private final Collection qualifiers; + private final AbstractCFG cfg; private final SymbolTable symtab; private final MethodReference ref; private final boolean hasCatchBlock; @@ -114,7 +114,7 @@ public abstract class AstMethod implements IMethod { private final DebuggingInformation debugInfo; private final Collection annotations; - protected AstMethod(IClass cls, Collection qualifiers, AbstractCFG cfg, SymbolTable symtab, MethodReference ref, + protected AstMethod(IClass cls, Collection qualifiers, AbstractCFG cfg, SymbolTable symtab, MethodReference ref, boolean hasCatchBlock, Map, TypeReference[]> caughtTypes, boolean hasMonitorOp, AstLexicalInformation lexicalInfo, DebuggingInformation debugInfo, Collection annotations) { this.cls = cls; @@ -130,7 +130,7 @@ public abstract class AstMethod implements IMethod { this.annotations = annotations; } - protected AstMethod(IClass cls, Collection qualifiers, MethodReference ref, Collection annotations) { + protected AstMethod(IClass cls, Collection qualifiers, MethodReference ref, Collection annotations) { this.cls = cls; this.qualifiers = qualifiers; this.ref = ref; @@ -147,7 +147,7 @@ public abstract class AstMethod implements IMethod { assert isAbstract(); } - public AbstractCFG cfg() { + public AbstractCFG cfg() { return cfg; } @@ -298,7 +298,7 @@ public abstract class AstMethod implements IMethod { return qualifiers.contains(CAstQualifier.VOLATILE); } - public ControlFlowGraph getControlFlowGraph() { + public ControlFlowGraph getControlFlowGraph() { return cfg; } diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/loader/CAstAbstractLoader.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/loader/CAstAbstractLoader.java index 3b5f5df4e..37cb7e62c 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/loader/CAstAbstractLoader.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/loader/CAstAbstractLoader.java @@ -144,13 +144,8 @@ public abstract class CAstAbstractLoader implements IClassLoader { @Override public int getNumberOfMethods() { int i = 0; - for (Iterator cls = types.values().iterator(); cls.hasNext();) { - for (Iterator ms = ((IClass) cls.next()).getDeclaredMethods().iterator(); - ms.hasNext(); ) - { - i++; - ms.next(); - } + for (IClass cls : types.values()) { + i += cls.getDeclaredMethods().size(); } return i; @@ -208,8 +203,8 @@ public abstract class CAstAbstractLoader implements IClassLoader { } } - for (Iterator KK = keys.iterator(); KK.hasNext();) { - types.remove(KK.next()); + for (TypeName key : keys) { + types.remove(key); } } diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/loader/CAstAbstractModuleLoader.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/loader/CAstAbstractModuleLoader.java index 08dd07d0b..e3e379f9e 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/loader/CAstAbstractModuleLoader.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/loader/CAstAbstractModuleLoader.java @@ -111,8 +111,7 @@ public abstract class CAstAbstractModuleLoader extends CAstAbstractLoader { } if (DEBUG) { - for (Iterator ts = types.keySet().iterator(); ts.hasNext();) { - TypeName tn = (TypeName) ts.next(); + for (TypeName tn : types.keySet()) { try { System.err.println(("found type " + tn + " : " + types.get(tn) + " < " + types.get(tn).getSuperclass())); } catch (Exception e) { diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/CAstControlFlowMap.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/CAstControlFlowMap.java index fb4919e8e..b59004ebc 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/CAstControlFlowMap.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/CAstControlFlowMap.java @@ -92,7 +92,7 @@ public interface CAstControlFlowMap { * Return a collection of control-flow ast nodes that have this one as a * possible target. */ - Collection getSourceNodes(CAstNode to); + Collection getSourceNodes(CAstNode to); /** * Returns an iterator of all CAstNodes for which this map contains control diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/CAstTypeDictionary.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/CAstTypeDictionary.java index a744d931a..1cdf0fb78 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/CAstTypeDictionary.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/CAstTypeDictionary.java @@ -15,13 +15,13 @@ package com.ibm.wala.cast.tree; import java.util.Iterator; -public interface CAstTypeDictionary/**/ extends Iterable { +public interface CAstTypeDictionary/**/ extends Iterable { CAstType getCAstTypeFor(Object/*ASTType*/ type); CAstReference resolveReference(CAstReference ref); @Override - Iterator iterator(); + Iterator iterator(); } diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/impl/CAstControlFlowRecorder.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/impl/CAstControlFlowRecorder.java index 5dfc55ecf..46a416332 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/impl/CAstControlFlowRecorder.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/impl/CAstControlFlowRecorder.java @@ -114,7 +114,7 @@ public class CAstControlFlowRecorder implements CAstControlFlowMap { } @Override - public Collection getSourceNodes(CAstNode to) { + public Set getSourceNodes(CAstNode to) { if (sourceMap.containsKey(CAstToNode.get(to))) { return sourceMap.get(CAstToNode.get(to)); } else { @@ -202,8 +202,7 @@ public class CAstControlFlowRecorder implements CAstControlFlowMap { @Override public String toString() { StringBuffer sb = new StringBuffer("control flow map\n"); - for (Iterator keys = table.keySet().iterator(); keys.hasNext();) { - Key key = (Key) keys.next(); + for (Key key : table.keySet()) { sb.append(key.from); if (src != null && nodeToCAst.get(key.from) != null && src.getPosition(nodeToCAst.get(key.from)) != null) { sb.append(" (").append(src.getPosition(nodeToCAst.get(key.from))).append(") "); diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/impl/CAstTypeDictionaryImpl.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/impl/CAstTypeDictionaryImpl.java index 1a583e291..519d6b209 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/impl/CAstTypeDictionaryImpl.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/impl/CAstTypeDictionaryImpl.java @@ -22,20 +22,19 @@ import com.ibm.wala.cast.tree.CAstTypeDictionary; import com.ibm.wala.util.collections.HashMapFactory; public class CAstTypeDictionaryImpl implements CAstTypeDictionary { - protected final Map fMap = HashMapFactory.make(); + protected final Map fMap = HashMapFactory.make(); @Override public CAstType getCAstTypeFor(Object/*ASTType*/ astType) { - return (CAstType) fMap.get(astType); + return fMap.get(astType); } - @SuppressWarnings("unchecked") public void map(Object/*ASTType*/ astType, CAstType castType) { fMap.put(astType, castType); } @Override - public Iterator iterator() { + public Iterator iterator() { return fMap.values().iterator(); } diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/rewrite/AstLoopUnwinder.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/rewrite/AstLoopUnwinder.java index 75fa9df9e..4f6d6089c 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/rewrite/AstLoopUnwinder.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/rewrite/AstLoopUnwinder.java @@ -98,7 +98,7 @@ public class AstLoopUnwinder } @Override - protected CAstNode flowOutTo(Map nodeMap, + protected CAstNode flowOutTo(Map, CAstNode> nodeMap, CAstNode oldSource, Object label, CAstNode oldTarget, diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/rewrite/CAstBasicRewriter.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/rewrite/CAstBasicRewriter.java index f149eabf6..4c4b5c8e6 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/rewrite/CAstBasicRewriter.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/rewrite/CAstBasicRewriter.java @@ -32,9 +32,9 @@ public abstract class CAstBasicRewriter * context indicating that no cloning is being performed */ public static class NonCopyingContext implements CAstRewriter.RewriteContext { - private final Map nodeMap = new HashMap(); + private final Map nodeMap = new HashMap<>(); - public Map nodeMap() { + public Map nodeMap() { return nodeMap; } diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/rewrite/CAstRewriter.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/rewrite/CAstRewriter.java index 3de8e51ff..507ad07c9 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/rewrite/CAstRewriter.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/rewrite/CAstRewriter.java @@ -57,7 +57,7 @@ public abstract class CAstRewriter, K e * interface to be implemented by keys used for cloning sub-trees during the * rewrite */ - public interface CopyKey { + public interface CopyKey> { @Override int hashCode(); @@ -76,7 +76,7 @@ public abstract class CAstRewriter, K e /** * interface to be implemented by contexts used while traversing the AST */ - public interface RewriteContext { + public interface RewriteContext> { /** * get the cloning key for this context @@ -190,8 +190,8 @@ public abstract class CAstRewriter, K e // try to find a k in key's parent chain such that (oldTarget, k) is // in nodeMap's key set - Pair targetKey; - CopyKey k = key; + Pair> targetKey; + CopyKey k = key; do { targetKey = Pair.make(oldTarget, k); if (k != null) { @@ -321,8 +321,8 @@ public abstract class CAstRewriter, K e if (children.containsKey(oldNode)) { Set newEntities = new LinkedHashSet<>(); newChildren.put(newNode, newEntities); - for (Iterator oldEntities = ((Collection) children.get(oldNode)).iterator(); oldEntities.hasNext();) { - newEntities.add(rewrite((CAstEntity) oldEntities.next())); + for (Iterator oldEntities = children.get(oldNode).iterator(); oldEntities.hasNext();) { + newEntities.add(rewrite(oldEntities.next())); } } } @@ -333,8 +333,8 @@ public abstract class CAstRewriter, K e if (key == null) { Set newEntities = new LinkedHashSet<>(); newChildren.put(key, newEntities); - for (Iterator oldEntities = ((Collection) entry.getValue()).iterator(); oldEntities.hasNext();) { - newEntities.add(rewrite((CAstEntity) oldEntities.next())); + for (CAstEntity oldEntity : entry.getValue()) { + newEntities.add(rewrite(oldEntity)); } } } @@ -454,8 +454,8 @@ public abstract class CAstRewriter, K e CAstNode key = entry.getKey(); Set newValues = new LinkedHashSet<>(); newChildren.put(key, newValues); - for (Iterator es = entry.getValue().iterator(); es.hasNext();) { - newValues.add(rewrite((CAstEntity) es.next())); + for (CAstEntity entity : entry.getValue()) { + newValues.add(rewrite(entity)); } } diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/visit/CAstVisitor.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/visit/CAstVisitor.java index e90a83dfe..7df217f06 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/visit/CAstVisitor.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/visit/CAstVisitor.java @@ -125,15 +125,15 @@ public abstract class CAstVisitor { * @param n the parent entity of the entities to process * @param context a visitor-specific context */ - public final void visitScopedEntities(CAstEntity n, Map allScopedEntities, C context, CAstVisitor visitor) { - for(Iterator i = allScopedEntities.values().iterator(); i.hasNext(); ) { - visitScopedEntities(n, ((Collection)i.next()).iterator(), context, visitor); + public final void visitScopedEntities(CAstEntity n, Map> allScopedEntities, C context, CAstVisitor visitor) { + for (Collection collection : allScopedEntities.values()) { + visitScopedEntities(n, collection.iterator(), context, visitor); } } - public final void visitScopedEntities(CAstEntity n, Iterator i, C context, CAstVisitor visitor) { + public final void visitScopedEntities(CAstEntity n, Iterator i, C context, CAstVisitor visitor) { while (i.hasNext()) { - CAstEntity child = (CAstEntity) i.next(); + CAstEntity child = i.next(); setParent(child, n); visitor.visitEntities(child, context, visitor); } diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/util/CAstPattern.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/util/CAstPattern.java index 4e0015006..c0f4460d6 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/util/CAstPattern.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/util/CAstPattern.java @@ -14,7 +14,6 @@ import java.lang.reflect.Field; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; -import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.TreeMap; @@ -81,14 +80,15 @@ public class CAstPattern { } private void addAll(Segments other) { - for (Iterator xs = other.entrySet().iterator(); xs.hasNext();) { - Map.Entry e = (Map.Entry) xs.next(); - String name = (String) e.getKey(); + for (Map.Entry e : other.entrySet()) { + String name = e.getKey(); if (e.getValue() instanceof CAstNode) { add(name, (CAstNode) e.getValue()); } else { - for (Iterator vs = ((List) e.getValue()).iterator(); vs.hasNext();) { - add(name, (CAstNode) vs.next()); + @SuppressWarnings("unchecked") + final List nodes = (List) e.getValue(); + for (CAstNode v : nodes) { + add(name, v); } } } @@ -395,7 +395,7 @@ public class CAstPattern { private final Collection result = HashSetFactory.make(); @Override - public void leaveNode(CAstNode n, Context c, CAstVisitor visitor) { + public void leaveNode(CAstNode n, Context c, CAstVisitor visitor) { Segments s = match(CAstPattern.this, n); if (s != null) { result.add(s); diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/util/CAstPrinter.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/util/CAstPrinter.java index 91ddc2302..ecfc35657 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/util/CAstPrinter.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/util/CAstPrinter.java @@ -13,7 +13,6 @@ package com.ibm.wala.cast.util; import java.io.IOException; import java.io.Writer; import java.util.Collection; -import java.util.Iterator; import com.ibm.wala.cast.tree.CAstEntity; import com.ibm.wala.cast.tree.CAstNode; @@ -304,11 +303,9 @@ public class CAstPrinter { doPrintTo(e.getAST(), e.getSourceMap(), w); w.write('\n'); } - for(Iterator i= e.getAllScopedEntities().values().iterator(); - i.hasNext(); ) - { - for(Iterator j = ((Collection) i.next()).iterator(); j.hasNext(); ) { - doPrintTo((CAstEntity) j.next(), w); + for (Collection collection : e.getAllScopedEntities().values()) { + for (CAstEntity entity : collection) { + doPrintTo(entity, w); } } w.flush(); diff --git a/com.ibm.wala.core.testdata/src/annotations/AnnotationWithParams.java b/com.ibm.wala.core.testdata/src/annotations/AnnotationWithParams.java index b7b7fedf1..1fc58ccde 100644 --- a/com.ibm.wala.core.testdata/src/annotations/AnnotationWithParams.java +++ b/com.ibm.wala.core.testdata/src/annotations/AnnotationWithParams.java @@ -14,7 +14,7 @@ public @interface AnnotationWithParams { String strParam() default "strdef"; int intParam() default 0; - Class klassParam() default Object.class; + Class klassParam() default Object.class; AnnotationEnum enumParam() default AnnotationEnum.VAL2; String[] strArrParam() default {"foo","baz"}; int[] intArrParam() default {3,4}; diff --git a/com.ibm.wala.core.testdata/src/classConstant/ClassConstant.java b/com.ibm.wala.core.testdata/src/classConstant/ClassConstant.java index 3c33897e7..93bcbcdd5 100644 --- a/com.ibm.wala.core.testdata/src/classConstant/ClassConstant.java +++ b/com.ibm.wala.core.testdata/src/classConstant/ClassConstant.java @@ -13,7 +13,7 @@ package classConstant; class ClassConstant { public static void main(String args[]) { - Class x = ClassConstant.class; + Class x = ClassConstant.class; x.hashCode(); } diff --git a/com.ibm.wala.core.testdata/src/demandpa/TestArrayList.java b/com.ibm.wala.core.testdata/src/demandpa/TestArrayList.java index c79f4d47a..f4653333f 100644 --- a/com.ibm.wala.core.testdata/src/demandpa/TestArrayList.java +++ b/com.ibm.wala.core.testdata/src/demandpa/TestArrayList.java @@ -44,10 +44,9 @@ public class TestArrayList { /** * @param args */ - @SuppressWarnings("unchecked") public static void main(String[] args) { - ArrayList l1 = new ArrayList(); - ArrayList l2 = new ArrayList(); + ArrayList l1 = new ArrayList(); + ArrayList l2 = new ArrayList(); l1.add(new Object()); l2.add(new Object()); Object o1 = l1.get(0); diff --git a/com.ibm.wala.core.testdata/src/reflection/Reflect1.java b/com.ibm.wala.core.testdata/src/reflection/Reflect1.java index d2f0c8f83..54a99a15a 100644 --- a/com.ibm.wala.core.testdata/src/reflection/Reflect1.java +++ b/com.ibm.wala.core.testdata/src/reflection/Reflect1.java @@ -13,7 +13,7 @@ package reflection; public class Reflect1 { public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException { - Class c = Class.forName("java.lang.Integer"); + Class c = Class.forName("java.lang.Integer"); Integer i = (Integer)c.newInstance(); System.err.println(i); } diff --git a/com.ibm.wala.core.testdata/src/reflection/Reflect10.java b/com.ibm.wala.core.testdata/src/reflection/Reflect10.java index 2b80fb187..7c7e6d852 100644 --- a/com.ibm.wala.core.testdata/src/reflection/Reflect10.java +++ b/com.ibm.wala.core.testdata/src/reflection/Reflect10.java @@ -19,7 +19,7 @@ import java.lang.reflect.Method; public class Reflect10 { public static void main(String[] args) throws ClassNotFoundException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException, SecurityException, NoSuchMethodException { - Class c = Class.forName("java.lang.Integer"); + Class c = Class.forName("java.lang.Integer"); Method[] m = c.getMethods(); m[0].invoke(new Integer(2), new Object[] {}); } diff --git a/com.ibm.wala.core.testdata/src/reflection/Reflect11.java b/com.ibm.wala.core.testdata/src/reflection/Reflect11.java index 8b0002835..e433ed87f 100644 --- a/com.ibm.wala.core.testdata/src/reflection/Reflect11.java +++ b/com.ibm.wala.core.testdata/src/reflection/Reflect11.java @@ -19,7 +19,7 @@ import java.lang.reflect.Method; public class Reflect11 { public static void main(String[] args) throws ClassNotFoundException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException, SecurityException, NoSuchMethodException { - Class c = Class.forName("java.lang.Integer"); + Class c = Class.forName("java.lang.Integer"); Method[] m = c.getMethods(); m[0].invoke(new Integer(2), (Object[]) args); } diff --git a/com.ibm.wala.core.testdata/src/reflection/Reflect12.java b/com.ibm.wala.core.testdata/src/reflection/Reflect12.java index 7a941a8d4..1e5ebe43f 100644 --- a/com.ibm.wala.core.testdata/src/reflection/Reflect12.java +++ b/com.ibm.wala.core.testdata/src/reflection/Reflect12.java @@ -19,7 +19,7 @@ import java.lang.reflect.Method; public class Reflect12 { public static void main(String[] args) throws ClassNotFoundException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException, SecurityException, NoSuchMethodException { - Class c = Class.forName("reflection.Helper"); + Class c = Class.forName("reflection.Helper"); Method[] m = c.getMethods(); m[0].invoke(new Helper(), new Object[3]); } diff --git a/com.ibm.wala.core.testdata/src/reflection/Reflect13.java b/com.ibm.wala.core.testdata/src/reflection/Reflect13.java index f02ad6e54..62e176f43 100644 --- a/com.ibm.wala.core.testdata/src/reflection/Reflect13.java +++ b/com.ibm.wala.core.testdata/src/reflection/Reflect13.java @@ -19,7 +19,7 @@ import java.lang.reflect.Method; public class Reflect13 { public static void main(String[] args) throws ClassNotFoundException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException, SecurityException, NoSuchMethodException { - Class c = Class.forName("reflection.Helper"); + Class c = Class.forName("reflection.Helper"); Method[] m = c.getMethods(); int length = new Integer(args[0]).intValue(); m[0].invoke(new Helper(), new Object[length]); diff --git a/com.ibm.wala.core.testdata/src/reflection/Reflect14.java b/com.ibm.wala.core.testdata/src/reflection/Reflect14.java index 5ec7567ad..5c90fbebf 100644 --- a/com.ibm.wala.core.testdata/src/reflection/Reflect14.java +++ b/com.ibm.wala.core.testdata/src/reflection/Reflect14.java @@ -20,7 +20,7 @@ import java.lang.reflect.Modifier; public class Reflect14 { public static void main(String[] args) throws ClassNotFoundException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException, SecurityException, NoSuchMethodException { - Class c = Class.forName("reflection.Helper"); + Class c = Class.forName("reflection.Helper"); Method[] ms = c.getMethods(); for (Method m : ms) { int mods = m.getModifiers(); diff --git a/com.ibm.wala.core.testdata/src/reflection/Reflect15.java b/com.ibm.wala.core.testdata/src/reflection/Reflect15.java index cf5a6a26a..6f8d80efc 100644 --- a/com.ibm.wala.core.testdata/src/reflection/Reflect15.java +++ b/com.ibm.wala.core.testdata/src/reflection/Reflect15.java @@ -19,10 +19,10 @@ import java.lang.reflect.InvocationTargetException; public class Reflect15 { public static void main(String[] args) throws ClassNotFoundException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException { - Class c = Class.forName("reflection.Helper"); - Constructor[] ctors = c.getConstructors(); + Class c = Class.forName("reflection.Helper"); + Constructor[] ctors = c.getConstructors(); Helper h = null; - for (Constructor ctor : ctors) { + for (Constructor ctor : ctors) { if (ctor.getParameterTypes().length == 2) { h = (Helper) ctor.newInstance(new Object[] {new Object(), new Object()}); } diff --git a/com.ibm.wala.core.testdata/src/reflection/Reflect19.java b/com.ibm.wala.core.testdata/src/reflection/Reflect19.java index bee8721cb..9d01d8bf3 100644 --- a/com.ibm.wala.core.testdata/src/reflection/Reflect19.java +++ b/com.ibm.wala.core.testdata/src/reflection/Reflect19.java @@ -20,7 +20,7 @@ public class Reflect19 { public static void main(String[] args) throws ClassNotFoundException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException, SecurityException, NoSuchMethodException { Class c = Class.forName("reflection.Helper"); - Constructor m = c.getConstructor(new Class[] { Integer.class }); + Constructor m = c.getConstructor(new Class[] { Integer.class }); Integer i = Integer.valueOf(0); m.newInstance(new Object[] { i }); } diff --git a/com.ibm.wala.core.testdata/src/reflection/Reflect20.java b/com.ibm.wala.core.testdata/src/reflection/Reflect20.java index d47aed9e5..3cb824621 100644 --- a/com.ibm.wala.core.testdata/src/reflection/Reflect20.java +++ b/com.ibm.wala.core.testdata/src/reflection/Reflect20.java @@ -22,8 +22,8 @@ public class Reflect20 { NoSuchMethodException, IllegalAccessException, InstantiationException, IllegalArgumentException, InvocationTargetException { Class helperClass = Class.forName("reflection.Helper"); - Class objectClass = Class.forName("java.lang.Object"); - Class[] paramArrayTypes = new Class[]{objectClass, objectClass}; + Class objectClass = Class.forName("java.lang.Object"); + Class[] paramArrayTypes = new Class[]{objectClass, objectClass}; Method m = helperClass.getMethod("o", paramArrayTypes); Object helperObject = helperClass.newInstance(); Object[] paramArrayObjects = new Object[]{new Object(), new Object()}; diff --git a/com.ibm.wala.core.testdata/src/reflection/Reflect21.java b/com.ibm.wala.core.testdata/src/reflection/Reflect21.java index 8357bcf75..0775840dd 100644 --- a/com.ibm.wala.core.testdata/src/reflection/Reflect21.java +++ b/com.ibm.wala.core.testdata/src/reflection/Reflect21.java @@ -22,9 +22,9 @@ public class Reflect21 { NoSuchMethodException, IllegalAccessException, InstantiationException, IllegalArgumentException, InvocationTargetException { Class helperClass = Class.forName("reflection.Helper"); - Class objectClass = Class.forName("java.lang.Object"); - Class[] paramArrayTypes = new Class[]{objectClass, objectClass}; - Constructor constr = helperClass.getDeclaredConstructor(paramArrayTypes); + Class objectClass = Class.forName("java.lang.Object"); + Class[] paramArrayTypes = new Class[]{objectClass, objectClass}; + Constructor constr = helperClass.getDeclaredConstructor(paramArrayTypes); Object[] paramArrayObjects = new Object[]{new Object(), new Object()}; constr.newInstance(paramArrayObjects); } diff --git a/com.ibm.wala.core.testdata/src/reflection/Reflect22.java b/com.ibm.wala.core.testdata/src/reflection/Reflect22.java index ed401460d..8674defdf 100644 --- a/com.ibm.wala.core.testdata/src/reflection/Reflect22.java +++ b/com.ibm.wala.core.testdata/src/reflection/Reflect22.java @@ -21,11 +21,11 @@ public class Reflect22 { public static void main(String[] args) throws ClassNotFoundException, SecurityException, NoSuchMethodException, IllegalAccessException, InstantiationException, IllegalArgumentException, InvocationTargetException { - Class helperClass = Class.forName("reflection.Helper"); - Constructor[] constrs = helperClass.getDeclaredConstructors(); - for (Constructor constr : constrs) { + Class helperClass = Class.forName("reflection.Helper"); + Constructor[] constrs = helperClass.getDeclaredConstructors(); + for (Constructor constr : constrs) { if (constr.getParameterTypes().length == 1) { - Class paramType = constr.getParameterTypes()[0]; + Class paramType = constr.getParameterTypes()[0]; if (paramType.getName().equals("java.lang.Integer")) { Integer i = new Integer(1); Object[] initArgs = new Object[]{i}; diff --git a/com.ibm.wala.core.testdata/src/reflection/Reflect23.java b/com.ibm.wala.core.testdata/src/reflection/Reflect23.java index a428880df..a5ae7844f 100644 --- a/com.ibm.wala.core.testdata/src/reflection/Reflect23.java +++ b/com.ibm.wala.core.testdata/src/reflection/Reflect23.java @@ -22,12 +22,12 @@ public class Reflect23 { public static void main(String[] args) throws ClassNotFoundException, SecurityException, NoSuchMethodException, IllegalAccessException, InstantiationException, IllegalArgumentException, InvocationTargetException { - Class helperClass = Class.forName("reflection.Helper"); + Class helperClass = Class.forName("reflection.Helper"); Object helperObject = helperClass.newInstance(); Method[] methods = helperClass.getDeclaredMethods(); for (Method m : methods) { if (m.getParameterTypes().length == 1) { - Class paramType = m.getParameterTypes()[0]; + Class paramType = m.getParameterTypes()[0]; if (! Modifier.isStatic(m.getModifiers()) && paramType.getName().equals("java.lang.Integer")) { Integer i = new Integer(1); Object[] initArgs = new Object[]{i}; diff --git a/com.ibm.wala.core.testdata/src/reflection/Reflect3.java b/com.ibm.wala.core.testdata/src/reflection/Reflect3.java index 84e899d73..11808af01 100644 --- a/com.ibm.wala.core.testdata/src/reflection/Reflect3.java +++ b/com.ibm.wala.core.testdata/src/reflection/Reflect3.java @@ -15,13 +15,14 @@ import java.util.Hashtable; public class Reflect3 { public static void main(String[] args) throws ClassNotFoundException, IllegalAccessException, InstantiationException { - Class c = Class.forName("java.util.Properties"); - Hashtable h = (Hashtable) c.newInstance(); + Class c = Class.forName("java.util.Properties"); + @SuppressWarnings("unchecked") + Hashtable h = (Hashtable) c.newInstance(); System.out.println(h.toString()); } @SuppressWarnings("unused") - private static class Hash extends Hashtable { + private static class Hash extends Hashtable { } } diff --git a/com.ibm.wala.core.testdata/src/reflection/Reflect4.java b/com.ibm.wala.core.testdata/src/reflection/Reflect4.java index d39ae4e80..43a407326 100644 --- a/com.ibm.wala.core.testdata/src/reflection/Reflect4.java +++ b/com.ibm.wala.core.testdata/src/reflection/Reflect4.java @@ -15,7 +15,7 @@ import java.io.FilePermission; public class Reflect4 { public static void main(String[] args) throws IllegalAccessException, InstantiationException, ClassNotFoundException { - Class c = Class.forName("java.io.FilePermission"); + Class c = Class.forName("java.io.FilePermission"); FilePermission h = (FilePermission) c.newInstance(); System.out.println(h.toString()); } diff --git a/com.ibm.wala.core.testdata/src/reflection/Reflect5.java b/com.ibm.wala.core.testdata/src/reflection/Reflect5.java index 66605ef13..9ea2c1e9d 100644 --- a/com.ibm.wala.core.testdata/src/reflection/Reflect5.java +++ b/com.ibm.wala.core.testdata/src/reflection/Reflect5.java @@ -14,7 +14,7 @@ package reflection; public class Reflect5 { public static void main(String[] args) throws IllegalAccessException, InstantiationException, ClassNotFoundException { - Class c = Class.forName("reflection.Reflect5$A"); + Class c = Class.forName("reflection.Reflect5$A"); A h = (A) c.newInstance(); System.out.println(h.toString()); } diff --git a/com.ibm.wala.core.testdata/src/reflection/Reflect6.java b/com.ibm.wala.core.testdata/src/reflection/Reflect6.java index 5c1737660..201078760 100644 --- a/com.ibm.wala.core.testdata/src/reflection/Reflect6.java +++ b/com.ibm.wala.core.testdata/src/reflection/Reflect6.java @@ -14,7 +14,7 @@ package reflection; public class Reflect6 { public static void main(String[] args) throws IllegalAccessException, InstantiationException, ClassNotFoundException { - Class c = Class.forName("reflection.Reflect6$A"); + Class c = Class.forName("reflection.Reflect6$A"); A h = (A) c.newInstance(); System.out.println(h.toString()); } diff --git a/com.ibm.wala.core.testdata/src/reflection/Reflect7.java b/com.ibm.wala.core.testdata/src/reflection/Reflect7.java index 030292e0e..b20b893f6 100644 --- a/com.ibm.wala.core.testdata/src/reflection/Reflect7.java +++ b/com.ibm.wala.core.testdata/src/reflection/Reflect7.java @@ -23,8 +23,8 @@ public class Reflect7 { @SuppressWarnings("unchecked") public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException { - Class c = Class.forName("java.io.FilePermission"); - Class[] paramTypes = new Class[] { "".getClass(), "".getClass() }; + Class c = (Class) Class.forName("java.io.FilePermission"); + Class[] paramTypes = new Class[] { "".getClass(), "".getClass() }; Constructor constr = c.getConstructor(paramTypes); Object[] params = new String[] { "log.txt", "read" }; FilePermission fp = constr.newInstance(params); diff --git a/com.ibm.wala.core.testdata/src/reflection/Reflect8.java b/com.ibm.wala.core.testdata/src/reflection/Reflect8.java index e8754bb24..4947c4c57 100644 --- a/com.ibm.wala.core.testdata/src/reflection/Reflect8.java +++ b/com.ibm.wala.core.testdata/src/reflection/Reflect8.java @@ -19,8 +19,8 @@ import java.lang.reflect.InvocationTargetException; public class Reflect8 { public static void main(String[] args) throws ClassNotFoundException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException { - Class c = Class.forName("java.lang.Integer"); - Constructor[] ctors = c.getConstructors(); + Class c = Class.forName("java.lang.Integer"); + Constructor[] ctors = c.getConstructors(); Integer i = (Integer) ctors[0].newInstance(new Integer(1)); i.toString(); } diff --git a/com.ibm.wala.core.testdata/src/slice/Slice7.java b/com.ibm.wala.core.testdata/src/slice/Slice7.java index 980b08fb4..590469cfa 100644 --- a/com.ibm.wala.core.testdata/src/slice/Slice7.java +++ b/com.ibm.wala.core.testdata/src/slice/Slice7.java @@ -15,6 +15,6 @@ import java.util.Hashtable; public class Slice7 { public static void main(String args[]) { @SuppressWarnings("unused") - Hashtable abc = new Hashtable(3, 0.75f); + Hashtable abc = new Hashtable(3, 0.75f); } } diff --git a/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/basic/PrimitivesTest.java b/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/basic/PrimitivesTest.java index 46dac5342..647d89b3c 100644 --- a/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/basic/PrimitivesTest.java +++ b/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/basic/PrimitivesTest.java @@ -64,7 +64,7 @@ public class PrimitivesTest extends WalaTestCase { /** * Test the MutableSparseIntSet implementation */ - private static void doMutableIntSet(MutableIntSetFactory factory) { + private static void doMutableIntSet(MutableIntSetFactory factory) { MutableIntSet v = factory.parse("{9,17}"); MutableIntSet w = factory.make(new int[] {}); MutableIntSet x = factory.make(new int[] { 7, 4, 2, 4, 2, 2 }); @@ -891,7 +891,7 @@ public class PrimitivesTest extends WalaTestCase { testSingleBitVector(new OffsetBitVector(100, 10)); } - private static void testSingleBitVector(BitVectorBase bv) { + private static void testSingleBitVector(BitVectorBase bv) { // does the following not automatically scale the bitvector to // a reasonable size? bv.set(55); @@ -959,8 +959,7 @@ public class PrimitivesTest extends WalaTestCase { testBitVectors(new OffsetBitVector(35, 20), new OffsetBitVector(25, 10)); } - @SuppressWarnings("unchecked") - private static void testBitVectors(T v1, T v2) { + private static > void testBitVectors(T v1, T v2) { v1.set(100); v1.set(101); v1.set(102); diff --git a/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/callGraph/CallGraphTest.java b/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/callGraph/CallGraphTest.java index a947c0328..86b6091f0 100644 --- a/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/callGraph/CallGraphTest.java +++ b/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/callGraph/CallGraphTest.java @@ -276,7 +276,7 @@ public class CallGraphTest extends WalaTestCase { Iterable entrypoints = Util.makeMainEntrypoints(scope, cha, "Ldemandpa/TestArraysCopyOf"); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); AnalysisCache cache = new AnalysisCacheImpl(); - CallGraphBuilder builder = Util.makeZeroOneContainerCFABuilder(options, cache, cha, scope); + CallGraphBuilder builder = Util.makeZeroOneContainerCFABuilder(options, cache, cha, scope); CallGraph cg = builder.makeCallGraph(options, null); PointerAnalysis pa = builder.getPointerAnalysis(); CGNode mainMethod = AbstractPtrTest.findMainMethod(cg); diff --git a/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/callGraph/CallGraphTestUtil.java b/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/callGraph/CallGraphTestUtil.java index d3bc82c8a..6e613054f 100644 --- a/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/callGraph/CallGraphTestUtil.java +++ b/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/callGraph/CallGraphTestUtil.java @@ -19,6 +19,7 @@ import com.ibm.wala.ipa.callgraph.CallGraph; import com.ibm.wala.ipa.callgraph.CallGraphBuilder; import com.ibm.wala.ipa.callgraph.Entrypoint; import com.ibm.wala.ipa.callgraph.impl.Util; +import com.ibm.wala.ipa.callgraph.propagation.InstanceKey; import com.ibm.wala.ipa.callgraph.propagation.SSAPropagationCallGraphBuilder; import com.ibm.wala.ipa.cha.IClassHierarchy; import com.ibm.wala.util.CancelException; @@ -62,7 +63,7 @@ public class CallGraphTestUtil { S.start(); } - CallGraphBuilder builder = Util.makeRTABuilder(options, cache, cha, scope); + CallGraphBuilder builder = Util.makeRTABuilder(options, cache, cha, scope); CallGraph cg = builder.makeCallGraph(options, null); if (CHECK_FOOTPRINT) { @@ -101,7 +102,7 @@ public class CallGraphTestUtil { S.start(); } - CallGraphBuilder builder = Util.makeVanillaZeroOneCFABuilder(options, cache, cha, scope); + CallGraphBuilder builder = Util.makeVanillaZeroOneCFABuilder(options, cache, cha, scope); CallGraph cg = builder.makeCallGraph(options, null); if (CHECK_FOOTPRINT) { @@ -119,7 +120,7 @@ public class CallGraphTestUtil { S.start(); } - CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, cache, cha, scope); + CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, cache, cha, scope); CallGraph cg = builder.makeCallGraph(options, null); if (testPAtoString) { builder.getPointerAnalysis().toString(); @@ -140,7 +141,7 @@ public class CallGraphTestUtil { S.start(); } - CallGraphBuilder builder = Util.makeZeroContainerCFABuilder(options, cache, cha, scope); + CallGraphBuilder builder = Util.makeZeroContainerCFABuilder(options, cache, cha, scope); CallGraph cg = builder.makeCallGraph(options, null); if (CHECK_FOOTPRINT) { @@ -158,7 +159,7 @@ public class CallGraphTestUtil { S.start(); } - CallGraphBuilder builder = Util.makeZeroOneContainerCFABuilder(options, cache, cha, scope); + CallGraphBuilder builder = Util.makeZeroOneContainerCFABuilder(options, cache, cha, scope); CallGraph cg = builder.makeCallGraph(options, null); if (CHECK_FOOTPRINT) { diff --git a/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/callGraph/DebuggingBitsetCallGraphTest.java b/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/callGraph/DebuggingBitsetCallGraphTest.java index 71cf956d6..34c0c76ac 100644 --- a/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/callGraph/DebuggingBitsetCallGraphTest.java +++ b/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/callGraph/DebuggingBitsetCallGraphTest.java @@ -41,8 +41,8 @@ public class DebuggingBitsetCallGraphTest extends WalaTestCase { graphTest = new CallGraphTest(); } - private void runBitsetTest(MutableIntSetFactory p, MutableIntSetFactory s) throws ClassHierarchyException, IllegalArgumentException, CancelException, IOException { - MutableIntSetFactory save = IntSetUtil.getDefaultIntSetFactory(); + private void runBitsetTest(MutableIntSetFactory p, MutableIntSetFactory s) throws ClassHierarchyException, IllegalArgumentException, CancelException, IOException { + MutableIntSetFactory save = IntSetUtil.getDefaultIntSetFactory(); try { IntSetUtil.setDefaultIntSetFactory(new DebuggingMutableIntSetFactory(p, s)); graphTest.testJLex(); diff --git a/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/cfg/exc/inter/NullPointerExceptionInterTest.java b/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/cfg/exc/inter/NullPointerExceptionInterTest.java index 317961702..4a891adc9 100644 --- a/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/cfg/exc/inter/NullPointerExceptionInterTest.java +++ b/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/cfg/exc/inter/NullPointerExceptionInterTest.java @@ -34,6 +34,7 @@ import com.ibm.wala.ipa.callgraph.CallGraph; import com.ibm.wala.ipa.callgraph.CallGraphBuilder; import com.ibm.wala.ipa.callgraph.Entrypoint; import com.ibm.wala.ipa.callgraph.impl.Util; +import com.ibm.wala.ipa.callgraph.propagation.InstanceKey; import com.ibm.wala.ipa.cha.ClassHierarchy; import com.ibm.wala.ipa.cha.ClassHierarchyException; import com.ibm.wala.ipa.cha.ClassHierarchyFactory; @@ -74,7 +75,7 @@ public class NullPointerExceptionInterTest extends WalaTestCase { Iterable entrypoints = com.ibm.wala.ipa.callgraph.impl.Util.makeMainEntrypoints(scope, cha, "Lcfg/exc/inter/CallFieldAccess"); AnalysisOptions options = new AnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeNCFABuilder(1, options, cache, cha, scope); + CallGraphBuilder builder = Util.makeNCFABuilder(1, options, cache, cha, scope); cg = builder.makeCallGraph(options, null); } catch (ClassHierarchyException e) { throw new Exception(e); diff --git a/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/cha/SourceMapTest.java b/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/cha/SourceMapTest.java index 08bcbef3a..861f2957c 100644 --- a/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/cha/SourceMapTest.java +++ b/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/cha/SourceMapTest.java @@ -63,7 +63,7 @@ public class SourceMapTest extends WalaTestCase { String sourceFile = klass.getSourceFileName(); Assert.assertTrue(sourceFile != null); System.err.println("Source file: " + sourceFile); - Module container = ((BytecodeClass)klass).getContainer(); + Module container = ((BytecodeClass)klass).getContainer(); Assert.assertTrue(container != null); System.err.println("container: " + container); } diff --git a/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/demandpa/AbstractPtrTest.java b/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/demandpa/AbstractPtrTest.java index 9cdb969f7..59485fc0a 100644 --- a/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/demandpa/AbstractPtrTest.java +++ b/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/demandpa/AbstractPtrTest.java @@ -236,7 +236,7 @@ public abstract class AbstractPtrTest { AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); final AnalysisCache analysisCache = new AnalysisCacheImpl(); - CallGraphBuilder cgBuilder = Util.makeZeroCFABuilder(options, analysisCache, cha, scope); + CallGraphBuilder cgBuilder = Util.makeZeroCFABuilder(options, analysisCache, cha, scope); final CallGraph cg = cgBuilder.makeCallGraph(options, null); // System.err.println(cg.toString()); diff --git a/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/exceptionpruning/ExceptionAnalysis2EdgeFilterTest.java b/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/exceptionpruning/ExceptionAnalysis2EdgeFilterTest.java index 431443bdf..5ef39d3e4 100644 --- a/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/exceptionpruning/ExceptionAnalysis2EdgeFilterTest.java +++ b/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/exceptionpruning/ExceptionAnalysis2EdgeFilterTest.java @@ -83,7 +83,7 @@ public class ExceptionAnalysis2EdgeFilterTest { ReferenceCleanser.registerClassHierarchy(cha); AnalysisCache cache = new AnalysisCacheImpl(); ReferenceCleanser.registerCache(cache); - CallGraphBuilder builder = Util.makeZeroCFABuilder(options, cache, cha, scope); + CallGraphBuilder builder = Util.makeZeroCFABuilder(options, cache, cha, scope); cg = builder.makeCallGraph(options, null); pointerAnalysis = builder.getPointerAnalysis(); diff --git a/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/exceptionpruning/ExceptionAnalysisTest.java b/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/exceptionpruning/ExceptionAnalysisTest.java index f198764e0..1d06a6ed0 100644 --- a/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/exceptionpruning/ExceptionAnalysisTest.java +++ b/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/exceptionpruning/ExceptionAnalysisTest.java @@ -77,7 +77,7 @@ public class ExceptionAnalysisTest { ReferenceCleanser.registerClassHierarchy(cha); AnalysisCache cache = new AnalysisCacheImpl(); ReferenceCleanser.registerCache(cache); - CallGraphBuilder builder = Util.makeZeroCFABuilder(options, cache, cha, scope); + CallGraphBuilder builder = Util.makeZeroCFABuilder(options, cache, cha, scope); cg = builder.makeCallGraph(options, null); pointerAnalysis = builder.getPointerAnalysis(); diff --git a/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/ptrs/MultiDimArrayTest.java b/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/ptrs/MultiDimArrayTest.java index d9dd79779..04ddfb5bc 100644 --- a/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/ptrs/MultiDimArrayTest.java +++ b/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/ptrs/MultiDimArrayTest.java @@ -64,7 +64,7 @@ public class MultiDimArrayTest extends WalaTestCase { .makeMainEntrypoints(scope, cha, TestConstants.MULTI_DIM_MAIN); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeVanillaZeroOneCFABuilder(options, new AnalysisCacheImpl(),cha, scope); + CallGraphBuilder builder = Util.makeVanillaZeroOneCFABuilder(options, new AnalysisCacheImpl(),cha, scope); CallGraph cg = builder.makeCallGraph(options, null); PointerAnalysis pa = builder.getPointerAnalysis(); diff --git a/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/ptrs/TypeBasedArrayAliasTest.java b/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/ptrs/TypeBasedArrayAliasTest.java index 02b129ec2..e56e7d89a 100644 --- a/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/ptrs/TypeBasedArrayAliasTest.java +++ b/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/ptrs/TypeBasedArrayAliasTest.java @@ -47,7 +47,7 @@ public class TypeBasedArrayAliasTest extends WalaTestCase { AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); // RTA yields a TypeBasedPointerAnalysis - CallGraphBuilder builder = Util.makeRTABuilder(options, new AnalysisCacheImpl(),cha, scope); + CallGraphBuilder builder = Util.makeRTABuilder(options, new AnalysisCacheImpl(),cha, scope); CallGraph cg = builder.makeCallGraph(options, null); PointerAnalysis pa = builder.getPointerAnalysis(); diff --git a/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/ptrs/ZeroLengthArrayTest.java b/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/ptrs/ZeroLengthArrayTest.java index a4f30fa49..bee43884e 100644 --- a/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/ptrs/ZeroLengthArrayTest.java +++ b/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/ptrs/ZeroLengthArrayTest.java @@ -50,7 +50,7 @@ public class ZeroLengthArrayTest { TestConstants.ZERO_LENGTH_ARRAY_MAIN); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeVanillaZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder builder = Util.makeVanillaZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); CallGraph cg = builder.makeCallGraph(options, null); PointerAnalysis pa = builder.getPointerAnalysis(); // System.err.println(pa); diff --git a/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/slicer/SlicerTest.java b/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/slicer/SlicerTest.java index ed3d0331b..684d88a03 100644 --- a/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/slicer/SlicerTest.java +++ b/com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/slicer/SlicerTest.java @@ -128,7 +128,7 @@ public class SlicerTest { TestConstants.SLICE1_MAIN); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); CallGraph cg = builder.makeCallGraph(options, null); CGNode main = findMainMethod(cg); @@ -159,7 +159,7 @@ public class SlicerTest { TestConstants.SLICE2_MAIN); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); CallGraph cg = builder.makeCallGraph(options, null); CGNode main = findMethod(cg, "baz"); @@ -184,7 +184,7 @@ public class SlicerTest { TestConstants.SLICE3_MAIN); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); CallGraph cg = builder.makeCallGraph(options, null); CGNode main = findMethod(cg, "main"); @@ -208,7 +208,7 @@ public class SlicerTest { TestConstants.SLICE4_MAIN); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); CallGraph cg = builder.makeCallGraph(options, null); CGNode main = findMainMethod(cg); @@ -232,7 +232,7 @@ public class SlicerTest { TestConstants.SLICE5_MAIN); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); CallGraph cg = builder.makeCallGraph(options, null); CGNode n = findMethod(cg, "baz"); @@ -263,7 +263,7 @@ public class SlicerTest { TestConstants.SLICE7_MAIN); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeZeroOneContainerCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder builder = Util.makeZeroOneContainerCFABuilder(options, new AnalysisCacheImpl(), cha, scope); CallGraph cg = builder.makeCallGraph(options, null); CGNode main = findMainMethod(cg); @@ -342,7 +342,7 @@ public class SlicerTest { TestConstants.SLICE_TESTCD1); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); CallGraph cg = builder.makeCallGraph(options, null); CGNode main = findMainMethod(cg); @@ -366,7 +366,7 @@ public class SlicerTest { TestConstants.SLICE_TESTCD2); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); CallGraph cg = builder.makeCallGraph(options, null); CGNode main = findMainMethod(cg); @@ -390,7 +390,7 @@ public class SlicerTest { TestConstants.SLICE_TESTCD3); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); CallGraph cg = builder.makeCallGraph(options, null); CGNode main = findMainMethod(cg); @@ -414,7 +414,7 @@ public class SlicerTest { TestConstants.SLICE_TESTCD4); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); CallGraph cg = builder.makeCallGraph(options, null); CGNode main = findMainMethod(cg); @@ -445,7 +445,7 @@ public class SlicerTest { TestConstants.SLICE_TESTCD5); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); CallGraph cg = builder.makeCallGraph(options, null); CGNode main = findMainMethod(cg); @@ -471,7 +471,7 @@ public class SlicerTest { TestConstants.SLICE_TESTCD5); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); CallGraph cg = builder.makeCallGraph(options, null); CGNode main = findMainMethod(cg); @@ -497,7 +497,7 @@ public class SlicerTest { TestConstants.SLICE_TESTCD6); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); CallGraph cg = builder.makeCallGraph(options, null); CGNode main = findMainMethod(cg); @@ -522,7 +522,7 @@ public class SlicerTest { TestConstants.SLICE_TESTID); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); CallGraph cg = builder.makeCallGraph(options, null); CGNode main = findMainMethod(cg); @@ -546,7 +546,7 @@ public class SlicerTest { TestConstants.SLICE_TESTARRAYS); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); CallGraph cg = builder.makeCallGraph(options, null); CGNode main = findMainMethod(cg); @@ -571,7 +571,7 @@ public class SlicerTest { TestConstants.SLICE_TESTFIELDS); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); CallGraph cg = builder.makeCallGraph(options, null); CGNode main = findMainMethod(cg); @@ -596,7 +596,7 @@ public class SlicerTest { TestConstants.SLICE_TESTTHIN1); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); CallGraph cg = builder.makeCallGraph(options, null); CGNode main = findMainMethod(cg); @@ -631,7 +631,7 @@ public class SlicerTest { TestConstants.SLICE_TESTGLOBAL); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); CallGraph cg = builder.makeCallGraph(options, null); CGNode main = findMainMethod(cg); @@ -657,7 +657,7 @@ public class SlicerTest { TestConstants.SLICE_TESTMULTITARGET); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); CallGraph cg = builder.makeCallGraph(options, null); CGNode main = findMainMethod(cg); @@ -681,7 +681,7 @@ public class SlicerTest { TestConstants.SLICE_TESTRECURSION); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); CallGraph cg = builder.makeCallGraph(options, null); CGNode main = findMainMethod(cg); @@ -707,7 +707,7 @@ public class SlicerTest { TestConstants.SLICE_TEST_PRIM_GETTER_SETTER); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); CallGraph cg = builder.makeCallGraph(options, null); CGNode test = findMethod(cg, "test"); @@ -776,7 +776,7 @@ public class SlicerTest { TestConstants.SLICE_TESTTHROWCATCH); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); CallGraph cg = builder.makeCallGraph(options, null); CGNode main = findMainMethod(cg); @@ -802,7 +802,7 @@ public class SlicerTest { TestConstants.SLICE_TESTMESSAGEFORMAT); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeZeroCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder builder = Util.makeZeroCFABuilder(options, new AnalysisCacheImpl(), cha, scope); CallGraph cg = builder.makeCallGraph(options, null); CGNode main = findMainMethod(cg); @@ -828,7 +828,7 @@ public class SlicerTest { TestConstants.SLICE_TESTINETADDR); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); CallGraph cg = builder.makeCallGraph(options, null); SDG sdg = new SDG<>(cg, builder.getPointerAnalysis(), DataDependenceOptions.NO_BASE_NO_HEAP, ControlDependenceOptions.FULL); GraphIntegrity.check(sdg); @@ -843,7 +843,7 @@ public class SlicerTest { TestConstants.SLICE_JUSTTHROW); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); CallGraph cg = builder.makeCallGraph(options, null); CGNode main = findMainMethod(cg); diff --git a/com.ibm.wala.core.tests/src/com/ibm/wala/demandpa/driver/CompareToZeroOneCFADriver.java b/com.ibm.wala.core.tests/src/com/ibm/wala/demandpa/driver/CompareToZeroOneCFADriver.java index 79e78d447..c48d5ca77 100644 --- a/com.ibm.wala.core.tests/src/com/ibm/wala/demandpa/driver/CompareToZeroOneCFADriver.java +++ b/com.ibm.wala.core.tests/src/com/ibm/wala/demandpa/driver/CompareToZeroOneCFADriver.java @@ -157,7 +157,7 @@ public class CompareToZeroOneCFADriver { // now, run our analysis // build an RTA call graph - CallGraphBuilder rtaBuilder = Util.makeRTABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder rtaBuilder = Util.makeRTABuilder(options, new AnalysisCacheImpl(), cha, scope); final CallGraph cg = rtaBuilder.makeCallGraph(options, null); // System.err.println(cg.toString()); diff --git a/com.ibm.wala.core.tests/src/com/ibm/wala/demandpa/driver/TestAgainstSimpleDriver.java b/com.ibm.wala.core.tests/src/com/ibm/wala/demandpa/driver/TestAgainstSimpleDriver.java index b3eca3fcb..05ab40939 100644 --- a/com.ibm.wala.core.tests/src/com/ibm/wala/demandpa/driver/TestAgainstSimpleDriver.java +++ b/com.ibm.wala.core.tests/src/com/ibm/wala/demandpa/driver/TestAgainstSimpleDriver.java @@ -117,7 +117,7 @@ public class TestAgainstSimpleDriver { AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); // build an RTA call graph - CallGraphBuilder rtaBuilder = Util.makeRTABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder rtaBuilder = Util.makeRTABuilder(options, new AnalysisCacheImpl(), cha, scope); final CallGraph cg = rtaBuilder.makeCallGraph(options, null); // System.err.println(cg.toString()); diff --git a/com.ibm.wala.core.tests/src/com/ibm/wala/examples/analysis/dataflow/DataflowTest.java b/com.ibm.wala.core.tests/src/com/ibm/wala/examples/analysis/dataflow/DataflowTest.java index 524280fd9..64504e53b 100644 --- a/com.ibm.wala.core.tests/src/com/ibm/wala/examples/analysis/dataflow/DataflowTest.java +++ b/com.ibm.wala.core.tests/src/com/ibm/wala/examples/analysis/dataflow/DataflowTest.java @@ -37,6 +37,7 @@ import com.ibm.wala.ipa.callgraph.Entrypoint; import com.ibm.wala.ipa.callgraph.IAnalysisCacheView; import com.ibm.wala.ipa.callgraph.impl.Everywhere; import com.ibm.wala.ipa.callgraph.impl.Util; +import com.ibm.wala.ipa.callgraph.propagation.InstanceKey; import com.ibm.wala.ipa.cfg.BasicBlockInContext; import com.ibm.wala.ipa.cfg.ExplodedInterproceduralCFG; import com.ibm.wala.ipa.cha.ClassHierarchyException; @@ -150,7 +151,7 @@ public class DataflowTest extends WalaTestCase { "Ldataflow/StaticDataflow"); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); CallGraph cg = builder.makeCallGraph(options, null); ExplodedInterproceduralCFG icfg = ExplodedInterproceduralCFG.make(cg); ContextInsensitiveReachingDefs reachingDefs = new ContextInsensitiveReachingDefs(icfg, cha); @@ -182,7 +183,7 @@ public class DataflowTest extends WalaTestCase { "Ldataflow/StaticDataflow"); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); CallGraph cg = builder.makeCallGraph(options, null); ContextSensitiveReachingDefs reachingDefs = new ContextSensitiveReachingDefs(cg); TabulationResult, CGNode, Pair> result = reachingDefs.analyze(); diff --git a/com.ibm.wala.core.tests/src/com/ibm/wala/examples/analysis/dataflow/InitializerTest.java b/com.ibm.wala.core.tests/src/com/ibm/wala/examples/analysis/dataflow/InitializerTest.java index 2a59a845d..2eaf90d5b 100644 --- a/com.ibm.wala.core.tests/src/com/ibm/wala/examples/analysis/dataflow/InitializerTest.java +++ b/com.ibm.wala.core.tests/src/com/ibm/wala/examples/analysis/dataflow/InitializerTest.java @@ -29,6 +29,7 @@ import com.ibm.wala.ipa.callgraph.CallGraphBuilder; import com.ibm.wala.ipa.callgraph.CallGraphBuilderCancelException; import com.ibm.wala.ipa.callgraph.Entrypoint; import com.ibm.wala.ipa.callgraph.impl.Util; +import com.ibm.wala.ipa.callgraph.propagation.InstanceKey; import com.ibm.wala.ipa.cfg.BasicBlockInContext; import com.ibm.wala.ipa.cha.ClassHierarchyException; import com.ibm.wala.ipa.cha.ClassHierarchyFactory; @@ -68,7 +69,7 @@ public class InitializerTest { Iterable entrypoints = com.ibm.wala.ipa.callgraph.impl.Util.makeMainEntrypoints(scope, cha, "LstaticInit/TestStaticInit"); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); CallGraph cg = null; try { cg = builder.makeCallGraph(options, null); diff --git a/com.ibm.wala.core.tests/src/com/ibm/wala/examples/drivers/JavaViewerDriver.java b/com.ibm.wala.core.tests/src/com/ibm/wala/examples/drivers/JavaViewerDriver.java index 362deb101..0b7c0cc48 100644 --- a/com.ibm.wala.core.tests/src/com/ibm/wala/examples/drivers/JavaViewerDriver.java +++ b/com.ibm.wala.core.tests/src/com/ibm/wala/examples/drivers/JavaViewerDriver.java @@ -64,7 +64,7 @@ public class JavaViewerDriver { // // // build the call graph // // - com.ibm.wala.ipa.callgraph.CallGraphBuilder builder = Util.makeZeroCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + com.ibm.wala.ipa.callgraph.CallGraphBuilder builder = Util.makeZeroCFABuilder(options, new AnalysisCacheImpl(), cha, scope); CallGraph cg = builder.makeCallGraph(options, null); PointerAnalysis pa = builder.getPointerAnalysis(); diff --git a/com.ibm.wala.core.tests/src/com/ibm/wala/examples/drivers/PDFCallGraph.java b/com.ibm.wala.core.tests/src/com/ibm/wala/examples/drivers/PDFCallGraph.java index ab457d66a..43a042b8d 100644 --- a/com.ibm.wala.core.tests/src/com/ibm/wala/examples/drivers/PDFCallGraph.java +++ b/com.ibm.wala.core.tests/src/com/ibm/wala/examples/drivers/PDFCallGraph.java @@ -26,6 +26,7 @@ import com.ibm.wala.ipa.callgraph.CallGraph; import com.ibm.wala.ipa.callgraph.CallGraphStats; import com.ibm.wala.ipa.callgraph.Entrypoint; import com.ibm.wala.ipa.callgraph.impl.Util; +import com.ibm.wala.ipa.callgraph.propagation.InstanceKey; import com.ibm.wala.ipa.callgraph.propagation.LocalPointerKey; import com.ibm.wala.ipa.cha.ClassHierarchy; import com.ibm.wala.ipa.cha.ClassHierarchyFactory; @@ -156,7 +157,7 @@ public class PDFCallGraph { // // // build the call graph // // - com.ibm.wala.ipa.callgraph.CallGraphBuilder builder = Util.makeZeroCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + com.ibm.wala.ipa.callgraph.CallGraphBuilder builder = Util.makeZeroCFABuilder(options, new AnalysisCacheImpl(), cha, scope); CallGraph cg = builder.makeCallGraph(options, null); System.err.println(CallGraphStats.getStats(cg)); diff --git a/com.ibm.wala.core.tests/src/com/ibm/wala/examples/drivers/PDFSlice.java b/com.ibm.wala.core.tests/src/com/ibm/wala/examples/drivers/PDFSlice.java index 1d8a2a617..43b8652f3 100644 --- a/com.ibm.wala.core.tests/src/com/ibm/wala/examples/drivers/PDFSlice.java +++ b/com.ibm.wala.core.tests/src/com/ibm/wala/examples/drivers/PDFSlice.java @@ -155,7 +155,7 @@ public class PDFSlice { ClassHierarchy cha = ClassHierarchyFactory.make(scope); Iterable entrypoints = com.ibm.wala.ipa.callgraph.impl.Util.makeMainEntrypoints(scope, cha, mainClass); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); - CallGraphBuilder builder = Util.makeVanillaZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); + CallGraphBuilder builder = Util.makeVanillaZeroOneCFABuilder(options, new AnalysisCacheImpl(), cha, scope); // CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, new // AnalysisCache(), cha, scope); CallGraph cg = builder.makeCallGraph(options, null); diff --git a/com.ibm.wala.core.tests/src/com/ibm/wala/examples/drivers/ScopeFileCallGraph.java b/com.ibm.wala.core.tests/src/com/ibm/wala/examples/drivers/ScopeFileCallGraph.java index 8e9e70ff0..aebcd1a51 100644 --- a/com.ibm.wala.core.tests/src/com/ibm/wala/examples/drivers/ScopeFileCallGraph.java +++ b/com.ibm.wala.core.tests/src/com/ibm/wala/examples/drivers/ScopeFileCallGraph.java @@ -29,6 +29,7 @@ import com.ibm.wala.ipa.callgraph.CallGraphStats; import com.ibm.wala.ipa.callgraph.Entrypoint; import com.ibm.wala.ipa.callgraph.impl.DefaultEntrypoint; import com.ibm.wala.ipa.callgraph.impl.Util; +import com.ibm.wala.ipa.callgraph.propagation.InstanceKey; import com.ibm.wala.ipa.cha.ClassHierarchyException; import com.ibm.wala.ipa.cha.ClassHierarchyFactory; import com.ibm.wala.ipa.cha.IClassHierarchy; @@ -82,7 +83,7 @@ public class ScopeFileCallGraph { // options.setReflectionOptions(ReflectionOptions.NONE); AnalysisCache cache = new AnalysisCacheImpl(); // other builders can be constructed with different Util methods - CallGraphBuilder builder = Util.makeZeroOneContainerCFABuilder(options, cache, cha, scope); + CallGraphBuilder builder = Util.makeZeroOneContainerCFABuilder(options, cache, cha, scope); // CallGraphBuilder builder = Util.makeNCFABuilder(2, options, cache, cha, scope); // CallGraphBuilder builder = Util.makeVanillaNCFABuilder(2, options, cache, cha, scope); System.out.println("building call graph..."); diff --git a/com.ibm.wala.ide.jdt.test/source/com/ibm/wala/demandpa/driver/DemandCastChecker.java b/com.ibm.wala.ide.jdt.test/source/com/ibm/wala/demandpa/driver/DemandCastChecker.java index 193fc3f79..6480ec161 100644 --- a/com.ibm.wala.ide.jdt.test/source/com/ibm/wala/demandpa/driver/DemandCastChecker.java +++ b/com.ibm.wala.ide.jdt.test/source/com/ibm/wala/demandpa/driver/DemandCastChecker.java @@ -153,7 +153,7 @@ public class DemandCastChecker { AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); System.err.print("constructing call graph..."); - final Pair cgAndPA = buildCallGraph(scope, cha, options); + final Pair> cgAndPA = buildCallGraph(scope, cha, options); CallGraph cg = cgAndPA.fst; System.err.println("done"); System.err.println(CallGraphStats.getStats(cg)); @@ -182,12 +182,12 @@ public class DemandCastChecker { * @throws CancelException * @throws IllegalArgumentException */ - private static Pair buildCallGraph(AnalysisScope scope, ClassHierarchy cha, AnalysisOptions options) + private static Pair> buildCallGraph(AnalysisScope scope, ClassHierarchy cha, AnalysisOptions options) throws IllegalArgumentException, CancelException { CallGraph retCG = null; - PointerAnalysis retPA = null; + PointerAnalysis retPA = null; final AnalysisCache cache = new AnalysisCacheImpl(); - CallGraphBuilder builder; + CallGraphBuilder builder; if (CHEAP_CG) { builder = Util.makeZeroCFABuilder(options, cache, cha, scope); // we want vanilla 0-1 CFA, which has one abstract loc per allocation diff --git a/com.ibm.wala.ide.jdt/source/com/ibm/wala/cast/java/translator/jdt/JDTSourceModuleTranslator.java b/com.ibm.wala.ide.jdt/source/com/ibm/wala/cast/java/translator/jdt/JDTSourceModuleTranslator.java index 54968b019..c0f6d9bf3 100644 --- a/com.ibm.wala.ide.jdt/source/com/ibm/wala/cast/java/translator/jdt/JDTSourceModuleTranslator.java +++ b/com.ibm.wala.ide.jdt/source/com/ibm/wala/cast/java/translator/jdt/JDTSourceModuleTranslator.java @@ -87,7 +87,7 @@ public class JDTSourceModuleTranslator implements SourceModuleTranslator { public void acceptAST(ICompilationUnit source, CompilationUnit ast) { try { - JDTJava2CAstTranslator jdt2cast = makeCAstTranslator(ast, proj.getValue().get(source).getIFile(), source.getUnderlyingResource().getLocation().toOSString()); + JDTJava2CAstTranslator jdt2cast = makeCAstTranslator(ast, proj.getValue().get(source).getIFile(), source.getUnderlyingResource().getLocation().toOSString()); final Java2IRTranslator java2ir = makeIRTranslator(); java2ir.translate(proj.getValue().get(source), jdt2cast.translateToCAst()); } catch (JavaModelException e) { @@ -188,7 +188,7 @@ public class JDTSourceModuleTranslator implements SourceModuleTranslator { return new Java2IRTranslator(sourceLoader); } - protected JDTJava2CAstTranslator makeCAstTranslator(CompilationUnit cu, final IFile sourceFile, String fullPath) { + protected JDTJava2CAstTranslator makeCAstTranslator(CompilationUnit cu, final IFile sourceFile, String fullPath) { return new JDTJava2CAstTranslator(sourceLoader, cu, fullPath, false, dump) { @Override public JdtPosition makePosition(int start, int end) { diff --git a/com.ibm.wala.ide.jdt/source/com/ibm/wala/ide/AbstractJavaAnalysisAction.java b/com.ibm.wala.ide.jdt/source/com/ibm/wala/ide/AbstractJavaAnalysisAction.java index bd1440b23..d35c62a6c 100644 --- a/com.ibm.wala.ide.jdt/source/com/ibm/wala/ide/AbstractJavaAnalysisAction.java +++ b/com.ibm.wala.ide.jdt/source/com/ibm/wala/ide/AbstractJavaAnalysisAction.java @@ -81,12 +81,12 @@ public abstract class AbstractJavaAnalysisAction implements IObjectActionDelegat if (selection == null) { throw new IllegalArgumentException("null selection"); } - final Collection projectPaths = new LinkedList<>(); + final Collection> projectPaths = new LinkedList<>(); Job job = new Job("Compute project paths") { @Override protected IStatus run(IProgressMonitor monitor) { - for (Iterator it = selection.iterator(); it.hasNext();) { + for (Iterator it = selection.iterator(); it.hasNext();) { Object object = it.next(); if (object instanceof IJavaElement) { IJavaElement e = (IJavaElement) object; @@ -136,7 +136,7 @@ public abstract class AbstractJavaAnalysisAction implements IObjectActionDelegat protected Collection computeJavaProjects() { IStructuredSelection selection = (IStructuredSelection) currentSelection; Collection projects = HashSetFactory.make(); - for (Iterator it = selection.iterator(); it.hasNext();) { + for (Iterator it = selection.iterator(); it.hasNext();) { Object object = it.next(); if (object instanceof IJavaElement) { IJavaElement e = (IJavaElement) object; @@ -152,7 +152,7 @@ public abstract class AbstractJavaAnalysisAction implements IObjectActionDelegat /** * create an analysis scope as the union of a bunch of EclipseProjectPath */ - private static AnalysisScope mergeProjectPaths(Collection projectPaths) throws IOException { + private static AnalysisScope mergeProjectPaths(Collection> projectPaths) throws IOException { AnalysisScope scope = AnalysisScope.createJavaAnalysisScope(); Collection seen = HashSetFactory.make(); @@ -173,9 +173,9 @@ public abstract class AbstractJavaAnalysisAction implements IObjectActionDelegat * @param scope the {@link AnalysisScope} under construction. This will be mutated. * @param seen set of {@link Module}s which have already been seen, and should not be added to the analysis scope */ - private static void buildScope(ClassLoaderReference loader, Collection projectPaths, AnalysisScope scope, + private static void buildScope(ClassLoaderReference loader, Collection> projectPaths, AnalysisScope scope, Collection seen) throws IOException { - for (EclipseProjectPath path : projectPaths) { + for (EclipseProjectPath path : projectPaths) { AnalysisScope pScope = path.toAnalysisScope((File) null); for (Module m : pScope.getModules(loader)) { if (!seen.contains(m)) { diff --git a/com.ibm.wala.ide.jsdt.tests/src/com/ibm/wala/ide/jsdt/tests/AbstractJSProjectScopeTest.java b/com.ibm.wala.ide.jsdt.tests/src/com/ibm/wala/ide/jsdt/tests/AbstractJSProjectScopeTest.java index 33a96f019..46375f263 100644 --- a/com.ibm.wala.ide.jsdt.tests/src/com/ibm/wala/ide/jsdt/tests/AbstractJSProjectScopeTest.java +++ b/com.ibm.wala.ide.jsdt.tests/src/com/ibm/wala/ide/jsdt/tests/AbstractJSProjectScopeTest.java @@ -35,6 +35,7 @@ import com.ibm.wala.ide.util.JavaScriptHeadlessUtil; import com.ibm.wala.ide.util.JsdtUtil; import com.ibm.wala.ide.util.JsdtUtil.CGInfo; import com.ibm.wala.ipa.callgraph.AnalysisScope; +import com.ibm.wala.ipa.callgraph.propagation.InstanceKey; import com.ibm.wala.ipa.cha.IClassHierarchy; import com.ibm.wala.util.CancelException; import com.ibm.wala.util.collections.Pair; @@ -83,7 +84,7 @@ public abstract class AbstractJSProjectScopeTest { @Test public void testEngine() throws IOException, CoreException, IllegalArgumentException, CancelException { IJavaScriptProject p = JavaScriptHeadlessUtil.getJavaScriptProjectFromWorkspace(project.projectName); - EclipseJavaScriptAnalysisEngine e = makeAnalysisEngine(p); + EclipseJavaScriptAnalysisEngine e = makeAnalysisEngine(p); JSCallGraphUtil.setTranslatorFactory(new CAstRhinoTranslatorFactory()); e.buildAnalysisScope(); IClassHierarchy cha = e.getClassHierarchy(); @@ -91,8 +92,8 @@ public abstract class AbstractJSProjectScopeTest { Assert.assertTrue(cha != null); } - protected EclipseJavaScriptAnalysisEngine makeAnalysisEngine(IJavaScriptProject p) throws IOException, CoreException { - return new EclipseJavaScriptAnalysisEngine(p, BuilderType.REFLECTIVE); + protected EclipseJavaScriptAnalysisEngine makeAnalysisEngine(IJavaScriptProject p) throws IOException, CoreException { + return new EclipseJavaScriptAnalysisEngine<>(p, BuilderType.REFLECTIVE); } } diff --git a/com.ibm.wala.ide.jsdt/source/com/ibm/wala/ide/util/JavaScriptEclipseProjectPath.java b/com.ibm.wala.ide.jsdt/source/com/ibm/wala/ide/util/JavaScriptEclipseProjectPath.java index cd8bd6dc3..d96ce6b5f 100644 --- a/com.ibm.wala.ide.jsdt/source/com/ibm/wala/ide/util/JavaScriptEclipseProjectPath.java +++ b/com.ibm.wala.ide.jsdt/source/com/ibm/wala/ide/util/JavaScriptEclipseProjectPath.java @@ -66,8 +66,8 @@ public class JavaScriptEclipseProjectPath extends EclipseProjectPath create(IProject project) throws CoreException, IOException { + EclipseProjectPath path = super.create(project); Collection s = modules.get(JSLoader.JAVASCRIPT); for(Pair model : models) { diff --git a/com.ibm.wala.ide.tests/src/com/ibm/wala/examples/drivers/IFDSExplorerExample.java b/com.ibm.wala.ide.tests/src/com/ibm/wala/examples/drivers/IFDSExplorerExample.java index 9689724dd..d6c7df32d 100644 --- a/com.ibm.wala.ide.tests/src/com/ibm/wala/examples/drivers/IFDSExplorerExample.java +++ b/com.ibm.wala.ide.tests/src/com/ibm/wala/examples/drivers/IFDSExplorerExample.java @@ -28,6 +28,7 @@ import com.ibm.wala.ipa.callgraph.CallGraphBuilder; import com.ibm.wala.ipa.callgraph.CallGraphBuilderCancelException; import com.ibm.wala.ipa.callgraph.Entrypoint; import com.ibm.wala.ipa.callgraph.impl.Util; +import com.ibm.wala.ipa.callgraph.propagation.InstanceKey; import com.ibm.wala.ipa.cfg.BasicBlockInContext; import com.ibm.wala.ipa.cha.ClassHierarchyFactory; import com.ibm.wala.ipa.cha.IClassHierarchy; @@ -60,7 +61,7 @@ public class IFDSExplorerExample { "Ldataflow/StaticDataflow"); AnalysisOptions options = CallGraphTestUtil.makeAnalysisOptions(scope, entrypoints); AnalysisCache cache = new AnalysisCacheImpl(); - CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, cache, cha, scope); + CallGraphBuilder builder = Util.makeZeroOneCFABuilder(options, cache, cha, scope); System.out.println("building CG"); CallGraph cg = builder.makeCallGraph(options, null); System.out.println("done with CG"); diff --git a/com.ibm.wala.ide.tests/src/com/ibm/wala/examples/drivers/SWTCallGraph.java b/com.ibm.wala.ide.tests/src/com/ibm/wala/examples/drivers/SWTCallGraph.java index d3976e5c5..8f602c3d5 100644 --- a/com.ibm.wala.ide.tests/src/com/ibm/wala/examples/drivers/SWTCallGraph.java +++ b/com.ibm.wala.ide.tests/src/com/ibm/wala/examples/drivers/SWTCallGraph.java @@ -28,6 +28,7 @@ import com.ibm.wala.ipa.callgraph.CallGraph; import com.ibm.wala.ipa.callgraph.CallGraphStats; import com.ibm.wala.ipa.callgraph.Entrypoint; import com.ibm.wala.ipa.callgraph.impl.Util; +import com.ibm.wala.ipa.callgraph.propagation.InstanceKey; import com.ibm.wala.ipa.cha.ClassHierarchy; import com.ibm.wala.ipa.cha.ClassHierarchyFactory; import com.ibm.wala.properties.WalaProperties; @@ -116,7 +117,7 @@ public class SWTCallGraph { // // // build the call graph // // - com.ibm.wala.ipa.callgraph.CallGraphBuilder builder = Util.makeZeroCFABuilder(options, new AnalysisCacheImpl(), cha, scope, null, + com.ibm.wala.ipa.callgraph.CallGraphBuilder builder = Util.makeZeroCFABuilder(options, new AnalysisCacheImpl(), cha, scope, null, null); CallGraph cg = builder.makeCallGraph(options,null); diff --git a/com.ibm.wala.ide.tests/src/com/ibm/wala/examples/drivers/SWTPointsTo.java b/com.ibm.wala.ide.tests/src/com/ibm/wala/examples/drivers/SWTPointsTo.java index e268e87e5..ab24ce541 100644 --- a/com.ibm.wala.ide.tests/src/com/ibm/wala/examples/drivers/SWTPointsTo.java +++ b/com.ibm.wala.ide.tests/src/com/ibm/wala/examples/drivers/SWTPointsTo.java @@ -92,7 +92,7 @@ public class SWTPointsTo { // // // build the call graph // // - com.ibm.wala.ipa.callgraph.CallGraphBuilder builder = Util.makeVanillaZeroOneCFABuilder(options, new AnalysisCacheImpl(),cha, scope, null, null); + com.ibm.wala.ipa.callgraph.CallGraphBuilder builder = Util.makeVanillaZeroOneCFABuilder(options, new AnalysisCacheImpl(),cha, scope, null, null); CallGraph cg = builder.makeCallGraph(options,null); PointerAnalysis pointerAnalysis = builder.getPointerAnalysis(); diff --git a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/InvokeDynamicInstruction.java b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/InvokeDynamicInstruction.java index d23ef9815..c5c2e03e6 100644 --- a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/InvokeDynamicInstruction.java +++ b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/InvokeDynamicInstruction.java @@ -151,7 +151,7 @@ public class InvokeDynamicInstruction extends Instruction implements IInvokeInst } } - public CallSite bootstrap(Class cl) throws ClassNotFoundException, NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchFieldException { + public CallSite bootstrap(Class cl) throws ClassNotFoundException, NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchFieldException { ClassLoader classLoader = cl.getClassLoader(); ClassLoader bootstrapCL = classLoader; @@ -180,9 +180,9 @@ public class InvokeDynamicInstruction extends Instruction implements IInvokeInst public static MethodType makeMethodType(ClassLoader classLoader, String descriptor) throws ClassNotFoundException { String returnType = Util.makeClass(Util.getReturnType(descriptor)); - Class returnClass = Class.forName(returnType, false, classLoader); + Class returnClass = Class.forName(returnType, false, classLoader); String[] paramTypes = Util.getParamsTypes(null, descriptor); - Class[] paramClasses = new Class[ paramTypes.length ]; + Class[] paramClasses = new Class[ paramTypes.length ]; for(int i = 0; i < paramTypes.length; i++) { paramClasses[i] = Class.forName(Util.makeClass(paramTypes[i]), false, classLoader); } diff --git a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/shrikeCT/tools/BootstrapDumper.java b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/shrikeCT/tools/BootstrapDumper.java index f3beb1856..f3dc27c40 100644 --- a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/shrikeCT/tools/BootstrapDumper.java +++ b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/shrikeCT/tools/BootstrapDumper.java @@ -72,7 +72,7 @@ public class BootstrapDumper { oi.close(); } - private void dumpAttributes(Class cl, ClassReader cr, int i, ClassReader.AttrIterator attrs) throws InvalidClassFileException, + private void dumpAttributes(Class cl, ClassReader cr, int i, ClassReader.AttrIterator attrs) throws InvalidClassFileException, InvalidBytecodeException, IOException, ClassNotFoundException, NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchFieldException { for (; attrs.isValid(); attrs.advance()) { String name = attrs.getName(); diff --git a/com.ibm.wala.util/src/com/ibm/wala/fixpoint/AbstractStatement.java b/com.ibm.wala.util/src/com/ibm/wala/fixpoint/AbstractStatement.java index b2b8e1198..3c8a7fe69 100644 --- a/com.ibm.wala.util/src/com/ibm/wala/fixpoint/AbstractStatement.java +++ b/com.ibm.wala.util/src/com/ibm/wala/fixpoint/AbstractStatement.java @@ -15,7 +15,7 @@ import com.ibm.wala.util.graph.impl.NodeWithNumber; /** * Represents a single step in an iterative solver */ -public abstract class AbstractStatement> extends NodeWithNumber implements IFixedPointStatement{ +public abstract class AbstractStatement, O extends AbstractOperator> extends NodeWithNumber implements IFixedPointStatement{ public abstract O getOperator(); @@ -51,7 +51,7 @@ public abstract class AbstractStatement { +public interface IFixedPointSolver> { /** * @return the set of statements solved by this {@link IFixedPointSolver} diff --git a/com.ibm.wala.util/src/com/ibm/wala/util/intset/IntSetUtil.java b/com.ibm.wala.util/src/com/ibm/wala/util/intset/IntSetUtil.java index 70c17ae15..61ee53a38 100644 --- a/com.ibm.wala.util/src/com/ibm/wala/util/intset/IntSetUtil.java +++ b/com.ibm.wala.util/src/com/ibm/wala/util/intset/IntSetUtil.java @@ -29,8 +29,9 @@ public class IntSetUtil { MutableIntSetFactory defaultFactory = new MutableSharedBitVectorIntSetFactory(); if (System.getProperty(INT_SET_FACTORY_CONFIG_PROPERTY_NAME) != null) { try { - Class intSetFactoryClass = Class.forName(System.getProperty(INT_SET_FACTORY_CONFIG_PROPERTY_NAME)); - MutableIntSetFactory intSetFactory = (MutableIntSetFactory) intSetFactoryClass.newInstance(); + @SuppressWarnings("unchecked") + Class> intSetFactoryClass = (Class>) Class.forName(System.getProperty(INT_SET_FACTORY_CONFIG_PROPERTY_NAME)); + MutableIntSetFactory intSetFactory = intSetFactoryClass.newInstance(); setDefaultIntSetFactory(intSetFactory); } catch (Exception e) { System.err.println(("Cannot use int set factory " + System.getProperty(INT_SET_FACTORY_CONFIG_PROPERTY_NAME)));