DefinitionTree { definitions: [ TypeAlias( TypeAliasDefinition { type: Keyword { value: "type", position: 0, }, name: TemplatedIdentifier { name: Identifier { position: 5, value: "SignedInt", }, templates: None, }, equals: 15, type_definition: Union( [ SignedInteger( Default( Keyword { value: "int", position: 17, }, ), ), SignedInteger( I128( Keyword { value: "i128", position: 23, }, ), ), SignedInteger( I64( Keyword { value: "i64", position: 30, }, ), ), SignedInteger( I32( Keyword { value: "i32", position: 36, }, ), ), SignedInteger( I16( Keyword { value: "i16", position: 42, }, ), ), SignedInteger( I8( Keyword { value: "i8", position: 48, }, ), ), ], ), semicolon: 50, }, ), TypeAlias( TypeAliasDefinition { type: Keyword { value: "type", position: 52, }, name: TemplatedIdentifier { name: Identifier { position: 57, value: "UnsignedInt", }, templates: None, }, equals: 69, type_definition: Union( [ UnsignedInteger( Default( Keyword { value: "uint", position: 71, }, ), ), UnsignedInteger( U32( Keyword { value: "u32", position: 78, }, ), ), UnsignedInteger( U16( Keyword { value: "u16", position: 84, }, ), ), UnsignedInteger( U8( Keyword { value: "u8", position: 90, }, ), ), ], ), semicolon: 92, }, ), TypeAlias( TypeAliasDefinition { type: Keyword { value: "type", position: 94, }, name: TemplatedIdentifier { name: Identifier { position: 99, value: "FloatingPoint", }, templates: None, }, equals: 113, type_definition: Union( [ FloatingPoint( Default( Keyword { value: "float", position: 115, }, ), ), FloatingPoint( F64( Keyword { value: "f64", position: 123, }, ), ), FloatingPoint( F32( Keyword { value: "f32", position: 129, }, ), ), ], ), semicolon: 132, }, ), Function( FunctionDefinition { comments: CommentGroup { comments: [], }, attributes: [], function: Keyword { value: "function", position: 135, }, name: Identifier { position: 144, value: "foo", }, templates: None, parameters: FunctionLikeParameterListDefinition { comments: CommentGroup { comments: [], }, left_parenthesis: 147, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 148, }, return_type: FunctionLikeReturnTypeDefinition { colon: 149, type_definition: SignedInteger( Default( Keyword { value: "int", position: 151, }, ), ), }, body: BlockStatement { comments: CommentGroup { comments: [], }, left_brace: 155, statements: [ Return( Explicit { comments: CommentGroup { comments: [], }, return: Keyword { value: "return", position: 157, }, expression: Some( Literal( Integer( LiteralInteger { comments: CommentGroup { comments: [], }, value: "9223372036854775807", position: 164, }, ), ), ), semicolon: 183, }, ), ], right_brace: 185, }, }, ), Function( FunctionDefinition { comments: CommentGroup { comments: [], }, attributes: [], function: Keyword { value: "function", position: 187, }, name: Identifier { position: 196, value: "foo", }, templates: None, parameters: FunctionLikeParameterListDefinition { comments: CommentGroup { comments: [], }, left_parenthesis: 199, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 200, }, return_type: FunctionLikeReturnTypeDefinition { colon: 201, type_definition: SignedInteger( I128( Keyword { value: "i128", position: 203, }, ), ), }, body: BlockStatement { comments: CommentGroup { comments: [], }, left_brace: 208, statements: [ Return( Explicit { comments: CommentGroup { comments: [], }, return: Keyword { value: "return", position: 210, }, expression: Some( Literal( Integer( LiteralInteger { comments: CommentGroup { comments: [], }, value: "170141183460469231731687303715884105727", position: 217, }, ), ), ), semicolon: 256, }, ), ], right_brace: 258, }, }, ), Function( FunctionDefinition { comments: CommentGroup { comments: [], }, attributes: [], function: Keyword { value: "function", position: 260, }, name: Identifier { position: 269, value: "foo", }, templates: None, parameters: FunctionLikeParameterListDefinition { comments: CommentGroup { comments: [], }, left_parenthesis: 272, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 273, }, return_type: FunctionLikeReturnTypeDefinition { colon: 274, type_definition: SignedInteger( I64( Keyword { value: "i64", position: 276, }, ), ), }, body: BlockStatement { comments: CommentGroup { comments: [], }, left_brace: 280, statements: [ Return( Explicit { comments: CommentGroup { comments: [], }, return: Keyword { value: "return", position: 282, }, expression: Some( Literal( Integer( LiteralInteger { comments: CommentGroup { comments: [], }, value: "9223372036854775807", position: 289, }, ), ), ), semicolon: 308, }, ), ], right_brace: 310, }, }, ), Function( FunctionDefinition { comments: CommentGroup { comments: [], }, attributes: [], function: Keyword { value: "function", position: 312, }, name: Identifier { position: 321, value: "foo", }, templates: None, parameters: FunctionLikeParameterListDefinition { comments: CommentGroup { comments: [], }, left_parenthesis: 324, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 325, }, return_type: FunctionLikeReturnTypeDefinition { colon: 326, type_definition: SignedInteger( I32( Keyword { value: "i32", position: 328, }, ), ), }, body: BlockStatement { comments: CommentGroup { comments: [], }, left_brace: 332, statements: [ Return( Explicit { comments: CommentGroup { comments: [], }, return: Keyword { value: "return", position: 334, }, expression: Some( Literal( Integer( LiteralInteger { comments: CommentGroup { comments: [], }, value: "2147483647", position: 341, }, ), ), ), semicolon: 351, }, ), ], right_brace: 353, }, }, ), Function( FunctionDefinition { comments: CommentGroup { comments: [], }, attributes: [], function: Keyword { value: "function", position: 355, }, name: Identifier { position: 364, value: "foo", }, templates: None, parameters: FunctionLikeParameterListDefinition { comments: CommentGroup { comments: [], }, left_parenthesis: 367, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 368, }, return_type: FunctionLikeReturnTypeDefinition { colon: 369, type_definition: SignedInteger( I16( Keyword { value: "i16", position: 371, }, ), ), }, body: BlockStatement { comments: CommentGroup { comments: [], }, left_brace: 375, statements: [ Return( Explicit { comments: CommentGroup { comments: [], }, return: Keyword { value: "return", position: 377, }, expression: Some( Literal( Integer( LiteralInteger { comments: CommentGroup { comments: [], }, value: "32767", position: 384, }, ), ), ), semicolon: 389, }, ), ], right_brace: 391, }, }, ), Function( FunctionDefinition { comments: CommentGroup { comments: [], }, attributes: [], function: Keyword { value: "function", position: 393, }, name: Identifier { position: 402, value: "foo", }, templates: None, parameters: FunctionLikeParameterListDefinition { comments: CommentGroup { comments: [], }, left_parenthesis: 405, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 406, }, return_type: FunctionLikeReturnTypeDefinition { colon: 407, type_definition: SignedInteger( I8( Keyword { value: "i8", position: 409, }, ), ), }, body: BlockStatement { comments: CommentGroup { comments: [], }, left_brace: 412, statements: [ Return( Explicit { comments: CommentGroup { comments: [], }, return: Keyword { value: "return", position: 414, }, expression: Some( Literal( Integer( LiteralInteger { comments: CommentGroup { comments: [], }, value: "127", position: 421, }, ), ), ), semicolon: 424, }, ), ], right_brace: 426, }, }, ), Function( FunctionDefinition { comments: CommentGroup { comments: [], }, attributes: [], function: Keyword { value: "function", position: 429, }, name: Identifier { position: 438, value: "bar", }, templates: None, parameters: FunctionLikeParameterListDefinition { comments: CommentGroup { comments: [], }, left_parenthesis: 441, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 442, }, return_type: FunctionLikeReturnTypeDefinition { colon: 443, type_definition: UnsignedInteger( Default( Keyword { value: "uint", position: 445, }, ), ), }, body: BlockStatement { comments: CommentGroup { comments: [], }, left_brace: 450, statements: [ Return( Explicit { comments: CommentGroup { comments: [], }, return: Keyword { value: "return", position: 452, }, expression: Some( Literal( Integer( LiteralInteger { comments: CommentGroup { comments: [], }, value: "18446744073709551615", position: 459, }, ), ), ), semicolon: 479, }, ), ], right_brace: 481, }, }, ), Function( FunctionDefinition { comments: CommentGroup { comments: [], }, attributes: [], function: Keyword { value: "function", position: 483, }, name: Identifier { position: 492, value: "bar", }, templates: None, parameters: FunctionLikeParameterListDefinition { comments: CommentGroup { comments: [], }, left_parenthesis: 495, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 496, }, return_type: FunctionLikeReturnTypeDefinition { colon: 497, type_definition: UnsignedInteger( U32( Keyword { value: "u32", position: 499, }, ), ), }, body: BlockStatement { comments: CommentGroup { comments: [], }, left_brace: 503, statements: [ Return( Explicit { comments: CommentGroup { comments: [], }, return: Keyword { value: "return", position: 505, }, expression: Some( Literal( Integer( LiteralInteger { comments: CommentGroup { comments: [], }, value: "4294967295", position: 512, }, ), ), ), semicolon: 522, }, ), ], right_brace: 524, }, }, ), Function( FunctionDefinition { comments: CommentGroup { comments: [], }, attributes: [], function: Keyword { value: "function", position: 526, }, name: Identifier { position: 535, value: "bar", }, templates: None, parameters: FunctionLikeParameterListDefinition { comments: CommentGroup { comments: [], }, left_parenthesis: 538, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 539, }, return_type: FunctionLikeReturnTypeDefinition { colon: 540, type_definition: UnsignedInteger( U16( Keyword { value: "u16", position: 542, }, ), ), }, body: BlockStatement { comments: CommentGroup { comments: [], }, left_brace: 546, statements: [ Return( Explicit { comments: CommentGroup { comments: [], }, return: Keyword { value: "return", position: 548, }, expression: Some( Literal( Integer( LiteralInteger { comments: CommentGroup { comments: [], }, value: "65535", position: 555, }, ), ), ), semicolon: 560, }, ), ], right_brace: 562, }, }, ), Function( FunctionDefinition { comments: CommentGroup { comments: [], }, attributes: [], function: Keyword { value: "function", position: 564, }, name: Identifier { position: 573, value: "bar", }, templates: None, parameters: FunctionLikeParameterListDefinition { comments: CommentGroup { comments: [], }, left_parenthesis: 576, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 577, }, return_type: FunctionLikeReturnTypeDefinition { colon: 578, type_definition: UnsignedInteger( U8( Keyword { value: "u8", position: 580, }, ), ), }, body: BlockStatement { comments: CommentGroup { comments: [], }, left_brace: 583, statements: [ Return( Explicit { comments: CommentGroup { comments: [], }, return: Keyword { value: "return", position: 585, }, expression: Some( Literal( Integer( LiteralInteger { comments: CommentGroup { comments: [], }, value: "255", position: 592, }, ), ), ), semicolon: 595, }, ), ], right_brace: 597, }, }, ), Function( FunctionDefinition { comments: CommentGroup { comments: [], }, attributes: [], function: Keyword { value: "function", position: 600, }, name: Identifier { position: 609, value: "baz", }, templates: None, parameters: FunctionLikeParameterListDefinition { comments: CommentGroup { comments: [], }, left_parenthesis: 612, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 613, }, return_type: FunctionLikeReturnTypeDefinition { colon: 614, type_definition: FloatingPoint( Default( Keyword { value: "float", position: 616, }, ), ), }, body: BlockStatement { comments: CommentGroup { comments: [], }, left_brace: 622, statements: [ Return( Explicit { comments: CommentGroup { comments: [], }, return: Keyword { value: "return", position: 624, }, expression: Some( Literal( Float( LiteralFloat { comments: CommentGroup { comments: [], }, value: "3.4028235e+38", position: 631, }, ), ), ), semicolon: 644, }, ), ], right_brace: 646, }, }, ), Function( FunctionDefinition { comments: CommentGroup { comments: [], }, attributes: [], function: Keyword { value: "function", position: 648, }, name: Identifier { position: 657, value: "baz", }, templates: None, parameters: FunctionLikeParameterListDefinition { comments: CommentGroup { comments: [], }, left_parenthesis: 660, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 661, }, return_type: FunctionLikeReturnTypeDefinition { colon: 662, type_definition: FloatingPoint( F64( Keyword { value: "f64", position: 664, }, ), ), }, body: BlockStatement { comments: CommentGroup { comments: [], }, left_brace: 668, statements: [ Return( Explicit { comments: CommentGroup { comments: [], }, return: Keyword { value: "return", position: 670, }, expression: Some( Literal( Float( LiteralFloat { comments: CommentGroup { comments: [], }, value: "1.7976931348623157e+308", position: 677, }, ), ), ), semicolon: 700, }, ), ], right_brace: 702, }, }, ), Function( FunctionDefinition { comments: CommentGroup { comments: [], }, attributes: [], function: Keyword { value: "function", position: 704, }, name: Identifier { position: 713, value: "baz", }, templates: None, parameters: FunctionLikeParameterListDefinition { comments: CommentGroup { comments: [], }, left_parenthesis: 716, parameters: CommaSeparated { inner: [], commas: [], }, right_parenthesis: 717, }, return_type: FunctionLikeReturnTypeDefinition { colon: 718, type_definition: FloatingPoint( F32( Keyword { value: "f32", position: 720, }, ), ), }, body: BlockStatement { comments: CommentGroup { comments: [], }, left_brace: 724, statements: [ Return( Explicit { comments: CommentGroup { comments: [], }, return: Keyword { value: "return", position: 726, }, expression: Some( Literal( Float( LiteralFloat { comments: CommentGroup { comments: [], }, value: "3.4028235e+38", position: 733, }, ), ), ), semicolon: 746, }, ), ], right_brace: 748, }, }, ), ], eof: 750, }