26 import javax.lang.model.element.*;
27 import javax.lang.model.util.*;
28 import static javax.lang.model.util.ElementFilter.*;
29 import static javax.tools.Diagnostic.Kind.*;
30 import java.util.*;
31 import java.util.Set;
32
33 public class b6341534 extends JavacTestingAbstractProcessor {
34 static int r = 0;
35
36 //Create directory 'dir1' and a test class in dir1
37 public boolean process(Set<? extends TypeElement> tes, RoundEnvironment renv)
38 {
39 if(!renv.errorRaised() && !renv.processingOver()){
40 r++;
41 for( TypeElement t : typesIn(renv.getRootElements()) )
42 System.out.println("Round"+r+ ": " + t.toString());
43
44 try {
45 PackageElement PE = eltUtils.getPackageElement("dir1");
46 List<? extends Element> LEE = PE.getEnclosedElements(); /* <=This line elicits the error message. */
47 for(Element e : LEE)
48 System.out.println("found " + e.toString() + " in dir1.");
49 }
50 catch(NullPointerException npe) {
51 messager.printMessage(ERROR,npe.toString());
52 //npe.printStackTrace();
53 return false;
54 }
55 }
56 // on round 1, expect errorRaised == false && processingOver == false
57 // on round 2, expect errorRaised == true && processingOver == true
58 if( renv.errorRaised() != renv.processingOver()) {
59 messager.printMessage(ERROR, "FAILED: round:" + r
60 + ", errorRaised:" + renv.errorRaised()
61 + ", processingOver:" + renv.processingOver());
62 }
63 return true;
64 }
65 }
|
26 import javax.lang.model.element.*;
27 import javax.lang.model.util.*;
28 import static javax.lang.model.util.ElementFilter.*;
29 import static javax.tools.Diagnostic.Kind.*;
30 import java.util.*;
31 import java.util.Set;
32
33 public class b6341534 extends JavacTestingAbstractProcessor {
34 static int r = 0;
35
36 //Create directory 'dir1' and a test class in dir1
37 public boolean process(Set<? extends TypeElement> tes, RoundEnvironment renv)
38 {
39 if(!renv.errorRaised() && !renv.processingOver()){
40 r++;
41 for( TypeElement t : typesIn(renv.getRootElements()) )
42 System.out.println("Round"+r+ ": " + t.toString());
43
44 try {
45 PackageElement PE = eltUtils.getPackageElement("dir1");
46 List<? extends Element> LEE = PE.getEnclosedElements(); //should not crash here
47 for(Element e : LEE)
48 System.out.println("found " + e.toString() + " in dir1.");
49 }
50 catch(NullPointerException npe) {
51 messager.printMessage(ERROR,npe.toString());
52 //npe.printStackTrace();
53 return false;
54 }
55 }
56 // on round 1, expect errorRaised == false && processingOver == false
57 // on round 2, expect errorRaised == true && processingOver == true
58 if( renv.errorRaised() != renv.processingOver()) {
59 messager.printMessage(ERROR, "FAILED: round:" + r
60 + ", errorRaised:" + renv.errorRaised()
61 + ", processingOver:" + renv.processingOver());
62 }
63 return true;
64 }
65 }
|