aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/lombok/javac/handlers/HandleSneakyThrows.java7
-rw-r--r--test/delombok/resource/after/SneakyThrowsPlain.java17
-rw-r--r--test/delombok/resource/before/SneakyThrowsPlain.java10
3 files changed, 31 insertions, 3 deletions
diff --git a/src/core/lombok/javac/handlers/HandleSneakyThrows.java b/src/core/lombok/javac/handlers/HandleSneakyThrows.java
index 8a185e87..fda8805c 100644
--- a/src/core/lombok/javac/handlers/HandleSneakyThrows.java
+++ b/src/core/lombok/javac/handlers/HandleSneakyThrows.java
@@ -26,6 +26,7 @@ import static lombok.javac.handlers.JavacHandlerUtil.markAnnotationAsProcessed;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import lombok.SneakyThrows;
import lombok.core.AnnotationValues;
@@ -52,9 +53,9 @@ public class HandleSneakyThrows implements JavacAnnotationHandler<SneakyThrows>
@Override public boolean handle(AnnotationValues<SneakyThrows> annotation, JCAnnotation ast, JavacNode annotationNode) {
markAnnotationAsProcessed(annotationNode, SneakyThrows.class);
Collection<String> exceptionNames = annotation.getRawExpressions("value");
-
- List<JCExpression> memberValuePairs = ast.getArguments();
- if (memberValuePairs == null || memberValuePairs.size() == 0) return false;
+ if (exceptionNames.isEmpty()) {
+ exceptionNames = Collections.singleton("java.lang.Throwable");
+ }
java.util.List<String> exceptions = new ArrayList<String>();
for (String exception : exceptionNames) {
diff --git a/test/delombok/resource/after/SneakyThrowsPlain.java b/test/delombok/resource/after/SneakyThrowsPlain.java
new file mode 100644
index 00000000..d5abc478
--- /dev/null
+++ b/test/delombok/resource/after/SneakyThrowsPlain.java
@@ -0,0 +1,17 @@
+class SneakyThrowsPlain {
+ public void test() {
+ try {
+ System.out.println("test1");
+ } catch (java.lang.Throwable $ex) {
+ throw lombok.Lombok.sneakyThrow($ex);
+ }
+ }
+
+ public void test2() {
+ try {
+ System.out.println("test2");
+ } catch (java.lang.Throwable $ex) {
+ throw lombok.Lombok.sneakyThrow($ex);
+ }
+ }
+} \ No newline at end of file
diff --git a/test/delombok/resource/before/SneakyThrowsPlain.java b/test/delombok/resource/before/SneakyThrowsPlain.java
new file mode 100644
index 00000000..97fecf8f
--- /dev/null
+++ b/test/delombok/resource/before/SneakyThrowsPlain.java
@@ -0,0 +1,10 @@
+import lombok.SneakyThrows;
+class SneakyThrowsPlain {
+ @lombok.SneakyThrows public void test() {
+ System.out.println("test1");
+ }
+
+ @SneakyThrows public void test2() {
+ System.out.println("test2");
+ }
+} \ No newline at end of file