diff options
| author | Benjamin J. Culkin <bjculkin@mix.wvu.edu> | 2018-06-07 20:37:51 -0300 |
|---|---|---|
| committer | Benjamin J. Culkin <bjculkin@mix.wvu.edu> | 2018-06-07 20:37:51 -0300 |
| commit | 44a8d9d2d56a311293ec86ea40df7126748300a1 (patch) | |
| tree | cc53c34a97a403ddb4a8d112f09124ee42c4507a /src/main/java/bjc/rgens/parser/templates | |
| parent | 7422af49fa5c4da57323abe676a99468d401c44b (diff) | |
Refactoring
The main refactoring here is removing the type field from the various
classes, but there are a few other smaller ones.
This also contains the grounds for a refactoring on variable use
Diffstat (limited to 'src/main/java/bjc/rgens/parser/templates')
4 files changed, 7 insertions, 19 deletions
diff --git a/src/main/java/bjc/rgens/parser/templates/GrammarTemplate.java b/src/main/java/bjc/rgens/parser/templates/GrammarTemplate.java index a257fbd..fa634a5 100644 --- a/src/main/java/bjc/rgens/parser/templates/GrammarTemplate.java +++ b/src/main/java/bjc/rgens/parser/templates/GrammarTemplate.java @@ -25,7 +25,7 @@ public class GrammarTemplate { for(TemplateElement element : elements) { element.generate(state); - if(doSpacing && element.type.spacing) + if(doSpacing && element.spacing) state.contents.append("\n"); } } diff --git a/src/main/java/bjc/rgens/parser/templates/LiteralTemplateElement.java b/src/main/java/bjc/rgens/parser/templates/LiteralTemplateElement.java index 19ebbc2..36cdb12 100644 --- a/src/main/java/bjc/rgens/parser/templates/LiteralTemplateElement.java +++ b/src/main/java/bjc/rgens/parser/templates/LiteralTemplateElement.java @@ -6,7 +6,7 @@ public class LiteralTemplateElement extends TemplateElement { public final String val; public LiteralTemplateElement(String val) { - super(ElementType.LITERAL); + super(true); this.val = val; } diff --git a/src/main/java/bjc/rgens/parser/templates/LiveTemplateElement.java b/src/main/java/bjc/rgens/parser/templates/LiveTemplateElement.java index 2487c83..154ea68 100644 --- a/src/main/java/bjc/rgens/parser/templates/LiveTemplateElement.java +++ b/src/main/java/bjc/rgens/parser/templates/LiveTemplateElement.java @@ -20,7 +20,7 @@ public class LiveTemplateElement extends TemplateElement { public final List<List<CaseElement>> elements; public LiveTemplateElement(String val) { - super(ElementType.TEMPLATE); + super(true); elements = new ArrayList<>(); @@ -52,7 +52,7 @@ public class LiveTemplateElement extends TemplateElement { for(CaseElement elm : elmList) { elm.generate(state); - if(doSpacing && elm.type.spacing) + if(doSpacing && elm.spacing) state.contents.append(" "); } } diff --git a/src/main/java/bjc/rgens/parser/templates/TemplateElement.java b/src/main/java/bjc/rgens/parser/templates/TemplateElement.java index dc123f3..2d0724b 100644 --- a/src/main/java/bjc/rgens/parser/templates/TemplateElement.java +++ b/src/main/java/bjc/rgens/parser/templates/TemplateElement.java @@ -3,24 +3,12 @@ package bjc.rgens.parser.templates; import bjc.rgens.parser.GenerationState; public abstract class TemplateElement { - public static enum ElementType { - LITERAL(true), - TEMPLATE(true), - PRAGMA(false); - - public final boolean spacing; - - private ElementType(boolean spacing) { - this.spacing = spacing; - } - } - - public final ElementType type; + public boolean spacing; public GrammarTemplate belongsTo; - protected TemplateElement(ElementType type) { - this.type = type; + protected TemplateElement(boolean spacing) { + this.spacing = spacing; } public abstract void generate(GenerationState state); |
