From abb21e37f221df2d7cf93000abb91ef5c953638f Mon Sep 17 00:00:00 2001 From: jeffcheasey88 <66554203+jeffcheasey88@users.noreply.github.com> Date: Mon, 14 Aug 2023 10:02:31 +0200 Subject: [PATCH] AutoTest -> 74.412% --- .../peeratcode/parser/java/JavaParser.java | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/be/jeffcheasey88/peeratcode/parser/java/JavaParser.java b/src/be/jeffcheasey88/peeratcode/parser/java/JavaParser.java index a3934ed..29c0b1a 100644 --- a/src/be/jeffcheasey88/peeratcode/parser/java/JavaParser.java +++ b/src/be/jeffcheasey88/peeratcode/parser/java/JavaParser.java @@ -137,19 +137,23 @@ public class JavaParser extends Parser { StateTree value = new StateTree<>(); StateTree value_container = new StateTree<>(); + + StateTree value_left = new StateTree<>(); StateTree value_parenthesis = value_container.then((validator) -> validator.validate((token) -> token.getValue().equals("("))); - value_parenthesis.then(new RedirectStateTree<>(type, (global, local) -> global.set(null))) + StateTree value_cast = value_parenthesis.then(new RedirectStateTree<>(type, (global, local) -> global.set(null))) .then((validator) -> validator.validate((token) -> token.getValue().equals(")"))) - .then(new RedirectStateTree<>(value_container, (global, local) -> global.set(null))) - .end((a,b) -> a); - value_parenthesis.then(new RedirectStateTree<>(value_container, (global, local) -> global.set(null))) - .then((validator) -> validator.validate((token) -> token.getValue().equals(")"))) - .end((a,b) -> a); + .then(new RedirectStateTree<>(value_container, (global, local) -> global.set(null))); + value_cast.end((a,b) -> a); + value_cast.then(value_left); + StateTree value_parenthesis_end = value_parenthesis.then(new RedirectStateTree<>(value_container, (global, local) -> global.set(null))) + .then((validator) -> validator.validate((token) -> token.getValue().equals(")"))); + value_parenthesis_end.end((a,b) -> a); + value_parenthesis_end.then(value_left); value_container.then((validator) -> validator.validate((token) -> token.getValue().equals("!"))).then(value_container); value_container.then((validator) -> validator.validate((token) -> token.getValue().equals("-"))).then(value_container); value_container.then((validator) -> validator.validate((token) -> token.getValue().equals("+"))).then(value_container); value_container.then((validator) -> validator.validate((token) -> token.getValue().equals("~"))).then(value_container); - StateTree value_left = value_container.then(new RedirectStateTree<>(value, (global, local) -> global.set(null))); + value_container.then(new RedirectStateTree<>(value, (global, local) -> global.set(null))).then(value_left); value_left.end((a,b) -> a); StateTree value_equals = value_left.then((validator) -> validator.validate((token) -> token.getValue().equals("="))); value_equals.then(new RedirectStateTree<>(value_container, (global, local) -> global.set(null))).end((a,b) -> a);