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 --- src/main/java/bjc/rgens/parser/Rule.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'src/main/java/bjc/rgens/parser/Rule.java') diff --git a/src/main/java/bjc/rgens/parser/Rule.java b/src/main/java/bjc/rgens/parser/Rule.java index 21d197d..1a74352 100755 --- a/src/main/java/bjc/rgens/parser/Rule.java +++ b/src/main/java/bjc/rgens/parser/Rule.java @@ -297,24 +297,23 @@ public class Rule { endRecur(); } + // Don't rebuild the builder a bunch + String conts = state.getContents(); if(name.contains("+")) { - state.contents = new StringBuilder(state.contents.toString().replaceAll("\\s+", "")); + conts = conts.replaceAll("\\s+", ""); } - String conts = state.contents.toString(); - for(IPair findRep : findReplaces) { conts = conts.replaceAll(findRep.getLeft(), findRep.getRight()); } - - state.contents = new StringBuilder(conts); + state.setContents(conts); for(String pat : rejectionPreds) { if(!conts.matches(pat)) { fine("Rejected %s by %s (from %s)", conts, pat, belongsTo.name); rejected = true; - state.contents = new StringBuilder(); + state.clearContents(); break; } -- cgit v1.2.3