[ FullOpeningTag( FullOpeningTagStatement { span: Span { line: 1, column: 1, position: 0, }, }, ), Function( FunctionStatement { comments: CommentGroup { comments: [], }, attributes: [], function: Span { line: 3, column: 1, position: 8, }, ampersand: None, name: SimpleIdentifier { span: Span { line: 3, column: 10, position: 17, }, value: "foo", }, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 3, column: 13, position: 20, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 3, column: 14, position: 21, }, name: "$a", }, attributes: [], data_type: None, ellipsis: None, default: None, ampersand: None, }, ], commas: [], }, right_parenthesis: Span { line: 3, column: 16, position: 23, }, }, return_type: None, body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 3, column: 18, position: 25, }, statements: [ Global( GlobalStatement { global: Span { line: 4, column: 5, position: 31, }, variables: [ SimpleVariable( SimpleVariable { span: Span { line: 4, column: 12, position: 38, }, name: "$f", }, ), ], }, ), Global( GlobalStatement { global: Span { line: 5, column: 5, position: 46, }, variables: [ BracedVariableVariable( BracedVariableVariable { start: Span { line: 5, column: 12, position: 53, }, variable: ArrayIndex( ArrayIndexExpression { array: Variable( SimpleVariable( SimpleVariable { span: Span { line: 5, column: 14, position: 55, }, name: "$a", }, ), ), left_bracket: Span { line: 5, column: 16, position: 57, }, index: Some( Literal( Integer( LiteralInteger { value: "3", span: Span { line: 5, column: 17, position: 58, }, }, ), ), ), right_bracket: Span { line: 5, column: 18, position: 59, }, }, ), end: Span { line: 5, column: 19, position: 60, }, }, ), ], }, ), Global( GlobalStatement { global: Span { line: 6, column: 5, position: 67, }, variables: [ BracedVariableVariable( BracedVariableVariable { start: Span { line: 6, column: 12, position: 74, }, variable: Variable( BracedVariableVariable( BracedVariableVariable { start: Span { line: 6, column: 14, position: 76, }, variable: ArrayIndex( ArrayIndexExpression { array: Variable( SimpleVariable( SimpleVariable { span: Span { line: 6, column: 16, position: 78, }, name: "$a", }, ), ), left_bracket: Span { line: 6, column: 18, position: 80, }, index: Some( Literal( Integer( LiteralInteger { value: "3", span: Span { line: 6, column: 19, position: 81, }, }, ), ), ), right_bracket: Span { line: 6, column: 20, position: 82, }, }, ), end: Span { line: 6, column: 21, position: 83, }, }, ), ), end: Span { line: 6, column: 22, position: 84, }, }, ), BracedVariableVariable( BracedVariableVariable { start: Span { line: 6, column: 25, position: 87, }, variable: Variable( BracedVariableVariable( BracedVariableVariable { start: Span { line: 6, column: 27, position: 89, }, variable: Variable( BracedVariableVariable( BracedVariableVariable { start: Span { line: 6, column: 29, position: 91, }, variable: ArrayIndex( ArrayIndexExpression { array: Variable( SimpleVariable( SimpleVariable { span: Span { line: 6, column: 31, position: 93, }, name: "$a", }, ), ), left_bracket: Span { line: 6, column: 33, position: 95, }, index: Some( Literal( Integer( LiteralInteger { value: "3", span: Span { line: 6, column: 34, position: 96, }, }, ), ), ), right_bracket: Span { line: 6, column: 35, position: 97, }, }, ), end: Span { line: 6, column: 36, position: 98, }, }, ), ), end: Span { line: 6, column: 37, position: 99, }, }, ), ), end: Span { line: 6, column: 38, position: 100, }, }, ), BracedVariableVariable( BracedVariableVariable { start: Span { line: 6, column: 41, position: 103, }, variable: Variable( BracedVariableVariable( BracedVariableVariable { start: Span { line: 6, column: 43, position: 105, }, variable: Variable( BracedVariableVariable( BracedVariableVariable { start: Span { line: 6, column: 45, position: 107, }, variable: Variable( BracedVariableVariable( BracedVariableVariable { start: Span { line: 6, column: 47, position: 109, }, variable: ArrayIndex( ArrayIndexExpression { array: Variable( SimpleVariable( SimpleVariable { span: Span { line: 6, column: 49, position: 111, }, name: "$a", }, ), ), left_bracket: Span { line: 6, column: 51, position: 113, }, index: Some( Literal( Integer( LiteralInteger { value: "3", span: Span { line: 6, column: 52, position: 114, }, }, ), ), ), right_bracket: Span { line: 6, column: 53, position: 115, }, }, ), end: Span { line: 6, column: 54, position: 116, }, }, ), ), end: Span { line: 6, column: 55, position: 117, }, }, ), ), end: Span { line: 6, column: 56, position: 118, }, }, ), ), end: Span { line: 6, column: 57, position: 119, }, }, ), ], }, ), Echo( EchoStatement { echo: Span { line: 8, column: 5, position: 131, }, values: [ Variable( SimpleVariable( SimpleVariable { span: Span { line: 8, column: 10, position: 136, }, name: "$p", }, ), ), ], ending: Semicolon( Span { line: 8, column: 12, position: 138, }, ), }, ), ], right_brace: Span { line: 9, column: 1, position: 140, }, }, }, ), Expression( ExpressionStatement { expression: AssignmentOperation( Assign { left: Variable( SimpleVariable( SimpleVariable { span: Span { line: 11, column: 1, position: 143, }, name: "$p", }, ), ), equals: Span { line: 11, column: 4, position: 146, }, right: Literal( String( LiteralString { value: "why!", span: Span { line: 11, column: 6, position: 148, }, kind: SingleQuoted, }, ), ), }, ), ending: Semicolon( Span { line: 11, column: 12, position: 154, }, ), }, ), Expression( ExpressionStatement { expression: AssignmentOperation( Assign { left: Variable( SimpleVariable( SimpleVariable { span: Span { line: 12, column: 1, position: 156, }, name: "$s", }, ), ), equals: Span { line: 12, column: 4, position: 159, }, right: Literal( String( LiteralString { value: "p", span: Span { line: 12, column: 6, position: 161, }, kind: SingleQuoted, }, ), ), }, ), ending: Semicolon( Span { line: 12, column: 9, position: 164, }, ), }, ), Expression( ExpressionStatement { expression: AssignmentOperation( Assign { left: Variable( SimpleVariable( SimpleVariable { span: Span { line: 13, column: 1, position: 166, }, name: "$m", }, ), ), equals: Span { line: 13, column: 4, position: 169, }, right: Literal( String( LiteralString { value: "s", span: Span { line: 13, column: 6, position: 171, }, kind: SingleQuoted, }, ), ), }, ), ending: Semicolon( Span { line: 13, column: 9, position: 174, }, ), }, ), Expression( ExpressionStatement { expression: AssignmentOperation( Assign { left: Variable( SimpleVariable( SimpleVariable { span: Span { line: 14, column: 1, position: 176, }, name: "$f", }, ), ), equals: Span { line: 14, column: 4, position: 179, }, right: Literal( String( LiteralString { value: "m", span: Span { line: 14, column: 6, position: 181, }, kind: SingleQuoted, }, ), ), }, ), ending: Semicolon( Span { line: 14, column: 9, position: 184, }, ), }, ), Expression( ExpressionStatement { expression: FunctionCall( FunctionCallExpression { target: Identifier( SimpleIdentifier( SimpleIdentifier { span: Span { line: 15, column: 1, position: 186, }, value: "foo", }, ), ), arguments: ArgumentList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 15, column: 4, position: 189, }, arguments: [ Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: ShortArray( ShortArrayExpression { start: Span { line: 15, column: 5, position: 190, }, items: CommaSeparated { inner: [ KeyValue { key: Literal( Integer( LiteralInteger { value: "3", span: Span { line: 15, column: 6, position: 191, }, }, ), ), double_arrow: Span { line: 15, column: 8, position: 193, }, value: Literal( String( LiteralString { value: "f", span: Span { line: 15, column: 11, position: 196, }, kind: SingleQuoted, }, ), ), }, ], commas: [], }, end: Span { line: 15, column: 14, position: 199, }, }, ), }, ), ], right_parenthesis: Span { line: 15, column: 15, position: 200, }, }, }, ), ending: Semicolon( Span { line: 15, column: 16, position: 201, }, ), }, ), ]