[
{
"type": "attribute",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "doc_comment",
"named": true
}
]
}
},
{
"type": "block_comment",
"named": true,
"fields": {}
},
{
"type": "borrowed_handle",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "user_defined_type",
"named": true
}
]
}
},
{
"type": "builtins",
"named": true,
"fields": {}
},
{
"type": "doc_comment",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "docs",
"named": true
}
]
}
},
{
"type": "enum_case",
"named": true,
"fields": {
"attributes": {
"multiple": true,
"required": false,
"types": [
{
"type": "attribute",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "enum_item",
"named": true,
"fields": {
"attributes": {
"multiple": true,
"required": false,
"types": [
{
"type": "attribute",
"named": true
}
]
},
"cases": {
"multiple": true,
"required": false,
"types": [
{
"type": ",",
"named": false
},
{
"type": "enum_case",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "export_item",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "exported_item",
"named": true
},
{
"type": "exported_path",
"named": true
}
]
}
},
{
"type": "exported_item",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "extern_type",
"named": true
}
]
}
},
{
"type": "exported_path",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "fully_qualified_use_path",
"named": true
}
]
}
},
{
"type": "extern_type",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "func_type",
"named": true
},
{
"type": "interface_items",
"named": true
}
]
}
},
{
"type": "flags_case",
"named": true,
"fields": {
"attributes": {
"multiple": true,
"required": false,
"types": [
{
"type": "attribute",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "flags_item",
"named": true,
"fields": {
"attributes": {
"multiple": true,
"required": false,
"types": [
{
"type": "attribute",
"named": true
}
]
},
"cases": {
"multiple": true,
"required": false,
"types": [
{
"type": ",",
"named": false
},
{
"type": "flags_case",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "fully_qualified_package_name",
"named": true,
"fields": {
"package": {
"multiple": false,
"required": true,
"types": [
{
"type": "package_name",
"named": true
}
]
},
"path": {
"multiple": false,
"required": true,
"types": [
{
"type": "package_path",
"named": true
}
]
},
"version": {
"multiple": false,
"required": false,
"types": [
{
"type": "semver",
"named": true
}
]
}
}
},
{
"type": "fully_qualified_use_path",
"named": true,
"fields": {
"package": {
"multiple": false,
"required": true,
"types": [
{
"type": "package_name",
"named": true
}
]
},
"path": {
"multiple": false,
"required": true,
"types": [
{
"type": "package_path",
"named": true
}
]
},
"version": {
"multiple": false,
"required": false,
"types": [
{
"type": "semver",
"named": true
}
]
}
}
},
{
"type": "func_item",
"named": true,
"fields": {
"attributes": {
"multiple": true,
"required": false,
"types": [
{
"type": "attribute",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"ty": {
"multiple": false,
"required": true,
"types": [
{
"type": "func_type",
"named": true
}
]
}
}
},
{
"type": "func_type",
"named": true,
"fields": {
"params": {
"multiple": false,
"required": true,
"types": [
{
"type": "param_list",
"named": true
}
]
},
"result": {
"multiple": false,
"required": false,
"types": [
{
"type": "result_list",
"named": true
}
]
}
}
},
{
"type": "handle",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "borrowed_handle",
"named": true
},
{
"type": "owned_handle",
"named": true
}
]
}
},
{
"type": "import_item",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "imported_item",
"named": true
},
{
"type": "imported_path",
"named": true
}
]
}
},
{
"type": "imported_item",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "extern_type",
"named": true
}
]
}
},
{
"type": "imported_path",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "use_path",
"named": true
}
]
}
},
{
"type": "include_item",
"named": true,
"fields": {
"names": {
"multiple": false,
"required": false,
"types": [
{
"type": "include_names_list",
"named": true
}
]
},
"path": {
"multiple": false,
"required": true,
"types": [
{
"type": "use_path",
"named": true
}
]
}
}
},
{
"type": "include_names_item",
"named": true,
"fields": {
"alias": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "include_names_list",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "include_names_item",
"named": true
}
]
}
},
{
"type": "interface_item",
"named": true,
"fields": {
"attributes": {
"multiple": true,
"required": false,
"types": [
{
"type": "attribute",
"named": true
}
]
},
"items": {
"multiple": true,
"required": false,
"types": [
{
"type": "interface_items",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "interface_items",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "func_item",
"named": true
},
{
"type": "typedef_item",
"named": true
},
{
"type": "use_item",
"named": true
}
]
}
},
{
"type": "list",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "ty",
"named": true
}
]
}
},
{
"type": "local_use_path",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "named_result_list",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "named_type",
"named": true
}
]
}
},
{
"type": "named_type",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"ty": {
"multiple": false,
"required": true,
"types": [
{
"type": "ty",
"named": true
}
]
}
}
},
{
"type": "option",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "ty",
"named": true
}
]
}
},
{
"type": "owned_handle",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "user_defined_type",
"named": true
}
]
}
},
{
"type": "package_decl",
"named": true,
"fields": {
"attributes": {
"multiple": true,
"required": false,
"types": [
{
"type": "attribute",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "fully_qualified_package_name",
"named": true
}
]
}
},
{
"type": "package_name",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "package_path",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "param_list",
"named": true,
"fields": {
"params": {
"multiple": true,
"required": false,
"types": [
{
"type": ",",
"named": false
},
{
"type": "named_type",
"named": true
}
]
}
}
},
{
"type": "record_field",
"named": true,
"fields": {
"attributes": {
"multiple": true,
"required": false,
"types": [
{
"type": "attribute",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"ty": {
"multiple": false,
"required": true,
"types": [
{
"type": "ty",
"named": true
}
]
}
}
},
{
"type": "record_item",
"named": true,
"fields": {
"attributes": {
"multiple": true,
"required": false,
"types": [
{
"type": "attribute",
"named": true
}
]
},
"fields": {
"multiple": true,
"required": false,
"types": [
{
"type": ",",
"named": false
},
{
"type": "record_field",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "resource_constructor",
"named": true,
"fields": {
"attributes": {
"multiple": true,
"required": false,
"types": [
{
"type": "attribute",
"named": true
}
]
},
"params": {
"multiple": false,
"required": true,
"types": [
{
"type": "param_list",
"named": true
}
]
}
}
},
{
"type": "resource_item",
"named": true,
"fields": {
"attributes": {
"multiple": true,
"required": false,
"types": [
{
"type": "attribute",
"named": true
}
]
},
"methods": {
"multiple": true,
"required": false,
"types": [
{
"type": "resource_method",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "resource_method",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "func_item",
"named": true
},
{
"type": "resource_constructor",
"named": true
},
{
"type": "static_method",
"named": true
}
]
}
},
{
"type": "result",
"named": true,
"fields": {
"err": {
"multiple": false,
"required": false,
"types": [
{
"type": "ty",
"named": true
}
]
},
"ok": {
"multiple": false,
"required": false,
"types": [
{
"type": "ty",
"named": true
}
]
}
}
},
{
"type": "result_list",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "named_result_list",
"named": true
},
{
"type": "ty",
"named": true
}
]
}
},
{
"type": "slash_comment",
"named": true,
"fields": {}
},
{
"type": "source_file",
"named": true,
"fields": {
"package": {
"multiple": false,
"required": false,
"types": [
{
"type": "package_decl",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "top_level_item",
"named": true
}
]
}
},
{
"type": "static_method",
"named": true,
"fields": {
"attributes": {
"multiple": true,
"required": false,
"types": [
{
"type": "attribute",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "func_type",
"named": true
}
]
}
},
{
"type": "top_level_item",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "interface_item",
"named": true
},
{
"type": "top_level_use_item",
"named": true
},
{
"type": "world_item",
"named": true
}
]
}
},
{
"type": "top_level_use_item",
"named": true,
"fields": {
"alias": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "use_path",
"named": true
}
]
}
},
{
"type": "tuple",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "ty",
"named": true
}
]
}
},
{
"type": "ty",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "builtins",
"named": true
},
{
"type": "handle",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "option",
"named": true
},
{
"type": "result",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "user_defined_type",
"named": true
}
]
}
},
{
"type": "type_item",
"named": true,
"fields": {
"attributes": {
"multiple": true,
"required": false,
"types": [
{
"type": "attribute",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"ty": {
"multiple": false,
"required": true,
"types": [
{
"type": "ty",
"named": true
}
]
}
}
},
{
"type": "typedef_item",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "enum_item",
"named": true
},
{
"type": "flags_item",
"named": true
},
{
"type": "record_item",
"named": true
},
{
"type": "resource_item",
"named": true
},
{
"type": "type_item",
"named": true
},
{
"type": "variant_item",
"named": true
}
]
}
},
{
"type": "use_item",
"named": true,
"fields": {
"path": {
"multiple": false,
"required": true,
"types": [
{
"type": "use_path",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "use_names_item",
"named": true
}
]
}
},
{
"type": "use_names_item",
"named": true,
"fields": {
"alias": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "use_path",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "fully_qualified_use_path",
"named": true
},
{
"type": "local_use_path",
"named": true
}
]
}
},
{
"type": "user_defined_type",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "variant_case",
"named": true,
"fields": {
"attributes": {
"multiple": true,
"required": false,
"types": [
{
"type": "attribute",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"ty": {
"multiple": false,
"required": false,
"types": [
{
"type": "ty",
"named": true
}
]
}
}
},
{
"type": "variant_item",
"named": true,
"fields": {
"attributes": {
"multiple": true,
"required": false,
"types": [
{
"type": "attribute",
"named": true
}
]
},
"cases": {
"multiple": true,
"required": false,
"types": [
{
"type": ",",
"named": false
},
{
"type": "variant_case",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "world_item",
"named": true,
"fields": {
"attributes": {
"multiple": true,
"required": false,
"types": [
{
"type": "attribute",
"named": true
}
]
},
"items": {
"multiple": true,
"required": false,
"types": [
{
"type": "world_items",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "world_items",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "export_item",
"named": true
},
{
"type": "import_item",
"named": true
},
{
"type": "include_item",
"named": true
},
{
"type": "typedef_item",
"named": true
},
{
"type": "use_item",
"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": "as",
"named": false
},
{
"type": "bool",
"named": false
},
{
"type": "borrow",
"named": false
},
{
"type": "char",
"named": false
},
{
"type": "constructor",
"named": false
},
{
"type": "docs",
"named": true
},
{
"type": "enum",
"named": false
},
{
"type": "export",
"named": false
},
{
"type": "flags",
"named": false
},
{
"type": "float32",
"named": false
},
{
"type": "float64",
"named": false
},
{
"type": "func",
"named": false
},
{
"type": "identifier",
"named": true
},
{
"type": "import",
"named": false
},
{
"type": "include",
"named": false
},
{
"type": "interface",
"named": false
},
{
"type": "list",
"named": false
},
{
"type": "option",
"named": false
},
{
"type": "own",
"named": false
},
{
"type": "package",
"named": false
},
{
"type": "record",
"named": false
},
{
"type": "resource",
"named": false
},
{
"type": "result",
"named": false
},
{
"type": "s16",
"named": false
},
{
"type": "s32",
"named": false
},
{
"type": "s64",
"named": false
},
{
"type": "s8",
"named": false
},
{
"type": "semver",
"named": true
},
{
"type": "static",
"named": false
},
{
"type": "string",
"named": false
},
{
"type": "tuple",
"named": false
},
{
"type": "type",
"named": false
},
{
"type": "u16",
"named": false
},
{
"type": "u32",
"named": false
},
{
"type": "u64",
"named": false
},
{
"type": "u8",
"named": false
},
{
"type": "use",
"named": false
},
{
"type": "variant",
"named": false
},
{
"type": "with",
"named": false
},
{
"type": "world",
"named": false
},
{
"type": "{",
"named": false
},
{
"type": "}",
"named": false
}
]