Skip to content
This repository was archived by the owner on Mar 8, 2020. It is now read-only.

Commit f122947

Browse files
author
Juanjo Alvarez
committed
Set Function+(Declaration|Call) for arguments
1 parent 5dee52a commit f122947

13 files changed

+61
-57
lines changed

ANNOTATION.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -235,14 +235,15 @@
235235
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Dict'\]/\*\[@internalRole\]\[@internalRole='values'\] | Map, Value |
236236
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Tuple'\] | Literal, Tuple, Expression |
237237
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='FunctionDef'\] | Function, Declaration, Name, Identifier |
238+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='FunctionDef'\]/\*\[@InternalType='arguments'\] | Function, Declaration, Incomplete |
239+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='FunctionDef'\]/\*\[@InternalType='arguments'\]/\*\[@internalRole\]\[@internalRole='args'\] | Function, Declaration |
240+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='FunctionDef'\]/\*\[@InternalType='arguments'\]/\*\[@internalRole\]\[@internalRole='vararg'\] | Function, Declaration, Argument, ArgsList, Name, Identifier |
241+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='FunctionDef'\]/\*\[@InternalType='arguments'\]/\*\[@internalRole\]\[@internalRole='kwarg'\] | Function, Declaration, Argument, ArgsList, Map, Name, Identifier |
242+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='FunctionDef'\]/\*\[@InternalType='arguments'\]/\*\[@internalRole\]\[@internalRole='kwonlyargs'\] | Function, Declaration, Argument, ArgsList, Map, Name, Identifier |
238243
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='AsyncFunctionDef'\] | Function, Declaration, Name, Identifier, Incomplete |
239244
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='FunctionDef\.decorator\_list'\] | Function, Declaration, Call, Incomplete |
240245
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='FunctionDef\.body'\] | Function, Declaration, Body |
241-
| /self::\*\[@InternalType='Module'\]//\*\[@internalRole\]\[@internalRole='arguments'\] | Function, Declaration, Argument, Incomplete |
242246
| /self::\*\[@InternalType='Module'\]//\*\[@internalRole\]\[@internalRole='args'\] | Argument, Name, Identifier |
243-
| /self::\*\[@InternalType='Module'\]//\*\[@internalRole\]\[@internalRole='vararg'\] | Argument, ArgsList, Name, Identifier |
244-
| /self::\*\[@InternalType='Module'\]//\*\[@internalRole\]\[@internalRole='kwarg'\] | Argument, ArgsList, Map, Name, Identifier |
245-
| /self::\*\[@InternalType='Module'\]//\*\[@internalRole\]\[@internalRole='kwonlyargs'\] | Argument, ArgsList, Map, Name, Identifier |
246247
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='arguments\.defaults'\] | Function, Declaration, Argument, Value, Incomplete |
247248
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='AsyncFunctionDef\.decorator\_list'\] | Function, Declaration, Call, Incomplete |
248249
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='AsyncFunctionDef\.body'\] | Function, Declaration, Body |
@@ -251,8 +252,8 @@
251252
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Attribute'\] | Identifier, Expression |
252253
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Attribute'\]/\*\[@InternalType='Name'\] | Identifier, Qualified |
253254
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Call'\] | Function, Call, Expression |
254-
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Call'\]/\*\[@internalRole\]\[@internalRole='args'\] | Argument, Positional |
255-
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Call'\]/\*\[@internalRole\]\[@internalRole='keywords'\] | Argument, Name |
255+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Call'\]/\*\[@internalRole\]\[@internalRole='args'\] | Function, Call, Positional |
256+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Call'\]/\*\[@internalRole\]\[@internalRole='keywords'\] | Function, Call, Argument, Name |
256257
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Call'\]/\*\[@internalRole\]\[@internalRole='keywords'\]/\*\[@internalRole\]\[@internalRole='value'\] | Argument, Value |
257258
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Call'\]/\*\[@internalRole\]\[@internalRole='func'\]/self::\*\[@InternalType='Name'\] | Call, Callee |
258259
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Call'\]/\*\[@internalRole\]\[@internalRole='func'\]/self::\*\[@InternalType='Attribute'\] | Call, Callee |

