Untested, updated enum parsing

This commit is contained in:
Sasha Koshka 2022-09-27 17:00:44 -04:00
parent 26f887dfcc
commit 870a33f4c2

View File

@ -91,32 +91,19 @@ func (parser *ParsingOperation) parseEnumMember () (
member.name = parser.token.Value().(string) member.name = parser.token.Value().(string)
// see if value exists // see if value exists
err = parser.nextToken (
lexer.TokenKindColon,
lexer.TokenKindNewline)
if err != nil { return }
if parser.token.Is(lexer.TokenKindColon) {
err = parser.nextToken() err = parser.nextToken()
if err != nil { return } if err != nil { return }
err = parser.skipWhitespace() if parser.token.Is(lexer.TokenKindNewline) {
if err != nil { return } parser.nextToken()
err = parser.expect ( // if we have exited the member, return
lexer.TokenKindLessThan, if !parser.token.Is(lexer.TokenKindIndent) { return }
lexer.TokenKindLParen) if parser.token.Value().(int) != 2 { return }
if err != nil { return }
if parser.token.Is(lexer.TokenKindLessThan) {
// parse value
member.value, err = parser.parseBasicDefaultValue()
if err != nil { return }
} else if parser.token.Is(lexer.TokenKindLParen) {
// parse default values
member.value, err = parser.parseObjectDefaultValue()
if err != nil { return }
}
} }
// get value
member.argument, err = parser.parseArgument()
err = parser.expect(lexer.TokenKindNewline)
if err != nil { return }
return return
} }