DefinitionTree { definitions: [ Function( FunctionDefinition { comments: CommentGroup { comments: [], }, attributes: [], function: Keyword { value: "function", position: 0, }, name: Identifier { position: 9, value: "foo", }, templates: None, parameters: FunctionLikeParameterListDefinition { comments: CommentGroup { comments: [], }, left_parenthesis: 12, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 13, }, return_type: FunctionLikeReturnTypeDefinition { colon: 14, type_definition: Void( Keyword { value: "void", position: 16, }, ), }, body: BlockStatement { comments: CommentGroup { comments: [], }, left_brace: 21, statements: [ For( ForStatement { comments: CommentGroup { comments: [], }, for: Keyword { value: "for", position: 27, }, iterator: Parenthesized { left_parenthesis: 31, initializations: CommaSeparated { inner: [ AssignmentOperation( Assignment { comments: CommentGroup { comments: [], }, left: Variable( Variable { position: 32, name: "$i", }, ), equals: 35, right: Literal( Integer( LiteralInteger { comments: CommentGroup { comments: [], }, value: "0", position: 37, }, ), ), }, ), AssignmentOperation( Assignment { comments: CommentGroup { comments: [], }, left: Variable( Variable { position: 40, name: "$i", }, ), equals: 43, right: Literal( Integer( LiteralInteger { comments: CommentGroup { comments: [], }, value: "1", position: 45, }, ), ), }, ), ], commas: [ 38, ], }, initializations_semicolon: 46, conditions: CommaSeparated { inner: [ ComparisonOperation( LessThan { comments: CommentGroup { comments: [], }, left: Variable( Variable { position: 48, name: "$j", }, ), less_than: 51, right: Literal( Integer( LiteralInteger { comments: CommentGroup { comments: [], }, value: "2", position: 53, }, ), ), }, ), ArithmeticOperation( PostDecrement { left: Variable( Variable { position: 56, name: "$j", }, ), decrement: 58, }, ), ], commas: [ 54, ], }, conditions_semicolon: 60, loop: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 61, }, block: BlockStatement { comments: CommentGroup { comments: [], }, left_brace: 63, statements: [], right_brace: 70, }, }, ), ], right_brace: 72, }, }, ), ], eof: 74, }