driver/normalizer/annotation.go

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -127,16 +127,19 @@ var AnnotationRules = On(Any).Self(
127127

128128
// FIXME: the FunctionDeclarationReceiver is not set for methods; it should be taken from the parent
129129
// Type node Token (2 levels up) but the SDK doesn't allow this
130-
On(pyast.FunctionDef).Roles(uast.Function, uast.Declaration, uast.Name, uast.Identifier),
130+
On(pyast.FunctionDef).Roles(uast.Function, uast.Declaration, uast.Name, uast.Identifier).Children(
131+
// Other roles are set on the generic HasInternalRole("args") below
132+
On(pyast.Arguments).Roles(uast.Function, uast.Declaration, uast.Incomplete).Children(
133+
On(HasInternalRole("args")).Roles(uast.Function, uast.Declaration),
134+
On(HasInternalRole("vararg")).Roles(uast.Function, uast.Declaration, uast.Argument, uast.ArgsList, uast.Name, uast.Identifier),
135+
On(HasInternalRole("kwarg")).Roles(uast.Function, uast.Declaration, uast.Argument, uast.ArgsList, uast.Map, uast.Name, uast.Identifier),
136+
On(HasInternalRole("kwonlyargs")).Roles(uast.Function, uast.Declaration, uast.Argument, uast.ArgsList, uast.Map, uast.Name, uast.Identifier),
137+
),
138+
),
131139
On(pyast.AsyncFunctionDef).Roles(uast.Function, uast.Declaration, uast.Name, uast.Identifier, uast.Incomplete),
132140
On(pyast.FuncDecorators).Roles(uast.Function, uast.Declaration, uast.Call, uast.Incomplete),
133141
On(pyast.FuncDefBody).Roles(uast.Function, uast.Declaration, uast.Body),
134-
// FIXME: arguments is a Groping node, update it we get a "Grouper" or "Container" role
135-
On(HasInternalRole("arguments")).Roles(uast.Function, uast.Declaration, uast.Argument, uast.Incomplete),
136142
On(HasInternalRole("args")).Roles(uast.Argument, uast.Name, uast.Identifier),
137-
On(HasInternalRole("vararg")).Roles(uast.Argument, uast.ArgsList, uast.Name, uast.Identifier),
138-
On(HasInternalRole("kwarg")).Roles(uast.Argument, uast.ArgsList, uast.Map, uast.Name, uast.Identifier),
139-
On(HasInternalRole("kwonlyargs")).Roles(uast.Argument, uast.ArgsList, uast.Map, uast.Name, uast.Identifier),
140143
// Default arguments: Python's AST puts default arguments on a sibling list to the one of
141144
// arguments that must be mapped to the arguments right-aligned like:
142145
// a, b=2, c=3 ->
@@ -155,8 +158,8 @@ var AnnotationRules = On(Any).Self(
155158
On(pyast.Name).Roles(uast.Identifier, uast.Qualified)),
156159

157160
On(pyast.Call).Roles(uast.Function, uast.Call, uast.Expression).Children(
158-
On(HasInternalRole("args")).Roles(uast.Argument, uast.Positional),
159-
On(HasInternalRole("keywords")).Roles(uast.Argument, uast.Name).Children(
161+
On(HasInternalRole("args")).Roles(uast.Function, uast.Call, uast.Positional),
162+
On(HasInternalRole("keywords")).Roles(uast.Function, uast.Call, uast.Argument, uast.Name).Children(
160163
On(HasInternalRole("value")).Roles(uast.Argument, uast.Value),
161164
),
162165
On(HasInternalRole("func")).Self(

fixtures/annotations.py.uast

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -140,15 +140,15 @@ Module {
140140
. . . }
141141
. . . Children: {
142142
. . . . 0: arguments {
143-
. . . . . Roles: Argument,Name,Identifier
143+
. . . . . Roles: Function,Declaration,Incomplete,Argument,Name,Identifier
144144
. . . . . Properties: {
145145
. . . . . . internalRole: args
146146
. . . . . . kwarg: <nil>
147147
. . . . . . vararg: <nil>
148148
. . . . . }
149149
. . . . . Children: {
150150
. . . . . . 0: arg {
151-
. . . . . . . Roles: Argument,Name,Identifier
151+
. . . . . . . Roles: Function,Declaration,Argument,Name,Identifier
152152
. . . . . . . TOKEN "a"
153153
. . . . . . . StartPosition: {
154154
. . . . . . . . Offset: 33
@@ -185,7 +185,7 @@ Module {
185185
. . . . . . . }
186186
. . . . . . }
187187
. . . . . . 1: arg {
188-
. . . . . . . Roles: Argument,Name,Identifier
188+
. . . . . . . Roles: Function,Declaration,Argument,Name,Identifier
189189
. . . . . . . TOKEN "b"
190190
. . . . . . . StartPosition: {
191191
. . . . . . . . Offset: 41

fixtures/for.py.uast

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ Module {
105105
. . . . . . . . . }
106106
. . . . . . . . . Children: {
107107
. . . . . . . . . . 0: Name {
108-
. . . . . . . . . . . Roles: Argument,Name,Identifier,Argument,Positional,Identifier,Expression
108+
. . . . . . . . . . . Roles: Argument,Name,Identifier,Function,Call,Positional,Identifier,Expression
109109
. . . . . . . . . . . TOKEN "i"
110110
. . . . . . . . . . . StartPosition: {
111111
. . . . . . . . . . . . Offset: 39

fixtures/functiondef_annotated.py.uast

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,15 @@ Module {
2222
. . . }
2323
. . . Children: {
2424
. . . . 0: arguments {
25-
. . . . . Roles: Argument,Name,Identifier
25+
. . . . . Roles: Function,Declaration,Incomplete,Argument,Name,Identifier
2626
. . . . . Properties: {
2727
. . . . . . internalRole: args
2828
. . . . . . kwarg: <nil>
2929
. . . . . . vararg: <nil>
3030
. . . . . }
3131
. . . . . Children: {
3232
. . . . . . 0: arg {
33-
. . . . . . . Roles: Argument,Name,Identifier
33+
. . . . . . . Roles: Function,Declaration,Argument,Name,Identifier
3434
. . . . . . . TOKEN "arg1"
3535
. . . . . . . StartPosition: {
3636
. . . . . . . . Offset: 13
@@ -67,7 +67,7 @@ Module {
6767
. . . . . . . }
6868
. . . . . . }
6969
. . . . . . 1: arg {
70-
. . . . . . . Roles: Argument,Name,Identifier
70+
. . . . . . . Roles: Function,Declaration,Argument,Name,Identifier
7171
. . . . . . . TOKEN "arg2"
7272
. . . . . . . StartPosition: {
7373
. . . . . . . . Offset: 24
@@ -104,7 +104,7 @@ Module {
104104
. . . . . . . }
105105
. . . . . . }
106106
. . . . . . 2: arg {
107-
. . . . . . . Roles: Argument,Name,Identifier
107+
. . . . . . . Roles: Function,Declaration,Argument,Name,Identifier
108108
. . . . . . . TOKEN "arg3"
109109
. . . . . . . StartPosition: {
110110
. . . . . . . . Offset: 35

fixtures/functiondef_defaultparams.py.uast

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,15 @@ Module {
2323
. . . }
2424
. . . Children: {
2525
. . . . 0: arguments {
26-
. . . . . Roles: Argument,Name,Identifier
26+
. . . . . Roles: Function,Declaration,Incomplete,Argument,Name,Identifier
2727
. . . . . Properties: {
2828
. . . . . . internalRole: args
2929
. . . . . . kwarg: <nil>
3030
. . . . . . vararg: <nil>
3131
. . . . . }
3232
. . . . . Children: {
3333
. . . . . . 0: arg {
34-
. . . . . . . Roles: Argument,Name,Identifier
34+
. . . . . . . Roles: Function,Declaration,Argument,Name,Identifier
3535
. . . . . . . TOKEN "arg1"
3636
. . . . . . . StartPosition: {
3737
. . . . . . . . Offset: 13
@@ -49,7 +49,7 @@ Module {
4949
. . . . . . . }
5050
. . . . . . }
5151
. . . . . . 1: arg {
52-
. . . . . . . Roles: Argument,Name,Identifier
52+
. . . . . . . Roles: Function,Declaration,Argument,Name,Identifier
5353
. . . . . . . TOKEN "arg2"
5454
. . . . . . . StartPosition: {
5555
. . . . . . . . Offset: 19
@@ -67,7 +67,7 @@ Module {
6767
. . . . . . . }
6868
. . . . . . }
6969
. . . . . . 2: arg {
70-
. . . . . . . Roles: Argument,Name,Identifier
70+
. . . . . . . Roles: Function,Declaration,Argument,Name,Identifier
7171
. . . . . . . TOKEN "arg3"
7272
. . . . . . . StartPosition: {
7373
. . . . . . . . Offset: 25
@@ -85,7 +85,7 @@ Module {
8585
. . . . . . . }
8686
. . . . . . }
8787
. . . . . . 3: arg {
88-
. . . . . . . Roles: Argument,Name,Identifier
88+
. . . . . . . Roles: Function,Declaration,Argument,Name,Identifier
8989
. . . . . . . TOKEN "arg4"
9090
. . . . . . . StartPosition: {
9191
. . . . . . . . Offset: 33
@@ -103,7 +103,7 @@ Module {
103103
. . . . . . . }
104104
. . . . . . }
105105
. . . . . . 4: arg {
106-
. . . . . . . Roles: Argument,Name,Identifier
106+
. . . . . . . Roles: Function,Declaration,Argument,Name,Identifier
107107
. . . . . . . TOKEN "arg5"
108108
. . . . . . . StartPosition: {
109109
. . . . . . . . Offset: 50
@@ -218,7 +218,7 @@ Module {
218218
. . . }
219219
. . . Children: {
220220
. . . . 0: arguments {
221-
. . . . . Roles: Argument,Name,Identifier
221+
. . . . . Roles: Function,Declaration,Incomplete,Argument,Name,Identifier
222222
. . . . . Properties: {
223223
. . . . . . internalRole: args
224224
. . . . . . kwarg: <nil>
@@ -242,7 +242,7 @@ Module {
242242
. . . . . . . }
243243
. . . . . . }
244244
. . . . . . 1: arg {
245-
. . . . . . . Roles: Argument,ArgsList,Map,Name,Identifier
245+
. . . . . . . Roles: Function,Declaration,Argument,ArgsList,Map,Name,Identifier
246246
. . . . . . . TOKEN "thing"
247247
. . . . . . . StartPosition: {
248248
. . . . . . . . Offset: 86
@@ -260,7 +260,7 @@ Module {
260260
. . . . . . . }
261261
. . . . . . }
262262
. . . . . . 2: arg {
263-
. . . . . . . Roles: Argument,ArgsList,Name,Identifier
263+
. . . . . . . Roles: Function,Declaration,Argument,ArgsList,Name,Identifier
264264
. . . . . . . TOKEN "ignore"
265265
. . . . . . . StartPosition: {
266266
. . . . . . . . Offset: 78

fixtures/functiondef_docstring.py.uast

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ Module {
9191
. . . . . }
9292
. . . . }
9393
. . . . 1: arguments {
94-
. . . . . Roles: Argument,Name,Identifier
94+
. . . . . Roles: Function,Declaration,Incomplete,Argument,Name,Identifier
9595
. . . . . Properties: {
9696
. . . . . . internalRole: args
9797
. . . . . . kwarg: <nil>

fixtures/functiondef_kwarg.py.uast

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@ Module {
2323
. . . }
2424
. . . Children: {
2525
. . . . 0: arguments {
26-
. . . . . Roles: Argument,Name,Identifier
26+
. . . . . Roles: Function,Declaration,Incomplete,Argument,Name,Identifier
2727
. . . . . Properties: {
2828
. . . . . . internalRole: args
2929
. . . . . . vararg: <nil>
3030
. . . . . }
3131
. . . . . Children: {
3232
. . . . . . 0: arg {
33-
. . . . . . . Roles: Argument,Name,Identifier
33+
. . . . . . . Roles: Function,Declaration,Argument,Name,Identifier
3434
. . . . . . . TOKEN "arg1"
3535
. . . . . . . StartPosition: {
3636
. . . . . . . . Offset: 13
@@ -48,7 +48,7 @@ Module {
4848
. . . . . . . }
4949
. . . . . . }
5050
. . . . . . 1: arg {
51-
. . . . . . . Roles: Argument,Name,Identifier
51+
. . . . . . . Roles: Function,Declaration,Argument,Name,Identifier
5252
. . . . . . . TOKEN "arg2"
5353
. . . . . . . StartPosition: {
5454
. . . . . . . . Offset: 19
@@ -66,7 +66,7 @@ Module {
6666
. . . . . . . }
6767
. . . . . . }
6868
. . . . . . 2: arg {
69-
. . . . . . . Roles: Argument,ArgsList,Map,Name,Identifier
69+
. . . . . . . Roles: Function,Declaration,Argument,ArgsList,Map,Name,Identifier
7070
. . . . . . . TOKEN "kwparameters"
7171
. . . . . . . StartPosition: {
7272
. . . . . . . . Offset: 27
@@ -128,13 +128,13 @@ Module {
128128
. . . }
129129
. . . Children: {
130130
. . . . 0: arguments {
131-
. . . . . Roles: Argument,Name,Identifier
131+
. . . . . Roles: Function,Declaration,Incomplete,Argument,Name,Identifier
132132
. . . . . Properties: {
133133
. . . . . . internalRole: args
134134
. . . . . }
135135
. . . . . Children: {
136136
. . . . . . 0: arg {
137-
. . . . . . . Roles: Argument,Name,Identifier
137+
. . . . . . . Roles: Function,Declaration,Argument,Name,Identifier
138138
. . . . . . . TOKEN "arg1"
139139
. . . . . . . StartPosition: {
140140
. . . . . . . . Offset: 71
@@ -185,7 +185,7 @@ Module {
185185
. . . . . . . }
186186
. . . . . . }
187187
. . . . . . 1: arg {
188-
. . . . . . . Roles: Argument,Name,Identifier
188+
. . . . . . . Roles: Function,Declaration,Argument,Name,Identifier
189189
. . . . . . . TOKEN "arg2"
190190
. . . . . . . StartPosition: {
191191
. . . . . . . . Offset: 77
@@ -203,7 +203,7 @@ Module {
203203
. . . . . . . }
204204
. . . . . . }
205205
. . . . . . 2: arg {
206-
. . . . . . . Roles: Argument,ArgsList,Map,Name,Identifier
206+
. . . . . . . Roles: Function,Declaration,Argument,ArgsList,Map,Name,Identifier
207207
. . . . . . . TOKEN "kwparameters2"
208208
. . . . . . . StartPosition: {
209209
. . . . . . . . Offset: 95
@@ -221,7 +221,7 @@ Module {
221221
. . . . . . . }
222222
. . . . . . }
223223
. . . . . . 3: arg {
224-
. . . . . . . Roles: Argument,ArgsList,Name,Identifier
224+
. . . . . . . Roles: Function,Declaration,Argument,ArgsList,Name,Identifier
225225
. . . . . . . TOKEN "varargs"
226226
. . . . . . . StartPosition: {
227227
. . . . . . . . Offset: 84

fixtures/functiondef_simple.py.uast

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,15 @@ Module {
2323
. . . }
2424
. . . Children: {
2525
. . . . 0: arguments {
26-
. . . . . Roles: Argument,Name,Identifier
26+
. . . . . Roles: Function,Declaration,Incomplete,Argument,Name,Identifier
2727
. . . . . Properties: {
2828
. . . . . . internalRole: args
2929
. . . . . . kwarg: <nil>
3030
. . . . . . vararg: <nil>
3131
. . . . . }
3232
. . . . . Children: {
3333
. . . . . . 0: arg {
34-
. . . . . . . Roles: Argument,Name,Identifier
34+
. . . . . . . Roles: Function,Declaration,Argument,Name,Identifier
3535
. . . . . . . TOKEN "arg1"
3636
. . . . . . . StartPosition: {
3737
. . . . . . . . Offset: 13
@@ -49,7 +49,7 @@ Module {
4949
. . . . . . . }
5050
. . . . . . }
5151
. . . . . . 1: arg {
52-
. . . . . . . Roles: Argument,Name,Identifier
52+
. . . . . . . Roles: Function,Declaration,Argument,Name,Identifier
5353
. . . . . . . TOKEN "arg2"
5454
. . . . . . . StartPosition: {
5555
. . . . . . . . Offset: 19
@@ -67,7 +67,7 @@ Module {
6767
. . . . . . . }
6868
. . . . . . }
6969
. . . . . . 2: arg {
70-
. . . . . . . Roles: Argument,Name,Identifier
70+
. . . . . . . Roles: Function,Declaration,Argument,Name,Identifier
7171
. . . . . . . TOKEN "arg3"
7272
. . . . . . . StartPosition: {
7373
. . . . . . . . Offset: 25
@@ -163,15 +163,15 @@ Module {
163163
. . . }
164164
. . . Children: {
165165
. . . . 0: arguments {
166-
. . . . . Roles: Argument,Name,Identifier
166+
. . . . . Roles: Function,Declaration,Incomplete,Argument,Name,Identifier
167167
. . . . . Properties: {
168168
. . . . . . internalRole: args
169169
. . . . . . kwarg: <nil>
170170
. . . . . . vararg: <nil>
171171
. . . . . }
172172
. . . . . Children: {
173173
. . . . . . 0: arg {
174-
. . . . . . . Roles: Argument,Name,Identifier
174+
. . . . . . . Roles: Function,Declaration,Argument,Name,Identifier
175175
. . . . . . . TOKEN "n1"
176176
. . . . . . . StartPosition: {
177177
. . . . . . . . Offset: 70
@@ -222,7 +222,7 @@ Module {
222222
. . . . . . . }
223223
. . . . . . }
224224
. . . . . . 1: arg {
225-
. . . . . . . Roles: Argument,Name,Identifier
225+
. . . . . . . Roles: Function,Declaration,Argument,Name,Identifier
226226
. . . . . . . TOKEN "n2"
227227
. . . . . . . StartPosition: {
228228
. . . . . . . . Offset: 74
@@ -240,7 +240,7 @@ Module {
240240
. . . . . . . }
241241
. . . . . . }
242242
. . . . . . 2: arg {
243-
. . . . . . . Roles: Argument,Name,Identifier
243+
. . . . . . . Roles: Function,Declaration,Argument,Name,Identifier
244244
. . . . . . . TOKEN "n3"
245245
. . . . . . . StartPosition: {
246246
. . . . . . . . Offset: 78

0 commit comments

Comments
 (0)