diff --git a/com.ibm.wala.core/src/com/ibm/wala/analysis/arraybounds/ArrayBoundsGraphBuilder.java b/com.ibm.wala.core/src/com/ibm/wala/analysis/arraybounds/ArrayBoundsGraphBuilder.java index f53a30842..42ccea37e 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/analysis/arraybounds/ArrayBoundsGraphBuilder.java +++ b/com.ibm.wala.core/src/com/ibm/wala/analysis/arraybounds/ArrayBoundsGraphBuilder.java @@ -167,6 +167,8 @@ public class ArrayBoundsGraphBuilder { this.upperBoundGraph.addEdge(piParent, piVar); break; + default: + throw new UnsupportedOperationException(String.format("unexpected operator %s", op)); } } diff --git a/com.ibm.wala.core/src/com/ibm/wala/cfg/Util.java b/com.ibm.wala.core/src/com/ibm/wala/cfg/Util.java index 5854f743e..d8dd88781 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/cfg/Util.java +++ b/com.ibm.wala.core/src/com/ibm/wala/cfg/Util.java @@ -159,7 +159,8 @@ public class Util { */ public static > T resolveBranch(ControlFlowGraph G, T bb, int c1, int c2) { SSAConditionalBranchInstruction c = (SSAConditionalBranchInstruction) getLastInstruction(G, bb); - switch ((ConditionalBranchInstruction.Operator) c.getOperator()) { + final ConditionalBranchInstruction.Operator operator = (ConditionalBranchInstruction.Operator) c.getOperator(); + switch (operator) { case EQ: if (c1 == c2) return getTakenSuccessor(G, bb); @@ -190,10 +191,9 @@ public class Util { return getTakenSuccessor(G, bb); else return getNotTakenSuccessor(G, bb); + default: + throw new UnsupportedOperationException(String.format("unexpected operator %s", operator)); } - - Assertions.UNREACHABLE(); - return null; } /** diff --git a/com.ibm.wala.core/src/com/ibm/wala/cfg/exc/intra/ParameterState.java b/com.ibm.wala.core/src/com/ibm/wala/cfg/exc/intra/ParameterState.java index 95db746cd..e98163818 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/cfg/exc/intra/ParameterState.java +++ b/com.ibm.wala.core/src/com/ibm/wala/cfg/exc/intra/ParameterState.java @@ -84,6 +84,8 @@ public class ParameterState extends AbstractVariable { throw new IllegalArgumentException("Try to set " + prev + " to " + state); } break; + default: + throw new UnsupportedOperationException(String.format("unexpected previous state %s", prev)); } } params.put(varNum, state); diff --git a/com.ibm.wala.core/src/com/ibm/wala/types/TypeName.java b/com.ibm.wala.core/src/com/ibm/wala/types/TypeName.java index c67f51cef..fe99d01cb 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/types/TypeName.java +++ b/com.ibm.wala.core/src/com/ibm/wala/types/TypeName.java @@ -317,7 +317,8 @@ public final class TypeName implements Serializable { boolean isPrimitive = (dim==-1) || (dim&ElementMask)==PrimitiveMask; if (dim != -1) { for (int d = (dim&ElementMask) == PrimitiveMask? dim>>ElementBits: dim; d != 0; d>>=ElementBits) { - switch (d&ElementMask) { + final int masked = d&ElementMask; + switch (masked) { case ArrayMask: result.append("["); break; @@ -327,6 +328,8 @@ public final class TypeName implements Serializable { case ReferenceMask: result.append("&"); break; + default: + throw new UnsupportedOperationException(String.format("unexpected masked type-name component %X", masked)); } } } diff --git a/com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/ipa/callgraph/propagation/cfa/Intent.java b/com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/ipa/callgraph/propagation/cfa/Intent.java index 2e7fb93f3..e764f635f 100644 --- a/com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/ipa/callgraph/propagation/cfa/Intent.java +++ b/com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/ipa/callgraph/propagation/cfa/Intent.java @@ -138,8 +138,10 @@ public class Intent implements ContextItem, Comparable { explicit = Explicit.EXPLICIT; break; case EXPLICIT: - unbind(); + break; + default: + throw new UnsupportedOperationException(String.format("unexpected explicitness setting %s", explicit)); } } diff --git a/com.ibm.wala.ide.jdt/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.ide.jdt/.settings/org.eclipse.jdt.core.prefs index bd9da87ba..cad308e38 100644 --- a/com.ibm.wala.ide.jdt/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.ide.jdt/.settings/org.eclipse.jdt.core.prefs @@ -20,7 +20,7 @@ org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.doc.comment.support=enabled org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=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=warning diff --git a/com.ibm.wala.ide.jdt/source/com/ibm/wala/ide/util/JavaEclipseProjectPath.java b/com.ibm.wala.ide.jdt/source/com/ibm/wala/ide/util/JavaEclipseProjectPath.java index 929eaa5c8..d8a234645 100644 --- a/com.ibm.wala.ide.jdt/source/com/ibm/wala/ide/util/JavaEclipseProjectPath.java +++ b/com.ibm.wala.ide.jdt/source/com/ibm/wala/ide/util/JavaEclipseProjectPath.java @@ -77,7 +77,8 @@ public class JavaEclipseProjectPath extends EclipseProjectPath