From 3857580ff0ab8e1b8ed220d4d971ac47d1050721 Mon Sep 17 00:00:00 2001 From: ctsk <9384305+ctsk@users.noreply.github.com> Date: Mon, 5 Sep 2022 10:28:04 +0200 Subject: [PATCH] Cleanup: Use idiomatic getOrDefault --- jlox/src/main/java/xyz/ctsk/lox/Scanner.java | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/jlox/src/main/java/xyz/ctsk/lox/Scanner.java b/jlox/src/main/java/xyz/ctsk/lox/Scanner.java index 12c0b5e..11bb768 100644 --- a/jlox/src/main/java/xyz/ctsk/lox/Scanner.java +++ b/jlox/src/main/java/xyz/ctsk/lox/Scanner.java @@ -3,6 +3,7 @@ package xyz.ctsk.lox; import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Optional; import static java.util.Map.entry; import static xyz.ctsk.lox.TokenType.*; @@ -110,10 +111,6 @@ public class Scanner { return isDigit(c) || isAlpha(c); } - private static boolean isKeyword(String s) { - return keywords.containsKey(s); - } - private void number() { while (isDigit(peek())) advance(); @@ -140,11 +137,9 @@ public class Scanner { while (isAlphaNumeric(peek())) advance(); var text = currentMatch(); - if (isKeyword(text)) { - addToken(keywords.get(text)); - } else { - addToken(IDENTIFIER); - } + addToken( + keywords.getOrDefault(text, IDENTIFIER) + ); } private void scanToken() {