C:\Users\Remind\Desktop\out\.project Call to equals() comparing different types Call to Double.equals(java.math.BigDecimal) in Bug3474679.testEquals1() At Bug3474679.java:[lines 7-66] In class Bug3474679 In method Bug3474679.testEquals1() In <Unknown> Actual type java.math.BigDecimal In <Unknown> Expected Double Return value of new java.math.BigDecimal(String) of type void Return value of new Double(double) of type void Double.equals(Object) used to determine equality Called method junit.framework.Assert.assertEquals(Object, Object) At Bug3474679.java:[line 13] Call to equals() comparing different types Call to Double.equals(java.math.BigDecimal) in Bug3474679.testEquals3() At Bug3474679.java:[lines 7-66] In class Bug3474679 In method Bug3474679.testEquals3() In <Unknown> Actual type java.math.BigDecimal In <Unknown> Expected Double Return value of new java.math.BigDecimal(String) of type void Return value of new Double(double) of type void Double.equals(Object) used to determine equality At Bug3474679.java:[line 33] Call to equals() comparing different types Call to Double.equals(Bug3474679$CustomObject) in Bug3474679.testEquals5() At Bug3474679.java:[lines 7-66] In class Bug3474679 In method Bug3474679.testEquals5() At Bug3474679.java:[line 68] Actual type Bug3474679$CustomObject In <Unknown> Expected Double Return value of new Bug3474679$CustomObject(Bug3474679$1) of type void Return value of new Double(double) of type void Double.equals(Object) used to determine equality Called method junit.framework.Assert.assertEquals(Object, Object) At Bug3474679.java:[line 60] Call to equals() comparing different types Call to Double.equals(Bug3474679$CustomObject) in Bug3474679.testEquals5() At Bug3474679.java:[lines 7-66] In class Bug3474679 In method Bug3474679.testEquals5() At Bug3474679.java:[line 68] Actual type Bug3474679$CustomObject In <Unknown> Expected Double Return value of new Bug3474679$CustomObject(Bug3474679$1) of type void Return value of new Double(double) of type void Double.equals(Object) used to determine equality At Bug3474679.java:[line 64] Call to equals() comparing different types Call to Double.equals(java.math.BigDecimal) in Bug3474679.testEquals5() At Bug3474679.java:[lines 7-66] In class Bug3474679 In method Bug3474679.testEquals5() In <Unknown> Actual type java.math.BigDecimal In <Unknown> Expected Double Return value of new java.math.BigDecimal(String) of type void Return value of new Double(double) of type void Double.equals(Object) used to determine equality Called method junit.framework.Assert.assertEquals(Object, Object) At Bug3474679.java:[line 59] Call to equals() comparing different types Call to Double.equals(java.math.BigDecimal) in Bug3474679.testEquals5() At Bug3474679.java:[lines 7-66] In class Bug3474679 In method Bug3474679.testEquals5() In <Unknown> Actual type java.math.BigDecimal In <Unknown> Expected Double Return value of new java.math.BigDecimal(String) of type void Return value of new Double(double) of type void Double.equals(Object) used to determine equality At Bug3474679.java:[line 62] Call to equals() comparing different types Call to Double.equals(Bug3474679$CustomObject) in Bug3474679.testEquals2() At Bug3474679.java:[lines 7-66] In class Bug3474679 In method Bug3474679.testEquals2() At Bug3474679.java:[line 68] Actual type Bug3474679$CustomObject In <Unknown> Expected Double Return value of new Bug3474679$CustomObject(Bug3474679$1) of type void Return value of new Double(double) of type void Double.equals(Object) used to determine equality Called method junit.framework.Assert.assertEquals(Object, Object) At Bug3474679.java:[line 20] Call to equals() comparing different types Call to Double.equals(Bug3474679$CustomObject) in Bug3474679.testEquals4() At Bug3474679.java:[lines 7-66] In class Bug3474679 In method Bug3474679.testEquals4() At Bug3474679.java:[line 68] Actual type Bug3474679$CustomObject In <Unknown> Expected Double Return value of new Bug3474679$CustomObject(Bug3474679$1) of type void Return value of new Double(double) of type void Double.equals(Object) used to determine equality At Bug3474679.java:[line 41] Call to equals() comparing different types Call to Double.equals(Bug3474679$CustomObject) in Bug3474679.testEqualsFalseNegative() At Bug3474679.java:[lines 7-66] In class Bug3474679 In method Bug3474679.testEqualsFalseNegative() At Bug3474679.java:[line 68] Actual type Bug3474679$CustomObject In <Unknown> Expected Double Return value of new Bug3474679$CustomObject(Bug3474679$1) of type void Return value of new Double(double) of type void Double.equals(Object) used to determine equality Called method junit.framework.Assert.assertEquals(Object, Object) At Bug3474679.java:[line 50] Call to equals() comparing different types Call to Double.equals(Bug3474679$CustomObject) in Bug3474679.testEqualsFalseNegative() At Bug3474679.java:[lines 7-66] In class Bug3474679 In method Bug3474679.testEqualsFalseNegative() At Bug3474679.java:[line 68] Actual type Bug3474679$CustomObject In <Unknown> Expected Double Return value of new Bug3474679$CustomObject(Bug3474679$1) of type void Return value of new Double(double) of type void Double.equals(Object) used to determine equality At Bug3474679.java:[line 52] Useless control flow Useless control flow in Bug3474679.testEquals5() At Bug3474679.java:[lines 7-66] In class Bug3474679 In method Bug3474679.testEquals5() At Bug3474679.java:[line 62] Another occurrence at Bug3474679.java:[line 64] Useless control flow Useless control flow in Bug3474679.testEqualsFalseNegative() At Bug3474679.java:[lines 7-66] In class Bug3474679 In method Bug3474679.testEqualsFalseNegative() At Bug3474679.java:[line 52] Correctness Dodgy code Call to equals() comparing different types
This method calls equals(Object) on two references of different class types and analysis suggests they will be to objects of different classes at runtime. Further, examination of the equals methods that would be invoked suggest that either this call will always return false, or else the equals method is not be symmetric (which is a property required by the contract for equals in class Object).

]]>
Useless control flow
This method contains a useless control flow statement, where control flow continues onto the same place regardless of whether or not the branch is taken. For example, this is caused by having an empty statement block for an if statement:

if (argv.length == 0) {
    // TODO: handle this case
}
]]>
Useless control flow Comparing incompatible types for equality junit.framework.Assert