aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRoel Spilker <r.spilker@gmail.com>2014-01-17 21:14:24 +0100
committerRoel Spilker <r.spilker@gmail.com>2014-01-17 21:14:24 +0100
commit477a5341c1ca8f3037a921dd1c05addc74e5a5a3 (patch)
tree414c9fb841de11bf7d9fe80014d2508df0b89903 /src
parentfee535eae94557287c1762edd32374ddfc311367 (diff)
downloadlombok-477a5341c1ca8f3037a921dd1c05addc74e5a5a3.tar.gz
lombok-477a5341c1ca8f3037a921dd1c05addc74e5a5a3.tar.bz2
lombok-477a5341c1ca8f3037a921dd1c05addc74e5a5a3.zip
Close the outputstream if it is a file after printing the AST
Diffstat (limited to 'src')
-rw-r--r--src/core/lombok/eclipse/handlers/HandlePrintAST.java17
-rw-r--r--src/core/lombok/javac/handlers/HandlePrintAST.java14
2 files changed, 25 insertions, 6 deletions
diff --git a/src/core/lombok/eclipse/handlers/HandlePrintAST.java b/src/core/lombok/eclipse/handlers/HandlePrintAST.java
index da6fa2a2..65cda98a 100644
--- a/src/core/lombok/eclipse/handlers/HandlePrintAST.java
+++ b/src/core/lombok/eclipse/handlers/HandlePrintAST.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009-2012 The Project Lombok Authors.
+ * Copyright (C) 2009-2014 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -52,7 +52,16 @@ public class HandlePrintAST extends EclipseAnnotationHandler<PrintAST> {
} catch (FileNotFoundException e) {
Lombok.sneakyThrow(e);
}
-
- annotationNode.up().traverse(new EclipseASTVisitor.Printer(annotation.getInstance().printContent(), stream, annotation.getInstance().printPositions()));
+ try {
+ annotationNode.up().traverse(new EclipseASTVisitor.Printer(annotation.getInstance().printContent(), stream, annotation.getInstance().printPositions()));
+ } finally {
+ if (stream != System.out) {
+ try {
+ stream.close();
+ } catch (Exception e) {
+ Lombok.sneakyThrow(e);
+ }
+ }
+ }
}
-}
+} \ No newline at end of file
diff --git a/src/core/lombok/javac/handlers/HandlePrintAST.java b/src/core/lombok/javac/handlers/HandlePrintAST.java
index 7b6d942c..2c229f2b 100644
--- a/src/core/lombok/javac/handlers/HandlePrintAST.java
+++ b/src/core/lombok/javac/handlers/HandlePrintAST.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009-2011 The Project Lombok Authors.
+ * Copyright (C) 2009-2014 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -52,6 +52,16 @@ public class HandlePrintAST extends JavacAnnotationHandler<PrintAST> {
Lombok.sneakyThrow(e);
}
- annotationNode.up().traverse(new JavacASTVisitor.Printer(annotation.getInstance().printContent(), stream));
+ try {
+ annotationNode.up().traverse(new JavacASTVisitor.Printer(annotation.getInstance().printContent(), stream));
+ } finally {
+ if (stream != System.out) {
+ try {
+ stream.close();
+ } catch (Exception e) {
+ Lombok.sneakyThrow(e);
+ }
+ }
+ }
}
}