1 /* |
1 /* |
2 * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
24 /* |
24 /* |
25 * @test |
25 * @test |
26 * @bug 6346506 6408241 |
26 * @bug 6346506 6408241 |
27 * @summary getTypeElement should tolerate a type that can't be found |
27 * @summary getTypeElement should tolerate a type that can't be found |
28 * @author Scott Seligman |
28 * @author Scott Seligman |
29 * @build GetTypeElemBadArg |
29 * @library ../../../lib |
|
30 * @build JavacTestingAbstractProcessor GetTypeElemBadArg |
30 * @compile -processor GetTypeElemBadArg -proc:only GetTypeElemBadArg.java |
31 * @compile -processor GetTypeElemBadArg -proc:only GetTypeElemBadArg.java |
31 */ |
32 */ |
32 |
33 |
33 import java.util.Set; |
34 import java.util.Set; |
34 import javax.annotation.processing.*; |
35 import javax.annotation.processing.*; |
35 import javax.lang.model.SourceVersion; |
36 import javax.lang.model.SourceVersion; |
36 import javax.lang.model.element.*; |
37 import javax.lang.model.element.*; |
37 import javax.lang.model.type.*; |
38 import javax.lang.model.type.*; |
38 import javax.lang.model.util.*; |
39 import javax.lang.model.util.*; |
39 |
40 |
40 @SupportedAnnotationTypes("*") |
41 public class GetTypeElemBadArg extends JavacTestingAbstractProcessor { |
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, |
42 public boolean process(Set<? extends TypeElement> tes, |
51 RoundEnvironment round) { |
43 RoundEnvironment round) { |
52 if (round.processingOver()) return true; |
44 if (round.processingOver()) return true; |
53 |
45 |
54 // A missing superclass should be tolerated. |
46 // A missing superclass should be tolerated. |
61 throw new AssertionError(); |
53 throw new AssertionError(); |
62 } |
54 } |
63 return true; |
55 return true; |
64 } |
56 } |
65 |
57 |
66 |
|
67 @Override |
|
68 public SourceVersion getSupportedSourceVersion() { |
|
69 return SourceVersion.latest(); |
|
70 } |
|
71 |
|
72 private static void tellAbout(TypeElement t) { |
58 private static void tellAbout(TypeElement t) { |
73 System.out.println(t); |
59 System.out.println(t); |
74 System.out.println(t.getClass()); |
60 System.out.println(t.getClass()); |
75 System.out.println(t.getKind()); |
61 System.out.println(t.getKind()); |
76 System.out.println(); |
62 System.out.println(); |