[ FullOpeningTag( FullOpeningTagStatement { span: Span { line: 1, column: 1, position: 0, }, }, ), Function( FunctionStatement { comments: CommentGroup { comments: [], }, attributes: [], function: Span { line: 3, column: 1, position: 7, }, ampersand: None, name: SimpleIdentifier { span: Span { line: 3, column: 10, position: 16, }, value: "foo", }, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 3, column: 13, position: 19, }, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: Span { line: 3, column: 14, position: 20, }, }, return_type: Some( ReturnType { colon: Span { line: 3, column: 15, position: 21, }, data_type: Iterable( Span { line: 3, column: 17, position: 23, }, ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 3, column: 26, position: 32, }, statements: [ Expression( ExpressionStatement { expression: Yield( YieldExpression { key: None, value: Some( Literal( Integer( LiteralInteger { value: "1", span: Span { line: 4, column: 11, position: 44, }, }, ), ), ), }, ), ending: Semicolon( Span { line: 4, column: 12, position: 45, }, ), }, ), Expression( ExpressionStatement { expression: Yield( YieldExpression { key: None, value: None, }, ), ending: Semicolon( Span { line: 5, column: 10, position: 56, }, ), }, ), Expression( ExpressionStatement { expression: Yield( YieldExpression { key: Some( Literal( Integer( LiteralInteger { value: "123", span: Span { line: 6, column: 11, position: 68, }, }, ), ), ), value: Some( Literal( Integer( LiteralInteger { value: "41", span: Span { line: 6, column: 18, position: 75, }, }, ), ), ), }, ), ending: Semicolon( Span { line: 6, column: 20, position: 77, }, ), }, ), Expression( ExpressionStatement { expression: Yield( YieldExpression { key: None, value: Some( Variable( SimpleVariable( SimpleVariable { span: Span { line: 7, column: 11, position: 89, }, name: "$a", }, ), ), ), }, ), ending: Semicolon( Span { line: 7, column: 13, position: 91, }, ), }, ), Expression( ExpressionStatement { expression: Yield( YieldExpression { key: None, value: Some( ArithmeticOperation( PreIncrement { increment: Span { line: 9, column: 11, position: 104, }, right: Variable( SimpleVariable( SimpleVariable { span: Span { line: 9, column: 13, position: 106, }, name: "$a", }, ), ), }, ), ), }, ), ending: Semicolon( Span { line: 9, column: 15, position: 108, }, ), }, ), Expression( ExpressionStatement { expression: Yield( YieldExpression { key: None, value: Some( ArithmeticOperation( PostIncrement { left: Variable( SimpleVariable( SimpleVariable { span: Span { line: 10, column: 11, position: 120, }, name: "$b", }, ), ), increment: Span { line: 10, column: 13, position: 122, }, }, ), ), }, ), ending: Semicolon( Span { line: 10, column: 15, position: 124, }, ), }, ), Expression( ExpressionStatement { expression: Yield( YieldExpression { key: Some( ArithmeticOperation( PreIncrement { increment: Span { line: 12, column: 11, position: 137, }, right: Variable( SimpleVariable( SimpleVariable { span: Span { line: 12, column: 13, position: 139, }, name: "$a", }, ), ), }, ), ), value: Some( Ternary( TernaryExpression { condition: Variable( SimpleVariable( SimpleVariable { span: Span { line: 12, column: 19, position: 145, }, name: "$a", }, ), ), question: Span { line: 12, column: 22, position: 148, }, then: Variable( SimpleVariable( SimpleVariable { span: Span { line: 12, column: 24, position: 150, }, name: "$m", }, ), ), colon: Span { line: 12, column: 27, position: 153, }, else: Variable( SimpleVariable( SimpleVariable { span: Span { line: 12, column: 29, position: 155, }, name: "$s", }, ), ), }, ), ), }, ), ending: Semicolon( Span { line: 12, column: 31, position: 157, }, ), }, ), Expression( ExpressionStatement { expression: Yield( YieldExpression { key: Some( Ternary( TernaryExpression { condition: ArithmeticOperation( PreIncrement { increment: Span { line: 13, column: 11, position: 169, }, right: Variable( SimpleVariable( SimpleVariable { span: Span { line: 13, column: 13, position: 171, }, name: "$a", }, ), ), }, ), question: Span { line: 13, column: 16, position: 174, }, then: Variable( SimpleVariable( SimpleVariable { span: Span { line: 13, column: 18, position: 176, }, name: "$m", }, ), ), colon: Span { line: 13, column: 21, position: 179, }, else: Variable( SimpleVariable( SimpleVariable { span: Span { line: 13, column: 23, position: 181, }, name: "$s", }, ), ), }, ), ), value: Some( Ternary( TernaryExpression { condition: ArithmeticOperation( PreIncrement { increment: Span { line: 13, column: 29, position: 187, }, right: Variable( SimpleVariable( SimpleVariable { span: Span { line: 13, column: 31, position: 189, }, name: "$a", }, ), ), }, ), question: Span { line: 13, column: 34, position: 192, }, then: Variable( SimpleVariable( SimpleVariable { span: Span { line: 13, column: 36, position: 194, }, name: "$m", }, ), ), colon: Span { line: 13, column: 39, position: 197, }, else: Variable( SimpleVariable( SimpleVariable { span: Span { line: 13, column: 41, position: 199, }, name: "$s", }, ), ), }, ), ), }, ), ending: Semicolon( Span { line: 13, column: 43, position: 201, }, ), }, ), Expression( ExpressionStatement { expression: Yield( YieldExpression { key: Some( ArithmeticOperation( PostIncrement { left: Variable( SimpleVariable( SimpleVariable { span: Span { line: 15, column: 11, position: 214, }, name: "$a", }, ), ), increment: Span { line: 15, column: 13, position: 216, }, }, ), ), value: Some( Ternary( TernaryExpression { condition: Variable( SimpleVariable( SimpleVariable { span: Span { line: 15, column: 19, position: 222, }, name: "$a", }, ), ), question: Span { line: 15, column: 22, position: 225, }, then: Variable( SimpleVariable( SimpleVariable { span: Span { line: 15, column: 24, position: 227, }, name: "$m", }, ), ), colon: Span { line: 15, column: 27, position: 230, }, else: Variable( SimpleVariable( SimpleVariable { span: Span { line: 15, column: 29, position: 232, }, name: "$s", }, ), ), }, ), ), }, ), ending: Semicolon( Span { line: 15, column: 31, position: 234, }, ), }, ), Expression( ExpressionStatement { expression: Yield( YieldExpression { key: Some( Ternary( TernaryExpression { condition: ArithmeticOperation( PostIncrement { left: Variable( SimpleVariable( SimpleVariable { span: Span { line: 16, column: 11, position: 246, }, name: "$a", }, ), ), increment: Span { line: 16, column: 13, position: 248, }, }, ), question: Span { line: 16, column: 16, position: 251, }, then: Variable( SimpleVariable( SimpleVariable { span: Span { line: 16, column: 18, position: 253, }, name: "$m", }, ), ), colon: Span { line: 16, column: 21, position: 256, }, else: Variable( SimpleVariable( SimpleVariable { span: Span { line: 16, column: 23, position: 258, }, name: "$s", }, ), ), }, ), ), value: Some( Ternary( TernaryExpression { condition: ArithmeticOperation( PostIncrement { left: Variable( SimpleVariable( SimpleVariable { span: Span { line: 16, column: 29, position: 264, }, name: "$a", }, ), ), increment: Span { line: 16, column: 31, position: 266, }, }, ), question: Span { line: 16, column: 34, position: 269, }, then: Variable( SimpleVariable( SimpleVariable { span: Span { line: 16, column: 36, position: 271, }, name: "$m", }, ), ), colon: Span { line: 16, column: 39, position: 274, }, else: Variable( SimpleVariable( SimpleVariable { span: Span { line: 16, column: 41, position: 276, }, name: "$s", }, ), ), }, ), ), }, ), ending: Semicolon( Span { line: 16, column: 43, position: 278, }, ), }, ), ], right_brace: Span { line: 17, column: 1, position: 280, }, }, }, ), ]