diff -r 000000000000 -r 959103a6100f test/tools/javac/warnings/Unchecked.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/tools/javac/warnings/Unchecked.java Wed Apr 27 01:34:52 2016 +0800 @@ -0,0 +1,60 @@ +/** + * @test /nodynamiccopyright/ + * @bug 4986256 + * @compile/ref=Unchecked.noLint.out -XDrawDiagnostics Unchecked.java + * @compile/ref=Unchecked.lintUnchecked.out -Xlint:unchecked -XDrawDiagnostics Unchecked.java + * @compile/ref=Unchecked.lintAll.out -Xlint:all,-path -XDrawDiagnostics Unchecked.java + */ + +import java.util.ArrayList; +import java.util.List; + +// control: this class should generate warnings +class Unchecked +{ + void m() { + List l = new ArrayList(); + l.add("abc"); + } +} + +// tests: the warnings that would otherwise be generated should all be suppressed +@SuppressWarnings("unchecked") +class Unchecked2 +{ + void m() { + List l = new ArrayList(); + l.add("abc"); + } +} + +class Unchecked3 +{ + @SuppressWarnings("unchecked") + void m() { + List l = new ArrayList(); + l.add("abc"); + } +} + +class Unchecked4 +{ + void m() { + @SuppressWarnings("unchecked") + class Inner { + void m() { + List l = new ArrayList(); + l.add("abc"); + } + } + } +} + +// this class should produce warnings because @SuppressWarnings should not be inherited +class Unchecked5 extends Unchecked2 +{ + void m() { + List l = new ArrayList(); + l.add("abc"); + } +}