Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesper S Moller2013-03-15 15:06:35 +0000
committerssankaran2013-03-15 15:06:35 +0000
commitfe98ddbed4cd1f8bb449a78291ed05ed04f18196 (patch)
treef5cab9d1a933bbdbfc1b49a5dafbdaecaa6b2051
parent79e266e9fa3c92d3c79f9b02e4b66f170c6636c7 (diff)
downloadeclipse.jdt.core-fe98ddbed4cd1f8bb449a78291ed05ed04f18196.tar.gz
eclipse.jdt.core-fe98ddbed4cd1f8bb449a78291ed05ed04f18196.tar.xz
eclipse.jdt.core-fe98ddbed4cd1f8bb449a78291ed05ed04f18196.zip
Data files to test Bug 402892 - [1.8][formatter] Code formatter should
understand type annotations - derived from eclipse sources
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/.classpath6
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/.project17
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test000/I_in.java12
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test000/I_out.java13
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test001/X_in.java9
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test001/X_out.java12
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test002/X_in.java6
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test002/X_out.java9
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test003/X_in.java6
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test003/X_out.java14
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test004/X_in.java8
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test004/X_out.java16
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test005/X_in.java6
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test005/X_out.java11
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test006/X_in.java6
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test006/X_out.java12
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test007/X_in.java6
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test007/X_out.java11
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test008/X_in.java9
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test008/X_out.java11
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test009/X_in.java11
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test009/X_out.java17
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test010/X_in.java2
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test010/X_out.java2
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test011/X_in.java10
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test011/X_out.java16
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test012/X_in.java11
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test012/X_out.java20
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test013/X_in.java6
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test013/X_out.java13
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test014/X_in.java6
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test014/X_out.java6
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test015/X_in.java9
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test015/X_out.java10
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test016/X_in.java7
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test016/X_out.java7
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test017/X_in.java7
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test017/X_out.java7
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test018/X_in.java6
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test018/X_out.java6
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test019/X_in.java4
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test019/X_out.java6
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test020/X_in.java4
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test020/X_out.java6
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test021/X_in.java4
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test021/X_out.java6
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test022/X_in.java4
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test022/X_out.java6
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test023/X_in.java4
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test023/X_out.java9
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test024/X_in.java3
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test024/X_out.java5
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test025/X_in.java5
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test025/X_out.java6
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test026/X_in.java17
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test026/X_out.java19
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test027/X_in.java7
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test027/X_out.java7
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test028/X_in.java5
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test028/X_out.java5
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test029/X_in.java5
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test029/X_out.java7
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test030/X_in.java6
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test030/X_out.java8
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test031/X_in.java2
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test031/X_out.java2
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test032/X_in.java4
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test032/X_out.java4
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test033/X_in.java6
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test033/X_out.java7
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test034/X_in.java7
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test034/X_out.java9
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test035/X_in.java3
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test035/X_out.java5
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test036/X_in.java6
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test036/X_out.java14
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test037/X_in.java19
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test037/X_out.java21
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test038/X_in.java25
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test038/X_out.java29
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test039/X_in.java6
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test039/X_out.java6
82 files changed, 712 insertions, 0 deletions
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/.classpath b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/.classpath
new file mode 100644
index 0000000000..e4ac6110d6
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/.classpath
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path=""/>
+ <classpathentry kind="var" path="JCL18_LIB" sourcepath="JCL18_SRC" rootpath="JCL_SRC18ROOT"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath> \ No newline at end of file
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/.project b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/.project
new file mode 100644
index 0000000000..8999ad1f5c
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>FormatterJSR308</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test000/I_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test000/I_in.java
new file mode 100644
index 0000000000..04c7c8afab
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test000/I_in.java
@@ -0,0 +1,12 @@
+public interface I<U extends J<? extends I<U>>> {
+}
+interface J<T extends I<? extends J<T>>> {
+}
+class CI<U extends CJ<T, U> & @Marker J<@Marker T>,
+ T extends CI<U, T> & @Marker I<U>>
+ implements I<U> {
+}
+class CJ<T extends CI<U, T> & @Marker I<@Marker U>,
+ U extends CJ<T, U> & J<T>>
+ implements J<T> {
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test000/I_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test000/I_out.java
new file mode 100644
index 0000000000..22f5604c79
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test000/I_out.java
@@ -0,0 +1,13 @@
+public interface I<U extends J<? extends I<U>>> {
+}
+
+interface J<T extends I<? extends J<T>>> {
+}
+
+class CI<U extends CJ<T, U> & @Marker J<@Marker T>, T extends CI<U, T> & @Marker I<U>>
+ implements I<U> {
+}
+
+class CJ<T extends CI<U, T> & @Marker I<@Marker U>, U extends CJ<T, U> & J<T>>
+ implements J<T> {
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test001/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test001/X_in.java
new file mode 100644
index 0000000000..a27fd9255b
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test001/X_in.java
@@ -0,0 +1,9 @@
+public class X<E> {
+ class Y {
+ E e;
+ E getOtherElement(Object other) {
+ if (!(other instanceof @Marker X<?>.Y)) {};
+ return null;
+ }
+ }
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test001/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test001/X_out.java
new file mode 100644
index 0000000000..a283b873b7
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test001/X_out.java
@@ -0,0 +1,12 @@
+public class X<E> {
+ class Y {
+ E e;
+
+ E getOtherElement(Object other) {
+ if (!(other instanceof @Marker X<?>.Y)) {
+ }
+ ;
+ return null;
+ }
+ }
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test002/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test002/X_in.java
new file mode 100644
index 0000000000..b9fdcd2e1e
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test002/X_in.java
@@ -0,0 +1,6 @@
+public class X {
+ @Marker int x;
+ Zork z;
+}
+@java.lang.annotation.Target (java.lang.annotation.ElementType.TYPE_PARAMETER)
+@interface Marker {}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test002/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test002/X_out.java
new file mode 100644
index 0000000000..da9ad519ea
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test002/X_out.java
@@ -0,0 +1,9 @@
+public class X {
+ @Marker
+ int x;
+ Zork z;
+}
+
+@java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE_PARAMETER)
+@interface Marker {
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test003/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test003/X_in.java
new file mode 100644
index 0000000000..33a996f85d
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test003/X_in.java
@@ -0,0 +1,6 @@
+public class X {
+ @Marker <T> int x() { return 10; };
+ Zork z;
+}
+interface Zork {}
+@interface Marker {}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test003/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test003/X_out.java
new file mode 100644
index 0000000000..d024277af0
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test003/X_out.java
@@ -0,0 +1,14 @@
+public class X {
+ @Marker
+ <T> int x() {
+ return 10;
+ };
+
+ Zork z;
+}
+
+interface Zork {
+}
+
+@interface Marker {
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test004/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test004/X_in.java
new file mode 100644
index 0000000000..cff388494d
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test004/X_in.java
@@ -0,0 +1,8 @@
+public class X {
+ int x(@Marker1 int [] @Marker2 ... p) { return 10; };
+ Zork z;
+}
+interface Zork {}
+@interface Marker1 {}
+@interface Marker2 {}
+
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test004/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test004/X_out.java
new file mode 100644
index 0000000000..3bf385351c
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test004/X_out.java
@@ -0,0 +1,16 @@
+public class X {
+ int x(@Marker1 int[] @Marker2... p) {
+ return 10;
+ };
+
+ Zork z;
+}
+
+interface Zork {
+}
+
+@interface Marker1 {
+}
+
+@interface Marker2 {
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test005/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test005/X_in.java
new file mode 100644
index 0000000000..b4529dbd4c
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test005/X_in.java
@@ -0,0 +1,6 @@
+public class X {
+ int x(@Marker int ... p) { return 10; };
+ Zork z;
+}
+@java.lang.annotation.Target (java.lang.annotation.ElementType.TYPE_PARAMETER)
+@interface Marker {}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test005/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test005/X_out.java
new file mode 100644
index 0000000000..ebc19a37d5
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test005/X_out.java
@@ -0,0 +1,11 @@
+public class X {
+ int x(@Marker int... p) {
+ return 10;
+ };
+
+ Zork z;
+}
+
+@java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE_PARAMETER)
+@interface Marker {
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test006/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test006/X_in.java
new file mode 100644
index 0000000000..0b43e96a78
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test006/X_in.java
@@ -0,0 +1,6 @@
+public class X {
+ @Marker int x() { return 10; };
+ Zork z;
+}
+@java.lang.annotation.Target (java.lang.annotation.ElementType.TYPE_PARAMETER)
+@interface Marker {}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test006/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test006/X_out.java
new file mode 100644
index 0000000000..77188c7977
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test006/X_out.java
@@ -0,0 +1,12 @@
+public class X {
+ @Marker
+ int x() {
+ return 10;
+ };
+
+ Zork z;
+}
+
+@java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE_PARAMETER)
+@interface Marker {
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test007/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test007/X_in.java
new file mode 100644
index 0000000000..d7d5c6b556
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test007/X_in.java
@@ -0,0 +1,6 @@
+public class X {
+ int x(@Marker int p) { return 10; };
+ Zork z;
+}
+@java.lang.annotation.Target (java.lang.annotation.ElementType.TYPE_PARAMETER)
+@interface Marker {}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test007/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test007/X_out.java
new file mode 100644
index 0000000000..2de1d7af56
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test007/X_out.java
@@ -0,0 +1,11 @@
+public class X {
+ int x(@Marker int p) {
+ return 10;
+ };
+
+ Zork z;
+}
+
+@java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE_PARAMETER)
+@interface Marker {
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test008/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test008/X_in.java
new file mode 100644
index 0000000000..c8142b8e68
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test008/X_in.java
@@ -0,0 +1,9 @@
+public class X {
+ int x() {
+ try {
+ } catch (@Marker NullPointerException | @Marker ArrayIndexOutOfBoundsException e) {
+ }
+ return 10;
+ }
+ Zork z;
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test008/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test008/X_out.java
new file mode 100644
index 0000000000..c9943bd484
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test008/X_out.java
@@ -0,0 +1,11 @@
+public class X {
+ int x() {
+ try {
+ } catch (@Marker NullPointerException
+ | @Marker ArrayIndexOutOfBoundsException e) {
+ }
+ return 10;
+ }
+
+ Zork z;
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test009/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test009/X_in.java
new file mode 100644
index 0000000000..be0b6a4fc4
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test009/X_in.java
@@ -0,0 +1,11 @@
+public class X {
+ int x() {
+ @Marker int p;
+ final @Marker int q;
+ @Marker final int r;
+ return 10;
+ }
+ Zork z;
+}
+@java.lang.annotation.Target (java.lang.annotation.ElementType.TYPE_PARAMETER)
+@interface Marker {}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test009/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test009/X_out.java
new file mode 100644
index 0000000000..021c085d95
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test009/X_out.java
@@ -0,0 +1,17 @@
+public class X {
+ int x() {
+ @Marker
+ int p;
+ final @Marker
+ int q;
+ @Marker
+ final int r;
+ return 10;
+ }
+
+ Zork z;
+}
+
+@java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE_PARAMETER)
+@interface Marker {
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test010/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test010/X_in.java
new file mode 100644
index 0000000000..8b46e4f6d5
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test010/X_in.java
@@ -0,0 +1,2 @@
+public class X extends @Marker @SingleMember(0) @Normal(Value = 0) Object {
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test010/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test010/X_out.java
new file mode 100644
index 0000000000..8b46e4f6d5
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test010/X_out.java
@@ -0,0 +1,2 @@
+public class X extends @Marker @SingleMember(0) @Normal(Value = 0) Object {
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test011/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test011/X_in.java
new file mode 100644
index 0000000000..5119c32294
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test011/X_in.java
@@ -0,0 +1,10 @@
+public class X {
+ int x() {
+ try (@Marker Integer p = null; final @Marker Integer q = null; @Marker final Integer r = null) {
+ }
+ return 10;
+ }
+ Zork z;
+}
+@java.lang.annotation.Target (java.lang.annotation.ElementType.TYPE_PARAMETER)
+@interface Marker {}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test011/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test011/X_out.java
new file mode 100644
index 0000000000..2b542e887a
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test011/X_out.java
@@ -0,0 +1,16 @@
+public class X {
+ int x() {
+ try (@Marker
+ Integer p = null; final @Marker
+ Integer q = null; @Marker
+ final Integer r = null) {
+ }
+ return 10;
+ }
+
+ Zork z;
+}
+
+@java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE_PARAMETER)
+@interface Marker {
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test012/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test012/X_in.java
new file mode 100644
index 0000000000..5a7589fe17
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test012/X_in.java
@@ -0,0 +1,11 @@
+public class X {
+ int x() {
+ for (@Marker int i: new int[3]) {}
+ for (final @Marker int i: new int[3]) {}
+ for (@Marker final int i: new int[3]) {}
+ return 10;
+ }
+ Zork z;
+}
+@java.lang.annotation.Target (java.lang.annotation.ElementType.TYPE_PARAMETER)
+@interface Marker {}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test012/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test012/X_out.java
new file mode 100644
index 0000000000..f7f03b7106
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test012/X_out.java
@@ -0,0 +1,20 @@
+public class X {
+ int x() {
+ for (@Marker
+ int i : new int[3]) {
+ }
+ for (final @Marker
+ int i : new int[3]) {
+ }
+ for (@Marker
+ final int i : new int[3]) {
+ }
+ return 10;
+ }
+
+ Zork z;
+}
+
+@java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE_PARAMETER)
+@interface Marker {
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test013/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test013/X_in.java
new file mode 100644
index 0000000000..ddd96257e2
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test013/X_in.java
@@ -0,0 +1,6 @@
+public @interface X {
+ public @Marker String value();
+ @Marker String value2();
+ @Marker public String value3();
+}
+@interface Marker {}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test013/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test013/X_out.java
new file mode 100644
index 0000000000..2143a07d20
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test013/X_out.java
@@ -0,0 +1,13 @@
+public @interface X {
+ public @Marker
+ String value();
+
+ @Marker
+ String value2();
+
+ @Marker
+ public String value3();
+}
+
+@interface Marker {
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test014/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test014/X_in.java
new file mode 100644
index 0000000000..6715106b77
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test014/X_in.java
@@ -0,0 +1,6 @@
+public class X {
+ public void value() {
+ Object o = @Marker int.class;
+ Object o2 = @Marker int @Marker[] [] @Marker[].class;
+ }
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test014/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test014/X_out.java
new file mode 100644
index 0000000000..e8a3c00c6d
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test014/X_out.java
@@ -0,0 +1,6 @@
+public class X {
+ public void value() {
+ Object o = @Marker int.class;
+ Object o2 = @Marker int @Marker[] [] @Marker[].class;
+ }
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test015/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test015/X_in.java
new file mode 100644
index 0000000000..324a1570d5
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test015/X_in.java
@@ -0,0 +1,9 @@
+interface I {
+ Object copy(int [] ia);
+}
+public class X {
+ public static void main(String [] args) {
+ I i = @Marker int @Marker []::<String>clone;
+ Zork z;
+ }
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test015/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test015/X_out.java
new file mode 100644
index 0000000000..70fe5a077b
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test015/X_out.java
@@ -0,0 +1,10 @@
+interface I {
+ Object copy(int[] ia);
+}
+
+public class X {
+ public static void main(String[] args) {
+ I i = @Marker int @Marker[]::<String> clone;
+ Zork z;
+ }
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test016/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test016/X_in.java
new file mode 100644
index 0000000000..d9f939b99c
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test016/X_in.java
@@ -0,0 +1,7 @@
+public class X {
+ public static void main(String [] args) {
+ int i [] = new @Marker int @Marker [4];
+ int j [] = new @Marker int @Marker [] { 10 };
+ Zork z;
+ }
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test016/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test016/X_out.java
new file mode 100644
index 0000000000..c58da4ab19
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test016/X_out.java
@@ -0,0 +1,7 @@
+public class X {
+ public static void main(String[] args) {
+ int i[] = new @Marker int @Marker[4];
+ int j[] = new @Marker int @Marker[] { 10 };
+ Zork z;
+ }
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test017/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test017/X_in.java
new file mode 100644
index 0000000000..ae4e9af67a
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test017/X_in.java
@@ -0,0 +1,7 @@
+public class X {
+ public static void main(String [] args) {
+ int i = (@Marker int) 0;
+ int j [] = (@Marker int @Marker []) null;
+ Zork z;
+ }
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test017/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test017/X_out.java
new file mode 100644
index 0000000000..d917b09dcb
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test017/X_out.java
@@ -0,0 +1,7 @@
+public class X {
+ public static void main(String[] args) {
+ int i = (@Marker int) 0;
+ int j[] = (@Marker int @Marker[]) null;
+ Zork z;
+ }
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test018/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test018/X_in.java
new file mode 100644
index 0000000000..11028f1985
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test018/X_in.java
@@ -0,0 +1,6 @@
+public class X {
+ public static void main(String [] args) {
+ if (args instanceof @Readonly String) {
+ }
+ }
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test018/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test018/X_out.java
new file mode 100644
index 0000000000..42c8905259
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test018/X_out.java
@@ -0,0 +1,6 @@
+public class X {
+ public static void main(String[] args) {
+ if (args instanceof @Readonly String) {
+ }
+ }
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test019/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test019/X_in.java
new file mode 100644
index 0000000000..a665ecce35
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test019/X_in.java
@@ -0,0 +1,4 @@
+public class X extends Y<@Marker Integer, String> {}
+class Y<T, V> {
+ Zork z;
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test019/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test019/X_out.java
new file mode 100644
index 0000000000..60621526e0
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test019/X_out.java
@@ -0,0 +1,6 @@
+public class X extends Y<@Marker Integer, String> {
+}
+
+class Y<T, V> {
+ Zork z;
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test020/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test020/X_in.java
new file mode 100644
index 0000000000..0e1ced7692
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test020/X_in.java
@@ -0,0 +1,4 @@
+public class X extends Y<@Marker Integer> {}
+class Y<T> {
+ Zork z;
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test020/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test020/X_out.java
new file mode 100644
index 0000000000..672b9c5d15
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test020/X_out.java
@@ -0,0 +1,6 @@
+public class X extends Y<@Marker Integer> {
+}
+
+class Y<T> {
+ Zork z;
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test021/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test021/X_in.java
new file mode 100644
index 0000000000..c6a491eaa1
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test021/X_in.java
@@ -0,0 +1,4 @@
+public class X<T extends Object & Comparable<? super @Marker String>> {}
+class Y<T> {
+ Zork z;
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test021/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test021/X_out.java
new file mode 100644
index 0000000000..7af9097162
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test021/X_out.java
@@ -0,0 +1,6 @@
+public class X<T extends Object & Comparable<? super @Marker String>> {
+}
+
+class Y<T> {
+ Zork z;
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test022/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test022/X_in.java
new file mode 100644
index 0000000000..65532700b3
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test022/X_in.java
@@ -0,0 +1,4 @@
+public class X<A extends X<X<X<@Marker String>>>> {}
+class Y<T> {
+ Zork z;
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test022/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test022/X_out.java
new file mode 100644
index 0000000000..ceeca9e6f7
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test022/X_out.java
@@ -0,0 +1,6 @@
+public class X<A extends X<X<X<@Marker String>>>> {
+}
+
+class Y<T> {
+ Zork z;
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test023/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test023/X_in.java
new file mode 100644
index 0000000000..8834dd133b
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test023/X_in.java
@@ -0,0 +1,4 @@
+public class X {
+ void foo(Map<@Marker ? super @Marker Object, @Marker ? extends @Marker String> m){}
+ void goo(Map<@Marker ? extends @Marker Object, @Marker ? super @Marker String> m){}
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test023/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test023/X_out.java
new file mode 100644
index 0000000000..48495f199e
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test023/X_out.java
@@ -0,0 +1,9 @@
+public class X {
+ void foo(
+ Map<@Marker ? super @Marker Object, @Marker ? extends @Marker String> m) {
+ }
+
+ void goo(
+ Map<@Marker ? extends @Marker Object, @Marker ? super @Marker String> m) {
+ }
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test024/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test024/X_in.java
new file mode 100644
index 0000000000..425d878d3c
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test024/X_in.java
@@ -0,0 +1,3 @@
+public class X <@Marker T extends @Marker Y<@Marker ?>, @Marker Q extends @Marker Integer> {
+}
+class Y<T> {}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test024/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test024/X_out.java
new file mode 100644
index 0000000000..80883d9a0d
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test024/X_out.java
@@ -0,0 +1,5 @@
+public class X<@Marker T extends @Marker Y<@Marker ?>, @Marker Q extends @Marker Integer> {
+}
+
+class Y<T> {
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test025/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test025/X_in.java
new file mode 100644
index 0000000000..f449181874
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test025/X_in.java
@@ -0,0 +1,5 @@
+public class X<P, C> {
+ public X() {
+ if (!(this instanceof @Marker X)) {}
+ }
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test025/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test025/X_out.java
new file mode 100644
index 0000000000..8e820949c7
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test025/X_out.java
@@ -0,0 +1,6 @@
+public class X<P, C> {
+ public X() {
+ if (!(this instanceof @Marker X)) {
+ }
+ }
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test026/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test026/X_in.java
new file mode 100644
index 0000000000..5ac77c1225
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test026/X_in.java
@@ -0,0 +1,17 @@
+interface I {
+ void foo(Y<String>.Z z, int x);
+}
+public class X {
+ public static void main(String [] args) {
+ I i = Y<String>.@Marker Z::foo;
+ i.foo(new Y<String>().new Z(), 10);
+ Zork z;
+ }
+}
+class Y<T> {
+ class Z {
+ void foo(int x) {
+ System.out.println(x);
+ }
+ }
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test026/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test026/X_out.java
new file mode 100644
index 0000000000..d5b9483b1b
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test026/X_out.java
@@ -0,0 +1,19 @@
+interface I {
+ void foo(Y<String>.Z z, int x);
+}
+
+public class X {
+ public static void main(String[] args) {
+ I i = Y<String>.@Marker Z::foo;
+ i.foo(new Y<String>().new Z(), 10);
+ Zork z;
+ }
+}
+
+class Y<T> {
+ class Z {
+ void foo(int x) {
+ System.out.println(x);
+ }
+ }
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test027/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test027/X_in.java
new file mode 100644
index 0000000000..7f5d9901cf
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test027/X_in.java
@@ -0,0 +1,7 @@
+public class X {
+ public static void main(String [] args) {
+ X [] x = new @Marker X @Marker [5];
+ X [] x2 = new @Marker X @Marker [] { null };
+ Zork z;
+ }
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test027/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test027/X_out.java
new file mode 100644
index 0000000000..718190a933
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test027/X_out.java
@@ -0,0 +1,7 @@
+public class X {
+ public static void main(String[] args) {
+ X[] x = new @Marker X @Marker[5];
+ X[] x2 = new @Marker X @Marker[] { null };
+ Zork z;
+ }
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test028/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test028/X_in.java
new file mode 100644
index 0000000000..1227a62838
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test028/X_in.java
@@ -0,0 +1,5 @@
+public class X {
+ public static void main(String [] args) {
+ java.util.Map.Entry [] e = (java.util.Map<String, String>.@Marker Entry []) null;
+ }
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test028/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test028/X_out.java
new file mode 100644
index 0000000000..354334dbab
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test028/X_out.java
@@ -0,0 +1,5 @@
+public class X {
+ public static void main(String[] args) {
+ java.util.Map.Entry[] e = (java.util.Map<String, String>.@Marker Entry[]) null;
+ }
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test029/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test029/X_in.java
new file mode 100644
index 0000000000..7d0480f40c
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test029/X_in.java
@@ -0,0 +1,5 @@
+import java.io.Serializable;
+import java.util.List;
+public class X<T extends Comparable<T> & Serializable> {
+ void foo(List<? extends @Marker Comparable<T>> p) {}
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test029/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test029/X_out.java
new file mode 100644
index 0000000000..8595614ec9
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test029/X_out.java
@@ -0,0 +1,7 @@
+import java.io.Serializable;
+import java.util.List;
+
+public class X<T extends Comparable<T> & Serializable> {
+ void foo(List<? extends @Marker Comparable<T>> p) {
+ }
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test030/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test030/X_in.java
new file mode 100644
index 0000000000..68d19e66d5
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test030/X_in.java
@@ -0,0 +1,6 @@
+class Base {
+}
+class Foo<U extends Base, V extends Bar<U, @Marker Foo<U, V>>> {
+}
+class Bar<E extends Base, F extends Foo<E, @Marker Bar<E, F>>> {
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test030/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test030/X_out.java
new file mode 100644
index 0000000000..3c3e2c240b
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test030/X_out.java
@@ -0,0 +1,8 @@
+class Base {
+}
+
+class Foo<U extends Base, V extends Bar<U, @Marker Foo<U, V>>> {
+}
+
+class Bar<E extends Base, F extends Foo<E, @Marker Bar<E, F>>> {
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test031/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test031/X_in.java
new file mode 100644
index 0000000000..763b6a1025
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test031/X_in.java
@@ -0,0 +1,2 @@
+public class X extends @Marker Object {
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test031/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test031/X_out.java
new file mode 100644
index 0000000000..763b6a1025
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test031/X_out.java
@@ -0,0 +1,2 @@
+public class X extends @Marker Object {
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test032/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test032/X_in.java
new file mode 100644
index 0000000000..306fb63c44
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test032/X_in.java
@@ -0,0 +1,4 @@
+public class X {
+ X x = new @Marker X();
+ X y = new <String> @Marker X();
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test032/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test032/X_out.java
new file mode 100644
index 0000000000..fb1ea4846b
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test032/X_out.java
@@ -0,0 +1,4 @@
+public class X {
+ X x = new @Marker X();
+ X y = new<String> @Marker X();
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test033/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test033/X_in.java
new file mode 100644
index 0000000000..26b1fa718e
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test033/X_in.java
@@ -0,0 +1,6 @@
+public class X {
+ class Y {
+ }
+ Y y1 = new @Marker X().new @Marker Y();
+ Y y2 = new @Marker X().new <String> @Marker Y();
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test033/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test033/X_out.java
new file mode 100644
index 0000000000..0a8f0cc7d0
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test033/X_out.java
@@ -0,0 +1,7 @@
+public class X {
+ class Y {
+ }
+
+ Y y1 = new @Marker X().new @Marker Y();
+ Y y2 = new @Marker X().new<String> @Marker Y();
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test034/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test034/X_in.java
new file mode 100644
index 0000000000..b4bc44329d
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test034/X_in.java
@@ -0,0 +1,7 @@
+public class X {
+ X x;
+ class Y {
+ }
+ Y y1 = x.new @Marker Y();
+ Y y2 = x.new <String> @Marker Y();
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test034/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test034/X_out.java
new file mode 100644
index 0000000000..05b8bd73c3
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test034/X_out.java
@@ -0,0 +1,9 @@
+public class X {
+ X x;
+
+ class Y {
+ }
+
+ Y y1 = x.new @Marker Y();
+ Y y2 = x.new<String> @Marker Y();
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test035/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test035/X_in.java
new file mode 100644
index 0000000000..91acbc3a51
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test035/X_in.java
@@ -0,0 +1,3 @@
+public class X {
+ void foo() throws @Marker NullPointerException, @Marker ArrayIndexOutOfBoundsException {}
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test035/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test035/X_out.java
new file mode 100644
index 0000000000..7994b4eb46
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test035/X_out.java
@@ -0,0 +1,5 @@
+public class X {
+ void foo() throws @Marker NullPointerException,
+ @Marker ArrayIndexOutOfBoundsException {
+ }
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test036/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test036/X_in.java
new file mode 100644
index 0000000000..fb08439983
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test036/X_in.java
@@ -0,0 +1,6 @@
+interface I {}
+interface J {}
+interface K extends @Marker I, @Marker J {}
+interface L {}
+public class X implements @Marker K, @Marker L {
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test036/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test036/X_out.java
new file mode 100644
index 0000000000..b104e33da6
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test036/X_out.java
@@ -0,0 +1,14 @@
+interface I {
+}
+
+interface J {
+}
+
+interface K extends @Marker I, @Marker J {
+}
+
+interface L {
+}
+
+public class X implements @Marker K, @Marker L {
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test037/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test037/X_in.java
new file mode 100644
index 0000000000..034fc8e098
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test037/X_in.java
@@ -0,0 +1,19 @@
+interface I {
+ void foo(int x);
+}
+public class X {
+ public static void main(String [] args) {
+ I i = @Marker Y. @Marker Z @Marker [] [] @Marker [] ::foo;
+ I i2 = @Value("Joe") Y. @Value2(@Value("Joe")) @Marker Z @Marker [] [] @Marker [] ::foo;
+ I i3 = @Value("Duo") Y. @Value2(@Value("Joe")) @Marker Z ::foo;
+ i.foo(10);
+ Zork z;
+ }
+}
+class Y {
+ static class Z {
+ public static void foo(int x) {
+ System.out.println(x);
+ }
+ }
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test037/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test037/X_out.java
new file mode 100644
index 0000000000..777a85d13d
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test037/X_out.java
@@ -0,0 +1,21 @@
+interface I {
+ void foo(int x);
+}
+
+public class X {
+ public static void main(String[] args) {
+ I i = @Marker Y.@Marker Z @Marker[][]@Marker[]::foo;
+ I i2 = @Value("Joe") Y.@Value2(@Value("Joe")) @Marker Z @Marker[][]@Marker[]::foo;
+ I i3 = @Value("Duo") Y.@Value2(@Value("Joe")) @Marker Z::foo;
+ i.foo(10);
+ Zork z;
+ }
+}
+
+class Y {
+ static class Z {
+ public static void foo(int x) {
+ System.out.println(x);
+ }
+ }
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test038/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test038/X_in.java
new file mode 100644
index 0000000000..8e5d1b3934
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test038/X_in.java
@@ -0,0 +1,25 @@
+interface I {
+ Y foo(int x);
+}
+public class X {
+ class Z extends Y {
+ public Z(int x) {
+ super(x);
+ System.out.println();
+ }
+ }
+ public static void main(String [] args) {
+ i = @Marker W<@Marker Integer>::<@Marker String> new;
+ }
+}
+class W<T> extends Y {
+ public W(T x) {
+ super(0);
+ System.out.println(x);
+ }
+}
+class Y {
+ public Y(int x) {
+ System.out.println(x);
+ }
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test038/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test038/X_out.java
new file mode 100644
index 0000000000..e85847c0df
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test038/X_out.java
@@ -0,0 +1,29 @@
+interface I {
+ Y foo(int x);
+}
+
+public class X {
+ class Z extends Y {
+ public Z(int x) {
+ super(x);
+ System.out.println();
+ }
+ }
+
+ public static void main(String[] args) {
+ i = @Marker W<@Marker Integer>::<@Marker String> new;
+ }
+}
+
+class W<T> extends Y {
+ public W(T x) {
+ super(0);
+ System.out.println(x);
+ }
+}
+
+class Y {
+ public Y(int x) {
+ System.out.println(x);
+ }
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test039/X_in.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test039/X_in.java
new file mode 100644
index 0000000000..f8ff5fb436
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test039/X_in.java
@@ -0,0 +1,6 @@
+public class X {
+ Object o = (@Marker X) null;
+ Object p = (@Marker X @Marker []) null;
+ Object q = (@Marker java. @Marker util. @Marker List<@Marker String> []) null;
+ Object r = (@Marker java. @Marker util.@Marker Map<@Marker String, @Marker String>.@Marker Entry @Marker []) null;
+}
diff --git a/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test039/X_out.java b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test039/X_out.java
new file mode 100644
index 0000000000..27a629a6d2
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/FormatterJSR308/test039/X_out.java
@@ -0,0 +1,6 @@
+public class X {
+ Object o = (@Marker X) null;
+ Object p = (@Marker X @Marker[]) null;
+ Object q = (@Marker java.@Marker util.@Marker List<@Marker String>[]) null;
+ Object r = (@Marker java.@Marker util.@Marker Map<@Marker String, @Marker String>.@Marker Entry @Marker[]) null;
+}

Back to the top