From 8be4fb059e8c7997cb3c06b8464caa1b11057469 Mon Sep 17 00:00:00 2001 From: Shirasaka Date: Sat, 12 Sep 2020 18:55:44 +0900 Subject: Update PHP query --- queries/php/fold.scm | 6 +++++ queries/php/locals.scm | 71 +++++++++++++++++++++++++++++++++++++------------- 2 files changed, 59 insertions(+), 18 deletions(-) create mode 100644 queries/php/fold.scm (limited to 'queries/php') diff --git a/queries/php/fold.scm b/queries/php/fold.scm new file mode 100644 index 000000000..3d447829a --- /dev/null +++ b/queries/php/fold.scm @@ -0,0 +1,6 @@ +[ + (class_declaration) + (compound_statement) + (switch_statement) + (case_statement) +] @fold diff --git a/queries/php/locals.scm b/queries/php/locals.scm index 4b8d7abc9..1560a30a1 100644 --- a/queries/php/locals.scm +++ b/queries/php/locals.scm @@ -1,15 +1,22 @@ ; Scopes ;------- -(class_declaration) @scope -(while_statement) @scope -(foreach_statement) @scope -(if_statement) @scope -(try_statement) @scope -(method_declaration +((class_declaration + name: (name) @definition.type) @scope + (set! definition.type.scope "parent")) + +((method_declaration name: (name) @definition.method) @scope -(function_definition + (set! definition.method.scope "parent")) + +((function_definition name: (name) @definition.function) @scope + (set! definition.function.scope "parent")) + +(anonymous_function_creation_expression + (anonymous_function_use_clause + (variable_name + (name) @definition.var))) @scope ; Definitions ;------------ @@ -18,26 +25,54 @@ (variable_name (name) @definition.var)) -(anonymous_function_use_clause +(foreach_statement + (pair + (variable_name + (name) @definition.var)) (variable_name (name) @definition.var)) -(assignment_expression - left: (variable_name - (name) @definition.var)) - (property_declaration - (variable_name - (name) @definition.field)) + (property_element + (variable_name + (name) @definition.field))) (namespace_use_clause (qualified_name (name) @definition.type)) -(class_declaration - name: (name) @definition.type) - ; References ;------------ -(name) @reference +(type_name + (name) @reference + (set! reference.kind "type")) + +(variable_name + (name) @reference + (set! reference.kind "var")) + +(member_access_expression + name: (name) @reference + (set! reference.kind "field")) + +(member_call_expression + name: (name) @reference + (set! reference.kind "method")) + +(function_call_expression + function: (qualified_name + (name) @reference + (set! reference.kind "function"))) + +(object_creation_expression + (qualified_name + (name) @reference + (set! reference.kind "type"))) + +(scoped_call_expression + scope: (qualified_name + (name) @reference + (set! reference.kind "type")) + name: (name) @reference + (set! reference.kind "method")) -- cgit v1.2.3-70-g09d2