aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-09-28 12:10:36 +0100
committerMichael Williamson <mike@zwobble.org>2023-09-28 12:10:36 +0100
commitf935c5f26f8e16ab401b92662c8017fad92b1e76 (patch)
tree97758c0214c955ca8d496d19f648650226d65714 /src/main/java
parentb9d6efb24bfafa971d8f26bd2b934021d9944768 (diff)
Use orElseThrow() instead of get()
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java b/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java
index 1d1e73a9..a5996ef7 100644
--- a/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java
+++ b/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java
@@ -44,13 +44,10 @@ public class TypeChecker {
}
private static Type compileTimeLookup(String name, Source source, TypeCheckerContext context) {
- var variable = context.compileTimeLookup(name);
+ var variable = context.compileTimeLookup(name)
+ .orElseThrow(() -> new UnknownVariableError(name, source));
- if (variable.isEmpty()) {
- throw new UnknownVariableError(name, source);
- }
-
- return variable.get().type()
+ return variable.type()
.orElseThrow(() -> new ReferenceBeforeDefinitionError(name, source));
}