src/share/classes/com/sun/tools/javac/processing/PrintingProcessor.java

Print this page




  65     public boolean process(Set<? extends TypeElement> tes,
  66                            RoundEnvironment renv) {
  67 
  68         for(Element element : renv.getRootElements()) {
  69             print(element);
  70         }
  71 
  72         // Just print the elements, nothing more to do.
  73         return true;
  74     }
  75 
  76     void print(Element element) {
  77         new PrintingElementVisitor(writer, processingEnv.getElementUtils()).
  78             visit(element).flush();
  79     }
  80 
  81     /**
  82      * Used for the -Xprint option and called by Elements.printElements
  83      */
  84     public static class PrintingElementVisitor
  85         extends SimpleElementVisitor7<PrintingElementVisitor, Boolean> {
  86         int indentation; // Indentation level;
  87         final PrintWriter writer;
  88         final Elements elementUtils;
  89 
  90         public PrintingElementVisitor(Writer w, Elements elementUtils) {
  91             super();
  92             this.writer = new PrintWriter(w);
  93             this.elementUtils = elementUtils;
  94             indentation = 0;
  95         }
  96 
  97         @Override
  98         protected PrintingElementVisitor defaultAction(Element e, Boolean newLine) {
  99             if (newLine != null && newLine)
 100                 writer.println();
 101             printDocComment(e);
 102             printModifiers(e);
 103             return this;
 104         }
 105 




  65     public boolean process(Set<? extends TypeElement> tes,
  66                            RoundEnvironment renv) {
  67 
  68         for(Element element : renv.getRootElements()) {
  69             print(element);
  70         }
  71 
  72         // Just print the elements, nothing more to do.
  73         return true;
  74     }
  75 
  76     void print(Element element) {
  77         new PrintingElementVisitor(writer, processingEnv.getElementUtils()).
  78             visit(element).flush();
  79     }
  80 
  81     /**
  82      * Used for the -Xprint option and called by Elements.printElements
  83      */
  84     public static class PrintingElementVisitor
  85         extends SimpleElementVisitor8<PrintingElementVisitor, Boolean> {
  86         int indentation; // Indentation level;
  87         final PrintWriter writer;
  88         final Elements elementUtils;
  89 
  90         public PrintingElementVisitor(Writer w, Elements elementUtils) {
  91             super();
  92             this.writer = new PrintWriter(w);
  93             this.elementUtils = elementUtils;
  94             indentation = 0;
  95         }
  96 
  97         @Override
  98         protected PrintingElementVisitor defaultAction(Element e, Boolean newLine) {
  99             if (newLine != null && newLine)
 100                 writer.println();
 101             printDocComment(e);
 102             printModifiers(e);
 103             return this;
 104         }
 105