20 * CA 95054 USA or visit www.sun.com if you need additional information or
21 * have any questions.
22 */
23
24 /*
25 * @test
26 * @bug 6346506 6408241
27 * @summary getTypeElement should tolerate a type that can't be found
28 * @author Scott Seligman
29 * @build GetTypeElemBadArg
30 * @compile -processor GetTypeElemBadArg -proc:only GetTypeElemBadArg.java
31 */
32
33 import java.util.Set;
34 import javax.annotation.processing.*;
35 import javax.lang.model.SourceVersion;
36 import javax.lang.model.element.*;
37 import javax.lang.model.type.*;
38 import javax.lang.model.util.*;
39
40 @SupportedSourceVersion(SourceVersion.RELEASE_6)
41 @SupportedAnnotationTypes("*")
42 public class GetTypeElemBadArg extends AbstractProcessor {
43
44 Elements elements;
45
46 public void init(ProcessingEnvironment penv) {
47 super.init(penv);
48 elements = penv.getElementUtils();
49 }
50
51 public boolean process(Set<? extends TypeElement> tes,
52 RoundEnvironment round) {
53 if (round.processingOver()) return true;
54
55 // A missing superclass should be tolerated.
56 TypeElement te = elements.getTypeElement("Superless");
57 tellAbout(te);
58
59 te = elements.getTypeElement("Bo.o.o.gus");
60 if (te != null) {
61 tellAbout(te);
62 throw new AssertionError();
63 }
64 return true;
65 }
66
67 private static void tellAbout(TypeElement t) {
68 System.out.println(t);
69 System.out.println(t.getClass());
70 System.out.println(t.getKind());
71 System.out.println();
72 }
73 }
|
20 * CA 95054 USA or visit www.sun.com if you need additional information or
21 * have any questions.
22 */
23
24 /*
25 * @test
26 * @bug 6346506 6408241
27 * @summary getTypeElement should tolerate a type that can't be found
28 * @author Scott Seligman
29 * @build GetTypeElemBadArg
30 * @compile -processor GetTypeElemBadArg -proc:only GetTypeElemBadArg.java
31 */
32
33 import java.util.Set;
34 import javax.annotation.processing.*;
35 import javax.lang.model.SourceVersion;
36 import javax.lang.model.element.*;
37 import javax.lang.model.type.*;
38 import javax.lang.model.util.*;
39
40 @SupportedAnnotationTypes("*")
41 public class GetTypeElemBadArg extends AbstractProcessor {
42
43 Elements elements;
44
45 public void init(ProcessingEnvironment penv) {
46 super.init(penv);
47 elements = penv.getElementUtils();
48 }
49
50 public boolean process(Set<? extends TypeElement> tes,
51 RoundEnvironment round) {
52 if (round.processingOver()) return true;
53
54 // A missing superclass should be tolerated.
55 TypeElement te = elements.getTypeElement("Superless");
56 tellAbout(te);
57
58 te = elements.getTypeElement("Bo.o.o.gus");
59 if (te != null) {
60 tellAbout(te);
61 throw new AssertionError();
62 }
63 return true;
64 }
65
66
67 @Override
68 public SourceVersion getSupportedSourceVersion() {
69 return SourceVersion.latest();
70 }
71
72 private static void tellAbout(TypeElement t) {
73 System.out.println(t);
74 System.out.println(t.getClass());
75 System.out.println(t.getKind());
76 System.out.println();
77 }
78 }
|