From 2f7d1e4884d83524ffbf861f5e2e9a3342730528 Mon Sep 17 00:00:00 2001 From: dgelessus <dgelessus@users.noreply.github.com> Date: Fri, 8 Apr 2022 18:17:05 +0200 Subject: [PATCH] Replace use of getOut/setOut in InternalTransformationsToGrammar --- .../sablecc/InternalTransformationsToGrammar.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/sablecc/sablecc/InternalTransformationsToGrammar.java b/src/main/java/org/sablecc/sablecc/InternalTransformationsToGrammar.java index 778421d..eb66ba5 100644 --- a/src/main/java/org/sablecc/sablecc/InternalTransformationsToGrammar.java +++ b/src/main/java/org/sablecc/sablecc/InternalTransformationsToGrammar.java @@ -110,6 +110,8 @@ public class InternalTransformationsToGrammar extends DepthFirstAdapter LinkedList listOfAlternativeElemsWHaveName; + private final Map<AElem, Integer> elemOperators = new HashMap<>(); + @Override public void caseAAlt(AAlt node) { @@ -125,27 +127,27 @@ public class InternalTransformationsToGrammar extends DepthFirstAdapter @Override public void inAElem(AElem node) { - InternalTransformationsToGrammar.this.setOut(node, NONE); + InternalTransformationsToGrammar.this.elemOperators.put(node, NONE); } @Override public void caseAStarUnOp(AStarUnOp node) { count *= 2; - InternalTransformationsToGrammar.this.setOut(node.parent(), STAR); + InternalTransformationsToGrammar.this.elemOperators.put((AElem)node.parent(), STAR); } @Override public void caseAQMarkUnOp(AQMarkUnOp node) { count *= 2; - InternalTransformationsToGrammar.this.setOut(node.parent(), QMARK); + InternalTransformationsToGrammar.this.elemOperators.put((AElem)node.parent(), QMARK); } @Override public void caseAPlusUnOp(APlusUnOp node) { - InternalTransformationsToGrammar.this.setOut(node.parent(), PLUS); + InternalTransformationsToGrammar.this.elemOperators.put((AElem)node.parent(), PLUS); } } ); @@ -275,7 +277,7 @@ public class InternalTransformationsToGrammar extends DepthFirstAdapter { if(!processingAst) { - int op = ((Integer) getOut(node)).intValue(); + int op = this.elemOperators.get(node); String name = ids.elemTypes.get(node); String numero = (countElementNecessary == true ? ""+(count+1) : "" ); String qMarkOrPlusElemType; -- GitLab