From 44a8d9d2d56a311293ec86ea40df7126748300a1 Mon Sep 17 00:00:00 2001 From: "Benjamin J. Culkin" Date: Thu, 7 Jun 2018 20:37:51 -0300 Subject: 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 --- .../bjc/rgens/parser/templates/GrammarTemplate.java | 2 +- .../rgens/parser/templates/LiteralTemplateElement.java | 2 +- .../rgens/parser/templates/LiveTemplateElement.java | 4 ++-- .../bjc/rgens/parser/templates/TemplateElement.java | 18 +++--------------- 4 files changed, 7 insertions(+), 19 deletions(-) (limited to 'src/main/java/bjc/rgens/parser/templates') 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> 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); -- cgit v1.2.3