From 773fa68a3f391c27012d02964f8b01907bd6a471 Mon Sep 17 00:00:00 2001 From: Julian Dolby Date: Thu, 29 Jun 2017 09:07:29 +0000 Subject: [PATCH 1/5] made native test run on a linux vm --- .../harness-src/c/Makefile.configuration | 2 +- com.ibm.wala.cast.test/pom.xml | 14 ++++++++++++++ com.ibm.wala.cast/source/c/Makefile.configuration | 8 ++++---- 3 files changed, 19 insertions(+), 5 deletions(-) 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 6396505be..d17251fe9 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 = /private/tmp/WALA/com.ibm.wala.cast.test/target/classes/ +CAST_TEST_BIN = /home/vagrant/WALA/com.ibm.wala.cast.test/target/classes/ diff --git a/com.ibm.wala.cast.test/pom.xml b/com.ibm.wala.cast.test/pom.xml index ecde099e9..3a3a305fb 100644 --- a/com.ibm.wala.cast.test/pom.xml +++ b/com.ibm.wala.cast.test/pom.xml @@ -28,6 +28,20 @@ exec + + test-native + test + + ${basedir} + ${project.build.outputDirectory}/smoke_main + + target/classes:../com.ibm.wala.cast/target/classes:../com.ibm.wala.core/target/classes:../com.ibm.wala.util/target/classes + + + + exec + + diff --git a/com.ibm.wala.cast/source/c/Makefile.configuration b/com.ibm.wala.cast/source/c/Makefile.configuration index 5a90e2491..b8c7327a1 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 = /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/ -DOMO_AST_BIN = /private/tmp/WALA/com.ibm.wala.cast/target/classes/ -JAVAH_CLASS_PATH = :/private/tmp/WALA/com.ibm.wala.cast/target/classes/ +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/ TRACE = -JNI_MD_DIR = darwin +JNI_MD_DIR = linux From bb032c98693012f45f43247a022b9cd98035f9b8 Mon Sep 17 00:00:00 2001 From: Ben Liblit Date: Tue, 27 Jun 2017 10:42:05 -0500 Subject: [PATCH 2/5] Add @Override annotations wherever possible In the `com.ibm.wala.util` project, configure Eclipse to treat any future violations of this as errors, not merely warnings. However, in `com.ibm.wala.cast.java.test.data`, configure Eclipse to silently ignore missing @Override annotations. The JLex code in this project is machine-generated, and we don't have a way to get the generator to produce @Override annotations. --- .../.settings/org.eclipse.jdt.core.prefs | 2 +- com.ibm.wala.cast.java.test.data/src/AnonymousClass.java | 5 +++++ com.ibm.wala.cast.java.test.data/src/FunkySupers.java | 1 + com.ibm.wala.cast.java.test.data/src/Inheritance1.java | 2 ++ .../src/InnerClassLexicalReads.java | 1 + com.ibm.wala.cast.java.test.data/src/InterfaceTest1.java | 1 + com.ibm.wala.cast.java.test.data/src/MiniaturSliceBug.java | 4 ++++ com.ibm.wala.cast.java.test.data/src/SimpleCalls.java | 1 + com.ibm.wala.cast.java.test.data/src/Thread1.java | 1 + com.ibm.wala.cast.java.test.data/src/foo/SimpleNames.java | 1 + .../src/foo/bar/hello/world/ConstructorsAndInitializers.java | 1 + .../src/foo/bar/hello/world/InnerClasses.java | 3 +++ .../src/foo/bar/hello/world/MethodMadness.java | 1 + .../src/javaonepointfive/AnonGeneNullarySimple.java | 1 + .../src/javaonepointfive/AnonymousGenerics.java | 4 ++++ .../src/javaonepointfive/Cocovariant.java | 2 ++ .../src/javaonepointfive/CustomGenericsAndFields.java | 3 +++ .../src/javaonepointfive/GenericMemberClasses.java | 3 +++ .../src/javaonepointfive/MoreOverriddenGenerics.java | 2 ++ .../src/javaonepointfive/NotSoSimpleEnums.java | 4 ++++ .../src/javaonepointfive/OverridesOnePointFour.java | 1 + .../src/javaonepointfive/VarargsCovariant.java | 1 + .../src/javaonepointfive/VarargsOverriding.java | 1 + com.ibm.wala.util/.settings/org.eclipse.jdt.core.prefs | 2 +- .../src/com/ibm/wala/util/collections/ArraySet.java | 1 + 25 files changed, 47 insertions(+), 2 deletions(-) diff --git a/com.ibm.wala.cast.java.test.data/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.cast.java.test.data/.settings/org.eclipse.jdt.core.prefs index 3ee48ba78..1557847a1 100644 --- a/com.ibm.wala.cast.java.test.data/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.cast.java.test.data/.settings/org.eclipse.jdt.core.prefs @@ -58,7 +58,7 @@ org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error 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 8aeea4c1c..92e015991 100644 --- a/com.ibm.wala.cast.java.test.data/src/AnonymousClass.java +++ b/com.ibm.wala.cast.java.test.data/src/AnonymousClass.java @@ -20,8 +20,10 @@ public class AnonymousClass { Foo f= new Foo() { int value = 3; + @Override public int getValue() { return value; } + @Override public int getValueBase() { return value - base.intValue(); } }; @@ -38,6 +40,7 @@ public class AnonymousClass { int y; + @Override public abstract int getValue(); FooImpl(int _y) { @@ -45,6 +48,7 @@ public class AnonymousClass { } + @Override public int getValueBase() { return y + getValue() - base.intValue(); } @@ -52,6 +56,7 @@ public class AnonymousClass { Foo f= new FooImpl(-4) { + @Override public int getValue() { return 7; } }; diff --git a/com.ibm.wala.cast.java.test.data/src/FunkySupers.java b/com.ibm.wala.cast.java.test.data/src/FunkySupers.java index 6c00052c1..d52b9f309 100644 --- a/com.ibm.wala.cast.java.test.data/src/FunkySupers.java +++ b/com.ibm.wala.cast.java.test.data/src/FunkySupers.java @@ -22,6 +22,7 @@ public class FunkySupers { class SubFunkySupers extends FunkySupers { + @Override int funky(FunkySupers fs) { SubFunkySupers.super.funky(fs); SubFunkySupers.this.funky(fs); diff --git a/com.ibm.wala.cast.java.test.data/src/Inheritance1.java b/com.ibm.wala.cast.java.test.data/src/Inheritance1.java index 4e2558e41..f52f9110b 100644 --- a/com.ibm.wala.cast.java.test.data/src/Inheritance1.java +++ b/com.ibm.wala.cast.java.test.data/src/Inheritance1.java @@ -32,10 +32,12 @@ class Base { } class Derived extends Base { + @Override public void foo() { super.foo(); } + @Override public String bar(int x) { return Integer.toHexString(x); } diff --git a/com.ibm.wala.cast.java.test.data/src/InnerClassLexicalReads.java b/com.ibm.wala.cast.java.test.data/src/InnerClassLexicalReads.java index 63cd71b3e..e1ddd6bc9 100644 --- a/com.ibm.wala.cast.java.test.data/src/InnerClassLexicalReads.java +++ b/com.ibm.wala.cast.java.test.data/src/InnerClassLexicalReads.java @@ -32,6 +32,7 @@ public class InnerClassLexicalReads { * 1 return v2:com.ibm.wala.ssa.SymbolTable$1@16b18b6[11:4] -> [11:13] */ + @Override public int getConstant() { return y; } diff --git a/com.ibm.wala.cast.java.test.data/src/InterfaceTest1.java b/com.ibm.wala.cast.java.test.data/src/InterfaceTest1.java index 2a0d8c22e..5bd1963fb 100644 --- a/com.ibm.wala.cast.java.test.data/src/InterfaceTest1.java +++ b/com.ibm.wala.cast.java.test.data/src/InterfaceTest1.java @@ -28,6 +28,7 @@ class FooIT1 implements IFoo { fValue= ch; } + @Override public char getValue() { return fValue; } diff --git a/com.ibm.wala.cast.java.test.data/src/MiniaturSliceBug.java b/com.ibm.wala.cast.java.test.data/src/MiniaturSliceBug.java index ddf287fee..4307a4dc4 100644 --- a/com.ibm.wala.cast.java.test.data/src/MiniaturSliceBug.java +++ b/com.ibm.wala.cast.java.test.data/src/MiniaturSliceBug.java @@ -30,6 +30,7 @@ abstract class PrimitiveWrapper { * @see java.lang.Object#equals(java.lang.Object) */ + @Override abstract public boolean equals(Object o); } @@ -49,6 +50,7 @@ final class IntWrapper extends PrimitiveWrapper { * @see com.ibm.miniatur.tests.sequential.PrimitiveWrapper#intValue() */ + @Override @SuppressWarnings("javadoc") public int intValue() { return val; @@ -59,6 +61,7 @@ final class IntWrapper extends PrimitiveWrapper { * @see com.ibm.miniatur.tests.sequential.PrimitiveWrapper#setIntValue(int) */ + @Override @SuppressWarnings("javadoc") public void setIntValue(int i) { this.val = i; @@ -69,6 +72,7 @@ final class IntWrapper extends PrimitiveWrapper { * @see com.ibm.miniatur.tests.sequential.PrimitiveWrapper#equals(java.lang.Object) */ + @Override @SuppressWarnings("javadoc") public boolean equals(Object o) { return o instanceof IntWrapper && ((IntWrapper)o).val==val; diff --git a/com.ibm.wala.cast.java.test.data/src/SimpleCalls.java b/com.ibm.wala.cast.java.test.data/src/SimpleCalls.java index 7ea739d60..ef56b5c23 100644 --- a/com.ibm.wala.cast.java.test.data/src/SimpleCalls.java +++ b/com.ibm.wala.cast.java.test.data/src/SimpleCalls.java @@ -14,6 +14,7 @@ interface ISimpleCalls { } public class SimpleCalls implements ISimpleCalls { + @Override public void helloWorld() { System.out.println("hello world!"); } diff --git a/com.ibm.wala.cast.java.test.data/src/Thread1.java b/com.ibm.wala.cast.java.test.data/src/Thread1.java index d483dbb10..3f07c9f29 100644 --- a/com.ibm.wala.cast.java.test.data/src/Thread1.java +++ b/com.ibm.wala.cast.java.test.data/src/Thread1.java @@ -14,6 +14,7 @@ class R implements Runnable { R(int i) { this.i = i; } + @Override public void run() { return; } diff --git a/com.ibm.wala.cast.java.test.data/src/foo/SimpleNames.java b/com.ibm.wala.cast.java.test.data/src/foo/SimpleNames.java index b46c5b610..4aa17e5a5 100644 --- a/com.ibm.wala.cast.java.test.data/src/foo/SimpleNames.java +++ b/com.ibm.wala.cast.java.test.data/src/foo/SimpleNames.java @@ -56,6 +56,7 @@ public class SimpleNames { final int i = 5; new Object() { + @Override public int hashCode() { f = 5; // SimpleNames.this = 5 s = 6; // SimpleNames.s = 6 diff --git a/com.ibm.wala.cast.java.test.data/src/foo/bar/hello/world/ConstructorsAndInitializers.java b/com.ibm.wala.cast.java.test.data/src/foo/bar/hello/world/ConstructorsAndInitializers.java index cc478b658..d05d008c1 100644 --- a/com.ibm.wala.cast.java.test.data/src/foo/bar/hello/world/ConstructorsAndInitializers.java +++ b/com.ibm.wala.cast.java.test.data/src/foo/bar/hello/world/ConstructorsAndInitializers.java @@ -76,6 +76,7 @@ public class ConstructorsAndInitializers extends Super { iX = 55 + 12; } + @Override public String toString() { return s + " -- from an anon class in " + iX + "," + sX + ": " + ConstructorsAndInitializers.this.s; } diff --git a/com.ibm.wala.cast.java.test.data/src/foo/bar/hello/world/InnerClasses.java b/com.ibm.wala.cast.java.test.data/src/foo/bar/hello/world/InnerClasses.java index d1422cdb8..149287fa9 100644 --- a/com.ibm.wala.cast.java.test.data/src/foo/bar/hello/world/InnerClasses.java +++ b/com.ibm.wala.cast.java.test.data/src/foo/bar/hello/world/InnerClasses.java @@ -45,6 +45,7 @@ public class InnerClasses extends Temp { Object supportLocalBusiness() { final int x = 54; class FooBar { + @Override public int hashCode() { return x; } } return new FooBar(); @@ -53,6 +54,7 @@ public class InnerClasses extends Temp { static Object anonymousCoward() { final int x = 5; return new Object() { + @Override public int hashCode() { return x; } }; } @@ -64,6 +66,7 @@ public class InnerClasses extends Temp { System.out.println(anonymousCoward().hashCode()); final String xx = "crazy"; Outie outie = new Outie("weird") { + @Override public String toString() { return "bogus" + x + xx + xxxx; } diff --git a/com.ibm.wala.cast.java.test.data/src/foo/bar/hello/world/MethodMadness.java b/com.ibm.wala.cast.java.test.data/src/foo/bar/hello/world/MethodMadness.java index b0bd1fe51..6c512fd6e 100644 --- a/com.ibm.wala.cast.java.test.data/src/foo/bar/hello/world/MethodMadness.java +++ b/com.ibm.wala.cast.java.test.data/src/foo/bar/hello/world/MethodMadness.java @@ -96,6 +96,7 @@ public class MethodMadness { return 13 + x; } + @Override protected int protectedInteger() { return 233 + x; } diff --git a/com.ibm.wala.cast.java.test.data/src/javaonepointfive/AnonGeneNullarySimple.java b/com.ibm.wala.cast.java.test.data/src/javaonepointfive/AnonGeneNullarySimple.java index 02cf96ea2..1926b2925 100644 --- a/com.ibm.wala.cast.java.test.data/src/javaonepointfive/AnonGeneNullarySimple.java +++ b/com.ibm.wala.cast.java.test.data/src/javaonepointfive/AnonGeneNullarySimple.java @@ -45,6 +45,7 @@ public class AnonGeneNullarySimple { static class StrTripler implements Ops { + @Override public String nullary() { String x = "talk about it "; return x+x+x; diff --git a/com.ibm.wala.cast.java.test.data/src/javaonepointfive/AnonymousGenerics.java b/com.ibm.wala.cast.java.test.data/src/javaonepointfive/AnonymousGenerics.java index 50f8c3ffb..f2fd4fb4b 100644 --- a/com.ibm.wala.cast.java.test.data/src/javaonepointfive/AnonymousGenerics.java +++ b/com.ibm.wala.cast.java.test.data/src/javaonepointfive/AnonymousGenerics.java @@ -49,10 +49,12 @@ public class AnonymousGenerics { // get erasures for all of those types and make a new method // that calls this one (with casts). no worries about return values. + @Override public String unary(String x) { return x + x + x; } + @Override public String nullary() { String x = "talk about it "; return x+x+x; @@ -66,10 +68,12 @@ public class AnonymousGenerics { private void doit() { Ops strQuadrupler = new Ops() { + @Override public String unary(String x) { return x+x+x+x; } + @Override public String nullary() { String x = "time to make a move to the global economy "; return x+x+x+x; diff --git a/com.ibm.wala.cast.java.test.data/src/javaonepointfive/Cocovariant.java b/com.ibm.wala.cast.java.test.data/src/javaonepointfive/Cocovariant.java index a2b08f2fe..f1504d99a 100644 --- a/com.ibm.wala.cast.java.test.data/src/javaonepointfive/Cocovariant.java +++ b/com.ibm.wala.cast.java.test.data/src/javaonepointfive/Cocovariant.java @@ -43,10 +43,12 @@ public class Cocovariant { } static class B extends A { + @Override B foo(String x) { return null; } } static class C extends B { + @Override C foo(String x) { return null; } } public static void main(String[] args) { diff --git a/com.ibm.wala.cast.java.test.data/src/javaonepointfive/CustomGenericsAndFields.java b/com.ibm.wala.cast.java.test.data/src/javaonepointfive/CustomGenericsAndFields.java index 54260c4e0..6a44f4f4b 100644 --- a/com.ibm.wala.cast.java.test.data/src/javaonepointfive/CustomGenericsAndFields.java +++ b/com.ibm.wala.cast.java.test.data/src/javaonepointfive/CustomGenericsAndFields.java @@ -52,6 +52,7 @@ class ConcreteGeneric implements IGeneric { Q x; + @Override public Q bar(Q a, Q b) { x = a; if (b.hashCode() == a.hashCode() || b.toString().equals(a.toString())) @@ -60,6 +61,7 @@ class ConcreteGeneric implements IGeneric { } + @Override public Q foo() { return x; } @@ -71,6 +73,7 @@ class ConcreteGeneric2 extends ConcreteGeneric { y = a; } + @Override public Q foo() { return y; } diff --git a/com.ibm.wala.cast.java.test.data/src/javaonepointfive/GenericMemberClasses.java b/com.ibm.wala.cast.java.test.data/src/javaonepointfive/GenericMemberClasses.java index 77885944c..2bfedf8d7 100644 --- a/com.ibm.wala.cast.java.test.data/src/javaonepointfive/GenericMemberClasses.java +++ b/com.ibm.wala.cast.java.test.data/src/javaonepointfive/GenericMemberClasses.java @@ -46,17 +46,20 @@ public class GenericMemberClasses T x = null; private int localChangeID; + @Override public boolean hasNext() { return ( localChangeID == 5 ); } + @Override public T next() { localChangeID = 5; return x; } + @Override public void remove() { } } 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 1684cca24..c9116deba 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 @@ -48,6 +48,7 @@ public class MoreOverriddenGenerics { class Sub extends Super { + @Override public Number get() { return super.get(); } @@ -55,6 +56,7 @@ public class MoreOverriddenGenerics { class SubSub extends Sub { + @Override public Long get() { return new Long(6); } diff --git a/com.ibm.wala.cast.java.test.data/src/javaonepointfive/NotSoSimpleEnums.java b/com.ibm.wala.cast.java.test.data/src/javaonepointfive/NotSoSimpleEnums.java index 67769c635..060f422dd 100644 --- a/com.ibm.wala.cast.java.test.data/src/javaonepointfive/NotSoSimpleEnums.java +++ b/com.ibm.wala.cast.java.test.data/src/javaonepointfive/NotSoSimpleEnums.java @@ -40,12 +40,16 @@ package javaonepointfive; public class NotSoSimpleEnums { public enum Direction { NORTH("nord") { + @Override public Direction getOpposite() { return SOUTH; }}, EAST("est") { + @Override public Direction getOpposite() { return WEST; }}, SOUTH("sud") { + @Override public Direction getOpposite() { return NORTH; }}, WEST("ouest") { + @Override public Direction getOpposite() { return EAST; }}; public abstract Direction getOpposite(); 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 0fede31c1..c708122be 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 @@ -44,6 +44,7 @@ public class OverridesOnePointFour { static class Sub implements Super { + @Override public Long get() { return new Long(6); } diff --git a/com.ibm.wala.cast.java.test.data/src/javaonepointfive/VarargsCovariant.java b/com.ibm.wala.cast.java.test.data/src/javaonepointfive/VarargsCovariant.java index 4f0c34905..2de1f2a4a 100644 --- a/com.ibm.wala.cast.java.test.data/src/javaonepointfive/VarargsCovariant.java +++ b/com.ibm.wala.cast.java.test.data/src/javaonepointfive/VarargsCovariant.java @@ -47,6 +47,7 @@ public class VarargsCovariant { static class B extends A { + @Override B hello(int... x) { System.out.println("b hello"); return this; diff --git a/com.ibm.wala.cast.java.test.data/src/javaonepointfive/VarargsOverriding.java b/com.ibm.wala.cast.java.test.data/src/javaonepointfive/VarargsOverriding.java index a112e79db..2f8ea26b3 100644 --- a/com.ibm.wala.cast.java.test.data/src/javaonepointfive/VarargsOverriding.java +++ b/com.ibm.wala.cast.java.test.data/src/javaonepointfive/VarargsOverriding.java @@ -70,6 +70,7 @@ class VarityTestSuper { class VarityTestSub extends VarityTestSuper { + @Override void bar(String... args) {} } diff --git a/com.ibm.wala.util/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.util/.settings/org.eclipse.jdt.core.prefs index ea3d5fd7e..2f17d894c 100644 --- a/com.ibm.wala.util/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.util/.settings/org.eclipse.jdt.core.prefs @@ -58,7 +58,7 @@ org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error diff --git a/com.ibm.wala.util/src/com/ibm/wala/util/collections/ArraySet.java b/com.ibm.wala.util/src/com/ibm/wala/util/collections/ArraySet.java index 718cbe92f..ce789db99 100644 --- a/com.ibm.wala.util/src/com/ibm/wala/util/collections/ArraySet.java +++ b/com.ibm.wala.util/src/com/ibm/wala/util/collections/ArraySet.java @@ -106,6 +106,7 @@ public class ArraySet extends AbstractSet { /** * @throws UnsupportedOperationException if this {@link ArraySet} is immutable (optional) */ + @Override @SuppressWarnings("all") public boolean add(T o) { if (o == null) { From 29f53d11fea85e033b18627df07b1908896099e2 Mon Sep 17 00:00:00 2001 From: Ben Liblit Date: Tue, 27 Jun 2017 14:21:18 -0500 Subject: [PATCH 3/5] Add a hashCode() method to a class that already has equals() Generally, overriding one means you should be overriding the other too. Also, configure Eclipse to treat any similar cases as errors, rather than merely warnings. --- .../.settings/org.eclipse.jdt.core.prefs | 2 +- .../cast/java/translator/jdt/FakeExceptionTypeBinding.java | 5 +++++ com.ibm.wala.core/.settings/org.eclipse.jdt.core.prefs | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/com.ibm.wala.cast.java.ecj/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.cast.java.ecj/.settings/org.eclipse.jdt.core.prefs index 8534a8da6..67e74f2f1 100644 --- a/com.ibm.wala.cast.java.ecj/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.cast.java.ecj/.settings/org.eclipse.jdt.core.prefs @@ -39,7 +39,7 @@ org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled -org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=no_tag diff --git a/com.ibm.wala.cast.java.ecj/src/com/ibm/wala/cast/java/translator/jdt/FakeExceptionTypeBinding.java b/com.ibm.wala.cast.java.ecj/src/com/ibm/wala/cast/java/translator/jdt/FakeExceptionTypeBinding.java index b023dec0b..1fc97467b 100644 --- a/com.ibm.wala.cast.java.ecj/src/com/ibm/wala/cast/java/translator/jdt/FakeExceptionTypeBinding.java +++ b/com.ibm.wala.cast.java.ecj/src/com/ibm/wala/cast/java/translator/jdt/FakeExceptionTypeBinding.java @@ -91,6 +91,11 @@ public class FakeExceptionTypeBinding implements ITypeBinding { return false; } + @Override + public int hashCode() { + return exceptionBinaryName.hashCode(); + } + // --- rest not needed @Override diff --git a/com.ibm.wala.core/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.core/.settings/org.eclipse.jdt.core.prefs index bdd0c8beb..6b326a871 100644 --- a/com.ibm.wala.core/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.core/.settings/org.eclipse.jdt.core.prefs @@ -60,7 +60,7 @@ org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled -org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public From 42c1c0a37e4c410256e97fe99b23174985a32f6d Mon Sep 17 00:00:00 2001 From: Ben Liblit Date: Tue, 27 Jun 2017 14:20:15 -0500 Subject: [PATCH 4/5] Ignore Eclipse warnings about missing hashCode() methods in tests In regular application code, these warnings should be taken seriously and fixed. But for test code, it's better to keep things simple and not add any methods that aren't strictly needed by the test. --- .../.settings/org.eclipse.jdt.core.prefs | 2 +- com.ibm.wala.core.tests/.settings/org.eclipse.jdt.core.prefs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/com.ibm.wala.cast.java.test.data/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.cast.java.test.data/.settings/org.eclipse.jdt.core.prefs index 1557847a1..c396209db 100644 --- a/com.ibm.wala.cast.java.test.data/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.cast.java.test.data/.settings/org.eclipse.jdt.core.prefs @@ -51,7 +51,7 @@ org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error org.eclipse.jdt.core.compiler.problem.missingDefaultCase=warning org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled -org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public diff --git a/com.ibm.wala.core.tests/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.core.tests/.settings/org.eclipse.jdt.core.prefs index 4b16bf0e8..11c99e141 100644 --- a/com.ibm.wala.core.tests/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.core.tests/.settings/org.eclipse.jdt.core.prefs @@ -50,7 +50,7 @@ org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error org.eclipse.jdt.core.compiler.problem.missingDefaultCase=error org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled -org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public From 0bbe9970c6c519c192926db909b562b2b9f4b53f Mon Sep 17 00:00:00 2001 From: Ben Liblit Date: Thu, 6 Jul 2017 22:08:27 -0500 Subject: [PATCH 5/5] Enable Eclipse Oxygen's new "unlikely argument types" diagnostics There are two such diagnostics: one for collection methods and one for equals(). See for more information about these two new diagnostics. For each of these diagnostics, I've set the severity level to "warning" in projects that have some instances of the suspicious code, or to "error" in projects that have no instances of the suspicious code. --- .../.settings/org.eclipse.jdt.core.prefs | 3 +++ .../.settings/org.eclipse.jdt.core.prefs | 3 +++ .../.settings/org.eclipse.jdt.core.prefs | 3 +++ com.ibm.wala.cast.java/.settings/org.eclipse.jdt.core.prefs | 3 +++ .../.settings/org.eclipse.jdt.core.prefs | 3 +++ .../.settings/org.eclipse.jdt.core.prefs | 3 +++ .../.settings/org.eclipse.jdt.core.prefs | 3 +++ .../.settings/org.eclipse.jdt.core.prefs | 3 +++ .../.settings/org.eclipse.jdt.core.prefs | 3 +++ com.ibm.wala.cast.js.test/.settings/org.eclipse.jdt.core.prefs | 3 +++ com.ibm.wala.cast.js/.settings/org.eclipse.jdt.core.prefs | 3 +++ com.ibm.wala.cast.test/.settings/org.eclipse.jdt.core.prefs | 3 +++ com.ibm.wala.cast/.settings/org.eclipse.jdt.core.prefs | 3 +++ .../.settings/org.eclipse.jdt.core.prefs | 3 +++ com.ibm.wala.core.tests/.settings/org.eclipse.jdt.core.prefs | 3 +++ com.ibm.wala.core/.settings/org.eclipse.jdt.core.prefs | 3 +++ com.ibm.wala.dalvik.test/.settings/org.eclipse.jdt.core.prefs | 3 +++ com.ibm.wala.dalvik/.settings/org.eclipse.jdt.core.prefs | 3 +++ com.ibm.wala.ide.jdt.test/.settings/org.eclipse.jdt.core.prefs | 3 +++ com.ibm.wala.ide.jdt/.settings/org.eclipse.jdt.core.prefs | 3 +++ .../.settings/org.eclipse.jdt.core.prefs | 3 +++ com.ibm.wala.ide.jsdt/.settings/org.eclipse.jdt.core.prefs | 3 +++ com.ibm.wala.ide.tests/.settings/org.eclipse.jdt.core.prefs | 3 +++ com.ibm.wala.ide/.settings/org.eclipse.jdt.core.prefs | 3 +++ com.ibm.wala.scandroid/.settings/org.eclipse.jdt.core.prefs | 3 +++ com.ibm.wala.shrike/.settings/org.eclipse.jdt.core.prefs | 3 +++ com.ibm.wala.util/.settings/org.eclipse.jdt.core.prefs | 3 +++ 27 files changed, 81 insertions(+) diff --git a/com.ibm.wala.cast.java.ecj/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.cast.java.ecj/.settings/org.eclipse.jdt.core.prefs index 67e74f2f1..cdc097d14 100644 --- a/com.ibm.wala.cast.java.ecj/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.cast.java.ecj/.settings/org.eclipse.jdt.core.prefs @@ -82,6 +82,9 @@ 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=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 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore diff --git a/com.ibm.wala.cast.java.test.data/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.cast.java.test.data/.settings/org.eclipse.jdt.core.prefs index c396209db..0454a71b9 100644 --- a/com.ibm.wala.cast.java.test.data/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.cast.java.test.data/.settings/org.eclipse.jdt.core.prefs @@ -96,6 +96,9 @@ org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore 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=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 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore diff --git a/com.ibm.wala.cast.java.test/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.cast.java.test/.settings/org.eclipse.jdt.core.prefs index c22cc3094..a5339a0a7 100644 --- a/com.ibm.wala.cast.java.test/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.cast.java.test/.settings/org.eclipse.jdt.core.prefs @@ -96,6 +96,9 @@ 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=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 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore diff --git a/com.ibm.wala.cast.java/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.cast.java/.settings/org.eclipse.jdt.core.prefs index b4535c65b..1e770867a 100644 --- a/com.ibm.wala.cast.java/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.cast.java/.settings/org.eclipse.jdt.core.prefs @@ -96,6 +96,9 @@ 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=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 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore diff --git a/com.ibm.wala.cast.js.html.nu_validator/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.cast.js.html.nu_validator/.settings/org.eclipse.jdt.core.prefs index e8f2f9a71..ad9dac348 100644 --- a/com.ibm.wala.cast.js.html.nu_validator/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.cast.js.html.nu_validator/.settings/org.eclipse.jdt.core.prefs @@ -95,6 +95,9 @@ 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=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 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore diff --git a/com.ibm.wala.cast.js.nodejs.test/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.cast.js.nodejs.test/.settings/org.eclipse.jdt.core.prefs index 9bd67f695..e3334ee31 100644 --- a/com.ibm.wala.cast.js.nodejs.test/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.cast.js.nodejs.test/.settings/org.eclipse.jdt.core.prefs @@ -95,6 +95,9 @@ 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=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 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=error diff --git a/com.ibm.wala.cast.js.nodejs/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.cast.js.nodejs/.settings/org.eclipse.jdt.core.prefs index 039b21a26..3903f33a9 100644 --- a/com.ibm.wala.cast.js.nodejs/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.cast.js.nodejs/.settings/org.eclipse.jdt.core.prefs @@ -96,6 +96,9 @@ 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=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 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore diff --git a/com.ibm.wala.cast.js.rhino.test/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.cast.js.rhino.test/.settings/org.eclipse.jdt.core.prefs index edc1eff50..ddbb772ea 100644 --- a/com.ibm.wala.cast.js.rhino.test/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.cast.js.rhino.test/.settings/org.eclipse.jdt.core.prefs @@ -96,6 +96,9 @@ 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=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 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore diff --git a/com.ibm.wala.cast.js.rhino/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.cast.js.rhino/.settings/org.eclipse.jdt.core.prefs index 77f734773..9de2f15ac 100644 --- a/com.ibm.wala.cast.js.rhino/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.cast.js.rhino/.settings/org.eclipse.jdt.core.prefs @@ -96,6 +96,9 @@ 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=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 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore diff --git a/com.ibm.wala.cast.js.test/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.cast.js.test/.settings/org.eclipse.jdt.core.prefs index 09989068f..b8890d1a7 100644 --- a/com.ibm.wala.cast.js.test/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.cast.js.test/.settings/org.eclipse.jdt.core.prefs @@ -95,6 +95,9 @@ 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=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 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore diff --git a/com.ibm.wala.cast.js/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.cast.js/.settings/org.eclipse.jdt.core.prefs index 2f9d23ac3..d85cb9f2d 100644 --- a/com.ibm.wala.cast.js/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.cast.js/.settings/org.eclipse.jdt.core.prefs @@ -96,6 +96,9 @@ 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=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 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore diff --git a/com.ibm.wala.cast.test/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.cast.test/.settings/org.eclipse.jdt.core.prefs index 356cc78ee..16a18d055 100644 --- a/com.ibm.wala.cast.test/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.cast.test/.settings/org.eclipse.jdt.core.prefs @@ -95,6 +95,9 @@ 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.unlikelyCollectionMethodArgumentTypeStrict=disabled +org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=error org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore diff --git a/com.ibm.wala.cast/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.cast/.settings/org.eclipse.jdt.core.prefs index 3cf934630..b8a6fef65 100644 --- a/com.ibm.wala.cast/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.cast/.settings/org.eclipse.jdt.core.prefs @@ -97,6 +97,9 @@ 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.unlikelyCollectionMethodArgumentTypeStrict=disabled +org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=error org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore 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 b74a2b00b..b2a461f47 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 @@ -97,6 +97,9 @@ 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=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 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore diff --git a/com.ibm.wala.core.tests/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.core.tests/.settings/org.eclipse.jdt.core.prefs index 11c99e141..0f2a60e57 100644 --- a/com.ibm.wala.core.tests/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.core.tests/.settings/org.eclipse.jdt.core.prefs @@ -96,6 +96,9 @@ 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=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 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore diff --git a/com.ibm.wala.core/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.core/.settings/org.eclipse.jdt.core.prefs index 6b326a871..0af5b6348 100644 --- a/com.ibm.wala.core/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.core/.settings/org.eclipse.jdt.core.prefs @@ -106,6 +106,9 @@ 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.unlikelyCollectionMethodArgumentTypeStrict=disabled +org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=error org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore diff --git a/com.ibm.wala.dalvik.test/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.dalvik.test/.settings/org.eclipse.jdt.core.prefs index 40a5bfb11..b810b1dfe 100644 --- a/com.ibm.wala.dalvik.test/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.dalvik.test/.settings/org.eclipse.jdt.core.prefs @@ -88,6 +88,9 @@ 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=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 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore diff --git a/com.ibm.wala.dalvik/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.dalvik/.settings/org.eclipse.jdt.core.prefs index 664c38f98..86f9ba2e5 100644 --- a/com.ibm.wala.dalvik/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.dalvik/.settings/org.eclipse.jdt.core.prefs @@ -97,6 +97,9 @@ 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=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 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore diff --git a/com.ibm.wala.ide.jdt.test/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.ide.jdt.test/.settings/org.eclipse.jdt.core.prefs index 88581cadc..b8492420b 100644 --- a/com.ibm.wala.ide.jdt.test/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.ide.jdt.test/.settings/org.eclipse.jdt.core.prefs @@ -97,6 +97,9 @@ 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=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 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=warning 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 ae39127f3..c919f78eb 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 @@ -97,6 +97,9 @@ 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=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 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore diff --git a/com.ibm.wala.ide.jsdt.tests/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.ide.jsdt.tests/.settings/org.eclipse.jdt.core.prefs index b75065b18..eaec8a105 100644 --- a/com.ibm.wala.ide.jsdt.tests/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.ide.jsdt.tests/.settings/org.eclipse.jdt.core.prefs @@ -96,6 +96,9 @@ 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=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 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore diff --git a/com.ibm.wala.ide.jsdt/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.ide.jsdt/.settings/org.eclipse.jdt.core.prefs index f04d70088..7610fa05c 100644 --- a/com.ibm.wala.ide.jsdt/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.ide.jsdt/.settings/org.eclipse.jdt.core.prefs @@ -96,6 +96,9 @@ 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=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 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore diff --git a/com.ibm.wala.ide.tests/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.ide.tests/.settings/org.eclipse.jdt.core.prefs index 4deb42a12..9e30367d8 100644 --- a/com.ibm.wala.ide.tests/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.ide.tests/.settings/org.eclipse.jdt.core.prefs @@ -96,6 +96,9 @@ org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error 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=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 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore diff --git a/com.ibm.wala.ide/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.ide/.settings/org.eclipse.jdt.core.prefs index 6860f5256..1dcc16023 100644 --- a/com.ibm.wala.ide/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.ide/.settings/org.eclipse.jdt.core.prefs @@ -96,6 +96,9 @@ 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=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 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore diff --git a/com.ibm.wala.scandroid/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.scandroid/.settings/org.eclipse.jdt.core.prefs index 0c8b1de58..42d3b5807 100644 --- a/com.ibm.wala.scandroid/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.scandroid/.settings/org.eclipse.jdt.core.prefs @@ -82,6 +82,9 @@ 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=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 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore diff --git a/com.ibm.wala.shrike/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.shrike/.settings/org.eclipse.jdt.core.prefs index 1e4e149d6..2ba5e6de9 100644 --- a/com.ibm.wala.shrike/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.shrike/.settings/org.eclipse.jdt.core.prefs @@ -106,6 +106,9 @@ 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=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 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore diff --git a/com.ibm.wala.util/.settings/org.eclipse.jdt.core.prefs b/com.ibm.wala.util/.settings/org.eclipse.jdt.core.prefs index 2f17d894c..594d57222 100644 --- a/com.ibm.wala.util/.settings/org.eclipse.jdt.core.prefs +++ b/com.ibm.wala.util/.settings/org.eclipse.jdt.core.prefs @@ -96,6 +96,9 @@ 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=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 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore