UNPKG

tree-sitter-gdscript

Version:
2,517 lines 42.8 kB
[ { "type": "_attribute_expression", "named": true, "subtypes": [ { "type": "array", "named": true }, { "type": "base_call", "named": true }, { "type": "binary_operator", "named": true }, { "type": "call", "named": true }, { "type": "dictionary", "named": true }, { "type": "false", "named": true }, { "type": "float", "named": true }, { "type": "get_node", "named": true }, { "type": "identifier", "named": true }, { "type": "integer", "named": true }, { "type": "node_path", "named": true }, { "type": "null", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "string", "named": true }, { "type": "subscript", "named": true }, { "type": "true", "named": true }, { "type": "unary_operator", "named": true } ] }, { "type": "_compound_statement", "named": true, "subtypes": [ { "type": "class_definition", "named": true }, { "type": "constructor_definition", "named": true }, { "type": "enum_definition", "named": true }, { "type": "for_statement", "named": true }, { "type": "function_definition", "named": true }, { "type": "if_statement", "named": true }, { "type": "match_statement", "named": true }, { "type": "while_statement", "named": true } ] }, { "type": "_expression", "named": true, "subtypes": [ { "type": "_primary_expression", "named": true }, { "type": "await_expression", "named": true }, { "type": "conditional_expression", "named": true } ] }, { "type": "_parameters", "named": true, "subtypes": [ { "type": "default_parameter", "named": true }, { "type": "identifier", "named": true }, { "type": "typed_default_parameter", "named": true }, { "type": "typed_parameter", "named": true } ] }, { "type": "_pattern", "named": true, "subtypes": [ { "type": "_primary_expression", "named": true }, { "type": "pattern_binding", "named": true } ] }, { "type": "_primary_expression", "named": true, "subtypes": [ { "type": "array", "named": true }, { "type": "attribute", "named": true }, { "type": "base_call", "named": true }, { "type": "binary_operator", "named": true }, { "type": "call", "named": true }, { "type": "dictionary", "named": true }, { "type": "false", "named": true }, { "type": "float", "named": true }, { "type": "get_node", "named": true }, { "type": "identifier", "named": true }, { "type": "integer", "named": true }, { "type": "node_path", "named": true }, { "type": "null", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "string", "named": true }, { "type": "string_name", "named": true }, { "type": "subscript", "named": true }, { "type": "true", "named": true }, { "type": "unary_operator", "named": true } ] }, { "type": "()", "named": false, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "_parameters", "named": true } ] } }, { "type": "annotation", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "arguments", "named": true }, { "type": "identifier", "named": true } ] } }, { "type": "annotations", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "annotation", "named": true } ] } }, { "type": "arguments", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "_expression", "named": true }, { "type": "lambda", "named": true } ] } }, { "type": "array", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "_expression", "named": true }, { "type": "lambda", "named": true }, { "type": "pattern_binding", "named": true }, { "type": "pattern_open_ending", "named": true } ] } }, { "type": "assignment", "named": true, "fields": { "left": { "multiple": false, "required": true, "types": [ { "type": "_expression", "named": true } ] }, "right": { "multiple": false, "required": true, "types": [ { "type": "_expression", "named": true }, { "type": "lambda", "named": true } ] } } }, { "type": "attribute", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "_attribute_expression", "named": true }, { "type": "attribute_call", "named": true }, { "type": "attribute_subscript", "named": true } ] } }, { "type": "attribute_call", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "arguments", "named": true }, { "type": "identifier", "named": true } ] } }, { "type": "attribute_subscript", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "_primary_expression", "named": true } ] } }, { "type": "augmented_assignment", "named": true, "fields": { "left": { "multiple": false, "required": true, "types": [ { "type": "_expression", "named": true } ] }, "right": { "multiple": false, "required": true, "types": [ { "type": "_expression", "named": true }, { "type": "lambda", "named": true } ] } } }, { "type": "await_expression", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "_expression", "named": true } ] } }, { "type": "base_call", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "arguments", "named": true }, { "type": "identifier", "named": true } ] } }, { "type": "binary_operator", "named": true, "fields": { "left": { "multiple": false, "required": true, "types": [ { "type": "_primary_expression", "named": true } ] }, "op": { "multiple": true, "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": "and", "named": false }, { "type": "as", "named": false }, { "type": "in", "named": false }, { "type": "is", "named": false }, { "type": "not", "named": false }, { "type": "or", "named": false }, { "type": "|", "named": false }, { "type": "||", "named": false } ] }, "right": { "multiple": false, "required": true, "types": [ { "type": "_primary_expression", "named": true } ] } } }, { "type": "body", "named": false, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "_compound_statement", "named": true }, { "type": "annotation", "named": true }, { "type": "break_statement", "named": true }, { "type": "breakpoint_statement", "named": true }, { "type": "class_name_statement", "named": true }, { "type": "const_statement", "named": true }, { "type": "continue_statement", "named": true }, { "type": "export_variable_statement", "named": true }, { "type": "expression_statement", "named": true }, { "type": "extends_statement", "named": true }, { "type": "onready_variable_statement", "named": true }, { "type": "pass_statement", "named": true }, { "type": "return_statement", "named": true }, { "type": "signal_statement", "named": true }, { "type": "tool_statement", "named": true }, { "type": "variable_statement", "named": true } ] } }, { "type": "break_statement", "named": true, "fields": {} }, { "type": "call", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "_primary_expression", "named": true }, { "type": "arguments", "named": true } ] } }, { "type": "class_definition", "named": true, "fields": { "body": { "multiple": false, "required": true, "types": [ { "type": "body", "named": true } ] }, "extends": { "multiple": false, "required": false, "types": [ { "type": "extends_statement", "named": true } ] }, "name": { "multiple": false, "required": true, "types": [ { "type": "name", "named": true } ] } } }, { "type": "class_name_statement", "named": true, "fields": { "icon_path": { "multiple": false, "required": false, "types": [ { "type": "string", "named": true } ] } }, "children": { "multiple": false, "required": true, "types": [ { "type": "name", "named": true } ] } }, { "type": "conditional_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "_expression", "named": true } ] } }, { "type": "const_statement", "named": true, "fields": { "name": { "multiple": false, "required": true, "types": [ { "type": "name", "named": true } ] }, "type": { "multiple": false, "required": false, "types": [ { "type": "inferred_type", "named": true }, { "type": "type", "named": true } ] }, "value": { "multiple": false, "required": true, "types": [ { "type": "_expression", "named": true }, { "type": "lambda", "named": true } ] } } }, { "type": "constructor_definition", "named": true, "fields": { "body": { "multiple": false, "required": true, "types": [ { "type": "body", "named": true } ] }, "constructor_arguments": { "multiple": false, "required": false, "types": [ { "type": "arguments", "named": true } ] }, "parameters": { "multiple": false, "required": true, "types": [ { "type": "parameters", "named": true } ] }, "return_type": { "multiple": false, "required": false, "types": [ { "type": "type", "named": true } ] } } }, { "type": "continue_statement", "named": true, "fields": {} }, { "type": "default_parameter", "named": true, "fields": { "value": { "multiple": false, "required": true, "types": [ { "type": "_expression", "named": true }, { "type": "lambda", "named": true } ] } }, "children": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, { "type": "dictionary", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "pair", "named": true }, { "type": "pattern_open_ending", "named": true } ] } }, { "type": "elif_clause", "named": true, "fields": { "body": { "multiple": false, "required": true, "types": [ { "type": "body", "named": true } ] }, "condition": { "multiple": false, "required": true, "types": [ { "type": "_expression", "named": true } ] } } }, { "type": "else_clause", "named": true, "fields": { "body": { "multiple": false, "required": true, "types": [ { "type": "body", "named": true } ] } } }, { "type": "enum_definition", "named": true, "fields": { "body": { "multiple": false, "required": true, "types": [ { "type": "enumerator_list", "named": true } ] }, "name": { "multiple": false, "required": false, "types": [ { "type": "name", "named": true } ] } } }, { "type": "enumerator", "named": true, "fields": { "left": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] }, "right": { "multiple": false, "required": false, "types": [ { "type": "attribute", "named": true }, { "type": "binary_operator", "named": true }, { "type": "call", "named": true }, { "type": "identifier", "named": true }, { "type": "integer", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "subscript", "named": true }, { "type": "unary_operator", "named": true } ] } } }, { "type": "enumerator_list", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "enumerator", "named": true } ] } }, { "type": "export_variable_statement", "named": true, "fields": { "export_arguments": { "multiple": false, "required": false, "types": [ { "type": "arguments", "named": true } ] }, "name": { "multiple": false, "required": true, "types": [ { "type": "name", "named": true } ] }, "setget": { "multiple": false, "required": false, "types": [ { "type": "setget", "named": true } ] }, "static": { "multiple": false, "required": false, "types": [ { "type": "static_keyword", "named": true } ] }, "type": { "multiple": false, "required": false, "types": [ { "type": "inferred_type", "named": true }, { "type": "type", "named": true } ] }, "value": { "multiple": false, "required": false, "types": [ { "type": "_expression", "named": true }, { "type": "lambda", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "annotations", "named": true }, { "type": "remote_keyword", "named": true } ] } }, { "type": "expression_statement", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "_expression", "named": true }, { "type": "assignment", "named": true }, { "type": "augmented_assignment", "named": true } ] } }, { "type": "extends_statement", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "string", "named": true }, { "type": "type", "named": true } ] } }, { "type": "for_statement", "named": true, "fields": { "body": { "multiple": false, "required": true, "types": [ { "type": "body", "named": true } ] }, "left": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] }, "right": { "multiple": false, "required": true, "types": [ { "type": "_expression", "named": true } ] }, "type": { "multiple": false, "required": false, "types": [ { "type": "type", "named": true } ] } } }, { "type": "function_definition", "named": true, "fields": { "body": { "multiple": false, "required": true, "types": [ { "type": "body", "named": true } ] }, "name": { "multiple": false, "required": false, "types": [ { "type": "name", "named": true } ] }, "parameters": { "multiple": false, "required": true, "types": [ { "type": "parameters", "named": true } ] }, "return_type": { "multiple": false, "required": false, "types": [ { "type": "type", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "annotations", "named": true }, { "type": "remote_keyword", "named": true }, { "type": "static_keyword", "named": true } ] } }, { "type": "get_body", "named": true, "fields": {} }, { "type": "getter", "named": true, "fields": {} }, { "type": "identifier", "named": true, "fields": {} }, { "type": "if_statement", "named": true, "fields": { "alternative": { "multiple": true, "required": false, "types": [ { "type": "elif_clause", "named": true }, { "type": "else_clause", "named": true } ] }, "body": { "multiple": false, "required": true, "types": [ { "type": "body", "named": true } ] }, "condition": { "multiple": false, "required": true, "types": [ { "type": "_expression", "named": true } ] } } }, { "type": "inferred_type", "named": true, "fields": {} }, { "type": "lambda", "named": true, "fields": { "return_type": { "multiple": false, "required": false, "types": [ { "type": "type", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "body", "named": true }, { "type": "name", "named": true }, { "type": "parameters", "named": true } ] } }, { "type": "match_body", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "pattern_section", "named": true } ] } }, { "type": "match_statement", "named": true, "fields": { "body": { "multiple": false, "required": true, "types": [ { "type": "match_body", "named": true } ] }, "value": { "multiple": false, "required": true, "types": [ { "type": "_expression", "named": true } ] } } }, { "type": "name", "named": true, "fields": {} }, { "type": "onready_variable_statement", "named": true, "fields": { "name": { "multiple": false, "required": true, "types": [ { "type": "name", "named": true } ] }, "setget": { "multiple": false, "required": false, "types": [ { "type": "setget", "named": true } ] }, "static": { "multiple": false, "required": false, "types": [ { "type": "static_keyword", "named": true } ] }, "type": { "multiple": false, "required": false, "types": [ { "type": "inferred_type", "named": true }, { "type": "type", "named": true } ] }, "value": { "multiple": false, "required": false, "types": [ { "type": "_expression", "named": true }, { "type": "lambda", "named": true } ] } }, "children": { "multiple": false, "required": false, "types": [ { "type": "annotations", "named": true } ] } }, { "type": "pair", "named": true, "fields": { "key": { "multiple": false, "required": true, "types": [ { "type": "_expression", "named": true }, { "type": "identifier", "named": true }, { "type": "lambda", "named": true } ] }, "value": { "multiple": false, "required": true, "types": [ { "type": "_expression", "named": true }, { "type": "lambda", "named": true }, { "type": "pattern_binding", "named": true } ] } } }, { "type": "parameters", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "_parameters", "named": true } ] } }, { "type": "parenthesized_expression", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "_expression", "named": true }, { "type": "lambda", "named": true } ] } }, { "type": "pass_statement", "named": true, "fields": {} }, { "type": "pattern_binding", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, { "type": "pattern_guard", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "_expression", "named": true } ] } }, { "type": "pattern_section", "named": true, "fields": { "body": { "multiple": false, "required": true, "types": [ { "type": "body", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "_pattern", "named": true }, { "type": "pattern_guard", "named": true } ] } }, { "type": "remote_keyword", "named": true, "fields": {} }, { "type": "return_statement", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "_expression", "named": true }, { "type": "lambda", "named": true } ] } }, { "type": "set_body", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "parameters", "named": true } ] } }, { "type": "setget", "named": true, "fields": { "get": { "multiple": false, "required": false, "types": [ { "type": "get_body", "named": true }, { "type": "getter", "named": true } ] }, "set": { "multiple": false, "required": false, "types": [ { "type": "set_body", "named": true }, { "type": "setter", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "getter", "named": true }, { "type": "setter", "named": true } ] } }, { "type": "setter", "named": true, "fields": {} }, { "type": "signal_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "name", "named": true }, { "type": "parameters", "named": true } ] } }, { "type": "source", "named": true, "root": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "_compound_statement", "named": true }, { "type": "annotation", "named": true }, { "type": "break_statement", "named": true }, { "type": "breakpoint_statement", "named": true }, { "type": "class_name_statement", "named": true }, { "type": "const_statement", "named": true }, { "type": "continue_statement", "named": true }, { "type": "export_variable_statement", "named": true }, { "type": "expression_statement", "named": true }, { "type": "extends_statement", "named": true }, { "type": "onready_variable_statement", "named": true }, { "type": "pass_statement", "named": true }, { "type": "return_statement", "named": true }, { "type": "signal_statement", "named": true }, { "type": "tool_statement", "named": true }, { "type": "variable_statement", "named": true } ] } }, { "type": "string", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "escape_sequence", "named": true } ] } }, { "type": "string_name", "named": true, "fields": {} }, { "type": "subscript", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "_expression", "named": true } ] } }, { "type": "type", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "attribute", "named": true }, { "type": "identifier", "named": true }, { "type": "subscript", "named": true } ] } }, { "type": "typed_default_parameter", "named": true, "fields": { "type": { "multiple": false, "required": true, "types": [ { "type": "type", "named": true } ] }, "value": { "multiple": false, "required": true, "types": [ { "type": "_expression", "named": true }, { "type": "lambda", "named": true } ] } }, "children": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, { "type": "typed_parameter", "named": true, "fields": { "type": { "multiple": false, "required": true, "types": [ { "type": "type", "named": true } ] } }, "children": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, { "type": "unary_operator", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "_primary_expression", "named": true } ] } }, { "type": "value", "named": false, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "escape_sequence", "named": true } ] } }, { "type": "variable_statement", "named": true, "fields": { "name": { "multiple": false, "required": true, "types": [ { "type": "name", "named": true } ] }, "setget": { "multiple": false, "required": false, "types": [ { "type": "setget", "named": true } ] }, "static": { "multiple": false, "required": false, "types": [ { "type": "static_keyword", "named": true } ] }, "type": { "multiple": false, "required": false, "types": [ { "type": "inferred_type", "named": true }, { "type": "type", "named": true } ] }, "value": { "multiple": false, "required": false, "types": [ { "type": "_expression", "named": true }, { "type": "lambda", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "annotations", "named": true }, { "type": "remote_keyword", "named": true } ] } }, { "type": "while_statement", "named": true, "fields": { "body": { "multiple": false, "required": true, "types": [ { "type": "body", "named": true } ] }, "condition": { "multiple": false, "required": true, "types": [ { "type": "_expression", "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": "^", "named": false }, { "type": "^=", "named": false }, { "type": "_init", "named": false }, { "type": "and", "named": false }, { "type": "as", "named": false }, { "type": "await", "named": false }, { "type": "break", "named": false }, { "type": "breakpoint_statement", "named": true }, { "type": "class", "named": false }, { "type": "class_name", "named": false }, { "type": "comment", "named": true }, { "type": "const", "named": false }, { "type": "continue", "named": false }, { "type": "elif", "named": false }, { "type": "else", "named": false }, { "type": "enum", "named": false }, { "type": "escape_sequence", "named": true }, { "type": "export", "named": false }, { "type": "extends", "named": false }, { "type": "false", "named": true }, { "type": "float", "named": true }, { "type": "for", "named": false }, { "type": "func", "named": false }, { "type": "get", "named": false }, { "type": "get_node", "named": true }, { "type": "if", "named": false }, { "type": "in", "named": false }, { "type": "integer", "named": true }, { "type": "is", "named": false }, { "type": "master", "named": false }, { "type": "mastersync", "named": false }, { "type": "match", "named": false }, { "type": "node_path", "named": true }, { "type": "not", "named": false }, { "type": "null", "named": true }, { "type": "onready", "named": false }, { "type": "or", "named": false }, { "type": "pass", "named": false }, { "type": "pattern_open_ending", "named": true }, { "type": "puppet", "named": false }, { "type": "puppetsync", "named": false }, { "type": "remote", "named": false }, { "type": "remotesync", "named": false }, { "type": "return", "named": false }, { "type": "set", "named": false }, { "type": "setget", "named": false }, { "type": "signal", "named": false }, { "type": "static_keyword", "named": true }, { "type": "tool_statement", "named": true }, { "type": "true", "named": true }, { "type": "var", "named": false }, { "type": "when", "named": false }, { "type": "while", "named": false }, { "type": "{", "named": false }, { "type": "|", "named": false }, { "type": "|=", "named": false }, { "type": "||", "named": false }, { "type": "}", "named": false }, { "type": "~", "named": false } ]