diff options
Diffstat (limited to 'src/lombok/eclipse/EclipseASTVisitor.java')
-rw-r--r-- | src/lombok/eclipse/EclipseASTVisitor.java | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/src/lombok/eclipse/EclipseASTVisitor.java b/src/lombok/eclipse/EclipseASTVisitor.java index 0e07162c..d5fece8f 100644 --- a/src/lombok/eclipse/EclipseASTVisitor.java +++ b/src/lombok/eclipse/EclipseASTVisitor.java @@ -1,5 +1,8 @@ package lombok.eclipse; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.PrintStream; import java.lang.reflect.Modifier; import lombok.eclipse.EclipseAST.Node; @@ -79,12 +82,26 @@ public interface EclipseASTVisitor { void visitStatement(Node statementNode, Statement statement); void endVisitStatement(Node statementNode, Statement statement); - public static class EclipseASTPrinter implements EclipseASTVisitor { + public static class Printer implements EclipseASTVisitor { + private final PrintStream out; + public Printer() { + this(System.out); + } + + public Printer(File file) throws FileNotFoundException { + this(new PrintStream(file)); + } + + public Printer(PrintStream out) { + this.out = out; + } + int indent = 0; private void print(String text, Object... params) { StringBuilder sb = new StringBuilder(); for ( int i = 0 ; i < indent ; i++ ) sb.append(" "); - System.out.printf(sb.append(text).append('\n').toString(), params); + out.printf(sb.append(text).append('\n').toString(), params); + out.flush(); } private String str(char[] c) { |