aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorReinier Zwitserloot <r.zwitserloot@projectlombok.org>2019-02-19 02:08:08 +0100
committerReinier Zwitserloot <r.zwitserloot@projectlombok.org>2019-02-19 02:08:14 +0100
commit3ac415254f64d27003a3c5b7a232a33fd785b1f9 (patch)
treecb6c6be91972b5d6d30e0454eedacd66420284d9 /src
parent8479edb4262a7eb8cb76baba138f0ea5aae841c5 (diff)
downloadlombok-3ac415254f64d27003a3c5b7a232a33fd785b1f9.tar.gz
lombok-3ac415254f64d27003a3c5b7a232a33fd785b1f9.tar.bz2
lombok-3ac415254f64d27003a3c5b7a232a33fd785b1f9.zip
[fixes #1997] try-with-resources where the thing you’re guarding is just a variable ref instead of a full decl (legal since JDK9) would break delombok
Diffstat (limited to 'src')
-rw-r--r--src/delombok/lombok/delombok/PrettyPrinter.java19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/delombok/lombok/delombok/PrettyPrinter.java b/src/delombok/lombok/delombok/PrettyPrinter.java
index 84c342f0..353bd753 100644
--- a/src/delombok/lombok/delombok/PrettyPrinter.java
+++ b/src/delombok/lombok/delombok/PrettyPrinter.java
@@ -1268,9 +1268,14 @@ public class PrettyPrinter extends JCTree.Visitor {
break;
case 1:
print("(");
- JCVariableDecl decl = (JCVariableDecl) resources.get(0);
- flagMod = -1L & ~FINAL;
- printVarDefInline(decl);
+ JCTree resource = (JCTree) resources.get(0);
+ if (resource instanceof JCVariableDecl) {
+ JCVariableDecl decl = (JCVariableDecl) resource;
+ flagMod = -1L & ~FINAL;
+ printVarDefInline(decl);
+ } else {
+ print(resource);
+ }
print(") ");
break;
default:
@@ -1279,8 +1284,12 @@ public class PrettyPrinter extends JCTree.Visitor {
int c = 0;
for (Object i : resources) {
align();
- flagMod = -1L & ~FINAL;
- printVarDefInline((JCVariableDecl) i);
+ if (i instanceof JCVariableDecl) {
+ flagMod = -1L & ~FINAL;
+ printVarDefInline((JCVariableDecl) i);
+ } else {
+ print((JCTree) i);
+ }
if (++c == len) {
print(") ");
} else {