1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/test/tools/javac/warnings/Unchecked.java Sat Dec 01 00:00:00 2007 +0000 1.3 @@ -0,0 +1,60 @@ 1.4 +/** 1.5 + * @test /nodynamiccopyright/ 1.6 + * @bug 4986256 1.7 + * @compile/ref=Unchecked.noLint.out -XDstdout -XDrawDiagnostics Unchecked.java 1.8 + * @compile/ref=Unchecked.lintUnchecked.out -XDstdout -Xlint:unchecked -XDrawDiagnostics Unchecked.java 1.9 + * @compile/ref=Unchecked.lintAll.out -XDstdout -Xlint:all,-path -XDrawDiagnostics Unchecked.java 1.10 + */ 1.11 + 1.12 +import java.util.ArrayList; 1.13 +import java.util.List; 1.14 + 1.15 +// control: this class should generate warnings 1.16 +class Unchecked 1.17 +{ 1.18 + void m() { 1.19 + List l = new ArrayList<String>(); 1.20 + l.add("abc"); 1.21 + } 1.22 +} 1.23 + 1.24 +// tests: the warnings that would otherwise be generated should all be suppressed 1.25 +@SuppressWarnings("unchecked") 1.26 +class Unchecked2 1.27 +{ 1.28 + void m() { 1.29 + List l = new ArrayList<String>(); 1.30 + l.add("abc"); 1.31 + } 1.32 +} 1.33 + 1.34 +class Unchecked3 1.35 +{ 1.36 + @SuppressWarnings("unchecked") 1.37 + void m() { 1.38 + List l = new ArrayList<String>(); 1.39 + l.add("abc"); 1.40 + } 1.41 +} 1.42 + 1.43 +class Unchecked4 1.44 +{ 1.45 + void m() { 1.46 + @SuppressWarnings("unchecked") 1.47 + class Inner { 1.48 + void m() { 1.49 + List l = new ArrayList<String>(); 1.50 + l.add("abc"); 1.51 + } 1.52 + } 1.53 + } 1.54 +} 1.55 + 1.56 +// this class should produce warnings because @SuppressWarnings should not be inherited 1.57 +class Unchecked5 extends Unchecked2 1.58 +{ 1.59 + void m() { 1.60 + List l = new ArrayList<String>(); 1.61 + l.add("abc"); 1.62 + } 1.63 +}