Fixed array initialization value parsing

This commit is contained in:
Sasha Koshka 2022-08-17 00:55:53 -04:00
parent 0dd9368393
commit 9ca1be2204
1 changed files with 11 additions and 11 deletions

View File

@ -54,8 +54,8 @@ func (parser *ParsingOperation) parseDataSection () (
func (parser *ParsingOperation) parseInitializationValues ( func (parser *ParsingOperation) parseInitializationValues (
baseIndent int, baseIndent int,
) ( ) (
value Argument, initializationArgument 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 }
@ -64,20 +64,20 @@ func (parser *ParsingOperation) parseInitializationValues (
err = parser.nextToken() err = parser.nextToken()
if err != nil { return } if err != nil { return }
value.location = parser.token.Location() initializationArgument.location = parser.token.Location()
if parser.token.Is(lexer.TokenKindDot) { if parser.token.Is(lexer.TokenKindDot) {
var values ObjectInitializationValues var initializationValues ObjectInitializationValues
values, err = parser.parseObjectInitializationValues ( initializationValues, err = parser.parseObjectInitializationValues (
baseIndent + 1) baseIndent + 1)
value.kind = ArgumentKindObjectInitializationValues initializationArgument.kind = ArgumentKindObjectInitializationValues
value.value = &values initializationArgument.value = &initializationValues
} else { } else {
var values ArrayInitializationValues var initializationValues ArrayInitializationValues
value.value, err = parser.parseArrayInitializationValues ( initializationValues, err = parser.parseArrayInitializationValues (
baseIndent + 1) baseIndent + 1)
value.kind = ArgumentKindArrayInitializationValues initializationArgument.kind = ArgumentKindArrayInitializationValues
value.value = &values initializationArgument.value = &initializationValues
} }
return return