UNPKG

tree-sitter-phpdoc

Version:
1,898 lines (1,896 loc) 40.9 kB
{ "name": "phpdoc", "word": "name", "rules": { "document": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_begin" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "description" }, { "type": "BLANK" } ] }, { "type": "REPEAT", "content": { "type": "SYMBOL", "name": "tag" } }, { "type": "SYMBOL", "name": "_end" } ] }, "_begin": { "type": "TOKEN", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "/**" }, { "type": "REPEAT", "content": { "type": "STRING", "value": "*" } } ] } }, "description": { "type": "REPEAT1", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "text" }, { "type": "SYMBOL", "name": "inline_tag" } ] } }, "_description_after_type": { "type": "ALIAS", "content": { "type": "REPEAT1", "content": { "type": "CHOICE", "members": [ { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_text_after_type" }, "named": true, "value": "text" }, { "type": "SYMBOL", "name": "inline_tag" } ] } }, "named": true, "value": "description" }, "_description_not_version": { "type": "ALIAS", "content": { "type": "REPEAT1", "content": { "type": "CHOICE", "members": [ { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_text_not_version" }, "named": true, "value": "text" }, { "type": "SYMBOL", "name": "inline_tag" } ] } }, "named": true, "value": "description" }, "_description_in_inline_tag": { "type": "ALIAS", "content": { "type": "REPEAT1", "content": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_text_in_inline_tag" }, "named": true, "value": "text" } }, "named": true, "value": "description" }, "_description_in_inline_tag_with_nesting": { "type": "ALIAS", "content": { "type": "REPEAT1", "content": { "type": "CHOICE", "members": [ { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_text_in_inline_tag" }, "named": true, "value": "text" }, { "type": "SYMBOL", "name": "inline_tag" } ] } }, "named": true, "value": "description" }, "tag": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_tag_without_description" }, { "type": "SYMBOL", "name": "_tag_with_optional_description" }, { "type": "SYMBOL", "name": "_tag_with_required_description" }, { "type": "SYMBOL", "name": "_author_tag" }, { "type": "SYMBOL", "name": "_deprecated_tag" }, { "type": "SYMBOL", "name": "_global_tag" }, { "type": "SYMBOL", "name": "_link_tag" }, { "type": "SYMBOL", "name": "_method_tag" }, { "type": "SYMBOL", "name": "_param_tag" }, { "type": "SYMBOL", "name": "_property_tag" }, { "type": "SYMBOL", "name": "_return_tag" }, { "type": "SYMBOL", "name": "_see_tag" }, { "type": "SYMBOL", "name": "_since_tag" }, { "type": "SYMBOL", "name": "_throws_tag" }, { "type": "SYMBOL", "name": "_var_tag" }, { "type": "SYMBOL", "name": "_version_tag" }, { "type": "SYMBOL", "name": "_phpunit_tag" }, { "type": "SYMBOL", "name": "_tag_with_incomplete_implementation" } ] }, "inline_tag": { "type": "SEQ", "members": [ { "type": "STRING", "value": "{" }, { "type": "CHOICE", "members": [ { "type": "ALIAS", "content": { "type": "STRING", "value": "@inheritdoc" }, "named": true, "value": "tag_name" }, { "type": "ALIAS", "content": { "type": "STRING", "value": "@inheritDoc" }, "named": true, "value": "tag_name" }, { "type": "SYMBOL", "name": "_inline_internal_tag" }, { "type": "SYMBOL", "name": "_inline_link_tag" }, { "type": "SYMBOL", "name": "_inline_see_tag" } ] }, { "type": "STRING", "value": "}" } ] }, "_tag_without_description": { "type": "ALIAS", "content": { "type": "CHOICE", "members": [ { "type": "STRING", "value": "@api" }, { "type": "STRING", "value": "@filesource" }, { "type": "STRING", "value": "@inheritdoc" }, { "type": "STRING", "value": "@inheritDoc" } ] }, "named": true, "value": "tag_name" }, "_tag_with_optional_description": { "type": "SEQ", "members": [ { "type": "ALIAS", "content": { "type": "CHOICE", "members": [ { "type": "STRING", "value": "@ignore" }, { "type": "STRING", "value": "@internal" } ] }, "named": true, "value": "tag_name" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "description" }, { "type": "BLANK" } ] } ] }, "_tag_with_required_description": { "type": "SEQ", "members": [ { "type": "ALIAS", "content": { "type": "CHOICE", "members": [ { "type": "STRING", "value": "@category" }, { "type": "STRING", "value": "@copyright" }, { "type": "STRING", "value": "@todo" } ] }, "named": true, "value": "tag_name" }, { "type": "SYMBOL", "name": "description" } ] }, "_tag_with_incomplete_implementation": { "type": "SEQ", "members": [ { "type": "ALIAS", "content": { "type": "CHOICE", "members": [ { "type": "STRING", "value": "@example" }, { "type": "STRING", "value": "@license" }, { "type": "STRING", "value": "@package" }, { "type": "STRING", "value": "@source" }, { "type": "STRING", "value": "@subpackage" }, { "type": "STRING", "value": "@uses" } ] }, "named": true, "value": "tag_name" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "description" }, { "type": "BLANK" } ] } ] }, "_author_tag": { "type": "SEQ", "members": [ { "type": "ALIAS", "content": { "type": "STRING", "value": "@author" }, "named": true, "value": "tag_name" }, { "type": "SYMBOL", "name": "author_name" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "<" }, { "type": "SYMBOL", "name": "email_address" }, { "type": "STRING", "value": ">" } ] }, { "type": "BLANK" } ] } ] }, "_global_tag": { "type": "SEQ", "members": [ { "type": "ALIAS", "content": { "type": "STRING", "value": "@global" }, "named": true, "value": "tag_name" }, { "type": "SYMBOL", "name": "_type" }, { "type": "SYMBOL", "name": "variable_name" } ] }, "_inline_internal_tag": { "type": "SEQ", "members": [ { "type": "ALIAS", "content": { "type": "STRING", "value": "@internal" }, "named": true, "value": "tag_name" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_description_in_inline_tag_with_nesting" }, { "type": "BLANK" } ] } ] }, "_link_tag": { "type": "SEQ", "members": [ { "type": "ALIAS", "content": { "type": "STRING", "value": "@link" }, "named": true, "value": "tag_name" }, { "type": "SYMBOL", "name": "uri" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "description" }, { "type": "BLANK" } ] } ] }, "_inline_link_tag": { "type": "SEQ", "members": [ { "type": "ALIAS", "content": { "type": "STRING", "value": "@link" }, "named": true, "value": "tag_name" }, { "type": "SYMBOL", "name": "uri" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_description_in_inline_tag" }, { "type": "BLANK" } ] } ] }, "_method_tag": { "type": "SEQ", "members": [ { "type": "ALIAS", "content": { "type": "STRING", "value": "@method" }, "named": true, "value": "tag_name" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "static" }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "_type" }, { "type": "SYMBOL", "name": "name" }, { "type": "SYMBOL", "name": "parameters" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "description" }, { "type": "BLANK" } ] } ] }, "_param_tag": { "type": "SEQ", "members": [ { "type": "ALIAS", "content": { "type": "STRING", "value": "@param" }, "named": true, "value": "tag_name" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_type" }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "variable_name" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "description" }, { "type": "BLANK" } ] } ] }, "_property_tag": { "type": "SEQ", "members": [ { "type": "ALIAS", "content": { "type": "CHOICE", "members": [ { "type": "STRING", "value": "@property" }, { "type": "STRING", "value": "@property-read" }, { "type": "STRING", "value": "@property-write" } ] }, "named": true, "value": "tag_name" }, { "type": "SYMBOL", "name": "_type" }, { "type": "SYMBOL", "name": "variable_name" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "description" }, { "type": "BLANK" } ] } ] }, "_return_tag": { "type": "SEQ", "members": [ { "type": "ALIAS", "content": { "type": "STRING", "value": "@return" }, "named": true, "value": "tag_name" }, { "type": "SYMBOL", "name": "_type" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "description" }, { "type": "BLANK" } ] } ] }, "_see_tag": { "type": "SEQ", "members": [ { "type": "ALIAS", "content": { "type": "STRING", "value": "@see" }, "named": true, "value": "tag_name" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "uri" }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "qualified_name" }, "named": true, "value": "fqsen" }, { "type": "ALIAS", "content": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "qualified_name" }, { "type": "STRING", "value": "()" } ] }, "named": true, "value": "fqsen" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "description" }, { "type": "BLANK" } ] } ] }, "_inline_see_tag": { "type": "SEQ", "members": [ { "type": "ALIAS", "content": { "type": "STRING", "value": "@see" }, "named": true, "value": "tag_name" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "uri" }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "qualified_name" }, "named": true, "value": "fqsen" }, { "type": "ALIAS", "content": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "qualified_name" }, { "type": "STRING", "value": "()" } ] }, "named": true, "value": "fqsen" } ] }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_description_in_inline_tag" }, { "type": "BLANK" } ] } ] }, "_throws_tag": { "type": "SEQ", "members": [ { "type": "ALIAS", "content": { "type": "STRING", "value": "@throws" }, "named": true, "value": "tag_name" }, { "type": "SYMBOL", "name": "_type" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "description" }, { "type": "BLANK" } ] } ] }, "_var_tag": { "type": "SEQ", "members": [ { "type": "ALIAS", "content": { "type": "STRING", "value": "@var" }, "named": true, "value": "tag_name" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_type" }, { "type": "SYMBOL", "name": "_description_after_type" } ] }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_type" }, { "type": "SYMBOL", "name": "variable_name" } ] }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_type" }, { "type": "SYMBOL", "name": "variable_name" }, { "type": "SYMBOL", "name": "description" } ] } ] } ] }, "_deprecated_tag": { "type": "SEQ", "members": [ { "type": "ALIAS", "content": { "type": "STRING", "value": "@deprecated" }, "named": true, "value": "tag_name" }, { "type": "CHOICE", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "version" }, { "type": "SYMBOL", "name": "_description_not_version" }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "version" }, { "type": "SYMBOL", "name": "description" } ] } ] }, { "type": "BLANK" } ] } ] }, "_since_tag": { "type": "SEQ", "members": [ { "type": "ALIAS", "content": { "type": "STRING", "value": "@since" }, "named": true, "value": "tag_name" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "version" }, { "type": "SYMBOL", "name": "_description_not_version" }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "version" }, { "type": "SYMBOL", "name": "description" } ] } ] } ] }, "_version_tag": { "type": "SEQ", "members": [ { "type": "ALIAS", "content": { "type": "STRING", "value": "@version" }, "named": true, "value": "tag_name" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "version" }, { "type": "SYMBOL", "name": "_description_not_version" }, { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "version" }, { "type": "SYMBOL", "name": "description" } ] } ] } ] }, "_phpunit_tag": { "type": "SEQ", "members": [ { "type": "ALIAS", "content": { "type": "CHOICE", "members": [ { "type": "STRING", "value": "@after" }, { "type": "STRING", "value": "@afterClass" }, { "type": "STRING", "value": "@annotation" }, { "type": "STRING", "value": "@backupGlobals" }, { "type": "STRING", "value": "@backupStaticAttributes" }, { "type": "STRING", "value": "@before" }, { "type": "STRING", "value": "@beforeClass" }, { "type": "STRING", "value": "@codeCoverageIgnore" }, { "type": "STRING", "value": "@codeCoverageIgnore*" }, { "type": "STRING", "value": "@codeCoverageIgnoreEnd" }, { "type": "STRING", "value": "@codeCoverageIgnoreStart" }, { "type": "STRING", "value": "@covers" }, { "type": "STRING", "value": "@coversDefaultClass" }, { "type": "STRING", "value": "@coversDefaultClass to shorten annotations" }, { "type": "STRING", "value": "@coversNothing" }, { "type": "STRING", "value": "@dataProvider" }, { "type": "STRING", "value": "@depends" }, { "type": "STRING", "value": "@depends annotation to express dependencies" }, { "type": "STRING", "value": "@doesNotPerformAssertions" }, { "type": "STRING", "value": "@group" }, { "type": "STRING", "value": "@large" }, { "type": "STRING", "value": "@medium" }, { "type": "STRING", "value": "@preserveGlobalState" }, { "type": "STRING", "value": "@requires" }, { "type": "STRING", "value": "@requires usages" }, { "type": "STRING", "value": "@runInSeparateProcess" }, { "type": "STRING", "value": "@runTestsInSeparateProcesses" }, { "type": "STRING", "value": "@small" }, { "type": "STRING", "value": "@test" }, { "type": "STRING", "value": "@testWith" }, { "type": "STRING", "value": "@testdox" }, { "type": "STRING", "value": "@ticket" } ] }, "named": true, "value": "tag_name" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "description" }, { "type": "BLANK" } ] } ] }, "_type": { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "union_type" }, "named": true, "value": "type_list" }, "_types": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_regular_types" }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_phpdoc_array_types" }, "named": true, "value": "array_type" }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_psalm_generic_array_types" }, "named": true, "value": "array_type" }, { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "_psalm_list_array_types" }, "named": true, "value": "array_type" } ] }, "_regular_types": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "optional_type" }, { "type": "SYMBOL", "name": "named_type" }, { "type": "SYMBOL", "name": "primitive_type" } ] }, "_phpdoc_array_types": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_regular_types" }, { "type": "REPEAT1", "content": { "type": "STRING", "value": "[]" } } ] }, "_psalm_generic_array_types": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "array", "content": { "type": "SYMBOL", "name": "_regular_types" } }, { "type": "STRING", "value": "<" }, { "type": "FIELD", "name": "key", "content": { "type": "SYMBOL", "name": "_regular_types" } }, { "type": "STRING", "value": "," }, { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "_regular_types" } }, { "type": "STRING", "value": ">" } ] }, "_psalm_list_array_types": { "type": "SEQ", "members": [ { "type": "FIELD", "name": "array", "content": { "type": "CHOICE", "members": [ { "type": "ALIAS", "content": { "type": "STRING", "value": "list" }, "named": true, "value": "primitive_type" }, { "type": "SYMBOL", "name": "_regular_types" } ] } }, { "type": "STRING", "value": "<" }, { "type": "FIELD", "name": "value", "content": { "type": "SYMBOL", "name": "_regular_types" } }, { "type": "STRING", "value": ">" } ] }, "name": { "type": "PATTERN", "value": "[_a-zA-Z\\u00A1-\\u00ff][_a-zA-Z\\u00A1-\\u00ff\\d]*" }, "named_type": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "name" }, { "type": "SYMBOL", "name": "qualified_name" } ] }, "namespace_name": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "name" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "\\" }, { "type": "SYMBOL", "name": "name" } ] } } ] }, "namespace_name_as_prefix": { "type": "CHOICE", "members": [ { "type": "STRING", "value": "\\" }, { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "STRING", "value": "\\" }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "namespace_name" }, { "type": "STRING", "value": "\\" } ] }, { "type": "SEQ", "members": [ { "type": "ALIAS", "content": { "type": "PATTERN", "value": "[nN][aA][mM][eE][sS][pP][aA][cC][eE]" }, "named": false, "value": "namespace" }, { "type": "STRING", "value": "\\" } ] }, { "type": "SEQ", "members": [ { "type": "ALIAS", "content": { "type": "PATTERN", "value": "[nN][aA][mM][eE][sS][pP][aA][cC][eE]" }, "named": false, "value": "namespace" }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "\\" }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "namespace_name" }, { "type": "STRING", "value": "\\" } ] } ] }, "optional_type": { "type": "SEQ", "members": [ { "type": "STRING", "value": "?" }, { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "named_type" }, { "type": "SYMBOL", "name": "primitive_type" } ] } ] }, "primitive_type": { "type": "CHOICE", "members": [ { "type": "STRING", "value": "array" }, { "type": "STRING", "value": "callable" }, { "type": "STRING", "value": "iterable" }, { "type": "STRING", "value": "bool" }, { "type": "STRING", "value": "float" }, { "type": "STRING", "value": "int" }, { "type": "STRING", "value": "string" }, { "type": "STRING", "value": "void" }, { "type": "STRING", "value": "mixed" }, { "type": "STRING", "value": "static" }, { "type": "STRING", "value": "false" }, { "type": "STRING", "value": "null" } ] }, "qualified_name": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "namespace_name_as_prefix" }, { "type": "SYMBOL", "name": "name" } ] }, "union_type": { "type": "PREC_RIGHT", "value": 0, "content": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_types" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "|" }, { "type": "SYMBOL", "name": "_types" } ] } } ] } }, "variable_name": { "type": "SEQ", "members": [ { "type": "STRING", "value": "$" }, { "type": "SYMBOL", "name": "name" } ] }, "author_name": { "type": "PATTERN", "value": "\\S+( [^\\s<]+)*" }, "email_address": { "type": "PATTERN", "value": "\\S+@\\S+\\.[^\\s>]+" }, "version": { "type": "CHOICE", "members": [ { "type": "PATTERN", "value": "\\d+\\.[^\\s]+" }, { "type": "SYMBOL", "name": "_version_vector" }, { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[a-zA-Z-_]+: *" }, { "type": "SYMBOL", "name": "_version_vector" } ] }, { "type": "STRING", "value": "@package_version@" } ] }, "_version_vector": { "type": "PATTERN", "value": "\\$[a-zA-Z_][a-zA-Z0-9-_]*\\$" }, "uri": { "type": "PATTERN", "value": "\\w+:(\\/?\\/?)[^\\s}]+" }, "parameters": { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "parameter" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "parameter" } ] } } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ")" } ] }, "parameter": { "type": "SEQ", "members": [ { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_type" }, { "type": "BLANK" } ] }, { "type": "SYMBOL", "name": "variable_name" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "=" }, { "type": "SYMBOL", "name": "default_value" } ] }, { "type": "BLANK" } ] } ] }, "default_value": { "type": "PATTERN", "value": "[^, ][^,)]*" }, "static": { "type": "STRING", "value": "static" }, "_end": { "type": "STRING", "value": "*/" } }, "extras": [ { "type": "TOKEN", "content": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "\\n" }, { "type": "PATTERN", "value": "[ \\t]*" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "*" }, { "type": "PATTERN", "value": "[ \\t]*" } ] } } ] }, { "type": "PATTERN", "value": "\\s" } ] } } ], "conflicts": [ [ "primitive_type", "static" ], [ "namespace_name" ], [ "namespace_name_as_prefix" ] ], "externals": [ { "type": "SYMBOL", "name": "text" }, { "type": "SYMBOL", "name": "_text_after_type" }, { "type": "SYMBOL", "name": "_text_in_inline_tag" }, { "type": "SYMBOL", "name": "_text_not_version" } ], "inline": [], "supertypes": [] }