| package test404489.bug; |
| import java.lang.annotation.*; |
| public class X { |
| @Target(ElementType.TYPE_USE) |
| @Retention(RetentionPolicy.RUNTIME) |
| @Documented |
| static @interface NonNull { } |
| class Inner {} |
| |
| /** |
| * @param arg |
| */ |
| test404489.bug.@NonNull IOException foo( |
| test404489.bug.@NonNull FileNotFoundException arg) |
| throws test404489.bug.@NonNull EOFException { |
| try { |
| test404489.bug.@NonNull IOError e = new test404489.bug.IOError(); |
| throw e; |
| } catch (test404489.bug.@NonNull IOError e) { |
| } |
| return null; |
| } |
| test404489.bug.@NonNull X.@NonNull Inner fInner; |
| } |
| @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE_USE) @interface Marker {} |
| @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE_USE) @interface A {} |
| @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE_USE) @interface B {} |
| |
| class Outer { |
| public class Inner { |
| public class Deeper {} |
| } |
| } |
| class IOException extends Exception {private static final long serialVersionUID=10001L;} |
| class FileNotFoundException extends Exception{private static final long serialVersionUID=10002L;} |
| class EOFException extends Exception{private static final long serialVersionUID=10003L;} |
| class IOError extends Exception{private static final long serialVersionUID=10004L;} |