From 1dcbc161c403f62eed87603ce79f8bf2f266b778 Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Tue, 18 Aug 2015 23:12:17 +0200 Subject: [Closes #855] [jdk8] annotations are now legit on types and type parameters in JDK8, but we’d print errors in delombok when encountering these. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/pretty/resource/after/TypeAnnotations.java | 22 ++++++++++++++++++++++ test/pretty/resource/before/TypeAnnotations.java | 23 +++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 test/pretty/resource/after/TypeAnnotations.java create mode 100644 test/pretty/resource/before/TypeAnnotations.java (limited to 'test') diff --git a/test/pretty/resource/after/TypeAnnotations.java b/test/pretty/resource/after/TypeAnnotations.java new file mode 100644 index 00000000..760b5ef8 --- /dev/null +++ b/test/pretty/resource/after/TypeAnnotations.java @@ -0,0 +1,22 @@ +import java.lang.annotation.ElementType; +import java.lang.annotation.Target; +import java.util.List; +import java.util.Map; +public class TypeAnnotations { + @Target({ElementType.TYPE_USE, ElementType.LOCAL_VARIABLE}) + @interface Foo { + } + @Target(ElementType.TYPE_USE) + @interface Bar { + } + public List<@Foo String> test(@Foo String param) { + @Bar + String local = "bar"; + @Foo + java.io.@Foo File[] array = {}; + return new java.util.@Foo ArrayList(); + } + public <@Foo T extends java.lang.@Foo Number> T test2(@Bar String... varargs) { + return null; + } +} diff --git a/test/pretty/resource/before/TypeAnnotations.java b/test/pretty/resource/before/TypeAnnotations.java new file mode 100644 index 00000000..a39337da --- /dev/null +++ b/test/pretty/resource/before/TypeAnnotations.java @@ -0,0 +1,23 @@ +// version 8: +import java.lang.annotation.ElementType; +import java.lang.annotation.Target; +import java.util.List; +import java.util.Map; + +public class TypeAnnotations { + @Target({ElementType.TYPE_USE, ElementType.LOCAL_VARIABLE}) + @interface Foo {} + + @Target(ElementType.TYPE_USE) + @interface Bar {} + + public List<@Foo String> test(@Foo String param) { + @Bar String local = "bar"; + @Foo java.io.@Foo File[] array = {}; + return new java.util.@Foo ArrayList(); + } + + public <@Foo T extends java.lang.@Foo Number> T test2(@Bar String... varargs) { + return null; + } +} -- cgit