File tree Expand file tree Collapse file tree 7 files changed +89
-25
lines changed
Expand file tree Collapse file tree 7 files changed +89
-25
lines changed Original file line number Diff line number Diff line change @@ -13,6 +13,29 @@ class C(Language):
1313 (field_identifier)@name
1414 """
1515 query_call = "(call_expression)@name"
16+ query_argument = """
17+ (call_expression
18+ arguments: (argument_list
19+ [
20+ (identifier)@name
21+ (pointer_expression
22+ (identifier)@name
23+ )
24+ (field_expression
25+ field: (field_identifier)@name
26+ )
27+ (cast_expression
28+ value: (identifier)@name
29+ )
30+ (cast_expression
31+ value: (field_expression
32+ field: (field_identifier)@name
33+ )
34+ )
35+ ]
36+ )
37+ )
38+ """
1639 query_import_identifier = """
1740 (preproc_include
1841 path: [
Original file line number Diff line number Diff line change @@ -9,6 +9,18 @@ class GO(Language):
99 tslanguage = TSLanguage (tsgo .language ())
1010
1111 query_call = "(call_expression)@name"
12+ query_argument = """
13+ (call_expression
14+ arguments: (argument_list
15+ [
16+ (selector_expression
17+ field: (field_identifier)@name
18+ )
19+ (identifier)@name
20+ ]
21+ )
22+ )
23+ """
1224 query_import_identifier = """
1325 (import_spec
1426 path: (interpreted_string_literal)@name
Original file line number Diff line number Diff line change @@ -417,30 +417,9 @@ def is_argument(self) -> bool:
417417 """
418418 Checks if the identifier is an argument of a function call.
419419 """
420- query = """
421- (call_expression
422- arguments: (argument_list
423- [
424- (identifier)@name
425- (pointer_expression
426- (identifier)@name
427- )
428- (field_expression
429- field: (field_identifier)@name
430- )
431- (cast_expression
432- value: (identifier)@name
433- )
434- (cast_expression
435- value: (field_expression
436- field: (field_identifier)@name
437- )
438- )
439- ]
440- )
441- )
442- """
443- argument_nodes = self .file .parser .query_all (self .statement .node , query )
420+ argument_nodes = self .file .parser .query_all (
421+ self .statement .node , self .file .language .query_argument
422+ )
444423 for argument_node in argument_nodes :
445424 if argument_node .start_point == self .node .start_point :
446425 return True
Original file line number Diff line number Diff line change @@ -9,6 +9,18 @@ class JAVA(Language):
99 tslanguage = TSLanguage (tsjava .language ())
1010
1111 query_call = "(method_invocation)@name"
12+ query_argument = """
13+ (method_invocation
14+ arguments: (argument_list
15+ [
16+ (field_access
17+ field: (identifier)@name
18+ )
19+ (identifier)@name
20+ ]
21+ )
22+ )
23+ """
1224 query_import_identifier = """
1325 (import_declaration
1426 (scoped_identifier
@@ -66,7 +78,7 @@ class JAVA(Language):
6678 "do_statement" ,
6779 "enhanced_for_statement" ,
6880 ]
69-
81+
7082 FUNCTION_STATEMENTS = [
7183 "method_declaration" ,
7284 "constructor_declaration" ,
Original file line number Diff line number Diff line change @@ -9,6 +9,24 @@ class JAVASCRIPT(Language):
99 tslanguage = TSLanguage (tsjavascript .language ())
1010
1111 query_call = "(call_expression)@name"
12+ query_argument = """
13+ (call_expression
14+ arguments: (arguments
15+ [
16+ (identifier)@name
17+ (assignment_expression
18+ right: (identifier)@name
19+ )
20+ (member_expression
21+ property: (property_identifier)@name
22+ )
23+ (binary_expression
24+ (identifier)@name
25+ )
26+ ]
27+ )
28+ )
29+ """
1230 query_import = "(import_statement)@name"
1331 query_import_identifier = """
1432 (call_expression
Original file line number Diff line number Diff line change @@ -34,6 +34,11 @@ class Language:
3434 The tree-sitter query to match function calls.
3535 """
3636
37+ query_argument : str
38+ """
39+ The tree-sitter query to match function call argument.
40+ """
41+
3742 query_import_identifier : str
3843 """
3944 The tree-sitter query to match import identifiers.
Original file line number Diff line number Diff line change @@ -9,6 +9,21 @@ class PYTHON(Language):
99 tslanguage = TSLanguage (tspython .language ())
1010
1111 query_call = "(call)@name"
12+ query_argument = """
13+ (call
14+ arguments: (argument_list
15+ [
16+ (identifier)@name
17+ (attribute
18+ attribute: (identifier)@name
19+ )
20+ (keyword_argument
21+ value: (identifier)@name
22+ )
23+ ]
24+ )
25+ )
26+ """
1227 query_import_identifier = """
1328 (import_statement
1429 name: [
You can’t perform that action at this time.
0 commit comments