diff options
Diffstat (limited to 'src/main/java/bjc/rgens/parser/elements/VariableRuleReference.java')
| -rw-r--r-- | src/main/java/bjc/rgens/parser/elements/VariableRuleReference.java | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/src/main/java/bjc/rgens/parser/elements/VariableRuleReference.java b/src/main/java/bjc/rgens/parser/elements/VariableRuleReference.java deleted file mode 100644 index bebb9f7..0000000 --- a/src/main/java/bjc/rgens/parser/elements/VariableRuleReference.java +++ /dev/null @@ -1,31 +0,0 @@ -package bjc.rgens.parser.elements; - -import bjc.rgens.parser.GrammarException; -import bjc.rgens.parser.GenerationState; - -public class VariableRuleReference extends RuleCaseElement { - public VariableRuleReference(String vl) { - super(vl, ReferenceType.VARIABLE); - } - - public void generate(GenerationState state) { - String refBody = val.substring(1, val.length() - 1); - - /* Handle string references. */ - if (refBody.equals("$")) { - throw new GrammarException("Cannot refer to unnamed variables"); - } - - String key = refBody.substring(1); - - if (!state.vars.containsKey(key)) { - String msg = String.format("No variable '%s' defined", key); - - throw new GrammarException(msg); - } - - state.contents.append(state.vars.get(key)); - - return; - } -} |
