diff --git a/parser/type-notation.go b/parser/type-notation.go index e13fb73..d428520 100644 --- a/parser/type-notation.go +++ b/parser/type-notation.go @@ -297,6 +297,13 @@ func (parser *ParsingOperation) parseObjectNewMember () ( if err != nil { return } // TODO: get bit width + if parser.token.Is(lexer.TokenKindBinaryAnd) { + err = parser.nextToken(lexer.TokenKindUInt) + if err != nil { return } + member.bitWidth = parser.token.Value().(uint64) + err = parser.nextToken() + if err != nil { return } + } return } diff --git a/tests/parser/type/main.arf b/tests/parser/type/main.arf index 20f5131..8ffe9df 100644 --- a/tests/parser/type/main.arf +++ b/tests/parser/type/main.arf @@ -16,7 +16,7 @@ type ro dInitInherit:aBasic:( .that:<9384> .this:<389>) -type ro cInitAndDefine:aBasic:( +type ro eInitAndDefine:aBasic:( .this:<389> .ro these:aBasic:( .ro born:Int:<4>