From c7fbd761c1cc8a8a553f79463ecb8dd02c43d0f8 Mon Sep 17 00:00:00 2001 From: "Benjamin J. Culkin" Date: Thu, 6 Sep 2018 16:26:40 -0300 Subject: Convert GenerationState.contents to private This is to prepare for replacing contents with a ReportWriter --- .../bjc/rgens/parser/elements/ExpVariableCaseElement.java | 4 +--- .../java/bjc/rgens/parser/elements/LiteralCaseElement.java | 2 +- .../java/bjc/rgens/parser/elements/RangeCaseElement.java | 2 +- src/main/java/bjc/rgens/parser/elements/RuleCaseElement.java | 12 ++++++------ .../java/bjc/rgens/parser/elements/SerialCaseElement.java | 2 +- .../bjc/rgens/parser/elements/vars/ARefVariableElement.java | 4 ++-- .../rgens/parser/elements/vars/LiteralVariableElement.java | 2 +- .../bjc/rgens/parser/elements/vars/RRefVariableElement.java | 4 ++-- .../bjc/rgens/parser/elements/vars/VRefVariableElement.java | 2 +- 9 files changed, 16 insertions(+), 18 deletions(-) (limited to 'src/main/java/bjc/rgens/parser/elements') diff --git a/src/main/java/bjc/rgens/parser/elements/ExpVariableCaseElement.java b/src/main/java/bjc/rgens/parser/elements/ExpVariableCaseElement.java index 1606e59..c221f4a 100755 --- a/src/main/java/bjc/rgens/parser/elements/ExpVariableCaseElement.java +++ b/src/main/java/bjc/rgens/parser/elements/ExpVariableCaseElement.java @@ -29,12 +29,10 @@ public class ExpVariableCaseElement extends VariableDefCaseElement { */ String res = destGrammar.generate(varDef, state, false); - newState.contents = new StringBuilder(res); + state.defineVar(varName, res); } else { String msg = String.format("No rule '%s' defined", varDef); throw new GrammarException(msg); } - - state.defineVar(varName, newState.contents.toString()); } } diff --git a/src/main/java/bjc/rgens/parser/elements/LiteralCaseElement.java b/src/main/java/bjc/rgens/parser/elements/LiteralCaseElement.java index 6e0f8fd..2621ee6 100644 --- a/src/main/java/bjc/rgens/parser/elements/LiteralCaseElement.java +++ b/src/main/java/bjc/rgens/parser/elements/LiteralCaseElement.java @@ -12,6 +12,6 @@ public class LiteralCaseElement extends CaseElement { } public void generate(GenerationState state) { - state.contents.append(val); + state.appendContents(val); } } diff --git a/src/main/java/bjc/rgens/parser/elements/RangeCaseElement.java b/src/main/java/bjc/rgens/parser/elements/RangeCaseElement.java index e877dd1..bd73f1b 100755 --- a/src/main/java/bjc/rgens/parser/elements/RangeCaseElement.java +++ b/src/main/java/bjc/rgens/parser/elements/RangeCaseElement.java @@ -17,7 +17,7 @@ public class RangeCaseElement extends CaseElement { int val = state.rnd.nextInt(end - begin); val += begin; - state.contents.append(val); + state.appendContents(Integer.toString(val)); } @Override diff --git a/src/main/java/bjc/rgens/parser/elements/RuleCaseElement.java b/src/main/java/bjc/rgens/parser/elements/RuleCaseElement.java index f13dbdb..e42647c 100755 --- a/src/main/java/bjc/rgens/parser/elements/RuleCaseElement.java +++ b/src/main/java/bjc/rgens/parser/elements/RuleCaseElement.java @@ -37,12 +37,12 @@ public class RuleCaseElement extends CaseElement { if(inName == false) inName = elm.forbidSpaces; } - String body = newState.contents.toString(); + String body = newState.getContents(); if(inName) { doGenerate(String.format("[%s]", body), state); } else { - state.contents.append(body); + state.appendContents(body); } } @@ -67,7 +67,7 @@ public class RuleCaseElement extends CaseElement { * once. */ String res = destGrammar.generate(actName, newState, false); - newState.contents = new StringBuilder(res); + newState.setContents(res); } else { /* * @TODO 5/29/18 Ben Culkin :RuleSuggesting @@ -91,13 +91,13 @@ public class RuleCaseElement extends CaseElement { throw new GrammarException(msg); } - String res = newState.contents.toString(); + String res = newState.getContents(); if (actName.contains("+")) { /* Rule names with pluses in them get space-flattened */ - state.contents.append(res.replaceAll("\\s+", "")); + state.appendContents(res.replaceAll("\\s+", "")); } else { - state.contents.append(res); + state.appendContents(res); } } } diff --git a/src/main/java/bjc/rgens/parser/elements/SerialCaseElement.java b/src/main/java/bjc/rgens/parser/elements/SerialCaseElement.java index 348cfbb..195ba4f 100644 --- a/src/main/java/bjc/rgens/parser/elements/SerialCaseElement.java +++ b/src/main/java/bjc/rgens/parser/elements/SerialCaseElement.java @@ -24,7 +24,7 @@ public class SerialCaseElement extends CaseElement { rep.generate(state); if(rep.spacing) - state.contents.append(" "); + state.appendContents(" "); } } } diff --git a/src/main/java/bjc/rgens/parser/elements/vars/ARefVariableElement.java b/src/main/java/bjc/rgens/parser/elements/vars/ARefVariableElement.java index 99af354..17db660 100644 --- a/src/main/java/bjc/rgens/parser/elements/vars/ARefVariableElement.java +++ b/src/main/java/bjc/rgens/parser/elements/vars/ARefVariableElement.java @@ -20,8 +20,8 @@ public class ARefVariableElement extends VariableElement { rl.generate(newState); - String res = newState.contents.toString(); + String res = newState.getContents(); - state.contents.append(res); + state.appendContents(res); } } diff --git a/src/main/java/bjc/rgens/parser/elements/vars/LiteralVariableElement.java b/src/main/java/bjc/rgens/parser/elements/vars/LiteralVariableElement.java index cf33c66..e7415f5 100644 --- a/src/main/java/bjc/rgens/parser/elements/vars/LiteralVariableElement.java +++ b/src/main/java/bjc/rgens/parser/elements/vars/LiteralVariableElement.java @@ -12,6 +12,6 @@ public class LiteralVariableElement extends VariableElement { } public void generate(GenerationState state) { - state.contents.append(val); + state.appendContents(val); } } diff --git a/src/main/java/bjc/rgens/parser/elements/vars/RRefVariableElement.java b/src/main/java/bjc/rgens/parser/elements/vars/RRefVariableElement.java index 5c0a768..e81e9f8 100644 --- a/src/main/java/bjc/rgens/parser/elements/vars/RRefVariableElement.java +++ b/src/main/java/bjc/rgens/parser/elements/vars/RRefVariableElement.java @@ -23,12 +23,12 @@ public class RRefVariableElement extends VariableElement { rl.generate(newState); - String res = newState.contents.toString(); + String res = newState.getContents(); if(forbidSpaces && res.contains(" ")) { throw new GrammarException(String.format("Spaces not allowed in this context (rule-reference %s)", state)); } - state.contents.append(res); + state.appendContents(res); } } diff --git a/src/main/java/bjc/rgens/parser/elements/vars/VRefVariableElement.java b/src/main/java/bjc/rgens/parser/elements/vars/VRefVariableElement.java index 1facd38..e65d876 100644 --- a/src/main/java/bjc/rgens/parser/elements/vars/VRefVariableElement.java +++ b/src/main/java/bjc/rgens/parser/elements/vars/VRefVariableElement.java @@ -19,6 +19,6 @@ public class VRefVariableElement extends VariableElement { throw new GrammarException(String.format("Cannot include variable %s w/ spaces in body in rule name", nam)); } - state.contents.append(strang); + state.appendContents(strang); } } -- cgit v1.2.3