From 095f69f18d5f62f795a48b522395bcdc2387e193 Mon Sep 17 00:00:00 2001 From: dgelessus <dgelessus@users.noreply.github.com> Date: Wed, 25 Jan 2023 11:33:56 +0100 Subject: [PATCH] Throw check exceptions immediately when an error is encountered This is possible now that the exceptions are unchecked. --- src/main/java/de/prob/voparser/VOScopeChecker.java | 8 +------- src/main/java/de/prob/voparser/VOTypeChecker.java | 8 +------- 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/src/main/java/de/prob/voparser/VOScopeChecker.java b/src/main/java/de/prob/voparser/VOScopeChecker.java index e6d97dc..7c370c5 100644 --- a/src/main/java/de/prob/voparser/VOScopeChecker.java +++ b/src/main/java/de/prob/voparser/VOScopeChecker.java @@ -9,24 +9,18 @@ public class VOScopeChecker extends DepthFirstAdapter { private final VOParser voParser; - private boolean error; - public VOScopeChecker(VOParser voParser) { this.voParser = voParser; - this.error = false; } public void scopeCheck(Start start) { start.apply(this); - if(error) { - throw new VOScopeCheckException("Scope error in VO"); - } } @Override public void caseAIdentifierVo(AIdentifierVo node) { if (!voParser.getTasks().containsKey(node.getIdentifierLiteral().getText())) { - error = true; + throw new VOScopeCheckException("Scope error in VO"); } } diff --git a/src/main/java/de/prob/voparser/VOTypeChecker.java b/src/main/java/de/prob/voparser/VOTypeChecker.java index 177a5b7..ddba43f 100644 --- a/src/main/java/de/prob/voparser/VOTypeChecker.java +++ b/src/main/java/de/prob/voparser/VOTypeChecker.java @@ -14,21 +14,15 @@ public class VOTypeChecker extends DepthFirstAdapter { private final VOParser voParser; - private boolean error; - private PersistentHashSet<AnimatorState> modifiedAnimatorState; public VOTypeChecker(VOParser voParser) { this.voParser = voParser; - this.error = false; this.modifiedAnimatorState = PersistentHashSet.create(AnimatorState.STATE_SPACE, AnimatorState.TRACE); } public void typeCheck(Start start) { start.apply(this); - if (error) { - throw new VOTypeCheckException("Type error in VO"); - } } private PersistentHashSet<AnimatorState> visitVOExpression(Node node, PersistentHashSet<AnimatorState> animatorState) { @@ -129,7 +123,7 @@ public class VOTypeChecker extends DepthFirstAdapter { break; } if(!valid) { - error = true; + throw new VOTypeCheckException("Type error in VO"); } return newAnimatorState; } -- GitLab