88 throw new AssertionError();
89 }
90 public static void main(String... args) {
91 new T6468404().test(args);
92 }
93
94 }
95
96 class DummyFO extends SimpleJavaFileObject {
97 String n;
98 public DummyFO(String n) {
99 super(URI.create("nowhere:/" + n + ".java"), JavaFileObject.Kind.SOURCE);
100 this.n = n;
101 }
102 public CharSequence getCharContent(boolean ignoreEncodingErrors) throws IOException {
103 return "public class " + n + " {" + n + "(java.util.List<String> l) {}}";
104 }
105 }
106
107 @SupportedAnnotationTypes("*")
108 @SupportedSourceVersion(SourceVersion.RELEASE_6)
109 class P extends AbstractProcessor {
110 boolean ran = false;
111
112 Elements elements;
113
114 @Override
115 public synchronized void init(ProcessingEnvironment processingEnv) {
116 super.init(processingEnv);
117 elements = processingEnv.getElementUtils();
118 }
119
120 ExecutableElement getFirstMethodIn(String name) {
121 return (ExecutableElement)elements.getTypeElement(name).getEnclosedElements().get(0);
122 }
123
124 boolean isParameterized(TypeMirror type) {
125 return !((DeclaredType)type).getTypeArguments().isEmpty();
126 }
127
128 @Override
129 public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
130 if (!ran) {
131 ran = true;
132 ExecutableElement m = getFirstMethodIn("C");
133 System.err.println("method: " + m);
134
135 TypeMirror type = (DeclaredType)m.getParameters().get(0).asType();
136 System.err.println("parameters[0]: " + type);
137 if (!isParameterized(type))
138 throw new AssertionError(type);
139
140 type = ((ExecutableType)m.asType()).getParameterTypes().get(0);
141 System.err.println("parameterTypes[0]: " + type);
142 if (!isParameterized(type))
143 throw new AssertionError(type);
144 System.err.println();
145 }
146 return true;
147 }
148 }
|
88 throw new AssertionError();
89 }
90 public static void main(String... args) {
91 new T6468404().test(args);
92 }
93
94 }
95
96 class DummyFO extends SimpleJavaFileObject {
97 String n;
98 public DummyFO(String n) {
99 super(URI.create("nowhere:/" + n + ".java"), JavaFileObject.Kind.SOURCE);
100 this.n = n;
101 }
102 public CharSequence getCharContent(boolean ignoreEncodingErrors) throws IOException {
103 return "public class " + n + " {" + n + "(java.util.List<String> l) {}}";
104 }
105 }
106
107 @SupportedAnnotationTypes("*")
108 class P extends AbstractProcessor {
109 boolean ran = false;
110
111 Elements elements;
112
113 @Override
114 public synchronized void init(ProcessingEnvironment processingEnv) {
115 super.init(processingEnv);
116 elements = processingEnv.getElementUtils();
117 }
118
119 ExecutableElement getFirstMethodIn(String name) {
120 return (ExecutableElement)elements.getTypeElement(name).getEnclosedElements().get(0);
121 }
122
123 boolean isParameterized(TypeMirror type) {
124 return !((DeclaredType)type).getTypeArguments().isEmpty();
125 }
126
127 @Override
128 public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
129 if (!ran) {
130 ran = true;
131 ExecutableElement m = getFirstMethodIn("C");
132 System.err.println("method: " + m);
133
134 TypeMirror type = (DeclaredType)m.getParameters().get(0).asType();
135 System.err.println("parameters[0]: " + type);
136 if (!isParameterized(type))
137 throw new AssertionError(type);
138
139 type = ((ExecutableType)m.asType()).getParameterTypes().get(0);
140 System.err.println("parameterTypes[0]: " + type);
141 if (!isParameterized(type))
142 throw new AssertionError(type);
143 System.err.println();
144 }
145 return true;
146 }
147
148 @Override
149 public SourceVersion getSupportedSourceVersion() {
150 return SourceVersion.latest();
151 }
152 }
|