From 7b9881e6dcae7d415fbae7767fdbd5af17f97985 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Thu, 28 Sep 2023 12:14:36 +0100 Subject: Use orElseThrow() instead of get() --- src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/main/java') 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()); -- cgit v1.2.3