Removed the horrendus "ArgumentKindObjectInitializationValues" name
This commit is contained in:
parent
389c9a313c
commit
ba3825287d
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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)
|
||||||
|
@ -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
|
||||||
|
Reference in New Issue
Block a user