Merge branch 'master' of https://github.com/wala/WALA
This commit is contained in:
commit
a92b881c22
|
@ -79,7 +79,7 @@ org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
|
|||
org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=error
|
||||
org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
|
||||
org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=error
|
||||
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
|
||||
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
|
||||
org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
|
||||
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
|
||||
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
|
||||
|
|
|
@ -216,9 +216,7 @@ public class JavaCAst2IRTranslator extends AstTranslator {
|
|||
// code bodies, so we may see other things than TYPE_ENTITY here.
|
||||
IClass owner = loader.lookupClass(makeType(topEntity.getType()).getName());
|
||||
|
||||
if (owner == null) {
|
||||
assert owner != null : makeType(topEntity.getType()).getName() + " not found in " + loader;
|
||||
}
|
||||
assert owner != null : makeType(topEntity.getType()).getName() + " not found in " + loader;
|
||||
|
||||
((JavaSourceLoaderImpl) loader).defineField(n, owner);
|
||||
}
|
||||
|
@ -231,9 +229,7 @@ public class JavaCAst2IRTranslator extends AstTranslator {
|
|||
CAstType owningType = methodType.getDeclaringType();
|
||||
IClass owner = loader.lookupClass(makeType(owningType).getName());
|
||||
|
||||
if (owner == null) {
|
||||
assert owner != null : makeType(owningType).getName().toString() + " not found in " + loader;
|
||||
}
|
||||
assert owner != null : makeType(owningType).getName().toString() + " not found in " + loader;
|
||||
|
||||
((JavaSourceLoaderImpl) loader).defineAbstractFunction(N, owner);
|
||||
}
|
||||
|
@ -249,9 +245,7 @@ public class JavaCAst2IRTranslator extends AstTranslator {
|
|||
TypeName typeName = makeType(owningType).getName();
|
||||
IClass owner = loader.lookupClass(typeName);
|
||||
|
||||
if (owner == null) {
|
||||
assert owner != null : typeName.toString() + " not found in " + loader;
|
||||
}
|
||||
assert owner != null : typeName.toString() + " not found in " + loader;
|
||||
|
||||
symtab.getConstant(0);
|
||||
symtab.getNullConstant();
|
||||
|
|
|
@ -79,7 +79,7 @@ org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
|
|||
org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=error
|
||||
org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
|
||||
org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=error
|
||||
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
|
||||
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
|
||||
org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
|
||||
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
|
||||
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
|
||||
|
|
|
@ -539,8 +539,7 @@ public class JavaScriptConstructorFunctions {
|
|||
|
||||
assert fcls != null : "cannot find class for " + fileName;
|
||||
|
||||
if (fcls != null)
|
||||
return makeFunctionConstructor(cls, fcls);
|
||||
return makeFunctionConstructor(cls, fcls);
|
||||
|
||||
} catch (IOException e) {
|
||||
|
||||
|
|
|
@ -85,17 +85,17 @@ org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
|
|||
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
|
||||
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
|
||||
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
|
||||
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
|
||||
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=enabled
|
||||
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.typeParameterHiding=error
|
||||
org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled
|
||||
org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
|
||||
org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error
|
||||
org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
|
||||
org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
|
||||
org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
|
||||
org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning
|
||||
org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=error
|
||||
org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
|
||||
org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=error
|
||||
org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
|
||||
|
|
|
@ -12,7 +12,6 @@ package com.ibm.wala.cast.test;
|
|||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.junit.Assert;
|
||||
|
@ -35,7 +34,6 @@ public class TestCAstPattern extends WalaTestCase {
|
|||
private final Map<String, Object> 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;
|
||||
|
@ -47,11 +45,13 @@ public class TestCAstPattern extends WalaTestCase {
|
|||
if (kind == NAME_ASSERTION_SINGLE) {
|
||||
testNameMap.put(name, children[1]);
|
||||
} else {
|
||||
if (!testNameMap.containsKey(name)) {
|
||||
testNameMap.put(name, new ArrayList<>());
|
||||
@SuppressWarnings("unchecked")
|
||||
ArrayList<CAstNode> nodeList = (ArrayList<CAstNode>) testNameMap.get(name);
|
||||
if (nodeList == null) {
|
||||
nodeList = new ArrayList<>();
|
||||
testNameMap.put(name, nodeList);
|
||||
}
|
||||
|
||||
((List<CAstNode>) testNameMap.get(children[0].getValue())).add(children[1]);
|
||||
nodeList.add(children[1]);
|
||||
}
|
||||
return children[1];
|
||||
} else {
|
||||
|
|
|
@ -100,17 +100,17 @@ public abstract class TestCAstTranslator extends WalaTestCase {
|
|||
}
|
||||
}
|
||||
|
||||
Pair<Object, Object>[] 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);
|
||||
this.instanceMethods.put(Pair.make(clsName, (Object) instanceMethods[i].fst), instanceMethods[i].snd);
|
||||
}
|
||||
}
|
||||
|
||||
Pair<Object, Object>[] 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);
|
||||
this.staticMethods.put(Pair.make(clsName, (Object) staticMethods[i].fst), staticMethods[i].snd);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -177,7 +177,7 @@ public abstract class TestCAstTranslator extends WalaTestCase {
|
|||
Assert.assertTrue("found class " + cls.getName().toString(), classes.contains(cls.getName().toString()));
|
||||
|
||||
if (cls.getSuperclass() == null) {
|
||||
Assert.assertTrue(cls.getName() + " has no superclass", supers.get(cls.getName()) == null);
|
||||
Assert.assertTrue(cls.getName() + " has no superclass", supers.get(cls.getName().toString()) == null);
|
||||
} else {
|
||||
Assert.assertTrue("super of " + cls.getName() + " is " + cls.getSuperclass().getName(), supers
|
||||
.get(cls.getName().toString()).equals(cls.getSuperclass().getName().toString()));
|
||||
|
|
|
@ -97,7 +97,7 @@ org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
|
|||
org.eclipse.jdt.core.compiler.problem.unclosedCloseable=error
|
||||
org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
|
||||
org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
|
||||
org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning
|
||||
org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=error
|
||||
org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
|
||||
org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=error
|
||||
org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
|
||||
|
|
|
@ -41,13 +41,14 @@ public class CAstCloner extends CAstBasicRewriter {
|
|||
* what is the hack here? --MS
|
||||
*/
|
||||
protected CAstNode copyNodesHackForEclipse(CAstNode root, final CAstControlFlowMap cfg, NonCopyingContext c, Map<Pair<CAstNode,NoKey>, CAstNode> nodeMap) {
|
||||
final Pair<CAstNode, NoKey> pairKey = Pair.make(root, c.key());
|
||||
if (root instanceof CAstOperator) {
|
||||
nodeMap.put(Pair.make(root, c.key()), root);
|
||||
nodeMap.put(pairKey, root);
|
||||
return root;
|
||||
} else if (root.getValue() != null) {
|
||||
CAstNode copy = Ast.makeConstant(root.getValue());
|
||||
assert !nodeMap.containsKey(root);
|
||||
nodeMap.put(Pair.make(root, c.key()), copy);
|
||||
assert !nodeMap.containsKey(pairKey);
|
||||
nodeMap.put(pairKey, copy);
|
||||
return copy;
|
||||
} else {
|
||||
CAstNode newChildren[] = new CAstNode[root.getChildCount()];
|
||||
|
@ -57,8 +58,8 @@ public class CAstCloner extends CAstBasicRewriter {
|
|||
}
|
||||
|
||||
CAstNode copy = Ast.makeNode(root.getKind(), newChildren);
|
||||
assert !nodeMap.containsKey(root);
|
||||
nodeMap.put(Pair.make(root, c.key()), copy);
|
||||
assert !nodeMap.containsKey(pairKey);
|
||||
nodeMap.put(pairKey, copy);
|
||||
return copy;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -183,7 +183,7 @@ public class AnnotationTest extends WalaTestCase {
|
|||
IMethod methodUnderTest = cha.resolveMethod(methodRefUnderTest);
|
||||
harness.assertTrue(methodRefUnderTest.toString() + " not found", methodUnderTest != null);
|
||||
harness.assertTrue(methodUnderTest + " must be bytecode method", methodUnderTest instanceof IBytecodeMethod);
|
||||
IBytecodeMethod<IInstruction> IBytecodeMethodUnderTest = (IBytecodeMethod<IInstruction>) methodUnderTest;
|
||||
IBytecodeMethod<?> IBytecodeMethodUnderTest = (IBytecodeMethod<?>) methodUnderTest;
|
||||
|
||||
Collection<Annotation>[] parameterAnnotations = IBytecodeMethodUnderTest.getParameterAnnotations();
|
||||
harness.assertEquals(expected.length, parameterAnnotations.length);
|
||||
|
|
|
@ -90,7 +90,7 @@ org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
|
|||
org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
|
||||
org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
|
||||
org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=error
|
||||
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
|
||||
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
|
||||
org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
|
||||
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
|
||||
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
|
||||
|
@ -107,7 +107,7 @@ org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
|
|||
org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
|
||||
org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
|
||||
org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
|
||||
org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning
|
||||
org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=error
|
||||
org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
|
||||
org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=error
|
||||
org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
|
||||
|
|
|
@ -118,7 +118,7 @@ public class ArrayBoundsGraph extends DirectedHyperGraph<Integer> {
|
|||
|
||||
for (DirectedHyperEdge<Integer> edge:constantNode.getOutEdges()) {
|
||||
if (!edge.getDestination().contains(helper2)) {
|
||||
edge.getSource().remove(constant);
|
||||
edge.getSource().remove(constantNode);
|
||||
edge.getSource().add(helper1);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -268,9 +268,7 @@ public class BasicHeapGraph<T extends InstanceKey> extends HeapGraphImpl<T> {
|
|||
InstanceKey I = (InstanceKey) N;
|
||||
TypeReference T = I.getConcreteType().getReference();
|
||||
|
||||
if (T == null) {
|
||||
assert T != null : "null concrete type from " + I.getClass();
|
||||
}
|
||||
assert T != null : "null concrete type from " + I.getClass();
|
||||
if (T.isArrayType()) {
|
||||
PointerKey p = getHeapModel().getPointerKeyForArrayContents(I);
|
||||
if (p == null || !nodeManager.containsNode(p)) {
|
||||
|
@ -280,9 +278,7 @@ public class BasicHeapGraph<T extends InstanceKey> extends HeapGraphImpl<T> {
|
|||
}
|
||||
} else {
|
||||
IClass klass = getHeapModel().getClassHierarchy().lookupClass(T);
|
||||
if (klass == null) {
|
||||
assert klass != null : "null klass for type " + T;
|
||||
}
|
||||
assert klass != null : "null klass for type " + T;
|
||||
MutableSparseIntSet result = MutableSparseIntSet.makeEmpty();
|
||||
for (Iterator<IField> it = klass.getAllInstanceFields().iterator(); it.hasNext();) {
|
||||
IField f = it.next();
|
||||
|
|
|
@ -355,7 +355,7 @@ public class ShrikeCFG extends AbstractCFG<IInstruction, ShrikeCFG.BasicBlock> i
|
|||
if (!exceptionTypes.isEmpty()) {
|
||||
addExceptionalEdgeTo(b);
|
||||
exceptionTypes.clear();
|
||||
caughtException = null;
|
||||
assert caughtException == null;
|
||||
}
|
||||
}
|
||||
if (caughtException != null) {
|
||||
|
|
|
@ -191,7 +191,7 @@ public class CodeScanner {
|
|||
return false;
|
||||
}
|
||||
|
||||
private static Collection<CallSiteReference> getCallSitesFromShrikeBT(IBytecodeMethod M) throws InvalidClassFileException {
|
||||
private static Collection<CallSiteReference> getCallSitesFromShrikeBT(IBytecodeMethod<?> M) throws InvalidClassFileException {
|
||||
return M.getCallSites();
|
||||
}
|
||||
|
||||
|
|
|
@ -39,7 +39,7 @@ public class ShrikeIRFactory implements IRFactory<IBytecodeMethod<IInstruction>>
|
|||
|
||||
public final static boolean buildLocalMap = true;
|
||||
|
||||
public ControlFlowGraph makeCFG(final IBytecodeMethod method) {
|
||||
public ControlFlowGraph makeCFG(final IBytecodeMethod<IInstruction> method) {
|
||||
return ShrikeCFG.make(method);
|
||||
}
|
||||
|
||||
|
|
|
@ -78,9 +78,7 @@ public class ClassBasedInstanceKeys implements InstanceKeyFactory {
|
|||
if (DEBUG) {
|
||||
System.err.println(("type: " + type));
|
||||
}
|
||||
if (type == null) {
|
||||
assert type != null : "null type for " + allocation;
|
||||
}
|
||||
assert type != null : "null type for " + allocation;
|
||||
int i = 0;
|
||||
while (i <= dim) {
|
||||
i++;
|
||||
|
|
|
@ -756,9 +756,7 @@ public class ClassHierarchy implements IClassHierarchy {
|
|||
return b;
|
||||
} else {
|
||||
Node n = map.get(b.getReference());
|
||||
if (n == null) {
|
||||
assert n != null : "null n for " + b;
|
||||
}
|
||||
assert n != null : "null n for " + b;
|
||||
Set<IClass> superB;
|
||||
superB = getSuperclasses(b);
|
||||
IClass aa = a;
|
||||
|
|
|
@ -18,6 +18,7 @@ import com.ibm.wala.classLoader.ShrikeIRFactory;
|
|||
import com.ibm.wala.classLoader.SyntheticMethod;
|
||||
import com.ibm.wala.ipa.callgraph.Context;
|
||||
import com.ibm.wala.ipa.summaries.SyntheticIRFactory;
|
||||
import com.ibm.wala.shrikeBT.IInstruction;
|
||||
import com.ibm.wala.util.debug.Assertions;
|
||||
|
||||
/**
|
||||
|
@ -42,7 +43,9 @@ public class DefaultIRFactory implements IRFactory<IMethod> {
|
|||
if (method.isSynthetic()) {
|
||||
return syntheticFactory.makeCFG((SyntheticMethod) method);
|
||||
} else if (method instanceof IBytecodeMethod) {
|
||||
return shrikeFactory.makeCFG((IBytecodeMethod) method);
|
||||
@SuppressWarnings("unchecked")
|
||||
final IBytecodeMethod<IInstruction> castMethod = (IBytecodeMethod) method;
|
||||
return shrikeFactory.makeCFG(castMethod);
|
||||
} else {
|
||||
Assertions.UNREACHABLE();
|
||||
return null;
|
||||
|
@ -61,7 +64,9 @@ public class DefaultIRFactory implements IRFactory<IMethod> {
|
|||
if (method.isSynthetic()) {
|
||||
return syntheticFactory.makeIR((SyntheticMethod) method, c, options);
|
||||
} else if (method instanceof IBytecodeMethod) {
|
||||
return shrikeFactory.makeIR((IBytecodeMethod) method, c, options);
|
||||
@SuppressWarnings("unchecked")
|
||||
final IBytecodeMethod<IInstruction> castMethod = (IBytecodeMethod<IInstruction>) method;
|
||||
return shrikeFactory.makeIR(castMethod, c, options);
|
||||
} else {
|
||||
Assertions.UNREACHABLE();
|
||||
return null;
|
||||
|
|
|
@ -65,9 +65,7 @@ public abstract class SSAInvokeInstruction extends SSAAbstractInvokeInstruction
|
|||
|
||||
nExpected += site.getDeclaredTarget().getNumberOfParameters();
|
||||
if (nExpected > 0) {
|
||||
if (params == null) {
|
||||
assert params != null : "null params for " + site;
|
||||
}
|
||||
assert params != null : "null params for " + site;
|
||||
if (params.length != nExpected) {
|
||||
assert params.length == nExpected : "wrong number of params for " + site + " Expected " + nExpected + " got "
|
||||
+ params.length;
|
||||
|
|
|
@ -80,7 +80,7 @@ org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
|
|||
org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=error
|
||||
org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
|
||||
org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=error
|
||||
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
|
||||
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
|
||||
org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
|
||||
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
|
||||
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
|
||||
|
|
|
@ -350,7 +350,7 @@ public class DexCFG extends AbstractCFG<Instruction, DexCFG.BasicBlock> implemen
|
|||
if (!exceptionTypes.isEmpty()) {
|
||||
addExceptionalEdgeTo(b);
|
||||
exceptionTypes.clear();
|
||||
caughtException = null;
|
||||
assert caughtException == null;
|
||||
}
|
||||
}
|
||||
if (caughtException != null) {
|
||||
|
|
|
@ -259,7 +259,7 @@ public class Intent implements ContextItem, Comparable<Intent> {
|
|||
|
||||
private static boolean isSystemService(Intent intent) {
|
||||
assert (intent.action != null);
|
||||
return (intent != null && intent.action != null && (intent.action.getVal(0) != 'L') && (intent.action.rIndex((byte) '/') < 0) && (intent.action.rIndex((byte) '.') < 0));
|
||||
return (intent.action.getVal(0) != 'L') && (intent.action.rIndex((byte) '/') < 0) && (intent.action.rIndex((byte) '.') < 0);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -79,7 +79,7 @@ org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
|
|||
org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
|
||||
org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
|
||||
org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=error
|
||||
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
|
||||
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
|
||||
org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
|
||||
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
|
||||
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
|
||||
|
|
|
@ -65,7 +65,7 @@ org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
|
|||
org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=error
|
||||
org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
|
||||
org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=error
|
||||
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
|
||||
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
|
||||
org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning
|
||||
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
|
||||
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
|
||||
|
|
|
@ -129,15 +129,15 @@ public abstract class FlowType<E extends ISSABasicBlock> {
|
|||
@SuppressWarnings("unused")
|
||||
private boolean compareBlocks(BasicBlockInContext<E> a,
|
||||
BasicBlockInContext<E> b) {
|
||||
if (null == a || null == b) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// delegate to the defined implementation, but only if it's true.
|
||||
if (a.equals(b)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (null == a || null == b) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (a.getNumber() != b.getNumber()) {
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -305,9 +305,8 @@ public class EntryPoints {
|
|||
for (String[] intent: ActivityIntentList) {
|
||||
//method = IntentToMethod(intent[0]);
|
||||
method = "onCreate(Landroid/os/Bundle;)V";
|
||||
|
||||
if (method != null)
|
||||
im = cha.resolveMethod(StringStuff.makeMethodReference(intent[1]+"."+method));
|
||||
|
||||
im = cha.resolveMethod(StringStuff.makeMethodReference(intent[1]+"."+method));
|
||||
if (im!=null)
|
||||
entries.add(new DefaultEntrypoint(im,cha));
|
||||
|
||||
|
@ -316,9 +315,8 @@ public class EntryPoints {
|
|||
//Seems that every broadcast receiver can be an entrypoints?
|
||||
// method = IntentToMethod(intent[0]);
|
||||
method = "onReceive(Landroid/content/Context;Landroid/content/Intent;)V";
|
||||
|
||||
if (method != null)
|
||||
im = cha.resolveMethod(StringStuff.makeMethodReference(intent[1]+"."+method));
|
||||
|
||||
im = cha.resolveMethod(StringStuff.makeMethodReference(intent[1]+"."+method));
|
||||
if (im!=null)
|
||||
entries.add(new DefaultEntrypoint(im,cha));
|
||||
}
|
||||
|
|
|
@ -89,7 +89,7 @@ org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
|
|||
org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
|
||||
org.eclipse.jdt.core.compiler.problem.rawTypeReference=error
|
||||
org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=error
|
||||
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
|
||||
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
|
||||
org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
|
||||
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
|
||||
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
|
||||
|
|
|
@ -194,7 +194,7 @@ public class ClassPrinter {
|
|||
int count = 0;
|
||||
for (int j = 0; j < map.length; j++) {
|
||||
String line2 = " " + j + ": " + map[j];
|
||||
if (line == null || line2 == null || !line2.substring(line2.indexOf(':')).equals(line.substring(line.indexOf(':')))) {
|
||||
if (line == null || !line2.substring(line2.indexOf(':')).equals(line.substring(line.indexOf(':')))) {
|
||||
if (count > 1) {
|
||||
w.write(" (" + count + " times)\n");
|
||||
} else if (count > 0) {
|
||||
|
|
|
@ -79,7 +79,7 @@ org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
|
|||
org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
|
||||
org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
|
||||
org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=error
|
||||
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
|
||||
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=error
|
||||
org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning
|
||||
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
|
||||
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
|
||||
|
|
|
@ -109,8 +109,9 @@ public class OrdinalSet<T> implements Iterable<T> {
|
|||
if ((a == null && b == null) || a == b || (a.mapping == b.mapping && a.S == b.S)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (a != null && b != null && a.size() == b.size()) {
|
||||
|
||||
assert a != null && b != null;
|
||||
if (a.size() == b.size()) {
|
||||
if (a.mapping == b.mapping || (a.mapping != null && b.mapping != null && a.mapping.equals(b.mapping))) {
|
||||
return a.S == b.S || (a.S != null && b.S != null && a.S.sameValue(b.S));
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue