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. |
25 * @test |
25 * @test |
26 * @bug 6341534 |
26 * @bug 6341534 |
27 * @summary PackageElement.getEnclosedElements results in NullPointerException from parse(JavaCompiler.java:429) |
27 * @summary PackageElement.getEnclosedElements results in NullPointerException from parse(JavaCompiler.java:429) |
28 * @author Steve Sides |
28 * @author Steve Sides |
29 * @author Peter von der Ahe |
29 * @author Peter von der Ahe |
|
30 * @library ../../../lib |
|
31 * @build JavacTestingAbstractProcessor |
30 * @compile T6341534.java |
32 * @compile T6341534.java |
31 * @compile -proc:only -processor T6341534 dir/package-info.java |
33 * @compile -proc:only -processor T6341534 dir/package-info.java |
32 * @compile -processor T6341534 dir/package-info.java |
34 * @compile -processor T6341534 dir/package-info.java |
33 */ |
35 */ |
34 |
36 |
38 import static javax.lang.model.util.ElementFilter.*; |
40 import static javax.lang.model.util.ElementFilter.*; |
39 import java.util.*; |
41 import java.util.*; |
40 import java.util.Set; |
42 import java.util.Set; |
41 import static javax.tools.Diagnostic.Kind.*; |
43 import static javax.tools.Diagnostic.Kind.*; |
42 |
44 |
43 @SupportedAnnotationTypes("*") |
45 public class T6341534 extends JavacTestingAbstractProcessor { |
44 public class T6341534 extends AbstractProcessor { |
|
45 Elements elements; |
|
46 Messager messager; |
|
47 public void init(ProcessingEnvironment penv) { |
|
48 super.init(penv); |
|
49 elements = penv.getElementUtils(); |
|
50 messager = processingEnv.getMessager(); |
|
51 } |
|
52 |
|
53 public boolean process(Set<? extends TypeElement> tes, RoundEnvironment renv) { |
46 public boolean process(Set<? extends TypeElement> tes, RoundEnvironment renv) { |
54 messager.printMessage(NOTE, |
47 messager.printMessage(NOTE, |
55 String.valueOf(elements.getPackageElement("no.such.package"))); |
48 String.valueOf(eltUtils.getPackageElement("no.such.package"))); |
56 PackageElement dir = elements.getPackageElement("dir"); |
49 PackageElement dir = eltUtils.getPackageElement("dir"); |
57 messager.printMessage(NOTE, dir.getQualifiedName().toString()); |
50 messager.printMessage(NOTE, dir.getQualifiedName().toString()); |
58 for (Element e : dir.getEnclosedElements()) |
51 for (Element e : dir.getEnclosedElements()) |
59 messager.printMessage(NOTE, e.toString()); |
52 messager.printMessage(NOTE, e.toString()); |
60 return true; |
53 return true; |
61 } |
54 } |