blob: b45b36c21986f641707b8ef61137b9e7f258e31e [file] [log] [blame]
/**
* @test /nodynamiccopyright/
* @bug 8021112
* @summary Verify that \\@SuppressWarnings("unchecked") works for type annotations
* @modules jdk.compiler/com.sun.tools.javac.api
* jdk.compiler/com.sun.tools.javac.code
* jdk.compiler/com.sun.tools.javac.file
* jdk.compiler/com.sun.tools.javac.tree
* @ignore 8057683 improve ordering of errors with type annotations
* @build VerifySuppressWarnings
* @compile/ref=TypeAnnotations.out -XDrawDiagnostics -Xlint:unchecked,deprecation,cast TypeAnnotations.java
* @run main VerifySuppressWarnings TypeAnnotations.java
*/
import java.lang.annotation.*;
public class TypeAnnotations extends @TA Object implements @TA Runnable {
public @TA String @TA [] m(@TA String @TA [] p) throws @TA Throwable {
Runnable r = () -> {
@TA Object tested = null;
@TA boolean isAnnotated = tested instanceof @TA String;
};
@TA Object tested = null;
@TA boolean isAnnotated = tested instanceof @TA String;
return (@TA String @TA []) null;
}
{
Runnable r = () -> {
@TA Object tested = null;
@TA boolean isAnnotated = tested instanceof @TA String;
};
@TA Object tested = null;
@TA boolean isAnnotated = tested instanceof @TA String;
@TA String @TA [] ret = (@TA String @TA []) null;
}
@TA String @TA [] f = new @TA String @TA[0];
@Override public void run() { }
public static class Inner extends @TA Object implements @TA Runnable {
@Override public void run() { }
}
}
@Target({ElementType.TYPE_USE, ElementType.TYPE})
@Deprecated
@interface TA {
}