jdk/langtools/test/tools/javac/6563143/OverridesEqualsButNotHashCodeTest.java

42 lines
991 B
Java

/*
* @test /nodynamiccopyright/
* @bug 6563143 8008436
* @summary javac should issue a warning for overriding equals without hashCode
* @summary javac should not issue a warning for overriding equals without hasCode
* if hashCode has been overriden by a superclass
* @compile/ref=OverridesEqualsButNotHashCodeTest.out -Xlint:overrides -XDrawDiagnostics OverridesEqualsButNotHashCodeTest.java
*/
public class OverridesEqualsButNotHashCodeTest {
@Override
public boolean equals(Object o) {
return o == this;
}
@Override
public int hashCode() {
return 0;
}
}
class SubClass extends OverridesEqualsButNotHashCodeTest {
@Override
public boolean equals(Object o) {
return o == this;
}
}
@SuppressWarnings("overrides")
class NoWarning {
@Override
public boolean equals(Object o) {
return o == this;
}
}
class DoWarnMe {
@Override
public boolean equals(Object o) {
return o == this;
}
}