From 5336a08af2d495e11ef5fd3bd84720628dd4ff2f Mon Sep 17 00:00:00 2001 From: Ben Liblit Date: Mon, 4 Jun 2018 13:16:36 -0500 Subject: [PATCH] Avoid using deprecated boxing constructors Boxing a primitive using the constructor ("new Integer(4)") always creates a distinct new boxed instance. That's rarely what you need, and in fact all of those constructors have been deprecated in Java 9. Using the static "valueOf" method instead ("Integer.valueOf(4)") can give better performance by reusing existing instances. You no longer get a unique boxed object, but generally that's OK. --- .../java/translator/jdt/JDT2CAstUtils.java | 2 +- .../jdt/JDTJava2CAstTranslator.java | 4 +- .../src/AnonymousClass.java | 4 +- .../src/ArrayLiteral1.java | 2 +- .../src/LocalClass.java | 4 +- .../src/javaonepointfive/BasicsGenerics.java | 2 +- .../javaonepointfive/ExplicitBoxingTest.java | 4 +- .../src/javaonepointfive/GenericArrays.java | 2 +- .../MoreOverriddenGenerics.java | 2 +- .../OverridesOnePointFour.java | 2 +- .../src/javaonepointfive/Wildcards.java | 4 +- .../cast/js/html/WebPageLoaderFactory.java | 2 +- .../JavaScriptConstructorFunctions.java | 30 +++++----- .../cast/js/translator/JSAstTranslator.java | 16 +++--- .../translator/JSConstantFoldingRewriter.java | 10 ++-- .../wala/cast/test/TestCAstTranslator.java | 2 +- ...anguageSSAPropagationCallGraphBuilder.java | 2 +- .../ibm/wala/cast/ir/ssa/SSAConversion.java | 2 +- .../cast/ir/translator/AstTranslator.java | 10 ++-- .../com/ibm/wala/cast/tree/impl/CAstImpl.java | 12 ++-- .../.settings/org.eclipse.jdt.core.prefs | 4 +- .../wala/core/tests/basic/PrimitivesTest.java | 42 +++++++------- .../AbstractReflectionInterpreter.java | 2 +- .../reflection/FactoryBypassInterpreter.java | 2 +- .../ReflectiveInvocationInterpreter.java | 2 +- .../analysis/typeInference/TypeInference.java | 4 +- .../propagation/cfa/ZeroXInstanceKeys.java | 4 +- .../src/com/ibm/wala/ipa/slicer/PDG.java | 2 +- .../wala/ipa/summaries/ReflectionSummary.java | 6 +- .../ibm/wala/ipa/summaries/SyntheticIR.java | 4 +- .../ipa/summaries/XMLMethodSummaryReader.java | 56 +++++++++---------- .../src/com/ibm/wala/ssa/ConstantValue.java | 4 +- .../src/com/ibm/wala/ssa/IR.java | 4 +- .../src/com/ibm/wala/ssa/SymbolTable.java | 4 +- .../analysis/DeadAssignmentElimination.java | 6 +- .../org/scandroid/model/AppModelMethod.java | 2 +- .../shrike/cg/OfflineDynamicCallGraph.java | 8 +-- .../wala/shrikeBT/ConstantInstruction.java | 4 +- .../src/com/ibm/wala/shrikeBT/Decoder.java | 8 +-- .../shrikeCT/tools/AddSerialVersion.java | 4 +- .../com/ibm/wala/shrikeCT/ClassWriter.java | 32 +++++------ 41 files changed, 162 insertions(+), 160 deletions(-) diff --git a/com.ibm.wala.cast.java.ecj/src/com/ibm/wala/cast/java/translator/jdt/JDT2CAstUtils.java b/com.ibm.wala.cast.java.ecj/src/com/ibm/wala/cast/java/translator/jdt/JDT2CAstUtils.java index 99288b5a6..36138e06b 100644 --- a/com.ibm.wala.cast.java.ecj/src/com/ibm/wala/cast/java/translator/jdt/JDT2CAstUtils.java +++ b/com.ibm.wala.cast.java.ecj/src/com/ibm/wala/cast/java/translator/jdt/JDT2CAstUtils.java @@ -188,7 +188,7 @@ public class JDT2CAstUtils { */ public static Object defaultValueForType(ITypeBinding type) { if (isLongOrLess(type)) - return new Integer(0); + return Integer.valueOf(0); else if (type.getBinaryName().equals("D") || type.getBinaryName().equals("F")) return new Double(0.0); else diff --git a/com.ibm.wala.cast.java.ecj/src/com/ibm/wala/cast/java/translator/jdt/JDTJava2CAstTranslator.java b/com.ibm.wala.cast.java.ecj/src/com/ibm/wala/cast/java/translator/jdt/JDTJava2CAstTranslator.java index b2b35353e..5606d8796 100644 --- a/com.ibm.wala.cast.java.ecj/src/com/ibm/wala/cast/java/translator/jdt/JDTJava2CAstTranslator.java +++ b/com.ibm.wala.cast.java.ecj/src/com/ibm/wala/cast/java/translator/jdt/JDTJava2CAstTranslator.java @@ -2305,7 +2305,7 @@ public abstract class JDTJava2CAstTranslator { private CAstNode getSwitchCaseConstant(SwitchCase n, WalkContext context) { // TODO: enums Expression expr = n.getExpression(); - Object constant = (expr == null) ? new Integer(0) : expr.resolveConstantExpressionValue(); // default case label of + Object constant = (expr == null) ? Integer.valueOf(0) : expr.resolveConstantExpressionValue(); // default case label of // "0" (what polyglot // does). we also set // SWITCH_DEFAULT @@ -2562,7 +2562,7 @@ public abstract class JDTJava2CAstTranslator { /*------ indexDecl --------- int tmpindex = 0 ------*/ final String tmpIndexName = "for temp index"; CAstNode indexDeclNode = makeNode(context, fFactory, n, CAstNode.DECL_STMT, fFactory.makeConstant(new InternalCAstSymbol( - tmpIndexName, fTypeDict.getCAstTypeFor(ast.resolveWellKnownType("int")), true)), fFactory.makeConstant(new Integer(0))); + tmpIndexName, fTypeDict.getCAstTypeFor(ast.resolveWellKnownType("int")), true)), fFactory.makeConstant(Integer.valueOf(0))); /*------ cond ------------- tmpindex < tmparray.length ------*/ CAstNode tmpArrayLengthNode = makeNode(context, fFactory, n, CAstNode.ARRAY_LENGTH, makeNode(context, fFactory, n, diff --git a/com.ibm.wala.cast.java.test.data/src/AnonymousClass.java b/com.ibm.wala.cast.java.test.data/src/AnonymousClass.java index 92e015991..fa8f2eb72 100644 --- a/com.ibm.wala.cast.java.test.data/src/AnonymousClass.java +++ b/com.ibm.wala.cast.java.test.data/src/AnonymousClass.java @@ -15,7 +15,7 @@ public class AnonymousClass { } public static void main(String[] args) { - final Integer base = new Integer(6); + final Integer base = Integer.valueOf(6); Foo f= new Foo() { int value = 3; @@ -34,7 +34,7 @@ public class AnonymousClass { } public void method() { - final Integer base = new Integer(7); + final Integer base = Integer.valueOf(7); abstract class FooImpl implements Foo { int y; diff --git a/com.ibm.wala.cast.java.test.data/src/ArrayLiteral1.java b/com.ibm.wala.cast.java.test.data/src/ArrayLiteral1.java index f0f2ea9f0..3b6f2a776 100644 --- a/com.ibm.wala.cast.java.test.data/src/ArrayLiteral1.java +++ b/com.ibm.wala.cast.java.test.data/src/ArrayLiteral1.java @@ -12,6 +12,6 @@ public class ArrayLiteral1 { public static void main(String[] args) { ArrayLiteral1 al1= new ArrayLiteral1(); int[] a= new int[] { 0, 1, 2, 3, 5 }; - Object[] b= new Object[] { null, "hi", new Integer(55), new int[] { 3, 1, 4 } }; + Object[] b= new Object[] { null, "hi", Integer.valueOf(55), new int[] { 3, 1, 4 } }; } } diff --git a/com.ibm.wala.cast.java.test.data/src/LocalClass.java b/com.ibm.wala.cast.java.test.data/src/LocalClass.java index 5b622f763..d54ca13bf 100644 --- a/com.ibm.wala.cast.java.test.data/src/LocalClass.java +++ b/com.ibm.wala.cast.java.test.data/src/LocalClass.java @@ -10,7 +10,7 @@ *****************************************************************************/ public class LocalClass { public static void main(String[] args) { - final Integer base = new Integer(6); + final Integer base = Integer.valueOf(6); class Foo { int value; @@ -27,7 +27,7 @@ public class LocalClass { } public void method() { - final Integer base = new Integer(6); + final Integer base = Integer.valueOf(6); class Foo { int value; diff --git a/com.ibm.wala.cast.java.test.data/src/javaonepointfive/BasicsGenerics.java b/com.ibm.wala.cast.java.test.data/src/javaonepointfive/BasicsGenerics.java index 252ff67ad..58bc67db6 100644 --- a/com.ibm.wala.cast.java.test.data/src/javaonepointfive/BasicsGenerics.java +++ b/com.ibm.wala.cast.java.test.data/src/javaonepointfive/BasicsGenerics.java @@ -64,7 +64,7 @@ public class BasicsGenerics { System.out.println(frenchy); System.out.println(sicilian); strs.add("hello"); - ints.add(new Integer(3)); + ints.add(Integer.valueOf(3)); String qqq; diff --git a/com.ibm.wala.cast.java.test.data/src/javaonepointfive/ExplicitBoxingTest.java b/com.ibm.wala.cast.java.test.data/src/javaonepointfive/ExplicitBoxingTest.java index e3d807eb1..8dabe6e2b 100644 --- a/com.ibm.wala.cast.java.test.data/src/javaonepointfive/ExplicitBoxingTest.java +++ b/com.ibm.wala.cast.java.test.data/src/javaonepointfive/ExplicitBoxingTest.java @@ -47,8 +47,8 @@ public class ExplicitBoxingTest { int a = 6; a = a + a; System.out.println(a); - Integer useless1 = new Integer(5+6); - Integer aa = new Integer(a+a); + Integer useless1 = Integer.valueOf(5+6); + Integer aa = Integer.valueOf(a+a); int aaa = aa.intValue(); System.out.println(aaa); diff --git a/com.ibm.wala.cast.java.test.data/src/javaonepointfive/GenericArrays.java b/com.ibm.wala.cast.java.test.data/src/javaonepointfive/GenericArrays.java index 02abb9175..25c24b621 100644 --- a/com.ibm.wala.cast.java.test.data/src/javaonepointfive/GenericArrays.java +++ b/com.ibm.wala.cast.java.test.data/src/javaonepointfive/GenericArrays.java @@ -50,7 +50,7 @@ public class GenericArrays { Object o = lsa; Object[] oa = (Object[]) o; List li = new ArrayList<>(); - li.add(new Integer(3)); + li.add(Integer.valueOf(3)); oa[1] = li; // correct String s = (String) lsa[1].get(0); // run time error, but cast is explicit diff --git a/com.ibm.wala.cast.java.test.data/src/javaonepointfive/MoreOverriddenGenerics.java b/com.ibm.wala.cast.java.test.data/src/javaonepointfive/MoreOverriddenGenerics.java index c9116deba..a2dc2a97d 100644 --- a/com.ibm.wala.cast.java.test.data/src/javaonepointfive/MoreOverriddenGenerics.java +++ b/com.ibm.wala.cast.java.test.data/src/javaonepointfive/MoreOverriddenGenerics.java @@ -58,7 +58,7 @@ public class MoreOverriddenGenerics { @Override public Long get() { - return new Long(6); + return Long.valueOf(6); } } diff --git a/com.ibm.wala.cast.java.test.data/src/javaonepointfive/OverridesOnePointFour.java b/com.ibm.wala.cast.java.test.data/src/javaonepointfive/OverridesOnePointFour.java index c708122be..f62df4775 100644 --- a/com.ibm.wala.cast.java.test.data/src/javaonepointfive/OverridesOnePointFour.java +++ b/com.ibm.wala.cast.java.test.data/src/javaonepointfive/OverridesOnePointFour.java @@ -46,7 +46,7 @@ public class OverridesOnePointFour { @Override public Long get() { - return new Long(6); + return Long.valueOf(6); } } diff --git a/com.ibm.wala.cast.java.test.data/src/javaonepointfive/Wildcards.java b/com.ibm.wala.cast.java.test.data/src/javaonepointfive/Wildcards.java index 285485966..15ced11c7 100644 --- a/com.ibm.wala.cast.java.test.data/src/javaonepointfive/Wildcards.java +++ b/com.ibm.wala.cast.java.test.data/src/javaonepointfive/Wildcards.java @@ -72,8 +72,8 @@ public class Wildcards { printCollection2(e); ArrayList e3 = new ArrayList<>(); - e3.add(new Integer(123)); - e3.add(new Integer(42)); + e3.add(Integer.valueOf(123)); + e3.add(Integer.valueOf(42)); printCollection(e3); printCollection1(e3); 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 fb84e43a3..08a272fac 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 @@ -69,7 +69,7 @@ public class WebPageLoaderFactory extends JavaScriptLoaderFactory { translateConditionOpcode(CAstOperator.OP_NE), null, isDefined, - context.currentScope().getConstantValue(new Integer(0)), + context.currentScope().getConstantValue(Integer.valueOf(0)), -1)); PreBasicBlock srcB = context.cfg().getCurrentBlock(); diff --git a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/summaries/JavaScriptConstructorFunctions.java b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/summaries/JavaScriptConstructorFunctions.java index 038e45ce4..c237f4726 100644 --- a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/summaries/JavaScriptConstructorFunctions.java +++ b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/summaries/JavaScriptConstructorFunctions.java @@ -102,7 +102,7 @@ public class JavaScriptConstructorFunctions { //S.addStatement(insts.PutInstruction(5, 4, "__proto__")); S.getNextProgramCounter(); - S.addConstant(new Integer(8), new ConstantValue(value)); + S.addConstant(Integer.valueOf(8), new ConstantValue(value)); S.addStatement(insts.PutInstruction(S.getNumberOfStatements(), 5, 8, "$value")); if (value instanceof String) { S.addConstant(9, new ConstantValue(0)); @@ -146,7 +146,7 @@ public class JavaScriptConstructorFunctions { private IMethod makeValueConstructor(IClass cls, int nargs, Object value) { if (nargs == 0 || nargs == 1) { - Object key = Pair.make(cls, new Integer(nargs)); + Object key = Pair.make(cls, Integer.valueOf(nargs)); if (constructors.containsKey(key)) return constructors.get(key); @@ -197,7 +197,7 @@ public class JavaScriptConstructorFunctions { private IMethod makeObjectConstructor(IClass cls, int nargs) { if (nargs == 0 || nargs == 1) { - Object key = Pair.make(cls, new Integer(nargs)); + Object key = Pair.make(cls, Integer.valueOf(nargs)); if (constructors.containsKey(key)) return constructors.get(key); @@ -213,7 +213,7 @@ public class JavaScriptConstructorFunctions { private IMethod makeObjectCall(IClass cls, int nargs) { assert nargs == 0; - Object key = Pair.make(cls, new Integer(nargs)); + Object key = Pair.make(cls, Integer.valueOf(nargs)); if (constructors.containsKey(key)) return constructors.get(key); @@ -251,7 +251,7 @@ public class JavaScriptConstructorFunctions { MethodReference ref = JavaScriptMethods.makeCtorReference(JavaScriptTypes.Array); JavaScriptSummary S = new JavaScriptSummary(ref, nargs + 1); - S.addConstant(new Integer(nargs + 3), new ConstantValue("prototype")); + S.addConstant(Integer.valueOf(nargs + 3), new ConstantValue("prototype")); S.addStatement(insts.PropertyRead(S.getNumberOfStatements(), nargs + 4, 1, nargs + 3)); S.getNextProgramCounter(); @@ -263,13 +263,13 @@ public class JavaScriptConstructorFunctions { //S.addStatement(insts.PutInstruction(nargs + 5, nargs + 4, "__proto__")); S.getNextProgramCounter(); - S.addConstant(new Integer(nargs + 7), new ConstantValue(nargs)); + S.addConstant(Integer.valueOf(nargs + 7), new ConstantValue(nargs)); S.addStatement(insts.PutInstruction(S.getNumberOfStatements(), nargs + 5, nargs + 7, "length")); S.getNextProgramCounter(); int vn = nargs + 9; for (int i = 0; i < nargs; i++, vn += 2) { - S.addConstant(new Integer(vn), new ConstantValue(i)); + S.addConstant(Integer.valueOf(vn), new ConstantValue(i)); S.addStatement(insts.PropertyWrite(S.getNumberOfStatements(), nargs + 5, vn, i + 1)); S.getNextProgramCounter(); } @@ -283,7 +283,7 @@ public class JavaScriptConstructorFunctions { } private IMethod makeArrayConstructor(IClass cls, int nargs) { - Object key = Pair.make(cls, new Integer(nargs)); + Object key = Pair.make(cls, Integer.valueOf(nargs)); if (constructors.containsKey(key)) return constructors.get(key); @@ -296,9 +296,9 @@ public class JavaScriptConstructorFunctions { MethodReference ref = AstMethodReference.fnReference(JavaScriptTypes.String); JavaScriptSummary S = new JavaScriptSummary(ref, 1); - S.addConstant(new Integer(2), new ConstantValue("")); + S.addConstant(Integer.valueOf(2), new ConstantValue("")); - S.addConstant(new Integer(3), new ConstantValue(0)); + S.addConstant(Integer.valueOf(3), new ConstantValue(0)); S.addStatement(insts.PutInstruction(S.getNumberOfStatements(), 2, 3, "length")); S.getNextProgramCounter(); @@ -328,7 +328,7 @@ public class JavaScriptConstructorFunctions { private IMethod makeStringCall(IClass cls, int nargs) { assert nargs == 0 || nargs == 1; - Object key = Pair.make(cls, new Integer(nargs)); + Object key = Pair.make(cls, Integer.valueOf(nargs)); if (constructors.containsKey(key)) return constructors.get(key); @@ -341,7 +341,7 @@ public class JavaScriptConstructorFunctions { MethodReference ref = AstMethodReference.fnReference(JavaScriptTypes.Number); JavaScriptSummary S = new JavaScriptSummary(ref, 1); - S.addConstant(new Integer(2), new ConstantValue(0.0)); + S.addConstant(Integer.valueOf(2), new ConstantValue(0.0)); S.addStatement(insts.ReturnInstruction(S.getNumberOfStatements(), 2, false)); S.getNextProgramCounter(); @@ -368,7 +368,7 @@ public class JavaScriptConstructorFunctions { private IMethod makeNumberCall(IClass cls, int nargs) { assert nargs == 0 || nargs == 1; - Object key = Pair.make(cls, new Integer(nargs)); + Object key = Pair.make(cls, Integer.valueOf(nargs)); if (constructors.containsKey(key)) return constructors.get(key); @@ -552,7 +552,7 @@ public class JavaScriptConstructorFunctions { private IMethod makeFunctionObjectConstructor(IClass cls, int nargs) { JSInstructionFactory insts = (JSInstructionFactory)cls.getClassLoader().getInstructionFactory(); - Object key = Pair.make(cls, new Integer(nargs)); + Object key = Pair.make(cls, Integer.valueOf(nargs)); if (constructors.containsKey(key)) return constructors.get(key); @@ -601,7 +601,7 @@ public class JavaScriptConstructorFunctions { assert nargs == 1; return makeValueConstructor(receiver, nargs, null); } else if (receiver.getReference().equals(JavaScriptTypes.NumberObject)) - return makeValueConstructor(receiver, nargs, new Integer(0)); + return makeValueConstructor(receiver, nargs, Integer.valueOf(0)); else if (receiver.getReference().equals(JavaScriptTypes.Function)) return makeFunctionConstructor(callerIR, callStmt, receiver, nargs); else if (cha.isSubclassOf(receiver, cha.lookupClass(JavaScriptTypes.CodeBody))) diff --git a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/translator/JSAstTranslator.java b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/translator/JSAstTranslator.java index 76a8fdb04..9d523c7d7 100644 --- a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/translator/JSAstTranslator.java +++ b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/translator/JSAstTranslator.java @@ -321,35 +321,35 @@ public class JSAstTranslator extends AstTranslator { if (name.equals("GlobalNaN")) { context.cfg().addInstruction( ((JSInstructionFactory)insts).AssignInstruction(context.cfg().getCurrentInstruction(), - resultVal, context.currentScope().getConstantValue(new Float(Float.NaN)))); + resultVal, context.currentScope().getConstantValue(Float.valueOf(Float.NaN)))); } else if (name.equals("GlobalInfinity")) { context.cfg().addInstruction( ((JSInstructionFactory)insts).AssignInstruction(context.cfg().getCurrentInstruction(), - resultVal, context.currentScope().getConstantValue(new Float(Float.POSITIVE_INFINITY)))); + resultVal, context.currentScope().getConstantValue(Float.valueOf(Float.POSITIVE_INFINITY)))); } else if (name.equals("MathE")) { context.cfg().addInstruction( ((JSInstructionFactory)insts).AssignInstruction(context.cfg().getCurrentInstruction(), - resultVal, context.currentScope().getConstantValue(new Double(Math.E)))); + resultVal, context.currentScope().getConstantValue(Double.valueOf(Math.E)))); } else if (name.equals("MathPI")) { context.cfg().addInstruction( ((JSInstructionFactory)insts).AssignInstruction(context.cfg().getCurrentInstruction(), - resultVal, context.currentScope().getConstantValue(new Double(Math.PI)))); + resultVal, context.currentScope().getConstantValue(Double.valueOf(Math.PI)))); } else if (name.equals("MathSQRT1_2")) { context.cfg().addInstruction( ((JSInstructionFactory)insts).AssignInstruction(context.cfg().getCurrentInstruction(), - resultVal, context.currentScope().getConstantValue(new Double(Math.sqrt(.5))))); + resultVal, context.currentScope().getConstantValue(Double.valueOf(Math.sqrt(.5))))); } else if (name.equals("MathSQRT2")) { context.cfg().addInstruction( ((JSInstructionFactory)insts).AssignInstruction(context.cfg().getCurrentInstruction(), - resultVal, context.currentScope().getConstantValue(new Double(Math.sqrt(2))))); + resultVal, context.currentScope().getConstantValue(Double.valueOf(Math.sqrt(2))))); } else if (name.equals("MathLN2")) { context.cfg().addInstruction( ((JSInstructionFactory)insts).AssignInstruction(context.cfg().getCurrentInstruction(), - resultVal, context.currentScope().getConstantValue(new Double(Math.log(2))))); + resultVal, context.currentScope().getConstantValue(Double.valueOf(Math.log(2))))); } else if (name.equals("MathLN10")) { context.cfg().addInstruction( ((JSInstructionFactory)insts).AssignInstruction(context.cfg().getCurrentInstruction(), - resultVal, context.currentScope().getConstantValue(new Double(Math.log(10))))); + resultVal, context.currentScope().getConstantValue(Double.valueOf(Math.log(10))))); } else if (name.equals("NewObject")) { doNewObject(context, null, resultVal, "Object", null); diff --git a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/translator/JSConstantFoldingRewriter.java b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/translator/JSConstantFoldingRewriter.java index 7b7f79600..bbfcbbc81 100644 --- a/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/translator/JSConstantFoldingRewriter.java +++ b/com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/translator/JSConstantFoldingRewriter.java @@ -26,7 +26,7 @@ public class JSConstantFoldingRewriter extends ConstantFoldingRewriter { if (lhs instanceof String || rhs instanceof String) { return "" + lhs + rhs; } else if (lhs instanceof Number && rhs instanceof Number) { - return new Double(((Number)lhs).doubleValue() + ((Number)rhs).doubleValue()); + return Double.valueOf(((Number)lhs).doubleValue() + ((Number)rhs).doubleValue()); } } else if (op == CAstOperator.OP_BIT_AND) { @@ -43,7 +43,7 @@ public class JSConstantFoldingRewriter extends ConstantFoldingRewriter { } else if (op == CAstOperator.OP_DIV) { if (lhs instanceof Number && rhs instanceof Number) { - return new Double(((Number)lhs).doubleValue() / ((Number)rhs).doubleValue()); + return Double.valueOf(((Number)lhs).doubleValue() / ((Number)rhs).doubleValue()); } } else if (op == CAstOperator.OP_EQ) { @@ -72,12 +72,12 @@ public class JSConstantFoldingRewriter extends ConstantFoldingRewriter { } else if (op == CAstOperator.OP_MOD) { if (lhs instanceof Number && rhs instanceof Number) { - return new Double(((Number)lhs).doubleValue() % ((Number)rhs).doubleValue()); + return Double.valueOf(((Number)lhs).doubleValue() % ((Number)rhs).doubleValue()); } } else if (op == CAstOperator.OP_MUL) { if (lhs instanceof Number && rhs instanceof Number) { - return new Double(((Number)lhs).doubleValue() * ((Number)rhs).doubleValue()); + return Double.valueOf(((Number)lhs).doubleValue() * ((Number)rhs).doubleValue()); } } else if (op == CAstOperator.OP_NE) { @@ -98,7 +98,7 @@ public class JSConstantFoldingRewriter extends ConstantFoldingRewriter { } else if (op == CAstOperator.OP_SUB) { if (lhs instanceof Number && rhs instanceof Number) { - return new Double(((Number)lhs).doubleValue() - ((Number)rhs).doubleValue()); + return Double.valueOf(((Number)lhs).doubleValue() - ((Number)rhs).doubleValue()); } } else if (op == CAstOperator.OP_URSH) { 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 5d92e34f1..27f98bad9 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 @@ -195,7 +195,7 @@ public abstract class TestCAstTranslator extends WalaTestCase { for (Object name2 : cls.getDeclaredMethods()) { IMethod mth = (IMethod) name2; - Integer np = new Integer(mth.getNumberOfParameters()); + Integer np = Integer.valueOf(mth.getNumberOfParameters()); Pair key = Pair.make(cls.getName().toString(), mth.getName().toString()); if (mth.isStatic()) { 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 bb96a3214..793a6129b 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 @@ -63,7 +63,7 @@ public abstract class CrossLanguageSSAPropagationCallGraphBuilder extends AstSSA @Override protected InterestingVisitor makeInterestingVisitor(CGNode node, int vn) { - return interesting.get(getLanguage(node), new Integer(vn)); + return interesting.get(getLanguage(node), Integer.valueOf(vn)); } @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 1e0e6ac8e..19ce23934 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 @@ -653,7 +653,7 @@ public class SSAConversion extends AbstractSSAConversion { if (lexicalUses != null) { System.err.print(("extra uses for " + instructions[i] + ": ")); for (int lexicalUse : lexicalUses) { - System.err.print((new Integer(lexicalUse).toString() + " ")); + System.err.print((Integer.valueOf(lexicalUse).toString() + " ")); } System.err.println(""); } 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 59dc12cb2..f64e1485d 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 @@ -2691,7 +2691,7 @@ public abstract class AstTranslator extends CAstVisitor visitor) { WalkContext context = c; arrayOpHandler.doArrayWrite(context, c.getValue(n.getChild(0)), n, - new int[] { context.currentScope().getConstantValue(new Integer(i - 1)) }, c.getValue(n.getChild(i))); + new int[] { context.currentScope().getConstantValue(Integer.valueOf(i - 1)) }, c.getValue(n.getChild(i))); } @Override diff --git a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/impl/CAstImpl.java b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/impl/CAstImpl.java index 77dde1712..32ea16103 100644 --- a/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/impl/CAstImpl.java +++ b/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/impl/CAstImpl.java @@ -186,32 +186,32 @@ public class CAstImpl implements CAst { @Override public CAstNode makeConstant(char value) { - return makeConstant(new Character(value)); + return makeConstant(Character.valueOf(value)); } @Override public CAstNode makeConstant(short value) { - return makeConstant(new Short(value)); + return makeConstant(Short.valueOf(value)); } @Override public CAstNode makeConstant(int value) { - return makeConstant(new Integer(value)); + return makeConstant(Integer.valueOf(value)); } @Override public CAstNode makeConstant(long value) { - return makeConstant(new Long(value)); + return makeConstant(Long.valueOf(value)); } @Override public CAstNode makeConstant(float value) { - return makeConstant(new Float(value)); + return makeConstant(Float.valueOf(value)); } @Override public CAstNode makeConstant(double value) { - return makeConstant(new Double(value)); + return makeConstant(Double.valueOf(value)); } } diff --git a/com.ibm.wala.core.testdata/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.core.testdata/.settings/org.eclipse.jdt.core.prefs index 3743372e9..17a294f63 100644 --- a/com.ibm.wala.core.testdata/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.core.testdata/.settings/org.eclipse.jdt.core.prefs @@ -17,12 +17,13 @@ org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.doc.comment.support=enabled +org.eclipse.jdt.core.compiler.problem.APILeak=warning org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.autoboxing=ignore org.eclipse.jdt.core.compiler.problem.comparingIdentical=error org.eclipse.jdt.core.compiler.problem.deadCode=error -org.eclipse.jdt.core.compiler.problem.deprecation=error +org.eclipse.jdt.core.compiler.problem.deprecation=ignore org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled org.eclipse.jdt.core.compiler.problem.discouragedReference=error @@ -91,6 +92,7 @@ org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore +org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore 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 2f60b96ac..97195ad2c 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 @@ -601,21 +601,21 @@ public class PrimitivesTest extends WalaTestCase { @Test public void testSmallMap() { SmallMap M = new SmallMap<>(); - Integer I1 = new Integer(1); - Integer I2 = new Integer(2); - Integer I3 = new Integer(3); + Integer I1 = Integer.valueOf(1); + Integer I2 = Integer.valueOf(2); + Integer I3 = Integer.valueOf(3); M.put(I1, I1); M.put(I2, I2); M.put(I3, I3); - Integer I = M.get(new Integer(2)); + Integer I = M.get(Integer.valueOf(2)); Assert.assertTrue(I != null); Assert.assertTrue(I.equals(I2)); - I = M.get(new Integer(4)); + I = M.get(Integer.valueOf(4)); Assert.assertTrue(I == null); - I = M.put(new Integer(2), new Integer(3)); + I = M.put(Integer.valueOf(2), Integer.valueOf(3)); Assert.assertTrue(I.equals(I2)); I = M.get(I2); Assert.assertTrue(I.equals(I3)); @@ -623,24 +623,24 @@ public class PrimitivesTest extends WalaTestCase { @Test public void testBimodalMap() { Map M = new BimodalMap<>(3); - Integer I1 = new Integer(1); - Integer I2 = new Integer(2); - Integer I3 = new Integer(3); - Integer I4 = new Integer(4); - Integer I5 = new Integer(5); - Integer I6 = new Integer(6); + Integer I1 = Integer.valueOf(1); + Integer I2 = Integer.valueOf(2); + Integer I3 = Integer.valueOf(3); + Integer I4 = Integer.valueOf(4); + Integer I5 = Integer.valueOf(5); + Integer I6 = Integer.valueOf(6); M.put(I1, I1); M.put(I2, I2); M.put(I3, I3); - Integer I = M.get(new Integer(2)); + Integer I = M.get(Integer.valueOf(2)); Assert.assertTrue(I != null); Assert.assertTrue(I.equals(I2)); - I = M.get(new Integer(4)); + I = M.get(Integer.valueOf(4)); Assert.assertTrue(I == null); - I = M.put(new Integer(2), new Integer(3)); + I = M.put(Integer.valueOf(2), Integer.valueOf(3)); Assert.assertTrue(I.equals(I2)); I = M.get(I2); Assert.assertTrue(I.equals(I3)); @@ -648,14 +648,14 @@ public class PrimitivesTest extends WalaTestCase { M.put(I4, I4); M.put(I5, I5); M.put(I6, I6); - I = M.get(new Integer(4)); + I = M.get(Integer.valueOf(4)); Assert.assertTrue(I != null); Assert.assertTrue(I.equals(I4)); - I = M.get(new Integer(7)); + I = M.get(Integer.valueOf(7)); Assert.assertTrue(I == null); - I = M.put(new Integer(2), new Integer(6)); + I = M.put(Integer.valueOf(2), Integer.valueOf(6)); Assert.assertTrue(I.equals(I3)); I = M.get(I2); Assert.assertTrue(I.equals(I6)); @@ -714,7 +714,7 @@ public class PrimitivesTest extends WalaTestCase { // add 10 nodes Integer[] nodes = new Integer[10]; for (int i = 0; i < nodes.length; i++) - G.addNode(nodes[i] = new Integer(i)); + G.addNode(nodes[i] = Integer.valueOf(i)); // edges to i-1, i+1, i+2 for (int i = 0; i < nodes.length; i++) { @@ -738,7 +738,7 @@ public class PrimitivesTest extends WalaTestCase { // add nodes Object[] nodes = new Object[11]; for (int i = 0; i < nodes.length; i++) - G.addNode(nodes[i] = new Integer(i)); + G.addNode(nodes[i] = Integer.valueOf(i)); // add edges G.addEdge(nodes[10], nodes[0]); @@ -861,7 +861,7 @@ public class PrimitivesTest extends WalaTestCase { private static int countEquivalenceClasses(IntegerUnionFind uf) { HashSet s = HashSetFactory.make(); for (int i = 0; i < uf.size(); i++) { - s.add(new Integer(uf.find(i))); + s.add(Integer.valueOf(uf.find(i))); } return s.size(); } diff --git a/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/AbstractReflectionInterpreter.java b/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/AbstractReflectionInterpreter.java index 50359a84c..07dafa51f 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/AbstractReflectionInterpreter.java +++ b/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/AbstractReflectionInterpreter.java @@ -71,7 +71,7 @@ public abstract class AbstractReflectionInterpreter implements SSAContextInterpr protected int getLocalForType(TypeReference T) { Integer I = typeIndexMap.get(T); if (I == null) { - typeIndexMap.put(T, I = new Integer(indexLocal += 2)); + typeIndexMap.put(T, I = Integer.valueOf(indexLocal += 2)); } return I.intValue(); } diff --git a/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/FactoryBypassInterpreter.java b/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/FactoryBypassInterpreter.java index 6446e2f96..dccf8a0ff 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/FactoryBypassInterpreter.java +++ b/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/FactoryBypassInterpreter.java @@ -632,7 +632,7 @@ public class FactoryBypassInterpreter extends AbstractReflectionInterpreter { Map constants = null; if (valueNumberForConstantOne > -1) { constants = HashMapFactory.make(1); - constants.put(new Integer(valueNumberForConstantOne), new ConstantValue(new Integer(1))); + constants.put(Integer.valueOf(valueNumberForConstantOne), new ConstantValue(Integer.valueOf(1))); } return new SyntheticIR(this, context, new InducedCFG(instrs, this, context), instrs, options, constants); diff --git a/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/ReflectiveInvocationInterpreter.java b/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/ReflectiveInvocationInterpreter.java index 72f81579c..c30eca9f5 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/ReflectiveInvocationInterpreter.java +++ b/com.ibm.wala.core/src/com/ibm/wala/analysis/reflection/ReflectiveInvocationInterpreter.java @@ -187,7 +187,7 @@ public class ReflectiveInvocationInterpreter extends AbstractReflectionInterpret for (int j = nextArg; j < nargs; j++) { // load the next parameter into v_temp. int indexConst = nextLocal++; - constants.put(new Integer(indexConst), new ConstantValue(nextParameter++)); + constants.put(Integer.valueOf(indexConst), new ConstantValue(nextParameter++)); int temp = nextLocal++; m.addInstruction(null, insts.ArrayLoadInstruction(m.allInstructions.size(), temp, parametersVn, indexConst, TypeReference.JavaLangObject), false); pc++; diff --git a/com.ibm.wala.core/src/com/ibm/wala/analysis/typeInference/TypeInference.java b/com.ibm.wala.core/src/com/ibm/wala/analysis/typeInference/TypeInference.java index 9658d9332..e28a1c493 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/analysis/typeInference/TypeInference.java +++ b/com.ibm.wala.core/src/com/ibm/wala/analysis/typeInference/TypeInference.java @@ -520,7 +520,7 @@ public class TypeInference extends SSAInference implements FixedPo if (!doPrimitives) { result = null; } else { - result = new DeclaredTypeOperator(language.getPrimitive(language.getConstantType(new Integer(1)))); + result = new DeclaredTypeOperator(language.getPrimitive(language.getConstantType(Integer.valueOf(1)))); } } @@ -622,7 +622,7 @@ public class TypeInference extends SSAInference implements FixedPo @Override public void visitComparison(SSAComparisonInstruction instruction) { if (doPrimitives) { - result = new DeclaredTypeOperator(language.getPrimitive(language.getConstantType(new Integer(0)))); + result = new DeclaredTypeOperator(language.getPrimitive(language.getConstantType(Integer.valueOf(0)))); } } diff --git a/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/cfa/ZeroXInstanceKeys.java b/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/cfa/ZeroXInstanceKeys.java index f9d76366f..935434c58 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/cfa/ZeroXInstanceKeys.java +++ b/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/cfa/ZeroXInstanceKeys.java @@ -236,9 +236,9 @@ public class ZeroXInstanceKeys implements InstanceKeyFactory { if (alloc != null) { Integer old = count.get(alloc); if (old == null) { - count.put(alloc, new Integer(1)); + count.put(alloc, Integer.valueOf(1)); } else { - count.put(alloc, new Integer(old.intValue() + 1)); + count.put(alloc, Integer.valueOf(old.intValue() + 1)); } } } diff --git a/com.ibm.wala.core/src/com/ibm/wala/ipa/slicer/PDG.java b/com.ibm.wala.core/src/com/ibm/wala/ipa/slicer/PDG.java index 7f060d895..1b1318713 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/ipa/slicer/PDG.java +++ b/com.ibm.wala.core/src/com/ibm/wala/ipa/slicer/PDG.java @@ -828,7 +828,7 @@ public class PDG implements NumberedGraph { for (int i = 0; i < instructions.length; i++) { SSAInstruction s = instructions[i]; if (s != null) { - result.put(s, new Integer(i)); + result.put(s, Integer.valueOf(i)); } } } diff --git a/com.ibm.wala.core/src/com/ibm/wala/ipa/summaries/ReflectionSummary.java b/com.ibm.wala.core/src/com/ibm/wala/ipa/summaries/ReflectionSummary.java index f62d6d58b..a85a186b1 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/ipa/summaries/ReflectionSummary.java +++ b/com.ibm.wala.core/src/com/ibm/wala/ipa/summaries/ReflectionSummary.java @@ -38,7 +38,7 @@ public class ReflectionSummary { } private Set findOrCreateSetForBCIndex(int bcIndex) { - Integer I = new Integer(bcIndex); + Integer I = Integer.valueOf(bcIndex); Set result = map.get(I); if (result == null) { result = HashSetFactory.make(10); @@ -51,7 +51,7 @@ public class ReflectionSummary { if (cha == null) { throw new IllegalArgumentException("null cha"); } - Set S = map.get(new Integer(bcIndex)); + Set S = map.get(Integer.valueOf(bcIndex)); if (S == null) { return null; } else { @@ -68,6 +68,6 @@ public class ReflectionSummary { } public Set getTypesForProgramLocation(int bcIndex) { - return map.get(new Integer(bcIndex)); + return map.get(Integer.valueOf(bcIndex)); } } diff --git a/com.ibm.wala.core/src/com/ibm/wala/ipa/summaries/SyntheticIR.java b/com.ibm.wala.core/src/com/ibm/wala/ipa/summaries/SyntheticIR.java index 4a9fa30a9..091597311 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/ipa/summaries/SyntheticIR.java +++ b/com.ibm.wala.core/src/com/ibm/wala/ipa/summaries/SyntheticIR.java @@ -106,8 +106,8 @@ public class SyntheticIR extends IR { for (int j = 0; j < s.getNumberOfUses(); j++) { int vn = s.getUse(j); symbolTable.ensureSymbol(vn); - if (constants != null && constants.containsKey(new Integer(vn))) - symbolTable.setConstantValue(vn, constants.get(new Integer(vn))); + if (constants != null && constants.containsKey(Integer.valueOf(vn))) + symbolTable.setConstantValue(vn, constants.get(Integer.valueOf(vn))); } } diff --git a/com.ibm.wala.core/src/com/ibm/wala/ipa/summaries/XMLMethodSummaryReader.java b/com.ibm.wala.core/src/com/ibm/wala/ipa/summaries/XMLMethodSummaryReader.java index d790be2c2..f642139b2 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/ipa/summaries/XMLMethodSummaryReader.java +++ b/com.ibm.wala.core/src/com/ibm/wala/ipa/summaries/XMLMethodSummaryReader.java @@ -123,22 +123,22 @@ public class XMLMethodSummaryReader implements BytecodeConstants { private final static Map elementMap = HashMapFactory.make(14); static { - elementMap.put("classloader", new Integer(E_CLASSLOADER)); - elementMap.put("method", new Integer(E_METHOD)); - elementMap.put("class", new Integer(E_CLASS)); - elementMap.put("package", new Integer(E_PACKAGE)); - elementMap.put("call", new Integer(E_CALL)); - elementMap.put("new", new Integer(E_NEW)); - elementMap.put("poison", new Integer(E_POISON)); - elementMap.put("summary-spec", new Integer(E_SUMMARY_SPEC)); - elementMap.put("return", new Integer(E_RETURN)); - elementMap.put("putstatic", new Integer(E_PUTSTATIC)); - elementMap.put("aastore", new Integer(E_AASTORE)); - elementMap.put("putfield", new Integer(E_PUTFIELD)); - elementMap.put("getfield", new Integer(E_GETFIELD)); - elementMap.put("throw", new Integer(E_ATHROW)); - elementMap.put("constant", new Integer(E_CONSTANT)); - elementMap.put("aaload", new Integer(E_AALOAD)); + elementMap.put("classloader", Integer.valueOf(E_CLASSLOADER)); + elementMap.put("method", Integer.valueOf(E_METHOD)); + elementMap.put("class", Integer.valueOf(E_CLASS)); + elementMap.put("package", Integer.valueOf(E_PACKAGE)); + elementMap.put("call", Integer.valueOf(E_CALL)); + elementMap.put("new", Integer.valueOf(E_NEW)); + elementMap.put("poison", Integer.valueOf(E_POISON)); + elementMap.put("summary-spec", Integer.valueOf(E_SUMMARY_SPEC)); + elementMap.put("return", Integer.valueOf(E_RETURN)); + elementMap.put("putstatic", Integer.valueOf(E_PUTSTATIC)); + elementMap.put("aastore", Integer.valueOf(E_AASTORE)); + elementMap.put("putfield", Integer.valueOf(E_PUTFIELD)); + elementMap.put("getfield", Integer.valueOf(E_GETFIELD)); + elementMap.put("throw", Integer.valueOf(E_ATHROW)); + elementMap.put("constant", Integer.valueOf(E_CONSTANT)); + elementMap.put("aaload", Integer.valueOf(E_AALOAD)); } // @@ -493,7 +493,7 @@ public class XMLMethodSummaryReader implements BytecodeConstants { } int defNum = nextLocal; - symbolTable.put(defVar, new Integer(nextLocal++)); + symbolTable.put(defVar, Integer.valueOf(nextLocal++)); governingMethod.addStatement(insts.InvokeInstruction(governingMethod.getNumberOfStatements(), defNum, params, exceptionValue, site, null)); } else { @@ -526,7 +526,7 @@ public class XMLMethodSummaryReader implements BytecodeConstants { defVar = "L" + nextLocal; } int defNum = nextLocal; - symbolTable.put(defVar, new Integer(nextLocal++)); + symbolTable.put(defVar, Integer.valueOf(nextLocal++)); // create the allocation statement and add it to the method summary NewSiteReference ref = NewSiteReference.make(governingMethod.getNextProgramCounter(), type); @@ -602,7 +602,7 @@ public class XMLMethodSummaryReader implements BytecodeConstants { Assertions.UNREACHABLE("Must specify def for getfield " + governingMethod); } int defNum = nextLocal; - symbolTable.put(defVar, new Integer(nextLocal++)); + symbolTable.put(defVar, Integer.valueOf(nextLocal++)); // get the ref read from String R = atts.getValue(A_REF); @@ -778,7 +778,7 @@ public class XMLMethodSummaryReader implements BytecodeConstants { Assertions.UNREACHABLE("Must specify def for getfield " + governingMethod); } int defNum = nextLocal; - symbolTable.put(defVar, new Integer(nextLocal++)); + symbolTable.put(defVar, Integer.valueOf(nextLocal++)); SSAArrayLoadInstruction S = insts.ArrayLoadInstruction(governingMethod.getNumberOfStatements(), defNum, refNumber.intValue(), 0, type); governingMethod.addStatement(S); @@ -806,7 +806,7 @@ public class XMLMethodSummaryReader implements BytecodeConstants { } else { valueNumber = symbolTable.get(V_NULL); if (valueNumber == null) { - valueNumber = new Integer(nextLocal++); + valueNumber = Integer.valueOf(nextLocal++); symbolTable.put(V_NULL, valueNumber); } } @@ -825,17 +825,17 @@ public class XMLMethodSummaryReader implements BytecodeConstants { String var = atts.getValue(A_NAME); if (var == null) Assertions.UNREACHABLE("Must give name for constant"); - Integer valueNumber = new Integer(nextLocal++); + Integer valueNumber = Integer.valueOf(nextLocal++); symbolTable.put(var, valueNumber); String typeString = atts.getValue(A_TYPE); String valueString = atts.getValue(A_VALUE); - governingMethod.addConstant(valueNumber, (typeString.equals("int")) ? new ConstantValue(new Integer(valueString)) - : (typeString.equals("long")) ? new ConstantValue(new Long(valueString)) - : (typeString.equals("short")) ? new ConstantValue(new Short(valueString)) - : (typeString.equals("float")) ? new ConstantValue(new Float(valueString)) - : (typeString.equals("double")) ? new ConstantValue(new Double(valueString)) : null); + governingMethod.addConstant(valueNumber, (typeString.equals("int")) ? new ConstantValue(Integer.valueOf(valueString)) + : (typeString.equals("long")) ? new ConstantValue(Long.valueOf(valueString)) + : (typeString.equals("short")) ? new ConstantValue(Short.valueOf(valueString)) + : (typeString.equals("float")) ? new ConstantValue(Float.valueOf(valueString)) + : (typeString.equals("double")) ? new ConstantValue(Double.valueOf(valueString)) : null); } /** @@ -925,7 +925,7 @@ public class XMLMethodSummaryReader implements BytecodeConstants { symbolTable = HashMapFactory.make(5); // create symbols for the parameters for (int i = 0; i < nParams; i++) { - symbolTable.put("arg" + i, new Integer(i + 1)); + symbolTable.put("arg" + i, Integer.valueOf(i + 1)); } int pn = 1; diff --git a/com.ibm.wala.core/src/com/ibm/wala/ssa/ConstantValue.java b/com.ibm.wala.core/src/com/ibm/wala/ssa/ConstantValue.java index f6f3c4c28..141780c04 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/ssa/ConstantValue.java +++ b/com.ibm.wala.core/src/com/ibm/wala/ssa/ConstantValue.java @@ -21,11 +21,11 @@ public class ConstantValue implements Value { } public ConstantValue(int constant) { - this(new Integer(constant)); + this(Integer.valueOf(constant)); } public ConstantValue(double constant) { - this(new Double(constant)); + this(Double.valueOf(constant)); } diff --git a/com.ibm.wala.core/src/com/ibm/wala/ssa/IR.java b/com.ibm.wala.core/src/com/ibm/wala/ssa/IR.java index ca1180b21..74f638dba 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/ssa/IR.java +++ b/com.ibm.wala.core/src/com/ibm/wala/ssa/IR.java @@ -125,10 +125,10 @@ public abstract class IR implements IRView { callSiteMapping.add(((SSAAbstractInvokeInstruction) x).getCallSite().getProgramCounter(), i); } if (x instanceof SSANewInstruction) { - newSiteMapping.put(((SSANewInstruction) x).getNewSite(), new Integer(i)); + newSiteMapping.put(((SSANewInstruction) x).getNewSite(), Integer.valueOf(i)); } if (x.isPEI()) { - peiMapping.put(new ProgramCounter(cfg.getProgramCounter(i)), new Integer(i)); + peiMapping.put(new ProgramCounter(cfg.getProgramCounter(i)), Integer.valueOf(i)); } } } diff --git a/com.ibm.wala.core/src/com/ibm/wala/ssa/SymbolTable.java b/com.ibm.wala.core/src/com/ibm/wala/ssa/SymbolTable.java index 1138a7c5d..e2640a106 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/ssa/SymbolTable.java +++ b/com.ibm.wala.core/src/com/ibm/wala/ssa/SymbolTable.java @@ -147,11 +147,11 @@ public class SymbolTable implements Cloneable { } public int getConstant(float f) { - return findOrCreateConstant(new Float(f)); + return findOrCreateConstant(Float.valueOf(f)); } public int getConstant(double d) { - return findOrCreateConstant(new Double(d)); + return findOrCreateConstant(Double.valueOf(d)); } public int getConstant(String s) { diff --git a/com.ibm.wala.core/src/com/ibm/wala/ssa/analysis/DeadAssignmentElimination.java b/com.ibm.wala.core/src/com/ibm/wala/ssa/analysis/DeadAssignmentElimination.java index 5705ccee3..a62c8bbbd 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/ssa/analysis/DeadAssignmentElimination.java +++ b/com.ibm.wala.core/src/com/ibm/wala/ssa/analysis/DeadAssignmentElimination.java @@ -110,7 +110,7 @@ public class DeadAssignmentElimination { int def = phi.getDef(); if (DU.getNumberOfUses(def) == 0) { // the phi is certainly dead ... record this with a dataflow fact. - trivialDead.add(new Integer(def)); + trivialDead.add(Integer.valueOf(def)); } else { boolean maybeDead = true; for (SSAInstruction u : Iterator2Iterable.make(DU.getUses(def))) { @@ -123,7 +123,7 @@ public class DeadAssignmentElimination { if (maybeDead) { // perhaps the phi is dead .. create a variable BooleanVariable B = new BooleanVariable(false); - vars.put(new Integer(def), B); + vars.put(Integer.valueOf(def), B); } } } @@ -134,7 +134,7 @@ public class DeadAssignmentElimination { BooleanVariable B = E.getValue(); for (SSAInstruction use : Iterator2Iterable.make(DU.getUses(def.intValue()))) { SSAPhiInstruction u = (SSAPhiInstruction) use; - Integer ud = new Integer(u.getDef()); + Integer ud = Integer.valueOf(u.getDef()); if (trivialDead.contains(ud)) { // do nothing ... u will not keep def live } else { diff --git a/com.ibm.wala.scandroid/source/org/scandroid/model/AppModelMethod.java b/com.ibm.wala.scandroid/source/org/scandroid/model/AppModelMethod.java index 06ebd767d..b4d5b0189 100644 --- a/com.ibm.wala.scandroid/source/org/scandroid/model/AppModelMethod.java +++ b/com.ibm.wala.scandroid/source/org/scandroid/model/AppModelMethod.java @@ -203,7 +203,7 @@ public class AppModelMethod { nextLocal = nParams + 1; symbolTable = HashMapFactory.make(5); for (int i = 0; i < nParams; i++) { - symbolTable.put("arg" + i, new Integer(i + 1)); + symbolTable.put("arg" + i, Integer.valueOf(i + 1)); } } diff --git a/com.ibm.wala.shrike/src/com/ibm/wala/shrike/cg/OfflineDynamicCallGraph.java b/com.ibm.wala.shrike/src/com/ibm/wala/shrike/cg/OfflineDynamicCallGraph.java index 70c761e0d..3a821cbfe 100644 --- a/com.ibm.wala.shrike/src/com/ibm/wala/shrike/cg/OfflineDynamicCallGraph.java +++ b/com.ibm.wala.shrike/src/com/ibm/wala/shrike/cg/OfflineDynamicCallGraph.java @@ -382,16 +382,16 @@ public class OfflineDynamicCallGraph { final byte itemType = p.getItemType(i); switch (itemType) { case CONSTANT_Integer: - entries.put(new Integer(p.getCPInt(i)), i); + entries.put(Integer.valueOf(p.getCPInt(i)), i); break; case CONSTANT_Long: - entries.put(new Long(p.getCPLong(i)), i); + entries.put(Long.valueOf(p.getCPLong(i)), i); break; case CONSTANT_Float: - entries.put(new Float(p.getCPFloat(i)), i); + entries.put(Float.valueOf(p.getCPFloat(i)), i); break; case CONSTANT_Double: - entries.put(new Double(p.getCPDouble(i)), i); + entries.put(Double.valueOf(p.getCPDouble(i)), i); break; case CONSTANT_Utf8: entries.put(p.getCPUtf8(i), i); diff --git a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/ConstantInstruction.java b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/ConstantInstruction.java index d6188fe17..ec5d80678 100644 --- a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/ConstantInstruction.java +++ b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/ConstantInstruction.java @@ -318,7 +318,7 @@ public abstract class ConstantInstruction extends Instruction { @Override final public Object getValue() { - return new Float(getFloatValue()); + return Float.valueOf(getFloatValue()); } @Override @@ -390,7 +390,7 @@ public abstract class ConstantInstruction extends Instruction { @Override final public Object getValue() { - return new Double(getDoubleValue()); + return Double.valueOf(getDoubleValue()); } @Override diff --git a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/Decoder.java b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/Decoder.java index 427457b32..dc19bd38b 100644 --- a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/Decoder.java +++ b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/Decoder.java @@ -55,16 +55,16 @@ public abstract class Decoder implements Constants { table[OP_aconst_null] = ConstantInstruction.make(TYPE_null, null); for (int i = OP_iconst_m1; i <= OP_iconst_5; i++) { - table[i] = ConstantInstruction.make(TYPE_int, new Integer(i - OP_iconst_m1 - 1)); + table[i] = ConstantInstruction.make(TYPE_int, Integer.valueOf(i - OP_iconst_m1 - 1)); } for (int i = OP_lconst_0; i <= OP_lconst_1; i++) { - table[i] = ConstantInstruction.make(TYPE_long, new Long(i - OP_lconst_0)); + table[i] = ConstantInstruction.make(TYPE_long, Long.valueOf(i - OP_lconst_0)); } for (int i = OP_fconst_0; i <= OP_fconst_2; i++) { - table[i] = ConstantInstruction.make(TYPE_float, new Float(i - OP_fconst_0)); + table[i] = ConstantInstruction.make(TYPE_float, Float.valueOf(i - OP_fconst_0)); } for (int i = OP_dconst_0; i <= OP_dconst_1; i++) { - table[i] = ConstantInstruction.make(TYPE_double, new Double(i - OP_dconst_0)); + table[i] = ConstantInstruction.make(TYPE_double, Double.valueOf(i - OP_dconst_0)); } for (int i = OP_iload_0; i <= OP_aload_3; i++) { diff --git a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/shrikeCT/tools/AddSerialVersion.java b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/shrikeCT/tools/AddSerialVersion.java index 2e36f4c73..076ccbcec 100644 --- a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/shrikeCT/tools/AddSerialVersion.java +++ b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/shrikeCT/tools/AddSerialVersion.java @@ -113,7 +113,7 @@ public class AddSerialVersion { for (int f = 0; f < fields.length; f++) { int flags = r.getFieldAccessFlags(f); if ((flags & ClassConstants.ACC_PRIVATE) == 0 || (flags & (ClassConstants.ACC_STATIC | ClassConstants.ACC_TRANSIENT)) == 0) { - fields[fieldCount] = new Integer(f); + fields[fieldCount] = Integer.valueOf(f); fieldNames[f] = r.getFieldName(f); fieldCount++; } @@ -139,7 +139,7 @@ public class AddSerialVersion { String name = r.getMethodName(m); int flags = r.getMethodAccessFlags(m); if (name.equals("") || (flags & ClassConstants.ACC_PRIVATE) == 0) { - methods[methodCount] = new Integer(m); + methods[methodCount] = Integer.valueOf(m); methodSigs[m] = name + r.getMethodType(m); if (name.equals("")) { methodKinds[m] = 0; diff --git a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeCT/ClassWriter.java b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeCT/ClassWriter.java index f58c29730..c48d5d639 100644 --- a/com.ibm.wala.shrike/src/com/ibm/wala/shrikeCT/ClassWriter.java +++ b/com.ibm.wala.shrike/src/com/ibm/wala/shrikeCT/ClassWriter.java @@ -265,40 +265,40 @@ public class ClassWriter implements ClassConstants { byte t = cp.getItemType(i); switch (t) { case CONSTANT_String: - cachedCPEntries.put(new CWStringItem(cp.getCPString(i), CONSTANT_String), new Integer(i)); + cachedCPEntries.put(new CWStringItem(cp.getCPString(i), CONSTANT_String), Integer.valueOf(i)); break; case CONSTANT_Class: - cachedCPEntries.put(new CWStringItem(cp.getCPClass(i), CONSTANT_Class), new Integer(i)); + cachedCPEntries.put(new CWStringItem(cp.getCPClass(i), CONSTANT_Class), Integer.valueOf(i)); break; case CONSTANT_MethodType: - cachedCPEntries.put(new CWStringItem(cp.getCPMethodType(i), CONSTANT_MethodType), new Integer(i)); + cachedCPEntries.put(new CWStringItem(cp.getCPMethodType(i), CONSTANT_MethodType), Integer.valueOf(i)); break; case CONSTANT_MethodHandle: case CONSTANT_FieldRef: case CONSTANT_InterfaceMethodRef: case CONSTANT_MethodRef: - cachedCPEntries.put(new CWRef(t, cp.getCPRefClass(i), cp.getCPRefName(i), cp.getCPRefType(i)), new Integer(i)); + cachedCPEntries.put(new CWRef(t, cp.getCPRefClass(i), cp.getCPRefName(i), cp.getCPRefType(i)), Integer.valueOf(i)); break; case CONSTANT_NameAndType: - cachedCPEntries.put(new CWNAT(cp.getCPNATName(i), cp.getCPNATType(i)), new Integer(i)); + cachedCPEntries.put(new CWNAT(cp.getCPNATName(i), cp.getCPNATType(i)), Integer.valueOf(i)); break; case CONSTANT_InvokeDynamic: - cachedCPEntries.put(new CWInvokeDynamic(cp.getCPDynBootstrap(i), cp.getCPDynName(i), cp.getCPDynType(i)), new Integer(i)); + cachedCPEntries.put(new CWInvokeDynamic(cp.getCPDynBootstrap(i), cp.getCPDynName(i), cp.getCPDynType(i)), Integer.valueOf(i)); break; case CONSTANT_Integer: - cachedCPEntries.put(new Integer(cp.getCPInt(i)), new Integer(i)); + cachedCPEntries.put(Integer.valueOf(cp.getCPInt(i)), Integer.valueOf(i)); break; case CONSTANT_Float: - cachedCPEntries.put(new Float(cp.getCPFloat(i)), new Integer(i)); + cachedCPEntries.put(Float.valueOf(cp.getCPFloat(i)), Integer.valueOf(i)); break; case CONSTANT_Long: - cachedCPEntries.put(new Long(cp.getCPLong(i)), new Integer(i)); + cachedCPEntries.put(Long.valueOf(cp.getCPLong(i)), Integer.valueOf(i)); break; case CONSTANT_Double: - cachedCPEntries.put(new Double(cp.getCPDouble(i)), new Integer(i)); + cachedCPEntries.put(Double.valueOf(cp.getCPDouble(i)), Integer.valueOf(i)); break; case CONSTANT_Utf8: - cachedCPEntries.put(cp.getCPUtf8(i), new Integer(i)); + cachedCPEntries.put(cp.getCPUtf8(i), Integer.valueOf(i)); break; default: throw new UnsupportedOperationException(String.format("unexpected constant-pool item type %s", t)); @@ -326,7 +326,7 @@ public class ClassWriter implements ClassConstants { } else { int index = nextCPIndex; nextCPIndex += size; - i = new Integer(index); + i = Integer.valueOf(index); cachedCPEntries.put(o, i); newCPEntries.add(o); if (nextCPIndex > 0xFFFF) { @@ -351,7 +351,7 @@ public class ClassWriter implements ClassConstants { * @return the index of a constant pool item with the right value */ public int addCPInt(int i) { - return addCPEntry(new Integer(i), 1); + return addCPEntry(Integer.valueOf(i), 1); } /** @@ -360,7 +360,7 @@ public class ClassWriter implements ClassConstants { * @return the index of a constant pool item with the right value */ public int addCPFloat(float f) { - return addCPEntry(new Float(f), 1); + return addCPEntry(Float.valueOf(f), 1); } /** @@ -369,7 +369,7 @@ public class ClassWriter implements ClassConstants { * @return the index of a constant pool item with the right value */ public int addCPLong(long l) { - return addCPEntry(new Long(l), 2); + return addCPEntry(Long.valueOf(l), 2); } /** @@ -378,7 +378,7 @@ public class ClassWriter implements ClassConstants { * @return the index of a constant pool item with the right value */ public int addCPDouble(double d) { - return addCPEntry(new Double(d), 2); + return addCPEntry(Double.valueOf(d), 2); } private int addCPString(String s, byte type) {