DefinitionTree { definitions: [ Function( FunctionDefinition { comments: CommentGroup { comments: [], }, attributes: [], function: Keyword { value: "function", position: 0, }, name: Identifier { position: 9, value: "true", }, templates: None, parameters: FunctionLikeParameterListDefinition { comments: CommentGroup { comments: [], }, left_parenthesis: 13, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 14, }, return_type: FunctionLikeReturnTypeDefinition { colon: 15, type_definition: Void( Keyword { value: "void", position: 17, }, ), }, body: BlockStatement { comments: CommentGroup { comments: [], }, left_brace: 22, statements: [], right_brace: 23, }, }, ), Function( FunctionDefinition { comments: CommentGroup { comments: [], }, attributes: [], function: Keyword { value: "function", position: 25, }, name: Identifier { position: 34, value: "false", }, templates: None, parameters: FunctionLikeParameterListDefinition { comments: CommentGroup { comments: [], }, left_parenthesis: 39, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 40, }, return_type: FunctionLikeReturnTypeDefinition { colon: 41, type_definition: Void( Keyword { value: "void", position: 43, }, ), }, body: BlockStatement { comments: CommentGroup { comments: [], }, left_brace: 48, statements: [], right_brace: 49, }, }, ), Function( FunctionDefinition { comments: CommentGroup { comments: [], }, attributes: [], function: Keyword { value: "function", position: 51, }, name: Identifier { position: 60, value: "null", }, templates: None, parameters: FunctionLikeParameterListDefinition { comments: CommentGroup { comments: [], }, left_parenthesis: 64, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 65, }, return_type: FunctionLikeReturnTypeDefinition { colon: 66, type_definition: Void( Keyword { value: "void", position: 68, }, ), }, body: BlockStatement { comments: CommentGroup { comments: [], }, left_brace: 73, statements: [], right_brace: 74, }, }, ), Function( FunctionDefinition { comments: CommentGroup { comments: [], }, attributes: [], function: Keyword { value: "function", position: 76, }, name: Identifier { position: 85, value: "readonly", }, templates: None, parameters: FunctionLikeParameterListDefinition { comments: CommentGroup { comments: [], }, left_parenthesis: 93, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 94, }, return_type: FunctionLikeReturnTypeDefinition { colon: 95, type_definition: Void( Keyword { value: "void", position: 97, }, ), }, body: BlockStatement { comments: CommentGroup { comments: [], }, left_brace: 102, statements: [], right_brace: 103, }, }, ), Function( FunctionDefinition { comments: CommentGroup { comments: [], }, attributes: [], function: Keyword { value: "function", position: 105, }, name: Identifier { position: 114, value: "self", }, templates: None, parameters: FunctionLikeParameterListDefinition { comments: CommentGroup { comments: [], }, left_parenthesis: 118, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 119, }, return_type: FunctionLikeReturnTypeDefinition { colon: 120, type_definition: Void( Keyword { value: "void", position: 122, }, ), }, body: BlockStatement { comments: CommentGroup { comments: [], }, left_brace: 127, statements: [], right_brace: 128, }, }, ), Function( FunctionDefinition { comments: CommentGroup { comments: [], }, attributes: [], function: Keyword { value: "function", position: 130, }, name: Identifier { position: 139, value: "parent", }, templates: None, parameters: FunctionLikeParameterListDefinition { comments: CommentGroup { comments: [], }, left_parenthesis: 145, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 146, }, return_type: FunctionLikeReturnTypeDefinition { colon: 147, type_definition: Void( Keyword { value: "void", position: 149, }, ), }, body: BlockStatement { comments: CommentGroup { comments: [], }, left_brace: 154, statements: [], right_brace: 155, }, }, ), Function( FunctionDefinition { comments: CommentGroup { comments: [], }, attributes: [], function: Keyword { value: "function", position: 157, }, name: Identifier { position: 166, value: "enum", }, templates: None, parameters: FunctionLikeParameterListDefinition { comments: CommentGroup { comments: [], }, left_parenthesis: 170, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 171, }, return_type: FunctionLikeReturnTypeDefinition { colon: 172, type_definition: Void( Keyword { value: "void", position: 174, }, ), }, body: BlockStatement { comments: CommentGroup { comments: [], }, left_brace: 179, statements: [], right_brace: 180, }, }, ), Function( FunctionDefinition { comments: CommentGroup { comments: [], }, attributes: [], function: Keyword { value: "function", position: 182, }, name: Identifier { position: 191, value: "from", }, templates: None, parameters: FunctionLikeParameterListDefinition { comments: CommentGroup { comments: [], }, left_parenthesis: 195, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 196, }, return_type: FunctionLikeReturnTypeDefinition { colon: 197, type_definition: Void( Keyword { value: "void", position: 199, }, ), }, body: BlockStatement { comments: CommentGroup { comments: [], }, left_brace: 204, statements: [], right_brace: 205, }, }, ), Function( FunctionDefinition { comments: CommentGroup { comments: [], }, attributes: [], function: Keyword { value: "function", position: 208, }, name: Identifier { position: 217, value: "main", }, templates: None, parameters: FunctionLikeParameterListDefinition { comments: CommentGroup { comments: [], }, left_parenthesis: 221, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 222, }, return_type: FunctionLikeReturnTypeDefinition { colon: 223, type_definition: Void( Keyword { value: "void", position: 225, }, ), }, body: BlockStatement { comments: CommentGroup { comments: [], }, left_brace: 230, statements: [ Expression( ExpressionStatement { comments: CommentGroup { comments: [], }, expression: FunctionOperation( Call { comments: CommentGroup { comments: [], }, function: Identifier( Identifier { position: 236, value: "true", }, ), generics: None, arguments: ArgumentListExpression { comments: CommentGroup { comments: [], }, left_parenthesis: 240, arguments: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 241, }, }, ), semicolon: 242, }, ), Expression( ExpressionStatement { comments: CommentGroup { comments: [], }, expression: FunctionOperation( Call { comments: CommentGroup { comments: [], }, function: Identifier( Identifier { position: 248, value: "false", }, ), generics: None, arguments: ArgumentListExpression { comments: CommentGroup { comments: [], }, left_parenthesis: 253, arguments: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 254, }, }, ), semicolon: 255, }, ), Expression( ExpressionStatement { comments: CommentGroup { comments: [], }, expression: FunctionOperation( Call { comments: CommentGroup { comments: [], }, function: Identifier( Identifier { position: 261, value: "null", }, ), generics: None, arguments: ArgumentListExpression { comments: CommentGroup { comments: [], }, left_parenthesis: 265, arguments: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 266, }, }, ), semicolon: 267, }, ), Expression( ExpressionStatement { comments: CommentGroup { comments: [], }, expression: FunctionOperation( Call { comments: CommentGroup { comments: [], }, function: Identifier( Identifier { position: 273, value: "readonly", }, ), generics: None, arguments: ArgumentListExpression { comments: CommentGroup { comments: [], }, left_parenthesis: 281, arguments: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 282, }, }, ), semicolon: 283, }, ), Expression( ExpressionStatement { comments: CommentGroup { comments: [], }, expression: FunctionOperation( Call { comments: CommentGroup { comments: [], }, function: Identifier( Identifier { position: 289, value: "self", }, ), generics: None, arguments: ArgumentListExpression { comments: CommentGroup { comments: [], }, left_parenthesis: 293, arguments: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 294, }, }, ), semicolon: 295, }, ), Expression( ExpressionStatement { comments: CommentGroup { comments: [], }, expression: FunctionOperation( Call { comments: CommentGroup { comments: [], }, function: Identifier( Identifier { position: 301, value: "parent", }, ), generics: None, arguments: ArgumentListExpression { comments: CommentGroup { comments: [], }, left_parenthesis: 307, arguments: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 308, }, }, ), semicolon: 309, }, ), Expression( ExpressionStatement { comments: CommentGroup { comments: [], }, expression: FunctionOperation( Call { comments: CommentGroup { comments: [], }, function: Identifier( Identifier { position: 315, value: "enum", }, ), generics: None, arguments: ArgumentListExpression { comments: CommentGroup { comments: [], }, left_parenthesis: 319, arguments: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 320, }, }, ), semicolon: 321, }, ), Expression( ExpressionStatement { comments: CommentGroup { comments: [], }, expression: FunctionOperation( Call { comments: CommentGroup { comments: [], }, function: Identifier( Identifier { position: 327, value: "from", }, ), generics: None, arguments: ArgumentListExpression { comments: CommentGroup { comments: [], }, left_parenthesis: 331, arguments: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 332, }, }, ), semicolon: 333, }, ), ], right_brace: 335, }, }, ), ], eof: 337, }