From ba5bf4a7c4f9097d540352afa1e895d2f1019328 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Tue, 6 Oct 2015 13:14:11 +0100 Subject: Avoid supressing warnings --- .../zwobble/couscous/interpreter/values/ConcreteType.java | 4 +--- .../java/org/zwobble/couscous/tests/util/ExtraAsserts.java | 12 ++++++------ 2 files changed, 7 insertions(+), 9 deletions(-) (limited to 'src') 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 assertThrows(Class 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); } } } -- cgit v1.2.3