duke@1: /* duke@1: * @test /nodynamiccopyright/ duke@1: * @bug 6227617 duke@1: * @summary Lint option for redundant casts duke@1: * @compile -Werror T6227617.java jjg@611: * @compile/ref=T6227617.out -XDrawDiagnostics -Xlint:cast T6227617.java duke@1: */ duke@1: import java.util.HashMap; duke@1: import java.util.Map; duke@1: duke@1: class T6227617 { duke@1: void m() { duke@1: int i1 = 2; duke@1: int i2 = (int) i1; // warn duke@1: duke@1: float f1 = 1f; duke@1: int i3 = (int) f1; duke@1: duke@1: String s = (String) ""; // warn duke@1: Object o = (Object) ""; duke@1: duke@1: Map m = new HashMap(); duke@1: Integer I1 = (Integer) m.get(""); // warn duke@1: } duke@1: duke@1: // The following cause NPE in Attr with an Attr-based solution for -Xlint:cast duke@1: static final int i1 = Foo.i1; duke@1: static final String s = Foo.s; duke@1: } duke@1: duke@1: class Foo duke@1: { duke@1: static final int i1 = (int) 1; duke@1: static final int i2 = (int) 1L; duke@1: duke@1: static final String s = (String) "abc"; duke@1: }