test/tools/javac/6563143/OverridesEqualsButNotHashCodeTest.java

Tue, 26 Feb 2013 09:04:19 +0000

author
vromero
date
Tue, 26 Feb 2013 09:04:19 +0000
changeset 1607
bd49e0304281
parent 1588
2620c953e9fe
permissions
-rw-r--r--

8008436: javac should not issue a warning for overriding equals without hasCode if hashCode has been overriden by a superclass
Reviewed-by: jjg, mcimadamore

vromero@1588 1 /*
vromero@1588 2 * @test /nodynamiccopyright/
vromero@1607 3 * @bug 6563143 8008436
vromero@1588 4 * @summary javac should issue a warning for overriding equals without hashCode
vromero@1607 5 * @summary javac should not issue a warning for overriding equals without hasCode
vromero@1607 6 * if hashCode has been overriden by a superclass
vromero@1588 7 * @compile/ref=OverridesEqualsButNotHashCodeTest.out -Xlint:overrides -XDrawDiagnostics OverridesEqualsButNotHashCodeTest.java
vromero@1588 8 */
vromero@1588 9
vromero@1588 10 public class OverridesEqualsButNotHashCodeTest {
vromero@1588 11 @Override
vromero@1588 12 public boolean equals(Object o) {
vromero@1588 13 return o == this;
vromero@1588 14 }
vromero@1607 15
vromero@1607 16 @Override
vromero@1607 17 public int hashCode() {
vromero@1607 18 return 0;
vromero@1607 19 }
vromero@1607 20 }
vromero@1607 21
vromero@1607 22 class SubClass extends OverridesEqualsButNotHashCodeTest {
vromero@1607 23 @Override
vromero@1607 24 public boolean equals(Object o) {
vromero@1607 25 return o == this;
vromero@1607 26 }
vromero@1588 27 }
vromero@1588 28
vromero@1607 29 @SuppressWarnings("overrides")
vromero@1607 30 class NoWarning {
vromero@1588 31 @Override
vromero@1588 32 public boolean equals(Object o) {
vromero@1588 33 return o == this;
vromero@1588 34 }
vromero@1588 35 }
vromero@1588 36
vromero@1607 37 class DoWarnMe {
vromero@1607 38 @Override
vromero@1607 39 public boolean equals(Object o) {
vromero@1607 40 return o == this;
vromero@1607 41 }
vromero@1607 42 }

mercurial