Removed the horrendus "ArgumentKindObjectInitializationValues" name

This commit is contained in:
Sasha Koshka 2022-09-13 11:09:41 -04:00
parent 389c9a313c
commit ba3825287d
4 changed files with 54 additions and 55 deletions

View File

@ -126,7 +126,7 @@ func (member TypeMember) BitWidth () (width uint64) {
} }
// Values returns an iterator for the initialization values. // Values returns an iterator for the initialization values.
func (values ObjectInitializationValues) Sections () ( func (values ObjectDefaultValues) Sections () (
iterator types.Iterator[Argument], iterator types.Iterator[Argument],
) { ) {
iterator = types.NewIterator(values.attributes) iterator = types.NewIterator(values.attributes)
@ -134,13 +134,13 @@ func (values ObjectInitializationValues) Sections () (
} }
// Length returns the amount of values. // Length returns the amount of values.
func (values ArrayInitializationValues) Length () (length int) { func (values ArrayDefaultValues) Length () (length int) {
length = len(values.values) length = len(values.values)
return return
} }
// Item returns the value at index. // Item returns the value at index.
func (values ArrayInitializationValues) Value (index int) (value Argument) { func (values ArrayDefaultValues) Value (index int) (value Argument) {
value = values.values[index] value = values.values[index]
return return
} }

View File

@ -12,21 +12,21 @@ import "git.tebibyte.media/arf/arf/infoerr"
// (parser *ParsingOperation) parseDefaultMemberValue // (parser *ParsingOperation) parseDefaultMemberValue
// (parser *ParsingOperation) parseMemberDeclaration // (parser *ParsingOperation) parseMemberDeclaration
// parseInitializationValues starts on the line after a data section, or a set // parsedefaultValues starts on the line after a data section, or a set
// phrase. It checks for an indent greater than the indent of the aforementioned // phrase. It checks for an indent greater than the indent of the aforementioned
// data section or set phrase (passed through baseIndent), and if there is, // data section or set phrase (passed through baseIndent), and if there is,
// it parses initialization values. // it parses initialization values.
func (parser *ParsingOperation) parseInitializationValues ( func (parser *ParsingOperation) parsedefaultValues (
baseIndent int, baseIndent int,
) ( ) (
initializationArgument Argument, argument Argument,
err error, err error,
) { ) {
// check if line is indented one more than baseIndent // check if line is indented one more than baseIndent
if !parser.token.Is(lexer.TokenKindIndent) { return } if !parser.token.Is(lexer.TokenKindIndent) { return }
if parser.token.Value().(int) != baseIndent + 1 { return } if parser.token.Value().(int) != baseIndent + 1 { return }
initializationArgument.location = parser.token.Location() argument.location = parser.token.Location()
err = parser.nextToken() err = parser.nextToken()
if err != nil { return } if err != nil { return }
@ -35,31 +35,31 @@ func (parser *ParsingOperation) parseInitializationValues (
// object initialization // object initialization
parser.previousToken() parser.previousToken()
var initializationValues ObjectInitializationValues var values ObjectDefaultValues
initializationValues, err = parser.parseObjectInitializationValues() values, err = parser.parseObjectdefaultValues()
initializationArgument.kind = ArgumentKindObjectInitializationValues argument.kind = ArgumentKindObjectDefaultValues
initializationArgument.value = initializationValues argument.value = values
} else { } else {
// array initialization // array initialization
parser.previousToken() parser.previousToken()
var initializationValues ArrayInitializationValues var values ArrayDefaultValues
initializationValues, err = parser.parseArrayInitializationValues() values, err = parser.parseArrayDefaultValues()
initializationArgument.kind = ArgumentKindArrayInitializationValues argument.kind = ArgumentKindArrayDefaultValues
initializationArgument.value = initializationValues argument.value = values
} }
return return
} }
// parseObjectInitializationValues parses a list of object initialization // parseObjectdefaultValues parses a list of object initialization
// values until the indentation level drops. // values until the indentation level drops.
func (parser *ParsingOperation) parseObjectInitializationValues () ( func (parser *ParsingOperation) parseObjectdefaultValues () (
initializationValues ObjectInitializationValues, defaultValues ObjectDefaultValues,
err error, err error,
) { ) {
initializationValues.attributes = make(map[string] Argument) defaultValues.attributes = make(map[string] Argument)
baseIndent := 0 baseIndent := 0
begin := true begin := true
@ -70,7 +70,7 @@ func (parser *ParsingOperation) parseObjectInitializationValues () (
indent := parser.token.Value().(int) indent := parser.token.Value().(int)
if begin == true { if begin == true {
initializationValues.location = parser.token.Location() defaultValues.location = parser.token.Location()
baseIndent = indent baseIndent = indent
begin = false begin = false
} }
@ -87,7 +87,7 @@ func (parser *ParsingOperation) parseObjectInitializationValues () (
name := parser.token.Value().(string) name := parser.token.Value().(string)
// if the member has already been listed, throw an error // if the member has already been listed, throw an error
_, exists := initializationValues.attributes[name] _, exists := defaultValues.attributes[name]
if exists { if exists {
err = parser.token.NewError ( err = parser.token.NewError (
"duplicate member \"" + name + "\" in object " + "duplicate member \"" + name + "\" in object " +
@ -107,15 +107,15 @@ func (parser *ParsingOperation) parseObjectInitializationValues () (
err = parser.nextToken(lexer.TokenKindIndent) err = parser.nextToken(lexer.TokenKindIndent)
if err != nil { return } if err != nil { return }
value, err = parser.parseInitializationValues(baseIndent) value, err = parser.parsedefaultValues(baseIndent)
initializationValues.attributes[name] = value defaultValues.attributes[name] = value
if err != nil { return } if err != nil { return }
} else { } else {
// parse as normal argument // parse as normal argument
value, err = parser.parseArgument() value, err = parser.parseArgument()
initializationValues.attributes[name] = value defaultValues.attributes[name] = value
if err != nil { return } if err != nil { return }
err = parser.expect(lexer.TokenKindNewline) err = parser.expect(lexer.TokenKindNewline)
@ -128,10 +128,10 @@ func (parser *ParsingOperation) parseObjectInitializationValues () (
return return
} }
// parseArrayInitializationValues parses a list of array initialization values // parseArrayDefaultValues parses a list of array initialization values until
// until the indentation lexel drops. // the indentation lexel drops.
func (parser *ParsingOperation) parseArrayInitializationValues () ( func (parser *ParsingOperation) parseArrayDefaultValues () (
initializationValues ArrayInitializationValues, defaultValues ArrayDefaultValues,
err error, err error,
) { ) {
baseIndent := 0 baseIndent := 0
@ -143,7 +143,7 @@ func (parser *ParsingOperation) parseArrayInitializationValues () (
indent := parser.token.Value().(int) indent := parser.token.Value().(int)
if begin == true { if begin == true {
initializationValues.location = parser.token.Location() defaultValues.location = parser.token.Location()
baseIndent = indent baseIndent = indent
begin = false begin = false
} }
@ -169,8 +169,8 @@ func (parser *ParsingOperation) parseArrayInitializationValues () (
var argument Argument var argument Argument
argument, err = parser.parseArgument() argument, err = parser.parseArgument()
if err != nil { return } if err != nil { return }
initializationValues.values = append ( defaultValues.values = append (
initializationValues.values, defaultValues.values,
argument) argument)
} }
} }

View File

@ -97,7 +97,7 @@ func (declaration Declaration) ToString () (output string) {
return return
} }
func (attributes ObjectInitializationValues) ToString ( func (attributes ObjectDefaultValues) ToString (
indent int, indent int,
) ( ) (
output string, output string,
@ -106,7 +106,7 @@ func (attributes ObjectInitializationValues) ToString (
value := attributes.attributes[name] value := attributes.attributes[name]
output += doIndent(indent, ".", name) output += doIndent(indent, ".", name)
if value.kind == ArgumentKindObjectInitializationValues { if value.kind == ArgumentKindObjectDefaultValues {
output += "\n" output += "\n"
output += value.ToString(indent + 1, true) output += value.ToString(indent + 1, true)
} else { } else {
@ -117,7 +117,7 @@ func (attributes ObjectInitializationValues) ToString (
return return
} }
func (values ArrayInitializationValues) ToString ( func (values ArrayDefaultValues) ToString (
indent int, indent int,
) ( ) (
output string, output string,
@ -143,14 +143,14 @@ func (argument Argument) ToString (indent int, breakLine bool) (output string) {
indent, indent,
breakLine) breakLine)
case ArgumentKindObjectInitializationValues: case ArgumentKindObjectDefaultValues:
// this should only appear in contexts where breakLine is true // this should only appear in contexts where breakLine is true
output += argument.value.(ObjectInitializationValues). output += argument.value.(ObjectDefaultValues).
ToString(indent) ToString(indent)
case ArgumentKindArrayInitializationValues: case ArgumentKindArrayDefaultValues:
// this should only appear in contexts where breakLine is true // this should only appear in contexts where breakLine is true
output += argument.value.(ArrayInitializationValues). output += argument.value.(ArrayDefaultValues).
ToString(indent) ToString(indent)
case ArgumentKindIdentifier: case ArgumentKindIdentifier:
@ -263,8 +263,8 @@ func (section DataSection) ToString (indent int) (output string) {
section.what.ToString()) section.what.ToString())
isComplexInitialization := isComplexInitialization :=
section.value.kind == ArgumentKindObjectInitializationValues || section.value.kind == ArgumentKindObjectDefaultValues ||
section.value.kind == ArgumentKindArrayInitializationValues section.value.kind == ArgumentKindArrayDefaultValues
if !isComplexInitialization && section.value.value != nil { if !isComplexInitialization && section.value.value != nil {
output += " " + section.value.ToString(0, false) output += " " + section.value.ToString(0, false)
@ -311,8 +311,8 @@ func (section TypeSection) ToString (indent int) (output string) {
section.what.ToString()) section.what.ToString())
isComplexInitialization := isComplexInitialization :=
section.value.kind == ArgumentKindObjectInitializationValues || section.value.kind == ArgumentKindObjectDefaultValues ||
section.value.kind == ArgumentKindArrayInitializationValues section.value.kind == ArgumentKindArrayDefaultValues
if !isComplexInitialization && section.value.value != nil { if !isComplexInitialization && section.value.value != nil {
output += " " + section.value.ToString(0, false) output += " " + section.value.ToString(0, false)
@ -342,8 +342,8 @@ func (section EnumSection) ToString (indent int) (output string) {
output += doIndent(indent + 1, member.name) output += doIndent(indent + 1, member.name)
isComplexInitialization := isComplexInitialization :=
member.value.kind == ArgumentKindObjectInitializationValues || member.value.kind == ArgumentKindObjectDefaultValues ||
member.value.kind == ArgumentKindArrayInitializationValues member.value.kind == ArgumentKindArrayDefaultValues
if member.value.value == nil { if member.value.value == nil {
output += "\n" output += "\n"
@ -398,8 +398,8 @@ func (phrase Phrase) ToString (indent int, ownLine bool) (output string) {
output += "[" + phrase.command.ToString(0, false) output += "[" + phrase.command.ToString(0, false)
for _, argument := range phrase.arguments { for _, argument := range phrase.arguments {
isInitializationValue := isInitializationValue :=
argument.kind == ArgumentKindObjectInitializationValues || argument.kind == ArgumentKindObjectDefaultValues ||
argument.kind == ArgumentKindArrayInitializationValues argument.kind == ArgumentKindArrayDefaultValues
if isInitializationValue { if isInitializationValue {
initializationValues = argument initializationValues = argument
} else if argument.kind == ArgumentKindDeclaration { } else if argument.kind == ArgumentKindDeclaration {
@ -446,8 +446,8 @@ func (funcOutput FuncOutput) ToString (indent int) (output string) {
output += doIndent(indent + 1, "< ", funcOutput.Declaration.ToString()) output += doIndent(indent + 1, "< ", funcOutput.Declaration.ToString())
isComplexInitialization := isComplexInitialization :=
funcOutput.value.kind == ArgumentKindObjectInitializationValues || funcOutput.value.kind == ArgumentKindObjectDefaultValues ||
funcOutput.value.kind == ArgumentKindArrayInitializationValues funcOutput.value.kind == ArgumentKindArrayDefaultValues
if !isComplexInitialization && funcOutput.value.value != nil { if !isComplexInitialization && funcOutput.value.value != nil {
output += " " + funcOutput.value.ToString(0, false) output += " " + funcOutput.value.ToString(0, false)

View File

@ -94,16 +94,15 @@ type Declaration struct {
typeable typeable
} }
// ObjectInitializationValues represents a list of object member initialization // ObjectDefaultValues represents a list of object member initialization
// attributes. // attributes.
type ObjectInitializationValues struct { type ObjectDefaultValues struct {
locatable locatable
attributes map[string] Argument attributes map[string] Argument
} }
// ArrayInitializationValues represents a list of attributes initializing an // ArrayDefaultValues represents a list of elements initializing an array.
// array. type ArrayDefaultValues struct {
type ArrayInitializationValues struct {
locatable locatable
values []Argument values []Argument
} }
@ -128,10 +127,10 @@ const (
// .name value // .name value
// but like, a lot of them // but like, a lot of them
ArgumentKindObjectInitializationValues ArgumentKindObjectDefaultValues
// value value... // value value...
ArgumentKindArrayInitializationValues ArgumentKindArrayDefaultValues
// name.name // name.name
// name.name.name // name.name.name