aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-09-28 12:08:08 +0100
committerMichael Williamson <mike@zwobble.org>2023-09-28 12:08:08 +0100
commite539a12997f0c4bb8a10b1afecef15dd7a5ec310 (patch)
tree72b1d1ab2e00f03a15a28baa9df4bd56b3d9029c /src/main/java
parentfccc76e339651d6451bb8fc7394f21eed96e3318 (diff)
Use orElseThrow() to avoid Optional.get()
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java15
1 files changed, 4 insertions, 11 deletions
diff --git a/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java b/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java
index ad3ed297..3cc5b541 100644
--- a/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java
+++ b/src/main/java/org/shedlang/compiler/typechecker/TypeChecker.java
@@ -409,22 +409,15 @@ public class TypeChecker {
var structTypeInfo = context.structTypeInfo(
receiverType,
untyped.fieldName()
- );
-
- if (structTypeInfo.isEmpty()) {
- throw new MissingStructTypeInfoError(receiverType, untyped.source());
- }
+ ).orElseThrow(() -> new MissingStructTypeInfoError(receiverType, untyped.source()));
- var fieldType = structTypeInfo.get().fieldType(untyped.fieldName());
-
- if (fieldType.isEmpty()) {
- throw new NoSuchFieldError(receiverType, untyped.fieldName(), untyped.source());
- }
+ var fieldType = structTypeInfo.fieldType(untyped.fieldName())
+ .orElseThrow(() -> new NoSuchFieldError(receiverType, untyped.fieldName(), untyped.source()));
return context.toResult(new TypedFieldAccessNode(
typedReceiver,
untyped.fieldName(),
- fieldType.get(),
+ fieldType,
untyped.source()
));
}