Path: blob/master/test/langtools/tools/javac/6563143/EqualsHashCodeWarningTest.java
41152 views
/*1* @test /nodynamiccopyright/2* @bug 6563143 8008436 80091383* @summary javac should issue a warning for overriding equals without hashCode4* @summary javac should not issue a warning for overriding equals without hasCode5* @summary javac, equals-hashCode warning tuning6* if hashCode has been overriden by a superclass7* @compile/ref=EqualsHashCodeWarningTest.out -Xlint:overrides -XDrawDiagnostics EqualsHashCodeWarningTest.java8*/910import java.util.Comparator;1112public class EqualsHashCodeWarningTest {13@Override14public boolean equals(Object o) {15return o == this;16}1718@Override19public int hashCode() {20return 0;21}2223public Comparator m() {24return new Comparator() {25@Override26public boolean equals(Object o) {return true;}2728@Override29public int compare(Object o1, Object o2) {30return 0;31}32};33}34}3536class SubClass extends EqualsHashCodeWarningTest {37@Override38public boolean equals(Object o) {39return true;40}41}4243@SuppressWarnings("overrides")44class DontWarnMe {45@Override46public boolean equals(Object o) {47return true;48}49}5051class DoWarnMe {52@Override53public boolean equals(Object o) {54return o == this;55}56}5758abstract class IamAbstractGetMeOutOfHere {59public boolean equals(Object o){return true;}60}6162interface I {63public boolean equals(Object o);64}6566enum E {67A, B68}6970@interface anno {}717273