UNPKG

tree-sitter-hare

Version:
2,218 lines 35.9 kB
[ { "type": "declaration", "named": true, "subtypes": [ { "type": "constant_declaration", "named": true }, { "type": "function_declaration", "named": true }, { "type": "global_declaration", "named": true }, { "type": "type_declaration", "named": true } ] }, { "type": "expression", "named": true, "subtypes": [ { "type": "assignment_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "block", "named": true }, { "type": "call_expression", "named": true }, { "type": "cast_expression", "named": true }, { "type": "error_assertion_expression", "named": true }, { "type": "for_statement", "named": true }, { "type": "identifier", "named": true }, { "type": "if_statement", "named": true }, { "type": "index_expression", "named": true }, { "type": "literal", "named": true }, { "type": "match_expression", "named": true }, { "type": "member_expression", "named": true }, { "type": "parenthesis_expression", "named": true }, { "type": "range_expression", "named": true }, { "type": "return_statement", "named": true }, { "type": "scoped_type_identifier", "named": true }, { "type": "size_expression", "named": true }, { "type": "switch_expression", "named": true }, { "type": "try_expression", "named": true }, { "type": "unary_expression", "named": true }, { "type": "update_expression", "named": true } ] }, { "type": "literal", "named": true, "subtypes": [ { "type": "array_literal", "named": true }, { "type": "boolean", "named": true }, { "type": "concatenated_string", "named": true }, { "type": "float", "named": true }, { "type": "null", "named": true }, { "type": "number", "named": true }, { "type": "raw_string", "named": true }, { "type": "rune", "named": true }, { "type": "string", "named": true }, { "type": "struct_literal", "named": true }, { "type": "tuple_literal", "named": true }, { "type": "void", "named": true } ] }, { "type": "statement", "named": true, "subtypes": [ { "type": "break_statement", "named": true }, { "type": "const_declaration", "named": true }, { "type": "defer_statement", "named": true }, { "type": "expression_statement", "named": true }, { "type": "let_declaration", "named": true }, { "type": "static_operation", "named": true }, { "type": "yield_statement", "named": true } ] }, { "type": "type", "named": true, "subtypes": [ { "type": "array_type", "named": true }, { "type": "builtin_type", "named": true }, { "type": "const_type", "named": true }, { "type": "enum_type", "named": true }, { "type": "error_type", "named": true }, { "type": "function_type", "named": true }, { "type": "identifier", "named": true }, { "type": "pointer_type", "named": true }, { "type": "scoped_type_identifier", "named": true }, { "type": "slice_type", "named": true }, { "type": "struct_type", "named": true }, { "type": "tagged_union_type", "named": true }, { "type": "tuple_type", "named": true }, { "type": "union_type", "named": true }, { "type": "unwrapped_type", "named": true } ] }, { "type": "array_literal", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "expression", "named": true } ] } }, { "type": "array_type", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "type", "named": true } ] } }, { "type": "assignment_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "expression", "named": true } ] } }, { "type": "binary_expression", "named": true, "fields": { "left": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] }, "operator": { "multiple": false, "required": true, "types": [ { "type": "!=", "named": false }, { "type": "%", "named": false }, { "type": "&", "named": false }, { "type": "&&", "named": false }, { "type": "*", "named": false }, { "type": "+", "named": false }, { "type": "-", "named": false }, { "type": "/", "named": false }, { "type": "<", "named": false }, { "type": "<<", "named": false }, { "type": "<=", "named": false }, { "type": "==", "named": false }, { "type": ">", "named": false }, { "type": ">=", "named": false }, { "type": ">>", "named": false }, { "type": "^", "named": false }, { "type": "^^", "named": false }, { "type": "|", "named": false }, { "type": "||", "named": false } ] }, "right": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } } }, { "type": "block", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "label", "named": true }, { "type": "statement", "named": true } ] } }, { "type": "boolean", "named": true, "fields": {} }, { "type": "break_statement", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "label", "named": true } ] } }, { "type": "builtin_type", "named": true, "fields": {} }, { "type": "call_expression", "named": true, "fields": { "callee": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "expression", "named": true }, { "type": "variadic_argument", "named": true } ] } }, { "type": "case", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "array_type", "named": true }, { "type": "builtin_type", "named": true }, { "type": "expression", "named": true }, { "type": "let_expression", "named": true }, { "type": "statement", "named": true } ] } }, { "type": "cast_expression", "named": true, "fields": { "as_cast": { "multiple": true, "required": false, "types": [ { "type": "as", "named": false }, { "type": "expression", "named": true }, { "type": "type", "named": true } ] }, "is_cast": { "multiple": true, "required": false, "types": [ { "type": "expression", "named": true }, { "type": "is", "named": false }, { "type": "type", "named": true } ] }, "type_cast": { "multiple": true, "required": false, "types": [ { "type": ":", "named": false }, { "type": "expression", "named": true }, { "type": "type", "named": true } ] } } }, { "type": "concatenated_string", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "string", "named": true } ] } }, { "type": "const_declaration", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "expression", "named": true }, { "type": "tuple_literal", "named": true }, { "type": "type", "named": true } ] } }, { "type": "const_type", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "type", "named": true } ] } }, { "type": "constant_declaration", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "expression", "named": true }, { "type": "type", "named": true } ] } }, { "type": "declaration_attribute", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "string", "named": true } ] } }, { "type": "declarations", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "declaration", "named": true } ] } }, { "type": "defer_statement", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "statement", "named": true } ] } }, { "type": "else_statement", "named": true, "fields": { "alternative": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } } }, { "type": "enum_field", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "expression", "named": true } ] } }, { "type": "enum_type", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "builtin_type", "named": true }, { "type": "enum_field", "named": true } ] } }, { "type": "error_assertion_expression", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } }, { "type": "error_type", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "type", "named": true } ] } }, { "type": "expression_statement", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } }, { "type": "field", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "offset_specifier", "named": true }, { "type": "type", "named": true } ] } }, { "type": "field_assignment", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "expression", "named": true }, { "type": "struct_literal", "named": true }, { "type": "type", "named": true } ] } }, { "type": "float", "named": true, "fields": {} }, { "type": "for_statement", "named": true, "fields": { "afterthought": { "multiple": false, "required": false, "types": [ { "type": "expression", "named": true } ] }, "body": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] }, "condition": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } }, "children": { "multiple": false, "required": false, "types": [ { "type": "let_expression", "named": true } ] } }, { "type": "function_attribute", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "declaration_attribute", "named": true } ] } }, { "type": "function_declaration", "named": true, "fields": { "body": { "multiple": false, "required": false, "types": [ { "type": "expression", "named": true } ] }, "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] }, "returns": { "multiple": false, "required": false, "types": [ { "type": "type", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "function_attribute", "named": true }, { "type": "parameter", "named": true } ] } }, { "type": "function_type", "named": true, "fields": { "returns": { "multiple": false, "required": false, "types": [ { "type": "type", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "function_attribute", "named": true }, { "type": "parameter", "named": true } ] } }, { "type": "global_binding", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "declaration_attribute", "named": true }, { "type": "expression", "named": true }, { "type": "type", "named": true } ] } }, { "type": "global_declaration", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "global_binding", "named": true } ] } }, { "type": "if_statement", "named": true, "fields": { "condition": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] }, "consequence": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } }, "children": { "multiple": false, "required": false, "types": [ { "type": "else_statement", "named": true } ] } }, { "type": "imports", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "use_statement", "named": true } ] } }, { "type": "index_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "expression", "named": true } ] } }, { "type": "integer_suffix", "named": true, "fields": {} }, { "type": "label", "named": true, "fields": { "label": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] } } }, { "type": "let_declaration", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "expression", "named": true }, { "type": "tuple_literal", "named": true }, { "type": "type", "named": true } ] } }, { "type": "let_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "expression", "named": true }, { "type": "type", "named": true } ] } }, { "type": "match_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "case", "named": true }, { "type": "expression", "named": true } ] } }, { "type": "member_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "expression", "named": true }, { "type": "number", "named": true } ] } }, { "type": "module", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "declarations", "named": true }, { "type": "imports", "named": true } ] } }, { "type": "number", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "integer_suffix", "named": true } ] } }, { "type": "offset_specifier", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } }, { "type": "parameter", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "type", "named": true } ] } }, { "type": "parenthesis_expression", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } }, { "type": "pointer_type", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "type", "named": true } ] } }, { "type": "range_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "expression", "named": true } ] } }, { "type": "raw_string", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "raw_string_content", "named": true } ] } }, { "type": "return_statement", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "expression", "named": true } ] } }, { "type": "rune", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "escape_sequence", "named": true } ] } }, { "type": "scoped_type_identifier", "named": true, "fields": { "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] }, "path": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "scoped_type_identifier", "named": true } ] } } }, { "type": "size_expression", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "type", "named": true } ] } }, { "type": "slice_type", "named": true, "fields": { "size": { "multiple": false, "required": true, "types": [ { "type": "*", "named": false }, { "type": "_", "named": false }, { "type": "expression", "named": true } ] } }, "children": { "multiple": false, "required": true, "types": [ { "type": "type", "named": true } ] } }, { "type": "static_operation", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } }, { "type": "string", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "escape_sequence", "named": true }, { "type": "string_content", "named": true } ] } }, { "type": "struct_attribute", "named": true, "fields": {} }, { "type": "struct_literal", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "field_assignment", "named": true }, { "type": "identifier", "named": true }, { "type": "scoped_type_identifier", "named": true } ] } }, { "type": "struct_type", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "field", "named": true }, { "type": "struct_attribute", "named": true } ] } }, { "type": "switch_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "case", "named": true }, { "type": "expression", "named": true } ] } }, { "type": "tagged_union_type", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "type", "named": true } ] } }, { "type": "try_expression", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } }, { "type": "tuple_literal", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "expression", "named": true } ] } }, { "type": "tuple_type", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "type", "named": true } ] } }, { "type": "type_declaration", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "type", "named": true } ] } }, { "type": "unary_expression", "named": true, "fields": { "address": { "multiple": false, "required": false, "types": [ { "type": "&", "named": false } ] }, "argument": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] }, "operator": { "multiple": false, "required": false, "types": [ { "type": "!", "named": false }, { "type": "*", "named": false }, { "type": "+", "named": false }, { "type": "-", "named": false }, { "type": "~", "named": false } ] } } }, { "type": "union_type", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "field", "named": true } ] } }, { "type": "unwrapped_type", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "type", "named": true } ] } }, { "type": "update_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "expression", "named": true } ] } }, { "type": "use_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "scoped_type_identifier", "named": true } ] } }, { "type": "variadic_argument", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } }, { "type": "void", "named": true, "fields": {} }, { "type": "yield_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "expression", "named": true }, { "type": "label", "named": true } ] } }, { "type": "!", "named": false }, { "type": "!=", "named": false }, { "type": "\"", "named": false }, { "type": "%", "named": false }, { "type": "%=", "named": false }, { "type": "&", "named": false }, { "type": "&&", "named": false }, { "type": "&&=", "named": false }, { "type": "&=", "named": false }, { "type": "'", "named": false }, { "type": "(", "named": false }, { "type": ")", "named": false }, { "type": "*", "named": false }, { "type": "*=", "named": false }, { "type": "+", "named": false }, { "type": "+=", "named": false }, { "type": ",", "named": false }, { "type": "-", "named": false }, { "type": "-=", "named": false }, { "type": ".", "named": false }, { "type": "..", "named": false }, { "type": "...", "named": false }, { "type": "/", "named": false }, { "type": "/=", "named": false }, { "type": ":", "named": false }, { "type": "::", "named": false }, { "type": ";", "named": false }, { "type": "<", "named": false }, { "type": "<<", "named": false }, { "type": "<<=", "named": false }, { "type": "<=", "named": false }, { "type": "=", "named": false }, { "type": "==", "named": false }, { "type": "=>", "named": false }, { "type": ">", "named": false }, { "type": ">=", "named": false }, { "type": ">>", "named": false }, { "type": ">>=", "named": false }, { "type": "?", "named": false }, { "type": "@fini", "named": false }, { "type": "@init", "named": false }, { "type": "@noreturn", "named": false }, { "type": "@offset", "named": false }, { "type": "@packed", "named": false }, { "type": "@symbol", "named": false }, { "type": "@test", "named": false }, { "type": "[", "named": false }, { "type": "]", "named": false }, { "type": "^", "named": false }, { "type": "^=", "named": false }, { "type": "^^", "named": false }, { "type": "^^=", "named": false }, { "type": "_", "named": false }, { "type": "`", "named": false }, { "type": "as", "named": false }, { "type": "bool", "named": false }, { "type": "break", "named": false }, { "type": "case", "named": false }, { "type": "char", "named": false }, { "type": "comment", "named": true }, { "type": "const", "named": false }, { "type": "def", "named": false }, { "type": "defer", "named": false }, { "type": "else", "named": false }, { "type": "enum", "named": false }, { "type": "escape_sequence", "named": true }, { "type": "export", "named": false }, { "type": "f32", "named": false }, { "type": "f64", "named": false }, { "type": "false", "named": false }, { "type": "fn", "named": false }, { "type": "for", "named": false }, { "type": "i", "named": false }, { "type": "i16", "named": false }, { "type": "i32", "named": false }, { "type": "i64", "named": false }, { "type": "i8", "named": false }, { "type": "identifier", "named": true }, { "type": "if", "named": false }, { "type": "int", "named": false }, { "type": "is", "named": false }, { "type": "let", "named": false }, { "type": "match", "named": false }, { "type": "null", "named": true }, { "type": "nullable", "named": false }, { "type": "raw_string_content", "named": true }, { "type": "return", "named": false }, { "type": "rune", "named": false }, { "type": "size", "named": false }, { "type": "static", "named": false }, { "type": "str", "named": false }, { "type": "string_content", "named": true }, { "type": "struct", "named": false }, { "type": "switch", "named": false }, { "type": "true", "named": false }, { "type": "type", "named": false }, { "type": "u", "named": false }, { "type": "u16", "named": false }, { "type": "u32", "named": false }, { "type": "u64", "named": false }, { "type": "u8", "named": false }, { "type": "uint", "named": false }, { "type": "uintptr", "named": false }, { "type": "union", "named": false }, { "type": "use", "named": false }, { "type": "void", "named": false }, { "type": "yield", "named": false }, { "type": "z", "named": false }, { "type": "{", "named": false }, { "type": "|", "named": false }, { "type": "|=", "named": false }, { "type": "||", "named": false }, { "type": "||=", "named": false }, { "type": "}", "named": false }, { "type": "~", "named": false } ]