From 223b868cf0087030edee1b075867f646a53779b8 Mon Sep 17 00:00:00 2001 From: Arpad Ryszka Date: Thu, 2 Nov 2017 22:46:07 +0100 Subject: [PATCH] refactor parse phase - parsers --- choice.go | 5 ++--- sequence.go | 17 +++-------------- 2 files changed, 5 insertions(+), 17 deletions(-) diff --git a/choice.go b/choice.go index 025dc4a..c4e5e6c 100644 --- a/choice.go +++ b/choice.go @@ -63,7 +63,7 @@ func (d *choiceDefinition) validate(r *registry) error { return nil } -func (d *choiceDefinition) ensureBuilder() { +func (d *choiceDefinition) createBuilder() { if d.cbuilder != nil { return } @@ -91,7 +91,7 @@ func (d *choiceDefinition) init(r *registry) { } d.initialized = true - d.ensureBuilder() + d.createBuilder() d.initOptions(r) } @@ -101,7 +101,6 @@ func (d *choiceDefinition) addGeneralization(g int) { } d.generalizations = append(d.generalizations, g) - d.ensureBuilder() for _, e := range d.optionDefs { e.addGeneralization(g) } diff --git a/sequence.go b/sequence.go index e55ceb4..a3ed90a 100644 --- a/sequence.go +++ b/sequence.go @@ -69,7 +69,7 @@ func (d *sequenceDefinition) validate(r *registry) error { return nil } -func (d *sequenceDefinition) ensureBuilder() { +func (d *sequenceDefinition) createBuilder() { if d.sbuilder != nil { return } @@ -78,6 +78,7 @@ func (d *sequenceDefinition) ensureBuilder() { name: d.name, id: d.id, commit: d.commit, + ranges: d.ranges, } } @@ -111,10 +112,6 @@ func (d *sequenceDefinition) initItems(r *registry) { d.allChars = allChars } -func (d *sequenceDefinition) canHaveSpecializations() bool { - return len(d.items) == 1 && d.items[0].Max == 1 -} - func (d *sequenceDefinition) init(r *registry) { if d.initialized { return @@ -122,12 +119,8 @@ func (d *sequenceDefinition) init(r *registry) { d.initialized = true d.initRanges() - d.ensureBuilder() - d.sbuilder.ranges = d.ranges + d.createBuilder() d.initItems(r) - if d.canHaveSpecializations() { - d.itemDefs[0].addGeneralization(d.id) - } } func (d *sequenceDefinition) addGeneralization(g int) { @@ -136,10 +129,6 @@ func (d *sequenceDefinition) addGeneralization(g int) { } d.generalizations = append(d.generalizations, g) - d.ensureBuilder() - if d.canHaveSpecializations() { - d.itemDefs[0].addGeneralization(g) - } } func (d *sequenceDefinition) createParser() {