[ 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: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 3, column: 21, position: 27, }, name: "$a", }, attributes: [], data_type: Some( String( Span { line: 3, column: 14, position: 20, }, ), ), ellipsis: None, default: Some( Literal( String( LiteralString { value: "", span: Span { line: 3, column: 26, position: 32, }, kind: DoubleQuoted, }, ), ), ), ampersand: None, }, FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 3, column: 36, position: 42, }, name: "$b", }, attributes: [], data_type: Some( Array( Span { line: 3, column: 30, position: 36, }, ), ), ellipsis: None, default: Some( ShortArray( ShortArrayExpression { start: Span { line: 3, column: 41, position: 47, }, items: CommaSeparated { inner: [], commas: [], }, end: Span { line: 3, column: 42, position: 48, }, }, ), ), ampersand: None, }, ], commas: [ Span { line: 3, column: 28, position: 34, }, ], }, right_parenthesis: Span { line: 3, column: 43, position: 49, }, }, return_type: Some( ReturnType { colon: Span { line: 3, column: 44, position: 50, }, data_type: Never( Span { line: 3, column: 46, position: 52, }, ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 3, column: 52, position: 58, }, statements: [ Expression( ExpressionStatement { expression: Exit( ExitExpression { exit: Span { line: 4, column: 5, position: 64, }, argument: Some( SingleArgument { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 4, column: 9, position: 68, }, argument: Positional( PositionalArgument { comments: CommentGroup { comments: [], }, ellipsis: None, value: Literal( Integer( LiteralInteger { value: "1", span: Span { line: 4, column: 10, position: 69, }, }, ), ), }, ), right_parenthesis: Span { line: 4, column: 11, position: 70, }, }, ), }, ), ending: Semicolon( Span { line: 4, column: 12, position: 71, }, ), }, ), ], right_brace: Span { line: 5, column: 1, position: 73, }, }, }, ), Function( FunctionStatement { comments: CommentGroup { comments: [], }, attributes: [], function: Span { line: 7, column: 1, position: 76, }, ampersand: None, name: SimpleIdentifier { span: Span { line: 7, column: 10, position: 85, }, value: "bar", }, parameters: FunctionParameterList { comments: CommentGroup { comments: [], }, left_parenthesis: Span { line: 7, column: 13, position: 88, }, parameters: CommaSeparated { inner: [ FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 7, column: 18, position: 93, }, name: "$a", }, attributes: [], data_type: Some( Integer( Span { line: 7, column: 14, position: 89, }, ), ), ellipsis: None, default: None, ampersand: None, }, FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 7, column: 28, position: 103, }, name: "$b", }, attributes: [], data_type: Some( Float( Span { line: 7, column: 22, position: 97, }, ), ), ellipsis: None, default: None, ampersand: None, }, FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 7, column: 39, position: 114, }, name: "$c", }, attributes: [], data_type: Some( String( Span { line: 7, column: 32, position: 107, }, ), ), ellipsis: None, default: None, ampersand: None, }, FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 7, column: 48, position: 123, }, name: "$d", }, attributes: [], data_type: Some( True( Span { line: 7, column: 43, position: 118, }, ), ), ellipsis: None, default: None, ampersand: None, }, FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 7, column: 58, position: 133, }, name: "$e", }, attributes: [], data_type: Some( False( Span { line: 7, column: 52, position: 127, }, ), ), ellipsis: None, default: None, ampersand: None, }, FunctionParameter { comments: CommentGroup { comments: [], }, name: SimpleVariable { span: Span { line: 7, column: 67, position: 142, }, name: "$f", }, attributes: [], data_type: Some( Null( Span { line: 7, column: 62, position: 137, }, ), ), ellipsis: None, default: None, ampersand: None, }, ], commas: [ Span { line: 7, column: 20, position: 95, }, Span { line: 7, column: 30, position: 105, }, Span { line: 7, column: 41, position: 116, }, Span { line: 7, column: 50, position: 125, }, Span { line: 7, column: 60, position: 135, }, ], }, right_parenthesis: Span { line: 7, column: 69, position: 144, }, }, return_type: Some( ReturnType { colon: Span { line: 7, column: 70, position: 145, }, data_type: Union( [ Null( Span { line: 7, column: 72, position: 147, }, ), String( Span { line: 7, column: 77, position: 152, }, ), Integer( Span { line: 7, column: 84, position: 159, }, ), Float( Span { line: 7, column: 88, position: 163, }, ), ], ), }, ), body: FunctionBody { comments: CommentGroup { comments: [], }, left_brace: Span { line: 7, column: 94, position: 169, }, statements: [ Return( ReturnStatement { return: Span { line: 8, column: 5, position: 175, }, value: Some( Null, ), ending: Semicolon( Span { line: 8, column: 16, position: 186, }, ), }, ), ], right_brace: Span { line: 9, column: 1, position: 188, }, }, }, ), ]