aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-09-28 12:14:36 +0100
committerMichael Williamson <mike@zwobble.org>2023-09-28 12:14:36 +0100
commit7b9881e6dcae7d415fbae7767fdbd5af17f97985 (patch)
tree24a60222d2f583db7cd81df3041c043da048dbbe /src/main/java
parentd78a6ff386930804e5c688b3c17d30005c4e5140 (diff)
Use orElseThrow() instead of get()
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java b/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java
index c7599722..f544e876 100644
--- a/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java
+++ b/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java
@@ -559,14 +559,14 @@ public class TypeChecker {
var expression = expressionResult.value();
context = expressionResult.context();
- if (context.returnType().isEmpty()) {
+ var expectedReturnType = context.returnType().orElseThrow(() -> {
// This should be syntactically impossible, but since we only have
// one context type, we check for this possibility and throw a
// reasonable error.
- throw new CannotReturnOutsideOfFunction(untyped.source());
- }
+ return new CannotReturnOutsideOfFunction(untyped.source());
+ });
- checkExpressionType(expression, context.returnType().get(), context);
+ checkExpressionType(expression, expectedReturnType, context);
var typed = new TypedFunctionReturnNode(expression, untyped.source());