The section kind specific maps are gone

I've REPLACED IT with the unified sections map. Interfaces, baby!
This commit is contained in:
Sasha Koshka 2022-09-04 19:30:59 -04:00
parent 9269161138
commit f3c72f8f30
5 changed files with 53 additions and 94 deletions

View File

@ -14,70 +14,40 @@ func (parser *ParsingOperation) parseBody () (err error) {
switch sectionType { switch sectionType {
case "data": case "data":
var section *DataSection section, parseErr := parser.parseDataSection()
section, err = parser.parseDataSection() err = parser.tree.addSection(section)
if parser.tree.dataSections == nil { if err != nil { return }
parser.tree.dataSections = if parseErr != nil { return }
make(map[string] *DataSection)
}
parser.tree.dataSections[section.name] = section
parser.tree.sections[section.name] = section
if err != nil { return }
case "type": case "type":
var section *TypeSection section, parseErr := parser.parseTypeSection()
section, err = parser.parseTypeSection() err = parser.tree.addSection(section)
if parser.tree.typeSections == nil { if err != nil { return }
parser.tree.typeSections = if parseErr != nil { return }
make(map[string] *TypeSection)
}
parser.tree.typeSections[section.name] = section
parser.tree.sections[section.name] = section
if err != nil { return }
case "objt": case "objt":
var section *ObjtSection section, parseErr := parser.parseObjtSection()
section, err = parser.parseObjtSection() err = parser.tree.addSection(section)
if parser.tree.objtSections == nil { if err != nil { return }
parser.tree.objtSections = if parseErr != nil { return }
make(map[string] *ObjtSection)
}
parser.tree.objtSections[section.name] = section
parser.tree.sections[section.name] = section
if err != nil { return }
case "face": case "face":
var section *FaceSection section, parseErr := parser.parseFaceSection()
section, err = parser.parseFaceSection() err = parser.tree.addSection(section)
if parser.tree.faceSections == nil { if err != nil { return }
parser.tree.faceSections = if parseErr != nil { return }
make(map[string] *FaceSection)
}
parser.tree.faceSections[section.name] = section
parser.tree.sections[section.name] = section
if err != nil { return }
case "enum": case "enum":
var section *EnumSection section, parseErr := parser.parseEnumSection()
section, err = parser.parseEnumSection() err = parser.tree.addSection(section)
if parser.tree.enumSections == nil { if err != nil { return }
parser.tree.enumSections = if parseErr != nil { return }
make(map[string] *EnumSection)
}
parser.tree.enumSections[section.name] = section
parser.tree.sections[section.name] = section
if err != nil { return }
case "func": case "func":
var section *FuncSection section, parseErr := parser.parseFuncSection()
section, err = parser.parseFuncSection() err = parser.tree.addSection(section)
if parser.tree.funcSections == nil { if err != nil { return }
parser.tree.funcSections = if parseErr != nil { return }
make(map[string] *FuncSection)
}
parser.tree.funcSections[section.name] = section
parser.tree.sections[section.name] = section
if err != nil { return }
default: default:
err = parser.token.NewError ( err = parser.token.NewError (