[ FullOpeningTag( FullOpeningTagStatement { span: Span { line: 1, column: 1, position: 0, }, }, ), Trait( TraitStatement { trait: Span { line: 3, column: 1, position: 7, }, name: SimpleIdentifier { span: Span { line: 3, column: 7, position: 13, }, value: "foo", }, attributes: [], body: TraitBody { left_brace: Span { line: 3, column: 11, position: 17, }, members: [ ConcreteMethod( ConcreteMethod { comments: CommentGroup { comments: [ Comment { span: Span { line: 4, column: 5, position: 23, }, format: SingleLine, content: "// it's okay to have `parent` type", }, Comment { span: Span { line: 5, column: 5, position: 62, }, format: SingleLine, content: "// since it's not known at this time if", }, Comment { span: Span { line: 6, column: 5, position: 106, }, format: SingleLine, content: "// `foo` will have a parent.", }, ], }, attributes: [], modifiers: MethodModifierGroup { modifiers: [ Public( Span { line: 7, column: 5, position: 139, }, ), ], }, function: Span { line: 7, column: 12, position: 146, }, ampersand: None, name: SimpleIdentifier { span: Span { line: 7, column: 21, position: 155, }, value: "bar", }, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 7, column: 24, position: 158, }, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: Span { line: 7, column: 25, position: 159, }, }, return_type: Some( ReturnType { colon: Span { line: 7, column: 26, position: 160, }, data_type: ParentReference( Span { line: 7, column: 28, position: 162, }, ), }, ), body: MethodBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 7, column: 35, position: 169, }, statements: [ Expression( ExpressionStatement { expression: Exit( ExitExpression { exit: Span { line: 8, column: 9, position: 179, }, argument: Some( SingleArgument { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 8, column: 13, position: 183, }, argument: Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Literal( Integer( LiteralInteger { value: "1", span: Span { line: 8, column: 14, position: 184, }, }, ), ), }, ), right_parenthesis: Span { line: 8, column: 15, position: 185, }, }, ), }, ), ending: Semicolon( Span { line: 8, column: 16, position: 186, }, ), }, ), ], right_brace: Span { line: 9, column: 5, position: 192, }, }, }, ), ], right_brace: Span { line: 10, column: 1, position: 194, }, }, }, ), ]