diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/interpreter/values/ConcreteType.java | 4 | ||||
| -rw-r--r-- | src/test/java/org/zwobble/couscous/tests/util/ExtraAsserts.java | 12 |
2 files changed, 7 insertions, 9 deletions
diff --git a/src/main/java/org/zwobble/couscous/interpreter/values/ConcreteType.java b/src/main/java/org/zwobble/couscous/interpreter/values/ConcreteType.java index 18259f0..a4902a4 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/values/ConcreteType.java +++ b/src/main/java/org/zwobble/couscous/interpreter/values/ConcreteType.java @@ -42,9 +42,7 @@ public class ConcreteType { methods.put(name, new MethodValue(argumentsTypes, (receiver, arguments) -> { return Casts.tryCast(interpreterValueType, receiver) .map(typedReceiver -> method.apply(typedReceiver, arguments)) - .orElseThrow(() -> { - throw new RuntimeException("receiver is of wrong type"); - }); + .orElseThrow(() -> new RuntimeException("receiver is of wrong type")); })); return this; } diff --git a/src/test/java/org/zwobble/couscous/tests/util/ExtraAsserts.java b/src/test/java/org/zwobble/couscous/tests/util/ExtraAsserts.java index 98ea75a..c5f1668 100644 --- a/src/test/java/org/zwobble/couscous/tests/util/ExtraAsserts.java +++ b/src/test/java/org/zwobble/couscous/tests/util/ExtraAsserts.java @@ -1,19 +1,19 @@ package org.zwobble.couscous.tests.util; import org.zwobble.couscous.util.Action; +import org.zwobble.couscous.util.Casts; + +import lombok.SneakyThrows; public class ExtraAsserts { - @SuppressWarnings("unchecked") + @SneakyThrows public static <T extends Throwable> T assertThrows(Class<T> exceptionType, Action action) { try { action.run(); throw new AssertionError("Expected exception"); } catch (Exception exception) { - if (exceptionType.isInstance(exception)) { - return (T)exception; - } else { - throw exception; - } + return Casts.tryCast(exceptionType, exception) + .orElseThrow(() -> exception); } } } |
