DefinitionTree { definitions: [ Class( ClassDefinition { comments: CommentGroup { comments: [], }, attributes: [ AttributeGroupDefinition { hash_left_bracket: 0, members: CommaSeparated { inner: [ AttributeDefinition { name: Identifier { position: 2, value: "foo", }, arguments: Some( ArgumentListExpression { comments: CommentGroup { comments: [], }, left_parenthesis: 5, arguments: CommaSeparated { inner: [ Value { comments: CommentGroup { comments: [], }, value: ClassOperation( ConstantFetch { comments: CommentGroup { comments: [], }, class: Identifier( Identifier { position: 6, value: "self", }, ), double_colon: 10, constant: Identifier { position: 12, value: "class", }, }, ), }, ], commas: [], }, right_parenthesis: 17, }, ), }, AttributeDefinition { name: Identifier { position: 20, value: "bar", }, arguments: Some( ArgumentListExpression { comments: CommentGroup { comments: [], }, left_parenthesis: 23, arguments: CommaSeparated { inner: [ Value { comments: CommentGroup { comments: [], }, value: ClassOperation( Initialization { comments: CommentGroup { comments: [], }, new: Keyword { value: "new", position: 24, }, class: Identifier( Identifier { position: 28, value: "self", }, ), generics: None, arguments: ArgumentListExpression { comments: CommentGroup { comments: [], }, left_parenthesis: 32, arguments: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 33, }, }, ), }, Value { comments: CommentGroup { comments: [], }, value: ClassOperation( Initialization { comments: CommentGroup { comments: [], }, new: Keyword { value: "new", position: 36, }, class: Identifier( Identifier { position: 40, value: "parent", }, ), generics: None, arguments: ArgumentListExpression { comments: CommentGroup { comments: [], }, left_parenthesis: 46, arguments: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 47, }, }, ), }, Value { comments: CommentGroup { comments: [], }, value: ClassOperation( Initialization { comments: CommentGroup { comments: [], }, new: Keyword { value: "new", position: 50, }, class: Identifier( Identifier { position: 54, value: "static", }, ), generics: None, arguments: ArgumentListExpression { comments: CommentGroup { comments: [], }, left_parenthesis: 60, arguments: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 61, }, }, ), }, ], commas: [ 34, 48, ], }, right_parenthesis: 62, }, ), }, ], commas: [ 18, ], }, right_bracket: 63, }, ], modifiers: ModifierGroupDefinition { position: 65, modifiers: [], }, class: Keyword { value: "class", position: 65, }, name: Identifier { position: 71, value: "a", }, templates: None, extends: None, implements: None, body: ClassDefinitionBody { left_brace: 73, members: [], right_brace: 76, }, }, ), ], eof: 78, }