From e539a12997f0c4bb8a10b1afecef15dd7a5ec310 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Thu, 28 Sep 2023 12:08:08 +0100 Subject: Use orElseThrow() to avoid Optional.get() --- .../org/shedlang/compiler/typechecker/TypeChecker.java | 15 ++++----------- 1 file changed, 4 insertions(+), 11 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 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() )); } -- cgit v1.2.3