[ Token { kind: OpenTag( Full, ), span: ( 1, 1, ), }, Token { kind: Attribute, span: ( 3, 1, ), }, Token { kind: Identifier( "A1", ), span: ( 4, 5, ), }, Token { kind: Comma, span: ( 4, 7, ), }, Token { kind: Identifier( "A2", ), span: ( 5, 5, ), }, Token { kind: LeftParen, span: ( 5, 7, ), }, Token { kind: RightParen, span: ( 5, 8, ), }, Token { kind: Comma, span: ( 5, 9, ), }, Token { kind: Identifier( "A3", ), span: ( 6, 5, ), }, Token { kind: LeftParen, span: ( 6, 7, ), }, Token { kind: LiteralInteger( 0, ), span: ( 6, 8, ), }, Token { kind: RightParen, span: ( 6, 9, ), }, Token { kind: Comma, span: ( 6, 10, ), }, Token { kind: Identifier( "A4", ), span: ( 7, 5, ), }, Token { kind: LeftParen, span: ( 7, 7, ), }, Token { kind: Identifier( "x", ), span: ( 7, 8, ), }, Token { kind: Colon, span: ( 7, 9, ), }, Token { kind: LiteralInteger( 1, ), span: ( 7, 11, ), }, Token { kind: RightParen, span: ( 7, 12, ), }, Token { kind: Comma, span: ( 7, 13, ), }, Token { kind: RightBracket, span: ( 8, 1, ), }, Token { kind: Function, span: ( 9, 1, ), }, Token { kind: Identifier( "a", ), span: ( 9, 10, ), }, Token { kind: LeftParen, span: ( 9, 11, ), }, Token { kind: Attribute, span: ( 10, 5, ), }, Token { kind: Identifier( "A5", ), span: ( 10, 7, ), }, Token { kind: RightBracket, span: ( 10, 9, ), }, Token { kind: Identifier( "int", ), span: ( 11, 5, ), }, Token { kind: Pipe, span: ( 11, 8, ), }, Token { kind: Identifier( "float", ), span: ( 11, 9, ), }, Token { kind: Variable( "a", ), span: ( 11, 15, ), }, Token { kind: Comma, span: ( 11, 17, ), }, Token { kind: Attribute, span: ( 12, 5, ), }, Token { kind: Identifier( "A6", ), span: ( 12, 7, ), }, Token { kind: RightBracket, span: ( 12, 9, ), }, Token { kind: Variable( "c", ), span: ( 13, 5, ), }, Token { kind: Comma, span: ( 13, 7, ), }, Token { kind: Attribute, span: ( 14, 5, ), }, Token { kind: Identifier( "A7", ), span: ( 14, 7, ), }, Token { kind: RightBracket, span: ( 14, 9, ), }, Token { kind: Identifier( "string", ), span: ( 14, 11, ), }, Token { kind: Variable( "b", ), span: ( 14, 18, ), }, Token { kind: Comma, span: ( 14, 20, ), }, Token { kind: RightParen, span: ( 15, 1, ), }, Token { kind: LeftBrace, span: ( 15, 3, ), }, Token { kind: RightBrace, span: ( 16, 1, ), }, Token { kind: Attribute, span: ( 19, 1, ), }, Token { kind: Identifier( "A8", ), span: ( 19, 3, ), }, Token { kind: Comma, span: ( 19, 5, ), }, Token { kind: Identifier( "A9", ), span: ( 19, 7, ), }, Token { kind: LeftParen, span: ( 19, 9, ), }, Token { kind: RightParen, span: ( 19, 10, ), }, Token { kind: Comma, span: ( 19, 11, ), }, Token { kind: Identifier( "A10", ), span: ( 19, 13, ), }, Token { kind: LeftParen, span: ( 19, 16, ), }, Token { kind: Identifier( "foo", ), span: ( 19, 17, ), }, Token { kind: Colon, span: ( 19, 20, ), }, Token { kind: Identifier( "bar", ), span: ( 19, 22, ), }, Token { kind: RightParen, span: ( 19, 25, ), }, Token { kind: RightBracket, span: ( 19, 26, ), }, Token { kind: Class, span: ( 20, 1, ), }, Token { kind: Identifier( "C", ), span: ( 20, 7, ), }, Token { kind: LeftBrace, span: ( 20, 9, ), }, Token { kind: Attribute, span: ( 21, 5, ), }, Token { kind: Identifier( "A11", ), span: ( 21, 7, ), }, Token { kind: RightBracket, span: ( 21, 10, ), }, Token { kind: Public, span: ( 22, 5, ), }, Token { kind: Function, span: ( 22, 12, ), }, Token { kind: Identifier( "__construct", ), span: ( 22, 21, ), }, Token { kind: LeftParen, span: ( 22, 32, ), }, Token { kind: Attribute, span: ( 23, 9, ), }, Token { kind: Identifier( "A12", ), span: ( 23, 11, ), }, Token { kind: RightBracket, span: ( 23, 14, ), }, Token { kind: Public, span: ( 24, 9, ), }, Token { kind: Readonly, span: ( 24, 16, ), }, Token { kind: Identifier( "string", ), span: ( 24, 25, ), }, Token { kind: Variable( "s", ), span: ( 24, 32, ), }, Token { kind: Comma, span: ( 24, 34, ), }, Token { kind: RightParen, span: ( 25, 5, ), }, Token { kind: LeftBrace, span: ( 25, 7, ), }, Token { kind: RightBrace, span: ( 25, 8, ), }, Token { kind: Attribute, span: ( 27, 5, ), }, Token { kind: Identifier( "A13", ), span: ( 27, 7, ), }, Token { kind: RightBracket, span: ( 27, 10, ), }, Token { kind: Public, span: ( 28, 5, ), }, Token { kind: Function, span: ( 28, 12, ), }, Token { kind: Identifier( "m", ), span: ( 28, 21, ), }, Token { kind: LeftParen, span: ( 28, 22, ), }, Token { kind: Attribute, span: ( 29, 9, ), }, Token { kind: Identifier( "A14", ), span: ( 29, 11, ), }, Token { kind: RightBracket, span: ( 29, 14, ), }, Token { kind: Variable( "param", ), span: ( 29, 16, ), }, Token { kind: Comma, span: ( 29, 22, ), }, Token { kind: RightParen, span: ( 30, 5, ), }, Token { kind: LeftBrace, span: ( 30, 7, ), }, Token { kind: RightBrace, span: ( 30, 8, ), }, Token { kind: Attribute, span: ( 32, 5, ), }, Token { kind: Identifier( "A15", ), span: ( 32, 7, ), }, Token { kind: RightBracket, span: ( 32, 10, ), }, Token { kind: Public, span: ( 33, 5, ), }, Token { kind: Variable( "prop", ), span: ( 33, 12, ), }, Token { kind: SemiColon, span: ( 33, 17, ), }, Token { kind: RightBrace, span: ( 34, 1, ), }, Token { kind: Attribute, span: ( 36, 1, ), }, Token { kind: Identifier( "A16", ), span: ( 36, 3, ), }, Token { kind: RightBracket, span: ( 36, 6, ), }, Token { kind: Trait, span: ( 37, 1, ), }, Token { kind: Identifier( "F", ), span: ( 37, 7, ), }, Token { kind: LeftBrace, span: ( 37, 9, ), }, Token { kind: RightBrace, span: ( 37, 10, ), }, Token { kind: Attribute, span: ( 39, 1, ), }, Token { kind: Identifier( "A17", ), span: ( 39, 3, ), }, Token { kind: RightBracket, span: ( 39, 6, ), }, Token { kind: Enum, span: ( 40, 1, ), }, Token { kind: Identifier( "P", ), span: ( 40, 6, ), }, Token { kind: LeftBrace, span: ( 40, 8, ), }, Token { kind: RightBrace, span: ( 40, 9, ), }, Token { kind: Attribute, span: ( 42, 1, ), }, Token { kind: Identifier( "A18", ), span: ( 42, 3, ), }, Token { kind: RightBracket, span: ( 42, 6, ), }, Token { kind: Enum, span: ( 43, 1, ), }, Token { kind: Identifier( "B", ), span: ( 43, 6, ), }, Token { kind: Colon, span: ( 43, 7, ), }, Token { kind: Identifier( "int", ), span: ( 43, 9, ), }, Token { kind: LeftBrace, span: ( 43, 13, ), }, Token { kind: RightBrace, span: ( 43, 14, ), }, Token { kind: Attribute, span: ( 45, 1, ), }, Token { kind: Identifier( "A19", ), span: ( 45, 3, ), }, Token { kind: RightBracket, span: ( 45, 6, ), }, Token { kind: Interface, span: ( 46, 1, ), }, Token { kind: Identifier( "I", ), span: ( 46, 11, ), }, Token { kind: LeftBrace, span: ( 46, 13, ), }, Token { kind: RightBrace, span: ( 46, 14, ), }, Token { kind: Attribute, span: ( 48, 1, ), }, Token { kind: Identifier( "A20", ), span: ( 48, 3, ), }, Token { kind: RightBracket, span: ( 48, 6, ), }, Token { kind: Trait, span: ( 49, 1, ), }, Token { kind: Identifier( "T", ), span: ( 49, 7, ), }, Token { kind: LeftBrace, span: ( 49, 9, ), }, Token { kind: RightBrace, span: ( 49, 10, ), }, Token { kind: Variable( "x", ), span: ( 51, 1, ), }, Token { kind: Equals, span: ( 51, 4, ), }, Token { kind: Attribute, span: ( 51, 6, ), }, Token { kind: Identifier( "A21", ), span: ( 51, 8, ), }, Token { kind: RightBracket, span: ( 51, 11, ), }, Token { kind: Function, span: ( 51, 13, ), }, Token { kind: LeftParen, span: ( 51, 21, ), }, Token { kind: RightParen, span: ( 51, 22, ), }, Token { kind: LeftBrace, span: ( 51, 24, ), }, Token { kind: RightBrace, span: ( 51, 25, ), }, Token { kind: SemiColon, span: ( 51, 26, ), }, Token { kind: Variable( "y", ), span: ( 52, 1, ), }, Token { kind: Equals, span: ( 52, 4, ), }, Token { kind: Attribute, span: ( 52, 6, ), }, Token { kind: Identifier( "A22", ), span: ( 52, 8, ), }, Token { kind: RightBracket, span: ( 52, 11, ), }, Token { kind: Fn, span: ( 52, 13, ), }, Token { kind: LeftParen, span: ( 52, 15, ), }, Token { kind: RightParen, span: ( 52, 16, ), }, Token { kind: DoubleArrow, span: ( 52, 18, ), }, Token { kind: LiteralInteger( 0, ), span: ( 52, 21, ), }, Token { kind: SemiColon, span: ( 52, 22, ), }, Token { kind: Variable( "a", ), span: ( 53, 1, ), }, Token { kind: Equals, span: ( 53, 4, ), }, Token { kind: Attribute, span: ( 53, 6, ), }, Token { kind: Identifier( "A23", ), span: ( 53, 8, ), }, Token { kind: RightBracket, span: ( 53, 11, ), }, Token { kind: Static, span: ( 53, 13, ), }, Token { kind: Function, span: ( 53, 20, ), }, Token { kind: LeftParen, span: ( 53, 28, ), }, Token { kind: RightParen, span: ( 53, 29, ), }, Token { kind: LeftBrace, span: ( 53, 31, ), }, Token { kind: RightBrace, span: ( 53, 32, ), }, Token { kind: SemiColon, span: ( 53, 33, ), }, Token { kind: Variable( "b", ), span: ( 54, 1, ), }, Token { kind: Equals, span: ( 54, 4, ), }, Token { kind: Attribute, span: ( 54, 6, ), }, Token { kind: Identifier( "A24", ), span: ( 54, 8, ), }, Token { kind: RightBracket, span: ( 54, 11, ), }, Token { kind: Static, span: ( 54, 13, ), }, Token { kind: Fn, span: ( 54, 20, ), }, Token { kind: LeftParen, span: ( 54, 22, ), }, Token { kind: RightParen, span: ( 54, 23, ), }, Token { kind: DoubleArrow, span: ( 54, 25, ), }, Token { kind: LiteralInteger( 0, ), span: ( 54, 28, ), }, Token { kind: SemiColon, span: ( 54, 29, ), }, Token { kind: Variable( "z", ), span: ( 55, 1, ), }, Token { kind: Equals, span: ( 55, 4, ), }, Token { kind: New, span: ( 55, 6, ), }, Token { kind: Attribute, span: ( 55, 10, ), }, Token { kind: Identifier( "A25", ), span: ( 55, 12, ), }, Token { kind: RightBracket, span: ( 55, 15, ), }, Token { kind: Class, span: ( 55, 17, ), }, Token { kind: LeftBrace, span: ( 55, 23, ), }, Token { kind: Attribute, span: ( 56, 5, ), }, Token { kind: Identifier( "A26", ), span: ( 56, 7, ), }, Token { kind: RightBracket, span: ( 56, 10, ), }, Token { kind: Var, span: ( 57, 5, ), }, Token { kind: Variable( "s", ), span: ( 57, 9, ), }, Token { kind: SemiColon, span: ( 57, 11, ), }, Token { kind: RightBrace, span: ( 58, 1, ), }, Token { kind: SemiColon, span: ( 58, 2, ), }, ]