From 9fb31973757a3ad4509c024ea50e77295c61cf89 Mon Sep 17 00:00:00 2001 From: Jared Jacobs Date: Fri, 10 Feb 2017 15:11:48 -0800 Subject: Avoid "possible NPE" warnings for throw Lombok.sneakyThrow(e) Currently, the following code triggers a warning in IntelliJ. (I'm using the current version, 2016.3.4.) throw Lombok.sneakyThrow(e); > Dereference of 'Lombok.sneakyThrow(e)' may produce 'java.lang.NullPointerException'. This change eliminates the warning. All tests pass. I ran: ant setupJavaOpenJDK6TestEnvironment ant test ant setupJavaOpenJDK7TestEnvironment ant test ant setupJavaOracle7TestEnvironment ant test ant setupJavaOracle8TestEnvironment ant test --- src/core/lombok/Lombok.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/core/lombok/Lombok.java b/src/core/lombok/Lombok.java index 310b57e3..ae375637 100644 --- a/src/core/lombok/Lombok.java +++ b/src/core/lombok/Lombok.java @@ -48,12 +48,11 @@ public class Lombok { */ public static RuntimeException sneakyThrow(Throwable t) { if (t == null) throw new NullPointerException("t"); - Lombok.sneakyThrow0(t); - return null; + return Lombok.sneakyThrow0(t); } @SuppressWarnings("unchecked") - private static void sneakyThrow0(Throwable t) throws T { + private static RuntimeException sneakyThrow0(Throwable t) throws T { throw (T)t; } -- cgit From 4dd59e07dadb6f0e1bdcfd50ea03a60d9da72f17 Mon Sep 17 00:00:00 2001 From: Roel Spilker Date: Mon, 8 Jan 2018 22:00:28 +0100 Subject: jdk9 Builder.Default works again. Fixes #1547 --- src/core/lombok/javac/handlers/HandleBuilder.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/core/lombok/javac/handlers/HandleBuilder.java b/src/core/lombok/javac/handlers/HandleBuilder.java index 420d4b72..725a436e 100644 --- a/src/core/lombok/javac/handlers/HandleBuilder.java +++ b/src/core/lombok/javac/handlers/HandleBuilder.java @@ -554,11 +554,10 @@ public class HandleBuilder extends JavacAnnotationHandler { ListBuffer args = new ListBuffer(); for (BuilderFieldData bfd : builderFields) { if (bfd.nameOfSetFlag != null) { - args.append(maker.Conditional(maker.Ident(bfd.nameOfSetFlag), maker.Ident(bfd.name), - maker.Apply(typeParameterNames(maker, ((JCClassDecl) tdParent.get()).typarams), maker.Select(maker.Ident(((JCClassDecl) tdParent.get()).name), bfd.nameOfDefaultProvider), List.nil()))); - } else { - args.append(maker.Ident(bfd.name)); + statements.append(maker.VarDef(maker.Modifiers(0L), bfd.name, cloneType(maker, bfd.type, source, tdParent.getContext()), maker.Select(maker.Ident(type.toName("this")), bfd.name))); + statements.append(maker.If(maker.Unary(CTC_NOT, maker.Ident(bfd.nameOfSetFlag)), maker.Exec(maker.Assign(maker.Ident(bfd.name),maker.Apply(typeParameterNames(maker, ((JCClassDecl) tdParent.get()).typarams), maker.Select(maker.Ident(((JCClassDecl) tdParent.get()).name), bfd.nameOfDefaultProvider), List.nil()))), null)); } + args.append(maker.Ident(bfd.name)); } if (addCleaning) { -- cgit From 209c082530cc759d26ab30c25f970ea5f7b7ab3a Mon Sep 17 00:00:00 2001 From: Roel Spilker Date: Mon, 8 Jan 2018 22:10:27 +0100 Subject: Update tests for new Builder.Default handling #1547 --- test/transform/resource/after-delombok/BuilderDefaults.java | 6 +++++- .../resource/after-delombok/BuilderDefaultsGenerics.java | 8 +++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/test/transform/resource/after-delombok/BuilderDefaults.java b/test/transform/resource/after-delombok/BuilderDefaults.java index 02fb9727..b916b725 100644 --- a/test/transform/resource/after-delombok/BuilderDefaults.java +++ b/test/transform/resource/after-delombok/BuilderDefaults.java @@ -50,7 +50,11 @@ public final class BuilderDefaults { } @java.lang.SuppressWarnings("all") public BuilderDefaults build() { - return new BuilderDefaults(x$set ? x : BuilderDefaults.$default$x(), name, z$set ? z : BuilderDefaults.$default$z()); + int x = this.x; + if (!x$set) x = BuilderDefaults.$default$x(); + long z = this.z; + if (!z$set) z = BuilderDefaults.$default$z(); + return new BuilderDefaults(x, name, z); } @java.lang.Override @java.lang.SuppressWarnings("all") diff --git a/test/transform/resource/after-delombok/BuilderDefaultsGenerics.java b/test/transform/resource/after-delombok/BuilderDefaultsGenerics.java index 18dd375e..b88a61be 100644 --- a/test/transform/resource/after-delombok/BuilderDefaultsGenerics.java +++ b/test/transform/resource/after-delombok/BuilderDefaultsGenerics.java @@ -58,7 +58,13 @@ public class BuilderDefaultsGenerics> { } @java.lang.SuppressWarnings("all") public BuilderDefaultsGenerics build() { - return new BuilderDefaultsGenerics(callable$set ? callable : BuilderDefaultsGenerics.$default$callable(), tee$set ? tee : BuilderDefaultsGenerics.$default$tee(), arrr$set ? arrr : BuilderDefaultsGenerics.$default$arrr()); + java.util.concurrent.Callable callable = this.callable; + if (!callable$set) callable = BuilderDefaultsGenerics.$default$callable(); + T tee = this.tee; + if (!tee$set) tee = BuilderDefaultsGenerics.$default$tee(); + R arrr = this.arrr; + if (!arrr$set) arrr = BuilderDefaultsGenerics.$default$arrr(); + return new BuilderDefaultsGenerics(callable, tee, arrr); } @java.lang.Override @java.lang.SuppressWarnings("all") -- cgit From 14407cedb5e061d8e7a53ebdd167dc82db779df0 Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Mon, 8 Jan 2018 23:59:22 +0100 Subject: [fixes #1553] attriber of JDK9 checks the enclosing class’s type, which we intentionally haven’t set yet. To avoid NPEs, let’s set it. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/lombok/javac/JavacResolution.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/core/lombok/javac/JavacResolution.java b/src/core/lombok/javac/JavacResolution.java index ded6284b..79c7cad2 100644 --- a/src/core/lombok/javac/JavacResolution.java +++ b/src/core/lombok/javac/JavacResolution.java @@ -222,6 +222,11 @@ public class JavacResolution { } private void attrib(JCTree tree, Env env) { + if (env.enclClass.type == null) try { + env.enclClass.type = Type.noType; + } catch (Throwable ignore) { + // This addresses issue #1553 which involves JDK9; if it doesn't exist, we probably don't need to set it. + } if (tree instanceof JCBlock) attr.attribStat(tree, env); else if (tree instanceof JCMethodDecl) attr.attribStat(((JCMethodDecl) tree).body, env); else if (tree instanceof JCVariableDecl) attr.attribStat(tree, env); -- cgit From 369df91756e632b32440eb585253f7fb1ddba9d2 Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Tue, 9 Jan 2018 00:46:44 +0100 Subject: [fixes #1554] javac9 now caches type lookups based on ‘position’ which is slapped together by a tuple based on the position (as gleaned from the JCTree object) and the source file (as gleaned from.. Log. *facepalm*). We didn’t update log when resolving for i.e. ‘val’, so the caches get all jumbled up. Fixed by setting the Log’s ‘useSource’ method. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/lombok/javac/JavacResolution.java | 13 ++++++++++--- src/core/lombok/javac/handlers/HandleVal.java | 23 +++++++++++------------ 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/src/core/lombok/javac/JavacResolution.java b/src/core/lombok/javac/JavacResolution.java index 79c7cad2..26ba86c0 100644 --- a/src/core/lombok/javac/JavacResolution.java +++ b/src/core/lombok/javac/JavacResolution.java @@ -31,6 +31,7 @@ import java.util.ArrayDeque; import java.util.Map; import javax.lang.model.type.TypeKind; +import javax.tools.JavaFileObject; import lombok.Lombok; import lombok.core.debug.AssertionLogger; @@ -59,6 +60,7 @@ import com.sun.tools.javac.tree.JCTree.JCVariableDecl; import com.sun.tools.javac.util.Context; import com.sun.tools.javac.util.List; import com.sun.tools.javac.util.ListBuffer; +import com.sun.tools.javac.util.Log; public class JavacResolution { private final Attr attr; @@ -142,9 +144,14 @@ public class JavacResolution { TreeMirrorMaker mirrorMaker = new TreeMirrorMaker(node.getTreeMaker(), node.getContext()); JCTree copy = mirrorMaker.copy(finder.copyAt()); - - memberEnterAndAttribute(copy, finder.get(), node.getContext()); - return mirrorMaker.getOriginalToCopyMap(); + Log log = Log.instance(node.getContext()); + JavaFileObject oldFileObject = log.useSource(((JCCompilationUnit) node.top().get()).getSourceFile()); + try { + memberEnterAndAttribute(copy, finder.get(), node.getContext()); + return mirrorMaker.getOriginalToCopyMap(); + } finally { + log.useSource(oldFileObject); + } } finally { messageSuppressor.enableLoggers(); } diff --git a/src/core/lombok/javac/handlers/HandleVal.java b/src/core/lombok/javac/handlers/HandleVal.java index 2976eabe..8b82fefb 100644 --- a/src/core/lombok/javac/handlers/HandleVal.java +++ b/src/core/lombok/javac/handlers/HandleVal.java @@ -62,21 +62,21 @@ public class HandleVal extends JavacASTAdapter { JCTree typeTree = local.vartype; if (typeTree == null) return; String typeTreeToString = typeTree.toString(); - + if (!(eq(typeTreeToString, "val") || eq(typeTreeToString, "var"))) return; boolean isVal = typeMatches(val.class, localNode, typeTree); boolean isVar = typeMatches(var.class, localNode, typeTree); if (!(isVal || isVar)) return; - + if (isVal) handleFlagUsage(localNode, ConfigurationKeys.VAL_FLAG_USAGE, "val"); if (isVar) handleFlagUsage(localNode, ConfigurationKeys.VAR_FLAG_USAGE, "var"); - + JCTree parentRaw = localNode.directUp().get(); if (isVal && parentRaw instanceof JCForLoop) { localNode.addError("'val' is not allowed in old-style for loops"); return; } - + JCExpression rhsOfEnhancedForLoop = null; if (local.init == null) { if (parentRaw instanceof JCEnhancedForLoop) { @@ -84,26 +84,25 @@ public class HandleVal extends JavacASTAdapter { if (efl.var == local) rhsOfEnhancedForLoop = efl.expr; } } - + final String annotation = typeTreeToString; if (rhsOfEnhancedForLoop == null && local.init == null) { localNode.addError("'" + annotation + "' on a local variable requires an initializer expression"); return; - } - + if (local.init instanceof JCNewArray && ((JCNewArray)local.init).elemtype == null) { localNode.addError("'" + annotation + "' is not compatible with array initializer expressions. Use the full form (new int[] { ... } instead of just { ... })"); return; } - + if (localNode.shouldDeleteLombokAnnotations()) { JavacHandlerUtil.deleteImportFromCompilationUnit(localNode, val.class.getName()); JavacHandlerUtil.deleteImportFromCompilationUnit(localNode, var.class.getName()); } - + if (isVal) local.mods.flags |= Flags.FINAL; - + if (!localNode.shouldDeleteLombokAnnotations()) { JCAnnotation valAnnotation = recursiveSetGeneratedBy(localNode.getTreeMaker().Annotation(local.vartype, List.nil()), typeTree, localNode.getContext()); local.mods.annotations = local.mods.annotations == null ? List.of(valAnnotation) : local.mods.annotations.append(valAnnotation); @@ -126,7 +125,7 @@ public class HandleVal extends JavacASTAdapter { try { type = ((JCExpression) resolver.resolveMethodMember(localNode).get(local.init)).type; } catch (RuntimeException e) { - System.err.println("Exception while resolving: " + localNode); + System.err.println("Exception while resolving: " + localNode + "(" + localNode.getFileName() + ")"); throw e; } } else { @@ -137,7 +136,7 @@ public class HandleVal extends JavacASTAdapter { local.type = Symtab.instance(localNode.getContext()).unknownType; type = ((JCExpression) resolver.resolveMethodMember(localNode).get(local.init)).type; } catch (RuntimeException e) { - System.err.println("Exception while resolving: " + localNode); + System.err.println("Exception while resolving: " + localNode + "(" + localNode.getFileName() + ")"); throw e; } } -- cgit From 6e7f75eb779196848e1f6d421432a3a885ec8e9a Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Tue, 9 Jan 2018 00:54:17 +0100 Subject: Updated copyright notices to 2018. --- buildScripts/website.ant.xml | 2 +- src/core/lombok/javac/JavacResolution.java | 2 +- src/core/lombok/javac/apt/LombokFileObjects.java | 2 +- src/core/lombok/javac/handlers/HandleBuilder.java | 2 +- src/core/lombok/javac/handlers/HandleVal.java | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/buildScripts/website.ant.xml b/buildScripts/website.ant.xml index 13b97231..36b3a193 100644 --- a/buildScripts/website.ant.xml +++ b/buildScripts/website.ant.xml @@ -223,7 +223,7 @@ such as applying the templates to produce the website, converting the changelog
Lombok - ]]>v${lombok.version}
- Copyright © 2009-2015 The Project Lombok Authors, licensed under the MIT licence.]]> + Copyright © 2009-2018 The Project Lombok Authors, licensed under the MIT licence.]]> diff --git a/src/core/lombok/javac/JavacResolution.java b/src/core/lombok/javac/JavacResolution.java index 26ba86c0..8cc239e1 100644 --- a/src/core/lombok/javac/JavacResolution.java +++ b/src/core/lombok/javac/JavacResolution.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011-2015 The Project Lombok Authors. + * Copyright (C) 2011-2018 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 diff --git a/src/core/lombok/javac/apt/LombokFileObjects.java b/src/core/lombok/javac/apt/LombokFileObjects.java index 37a0b366..ef735730 100644 --- a/src/core/lombok/javac/apt/LombokFileObjects.java +++ b/src/core/lombok/javac/apt/LombokFileObjects.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2017 The Project Lombok Authors. + * Copyright (C) 2010-2018 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 diff --git a/src/core/lombok/javac/handlers/HandleBuilder.java b/src/core/lombok/javac/handlers/HandleBuilder.java index 725a436e..d5a342e4 100644 --- a/src/core/lombok/javac/handlers/HandleBuilder.java +++ b/src/core/lombok/javac/handlers/HandleBuilder.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2013-2017 The Project Lombok Authors. + * Copyright (C) 2013-2018 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 diff --git a/src/core/lombok/javac/handlers/HandleVal.java b/src/core/lombok/javac/handlers/HandleVal.java index 8b82fefb..f0f6eb2a 100644 --- a/src/core/lombok/javac/handlers/HandleVal.java +++ b/src/core/lombok/javac/handlers/HandleVal.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2016 The Project Lombok Authors. + * Copyright (C) 2010-2018 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 -- cgit From 61938f4ea8ec7aa00f2640f5b3f9ead19130b2d2 Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Tue, 9 Jan 2018 00:54:53 +0100 Subject: pre-release version bump --- doc/changelog.markdown | 5 ++--- src/core/lombok/core/Version.java | 6 +++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/doc/changelog.markdown b/doc/changelog.markdown index 9e025c24..1c1be636 100644 --- a/doc/changelog.markdown +++ b/doc/changelog.markdown @@ -1,9 +1,8 @@ Lombok Changelog ---------------- -### v1.16.19 "Edgy Guinea Pig" -* v1.16.18 is the latest stable release of Project Lombok. -* PLATFORM: Possible support for jdk9 in the new IntelliJ, Netbeans and for Gradle. +### v1.16.20 (January 9th, 2018) +* PLATFORM: Better support for jdk9 in the new IntelliJ, Netbeans and for Gradle. * BREAKING CHANGE: _lombok config_ key `lombok.addJavaxGeneratedAnnotation` now defaults to `false` instead of true. Oracle broke this annotation with the release of JDK9, necessitating this breaking change. * BREAKING CHANGE: _lombok config_ key `lombok.anyConstructor.suppressConstructorProperties` is now deprecated and defaults to `true`, that is, by default lombok no longer automatically generates `@ConstructorProperties` annotations. New config key `lombok.anyConstructor.addConstructorProperties` now exists; set it to `true` if you want the old behavior. Oracle more or less broke this annotation with the release of JDK9, necessitating this breaking change. * DEVELOPMENT: Compiling lombok on JDK1.9 is now possible. diff --git a/src/core/lombok/core/Version.java b/src/core/lombok/core/Version.java index 18c78b04..a124111c 100644 --- a/src/core/lombok/core/Version.java +++ b/src/core/lombok/core/Version.java @@ -30,9 +30,9 @@ public class Version { // ** CAREFUL ** - this class must always compile with 0 dependencies (it must not refer to any other sources or libraries). // Note: In 'X.Y.Z', if Z is odd, its a snapshot build built from the repository, so many different 0.10.3 versions can exist, for example. // Official builds always end in an even number. (Since 0.10.2). - private static final String VERSION = "1.16.19"; - private static final String RELEASE_NAME = "Edgy Guinea Pig"; -// private static final String RELEASE_NAME = "Dancing Elephant"; + private static final String VERSION = "1.16.20"; +// private static final String RELEASE_NAME = "Edgy Guinea Pig"; + private static final String RELEASE_NAME = "Dancing Elephant"; // Named version history: // Angry Butterfly -- cgit From 87a946f7ee3963feccb9f084e74a08c9eda65ff0 Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Tue, 9 Jan 2018 01:06:57 +0100 Subject: post-release version bump --- doc/changelog.markdown | 3 +++ src/core/lombok/core/Version.java | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/doc/changelog.markdown b/doc/changelog.markdown index 1c1be636..9c53d446 100644 --- a/doc/changelog.markdown +++ b/doc/changelog.markdown @@ -1,6 +1,9 @@ Lombok Changelog ---------------- +### v1.16.21 "Edgy Guinea Pig" +* v1.16.20 is the latest stable release of Project Lombok. + ### v1.16.20 (January 9th, 2018) * PLATFORM: Better support for jdk9 in the new IntelliJ, Netbeans and for Gradle. * BREAKING CHANGE: _lombok config_ key `lombok.addJavaxGeneratedAnnotation` now defaults to `false` instead of true. Oracle broke this annotation with the release of JDK9, necessitating this breaking change. diff --git a/src/core/lombok/core/Version.java b/src/core/lombok/core/Version.java index a124111c..98f1e575 100644 --- a/src/core/lombok/core/Version.java +++ b/src/core/lombok/core/Version.java @@ -30,9 +30,9 @@ public class Version { // ** CAREFUL ** - this class must always compile with 0 dependencies (it must not refer to any other sources or libraries). // Note: In 'X.Y.Z', if Z is odd, its a snapshot build built from the repository, so many different 0.10.3 versions can exist, for example. // Official builds always end in an even number. (Since 0.10.2). - private static final String VERSION = "1.16.20"; -// private static final String RELEASE_NAME = "Edgy Guinea Pig"; - private static final String RELEASE_NAME = "Dancing Elephant"; + private static final String VERSION = "1.16.21"; + private static final String RELEASE_NAME = "Edgy Guinea Pig"; +// private static final String RELEASE_NAME = "Dancing Elephant"; // Named version history: // Angry Butterfly -- cgit From 4ac941acca350b889ae6ccd6f455c992a5e49dce Mon Sep 17 00:00:00 2001 From: Roel Spilker Date: Tue, 9 Jan 2018 12:58:54 +0100 Subject: Potential fix for #1555 --- doc/changelog.markdown | 1 + src/core/lombok/javac/apt/LombokFileObjects.java | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/doc/changelog.markdown b/doc/changelog.markdown index 9c53d446..7172b166 100644 --- a/doc/changelog.markdown +++ b/doc/changelog.markdown @@ -3,6 +3,7 @@ Lombok Changelog ### v1.16.21 "Edgy Guinea Pig" * v1.16.20 is the latest stable release of Project Lombok. +* Potential fix for Netbeans < 9. [Issue #1555](https://github.com/rzwitserloot/lombok/issues/1555) ### v1.16.20 (January 9th, 2018) * PLATFORM: Better support for jdk9 in the new IntelliJ, Netbeans and for Gradle. diff --git a/src/core/lombok/javac/apt/LombokFileObjects.java b/src/core/lombok/javac/apt/LombokFileObjects.java index ef735730..7184629f 100644 --- a/src/core/lombok/javac/apt/LombokFileObjects.java +++ b/src/core/lombok/javac/apt/LombokFileObjects.java @@ -120,23 +120,23 @@ final class LombokFileObjects { return new Java9Compiler(jfm); } } - catch (Exception e) {} + catch (Throwable e) {} return Compiler.JAVAC7; } if (KNOWN_JAVA9_FILE_MANAGERS.contains(jfmClassName)) { try { return new Java9Compiler(jfm); } - catch (Exception e) {} + catch (Throwable e) {} } try { if (Class.forName("com.sun.tools.javac.file.BaseFileObject") == null) throw new NullPointerException(); return Compiler.JAVAC7; - } catch (Exception e) {} + } catch (Throwable e) {} try { if (Class.forName("com.sun.tools.javac.util.BaseFileObject") == null) throw new NullPointerException(); return Compiler.JAVAC6; - } catch (Exception e) {} + } catch (Throwable e) {} StringBuilder sb = new StringBuilder(jfmClassName); if (jfm != null) { -- cgit From aaa876d3326f9ba1b411bbd9b341ff8a729e58ae Mon Sep 17 00:00:00 2001 From: Ruslan Popenko Date: Tue, 7 Nov 2017 12:14:54 +0200 Subject: Wrong documentation variables fix. I've fixed documentation for Cleanup annotation. Doc provided before wrong variable information (you closed String instead of Closeable). --- src/core/lombok/Cleanup.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/lombok/Cleanup.java b/src/core/lombok/Cleanup.java index 528855cd..a3a1c198 100644 --- a/src/core/lombok/Cleanup.java +++ b/src/core/lombok/Cleanup.java @@ -61,10 +61,10 @@ import java.lang.annotation.Target; * outStream.write(b, 0, r); * } * } finally { - * if (out != null) out.close(); + * if (outStream != null) outStream.close(); * } * } finally { - * if (in != null) in.close(); + * if (inStream != null) inStream.close(); * } * } * -- cgit From 5a2fe6e61caf9024be29568b0b053f163c6f899e Mon Sep 17 00:00:00 2001 From: Roel Spilker Date: Tue, 9 Jan 2018 13:10:18 +0100 Subject: use T instead of RuntimeException --- src/core/lombok/Lombok.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/lombok/Lombok.java b/src/core/lombok/Lombok.java index ae375637..d86b6d1c 100644 --- a/src/core/lombok/Lombok.java +++ b/src/core/lombok/Lombok.java @@ -52,7 +52,7 @@ public class Lombok { } @SuppressWarnings("unchecked") - private static RuntimeException sneakyThrow0(Throwable t) throws T { + private static T sneakyThrow0(Throwable t) throws T { throw (T)t; } -- cgit