summaryrefslogtreecommitdiff
path: root/src/main/java/bjc/rgens/parser/elements/CaseElement.java
diff options
context:
space:
mode:
authorBenjamin J. Culkin <bjculkin@mix.wvu.edu>2018-05-29 19:15:57 -0300
committerBenjamin J. Culkin <bjculkin@mix.wvu.edu>2018-05-29 19:15:57 -0300
commite7c2ce4ba9bd684a6722baf9ce58e91dfacc8eb3 (patch)
tree1cd57eb89854d557e410663bd3e8387ca9a28969 /src/main/java/bjc/rgens/parser/elements/CaseElement.java
parentfe9799607f6b2f256a94ff8357ac1dbde001974a (diff)
Refactor to split RuleCaseElement
The various types of RuleCaseElement are now their own things.
Diffstat (limited to 'src/main/java/bjc/rgens/parser/elements/CaseElement.java')
-rwxr-xr-xsrc/main/java/bjc/rgens/parser/elements/CaseElement.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/main/java/bjc/rgens/parser/elements/CaseElement.java b/src/main/java/bjc/rgens/parser/elements/CaseElement.java
index 522de7a..cc04781 100755
--- a/src/main/java/bjc/rgens/parser/elements/CaseElement.java
+++ b/src/main/java/bjc/rgens/parser/elements/CaseElement.java
@@ -131,7 +131,15 @@ public abstract class CaseElement {
* Once the rule element execution has been refactored,
* pass rawCase instead.
*/
- return new RuleCaseElement(csepart);
+ if(csepart.contains("$")) {
+ if(csepart.contains("-")) {
+ return new DependantRuleReference(csepart);
+ }
+
+ return new VariableRuleReference(csepart);
+ }
+
+ return new NormalRuleReference(csepart);
} else {
return new LiteralCaseElement(csepart);
}