duke@1: /** duke@1: * @test /nodynamiccopyright/ duke@1: * @bug 4986256 jjg@611: * @compile/ref=Unchecked.noLint.out -XDrawDiagnostics Unchecked.java jjg@611: * @compile/ref=Unchecked.lintUnchecked.out -Xlint:unchecked -XDrawDiagnostics Unchecked.java jjg@611: * @compile/ref=Unchecked.lintAll.out -Xlint:all,-path -XDrawDiagnostics Unchecked.java duke@1: */ duke@1: duke@1: import java.util.ArrayList; duke@1: import java.util.List; duke@1: duke@1: // control: this class should generate warnings duke@1: class Unchecked duke@1: { duke@1: void m() { duke@1: List l = new ArrayList(); duke@1: l.add("abc"); duke@1: } duke@1: } duke@1: duke@1: // tests: the warnings that would otherwise be generated should all be suppressed duke@1: @SuppressWarnings("unchecked") duke@1: class Unchecked2 duke@1: { duke@1: void m() { duke@1: List l = new ArrayList(); duke@1: l.add("abc"); duke@1: } duke@1: } duke@1: duke@1: class Unchecked3 duke@1: { duke@1: @SuppressWarnings("unchecked") duke@1: void m() { duke@1: List l = new ArrayList(); duke@1: l.add("abc"); duke@1: } duke@1: } duke@1: duke@1: class Unchecked4 duke@1: { duke@1: void m() { duke@1: @SuppressWarnings("unchecked") duke@1: class Inner { duke@1: void m() { duke@1: List l = new ArrayList(); duke@1: l.add("abc"); duke@1: } duke@1: } duke@1: } duke@1: } duke@1: duke@1: // this class should produce warnings because @SuppressWarnings should not be inherited duke@1: class Unchecked5 extends Unchecked2 duke@1: { duke@1: void m() { duke@1: List l = new ArrayList(); duke@1: l.add("abc"); duke@1: } duke@1: }