package sfBugsNew;

import edu.umd.cs.findbugs.annotations.Confidence;
import edu.umd.cs.findbugs.annotations.NoWarning;

public class Bug1219 {

    interface A {
    }

    interface B {
    }

    A objectA;

    @NoWarning(value="EC_UNRELATED_TYPES_USING_POINTER_EQUALITY", confidence=Confidence.MEDIUM)
    public boolean compare(B objectB) {
        return (objectA == objectB);
    }
}

@@ -64,16 +64,70 @@
 idence;%0A
+import edu.umd.cs.findbugs.annotations.ExpectWarning;%0A
 import e
@@ -168,16 +168,16 @@
 arning;%0A
-
 %0Apublic 
@@ -237,24 +237,144 @@
 ce B %7B%0A    %7D
+%0A    interface C %7B%0A    %7D%0A    interface D %7B%0A    %7D%0A    static class CC implements C %7B%7D%0A    static class DC implements D %7B%7D
 %0A%0A    A obje
@@ -552,16 +552,404 @@
 jectB);%0A
-
     %7D%0A
+    %0A    @NoWarning(value=%22EC_UNRELATED_TYPES_USING_POINTER_EQUALITY%22, confidence=Confidence.MEDIUM)%0A      public boolean compare(C objectC) %7B%0A        return (objectA == objectC);%0A    %7D%0A    %0A    @ExpectWarning(value=%22EC_UNRELATED_TYPES_USING_POINTER_EQUALITY%22, confidence=Confidence.MEDIUM)%0A    public static boolean compare(C objectC, D objectD) %7B%0A      return (objectC == objectD);%0A  %7D%0A
 %7D%0A

Add test case for when interfaces do have concrete implementations