diff --git a/parser/type-notation.go b/parser/type-notation.go index 69f7e5c..e13fb73 100644 --- a/parser/type-notation.go +++ b/parser/type-notation.go @@ -42,8 +42,13 @@ func (parser *ParsingOperation) parseType () (what Type, err error) { for { if !parser.token.Is(lexer.TokenKindColon) { break } + + err = parser.nextToken() + if err != nil { return } + err = parser.skipWhitespace() + if err != nil { return } - err = parser.nextToken( + err = parser.expect( lexer.TokenKindName, lexer.TokenKindUInt, lexer.TokenKindLParen, diff --git a/tests/parser/data/main.arf b/tests/parser/data/main.arf index 713a463..6eaf69f 100644 --- a/tests/parser/data/main.arf +++ b/tests/parser/data/main.arf @@ -41,7 +41,6 @@ data ro lMutIntegerArray16:Int:16:mut data ro mExternalData:Int:8 external -data ro nIntegerArrayInitialized:Int:16:mut:< - 3948 293 293049 948 912 - 340 0 2304 0 4785 92 - > +data ro nIntegerArrayInitialized:Int:16:mut: + <3948 293 293049 948 912 + 340 0 2304 0 4785 92>