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

Commit b3950cb

Browse files
author
Juanjo Alvarez
committed
Feedback from review
1 parent 4392d60 commit b3950cb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+247
-247
lines changed

ANNOTATION.md

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -6,29 +6,29 @@
66
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='BinOp'\]/\*\[@internalRole\]\[@internalRole='op'\] | Expression, Binary, Operator |
77
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='BinOp'\]/\*\[@internalRole\]\[@internalRole='left'\] | Expression, Binary, Left |
88
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='BinOp'\]/\*\[@internalRole\]\[@internalRole='right'\] | Expression, Binary, Right |
9-
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Eq'\] | Operator, Equal |
10-
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='NotEq'\] | Operator, Equal, Not |
11-
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Lt'\] | Operator, LessThan |
12-
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='LtE'\] | Operator, LessThanOrEqual |
13-
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Gt'\] | Operator, GreaterThan |
14-
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='GtE'\] | Operator, GreaterThanOrEqual |
15-
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Is'\] | Operator, Identical |
16-
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='IsNot'\] | Operator, Identical, Not |
17-
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='In'\] | Operator, Contains |
18-
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='NotIn'\] | Operator, Contains, Not |
19-
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Add'\] | Add |
20-
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Sub'\] | Substract |
21-
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Mult'\] | Multiply |
22-
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Div'\] | Divide |
23-
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Mod'\] | Modulo |
24-
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='FloorDiv'\] | Divide, Incomplete |
25-
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Pow'\] | Incomplete |
26-
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='MatMult'\] | Multiply, Incomplete |
27-
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='LShift'\] | Bitwise, LeftShift |
28-
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='RShift'\] | Bitwise, RightShift |
29-
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='BitOr'\] | Bitwise, Or |
30-
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='BitXor'\] | Bitwise, Xor |
31-
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='BitAnd'\] | Bitwise, And |
9+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Eq'\] | Binary, Operator, Equal |
10+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='NotEq'\] | Binary, Operator, Equal, Not |
11+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Lt'\] | Binary, Operator, LessThan |
12+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='LtE'\] | Binary, Operator, LessThanOrEqual |
13+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Gt'\] | Binary, Operator, GreaterThan |
14+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='GtE'\] | Binary, Operator, GreaterThanOrEqual |
15+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Is'\] | Binary, Operator, Identical |
16+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='IsNot'\] | Binary, Operator, Identical, Not |
17+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='In'\] | Binary, Operator, Contains |
18+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='NotIn'\] | Binary, Operator, Contains, Not |
19+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Add'\] | Binary, Operator, Add |
20+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Sub'\] | Binary, Operator, Substract |
21+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Mult'\] | Binary, Operator, Multiply |
22+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Div'\] | Binary, Operator, Divide |
23+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Mod'\] | Binary, Operator, Modulo |
24+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='FloorDiv'\] | Binary, Operator, Divide, Incomplete |
25+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Pow'\] | Binary, Operator, Incomplete |
26+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='MatMult'\] | Binary, Operator, Multiply, Incomplete |
27+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='LShift'\] | Binary, Operator, Bitwise, LeftShift |
28+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='RShift'\] | Binary, Operator, Bitwise, RightShift |
29+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='BitOr'\] | Binary, Operator, Bitwise, Or |
30+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='BitXor'\] | Binary, Operator, Bitwise, Xor |
31+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='BitAnd'\] | Binary, Operator, Bitwise, And |
3232
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='And'\] | Operator, Boolean, And |
3333
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Or'\] | Operator, Boolean, Or |
3434
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Not'\] | Operator, Boolean, Not |
@@ -53,15 +53,15 @@
5353
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Tuple'\] | Literal, Tuple, Expression |
5454
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='FunctionDef'\] | Function, Declaration, Name, Identifier |
5555
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='AsyncFunctionDef'\] | Function, Declaration, Name, Identifier, Incomplete |
56-
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='FunctionDef\.decorator\_list'\] | Function, Call, Incomplete |
56+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='FunctionDef\.decorator\_list'\] | Function, Declaration, Call, Incomplete |
5757
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='FunctionDef\.body'\] | Function, Declaration, Body |
58-
| /self::\*\[@InternalType='Module'\]//\*\[@internalRole\]\[@internalRole='arguments'\] | Argument, Incomplete |
59-
| /self::\*\[@InternalType='Module'\]//\*\[@internalRole\]\[@internalRole='args'\] | Argument, Name, Identifier |
60-
| /self::\*\[@InternalType='Module'\]//\*\[@internalRole\]\[@internalRole='vararg'\] | Argument, ArgsList, Name, Identifier |
61-
| /self::\*\[@InternalType='Module'\]//\*\[@internalRole\]\[@internalRole='kwarg'\] | Argument, ArgsList, Map, Name, Identifier |
62-
| /self::\*\[@InternalType='Module'\]//\*\[@internalRole\]\[@internalRole='kwonlyargs'\] | Argument, ArgsList, Map, Name, Identifier |
58+
| /self::\*\[@InternalType='Module'\]//\*\[@internalRole\]\[@internalRole='arguments'\] | Function, Declaration, Argument, Incomplete |
59+
| /self::\*\[@InternalType='Module'\]//\*\[@internalRole\]\[@internalRole='args'\] | Function, Declaration, Argument, Name, Identifier |
60+
| /self::\*\[@InternalType='Module'\]//\*\[@internalRole\]\[@internalRole='vararg'\] | Function, Declaration, Argument, ArgsList, Name, Identifier |
61+
| /self::\*\[@InternalType='Module'\]//\*\[@internalRole\]\[@internalRole='kwarg'\] | Function, Declaration, Argument, ArgsList, Map, Name, Identifier |
62+
| /self::\*\[@InternalType='Module'\]//\*\[@internalRole\]\[@internalRole='kwonlyargs'\] | Function, Declaration, Argument, ArgsList, Map, Name, Identifier |
6363
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='arguments\.defaults'\] | Function, Declaration, Argument, Value, Incomplete |
64-
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='AsyncFunctionDef\.decorator\_list'\] | Function, Call, Incomplete |
64+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='AsyncFunctionDef\.decorator\_list'\] | Function, Declaration, Call, Incomplete |
6565
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='AsyncFunctionDef\.body'\] | Function, Declaration, Body |
6666
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Lambda'\] | Function, Declaration, Expression, Incomplete |
6767
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Lambda'\]/\*\[@InternalType='Lambda\.body'\] | Function, Declaration, Body |
@@ -97,7 +97,7 @@
9797
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Try'\]/\*\[@InternalType='Try\.orelse'\] | Try, Body, Else |
9898
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='TryExcept'\] | Try, Catch, Statement |
9999
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='ExceptHandler'\] | Try, Catch, Statement |
100-
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='ExceptHandler\.name'\] | Identifier |
100+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='ExceptHandler\.name'\] | Try, Catch, Identifier |
101101
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='TryFinally'\] | Try, Finally, Statement |
102102
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Raise'\] | Throw, Statement |
103103
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='With'\] | Block, Scope, Statement |
@@ -160,9 +160,9 @@
160160
| /self::\*\[@InternalType='Module'\]//\*\[@internalRole\]\[@internalRole='annotation'\] | Comment, Incomplete |
161161
| /self::\*\[@InternalType='Module'\]//\*\[@internalRole\]\[@internalRole='returns'\] | Comment, Incomplete |
162162
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='Ellipsis'\] | Identifier, Incomplete |
163-
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='ListComp'\] | Literal, List, For, Expression, Incomplete |
164-
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='DictComp'\] | Literal, Map, For, Expression, Incomplete |
165-
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='SetComp'\] | Literal, Set, For, Expression, Incomplete |
163+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='ListComp'\] | List, For, Expression, Incomplete |
164+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='DictComp'\] | Map, For, Expression, Incomplete |
165+
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='SetComp'\] | Set, For, Expression, Incomplete |
166166
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='comprehension'\] | For, Iterator, Expression |
167167
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='comprehension'\]/\*\[@internalRole\]\[@internalRole='iter'\] | For, Update, Statement |
168168
| /self::\*\[@InternalType='Module'\]//\*\[@InternalType='comprehension'\]/\*\[@internalRole\]\[@internalRole='target'\] | For, Expression |

driver/normalizer/annotation.go

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -50,33 +50,33 @@ var AnnotationRules = On(Any).Self(
5050
),
5151

5252
// Comparison operators
53-
On(pyast.Eq).Roles(uast.Operator, uast.Equal),
54-
On(pyast.NotEq).Roles(uast.Operator, uast.Equal, uast.Not),
55-
On(pyast.Lt).Roles(uast.Operator, uast.LessThan),
56-
On(pyast.LtE).Roles(uast.Operator, uast.LessThanOrEqual),
57-
On(pyast.Gt).Roles(uast.Operator, uast.GreaterThan),
58-
On(pyast.GtE).Roles(uast.Operator, uast.GreaterThanOrEqual),
59-
On(pyast.Is).Roles(uast.Operator, uast.Identical),
60-
On(pyast.IsNot).Roles(uast.Operator, uast.Identical, uast.Not),
61-
On(pyast.In).Roles(uast.Operator, uast.Contains),
62-
On(pyast.NotIn).Roles(uast.Operator, uast.Contains, uast.Not),
53+
On(pyast.Eq).Roles(uast.Binary, uast.Operator, uast.Equal),
54+
On(pyast.NotEq).Roles(uast.Binary, uast.Operator, uast.Equal, uast.Not),
55+
On(pyast.Lt).Roles(uast.Binary, uast.Operator, uast.LessThan),
56+
On(pyast.LtE).Roles(uast.Binary, uast.Operator, uast.LessThanOrEqual),
57+
On(pyast.Gt).Roles(uast.Binary, uast.Operator, uast.GreaterThan),
58+
On(pyast.GtE).Roles(uast.Binary, uast.Operator, uast.GreaterThanOrEqual),
59+
On(pyast.Is).Roles(uast.Binary, uast.Operator, uast.Identical),
60+
On(pyast.IsNot).Roles(uast.Binary, uast.Operator, uast.Identical, uast.Not),
61+
On(pyast.In).Roles(uast.Binary, uast.Operator, uast.Contains),
62+
On(pyast.NotIn).Roles(uast.Binary, uast.Operator, uast.Contains, uast.Not),
6363

6464
// Aritmetic operators
65-
On(pyast.Add).Roles(uast.Add),
66-
On(pyast.Sub).Roles(uast.Substract),
67-
On(pyast.Mult).Roles(uast.Multiply),
68-
On(pyast.Div).Roles(uast.Divide),
69-
On(pyast.Mod).Roles(uast.Modulo),
70-
On(pyast.FloorDiv).Roles(uast.Divide, uast.Incomplete),
71-
On(pyast.Pow).Roles(uast.Incomplete),
72-
On(pyast.MatMult).Roles(uast.Multiply, uast.Incomplete),
65+
On(pyast.Add).Roles(uast.Binary, uast.Operator, uast.Add),
66+
On(pyast.Sub).Roles(uast.Binary, uast.Operator, uast.Substract),
67+
On(pyast.Mult).Roles(uast.Binary, uast.Operator, uast.Multiply),
68+
On(pyast.Div).Roles(uast.Binary, uast.Operator, uast.Divide),
69+
On(pyast.Mod).Roles(uast.Binary, uast.Operator, uast.Modulo),
70+
On(pyast.FloorDiv).Roles(uast.Binary, uast.Operator, uast.Divide, uast.Incomplete),
71+
On(pyast.Pow).Roles(uast.Binary, uast.Operator, uast.Incomplete),
72+
On(pyast.MatMult).Roles(uast.Binary, uast.Operator, uast.Multiply, uast.Incomplete),
7373

7474
// Bitwise operators
75-
On(pyast.LShift).Roles(uast.Bitwise, uast.LeftShift),
76-
On(pyast.RShift).Roles(uast.Bitwise, uast.RightShift),
77-
On(pyast.BitOr).Roles(uast.Bitwise, uast.Or),
78-
On(pyast.BitXor).Roles(uast.Bitwise, uast.Xor),
79-
On(pyast.BitAnd).Roles(uast.Bitwise, uast.And),
75+
On(pyast.LShift).Roles(uast.Binary, uast.Operator, uast.Bitwise, uast.LeftShift),
76+
On(pyast.RShift).Roles(uast.Binary, uast.Operator, uast.Bitwise, uast.RightShift),
77+
On(pyast.BitOr).Roles(uast.Binary, uast.Operator, uast.Bitwise, uast.Or),
78+
On(pyast.BitXor).Roles(uast.Binary, uast.Operator, uast.Bitwise, uast.Xor),
79+
On(pyast.BitAnd).Roles(uast.Binary, uast.Operator, uast.Bitwise, uast.And),
8080

8181
// Boolean operators
8282
// Not applying the "Binary" role since even while in the Python code
@@ -116,22 +116,22 @@ var AnnotationRules = On(Any).Self(
116116
// Type node Token (2 levels up) but the SDK doesn't allow this
117117
On(pyast.FunctionDef).Roles(uast.Function, uast.Declaration, uast.Name, uast.Identifier),
118118
On(pyast.AsyncFunctionDef).Roles(uast.Function, uast.Declaration, uast.Name, uast.Identifier, uast.Incomplete),
119-
On(pyast.FuncDecorators).Roles(uast.Function, uast.Call, uast.Incomplete),
119+
On(pyast.FuncDecorators).Roles(uast.Function, uast.Declaration, uast.Call, uast.Incomplete),
120120
On(pyast.FuncDefBody).Roles(uast.Function, uast.Declaration, uast.Body),
121121
// FIXME: arguments is a Groping node, update it we get a "Grouper" or "Container" role
122-
On(HasInternalRole("arguments")).Roles(uast.Argument, uast.Incomplete),
123-
On(HasInternalRole("args")).Roles(uast.Argument, uast.Name, uast.Identifier),
124-
On(HasInternalRole("vararg")).Roles(uast.Argument, uast.ArgsList, uast.Name, uast.Identifier),
125-
On(HasInternalRole("kwarg")).Roles(uast.Argument, uast.ArgsList, uast.Map, uast.Name, uast.Identifier),
126-
On(HasInternalRole("kwonlyargs")).Roles(uast.Argument, uast.ArgsList, uast.Map, uast.Name, uast.Identifier),
122+
On(HasInternalRole("arguments")).Roles(uast.Function, uast.Declaration, uast.Argument, uast.Incomplete),
123+
On(HasInternalRole("args")).Roles(uast.Function, uast.Declaration, uast.Argument, uast.Name, uast.Identifier),
124+
On(HasInternalRole("vararg")).Roles(uast.Function, uast.Declaration, uast.Argument, uast.ArgsList, uast.Name, uast.Identifier),
125+
On(HasInternalRole("kwarg")).Roles(uast.Function, uast.Declaration, uast.Argument, uast.ArgsList, uast.Map, uast.Name, uast.Identifier),
126+
On(HasInternalRole("kwonlyargs")).Roles(uast.Function, uast.Declaration, uast.Argument, uast.ArgsList, uast.Map, uast.Name, uast.Identifier),
127127
// Default arguments: Python's AST puts default arguments on a sibling list to the one of
128128
// arguments that must be mapped to the arguments right-aligned like:
129129
// a, b=2, c=3 ->
130130
// args [a,b,c],
131131
// defaults [2,3]
132132
// TODO: create an issue for the SDK
133133
On(pyast.ArgumentDefaults).Roles(uast.Function, uast.Declaration, uast.Argument, uast.Value, uast.Incomplete),
134-
On(pyast.AsyncFuncDecorators).Roles(uast.Function, uast.Call, uast.Incomplete),
134+
On(pyast.AsyncFuncDecorators).Roles(uast.Function, uast.Declaration, uast.Call, uast.Incomplete),
135135
On(pyast.AsyncFuncDefBody).Roles(uast.Function, uast.Declaration, uast.Body),
136136
// FIXME: change to Function, Declaration, ArgumentS once the PR has been merged
137137
On(pyast.Lambda).Roles(uast.Function, uast.Declaration, uast.Expression, uast.Incomplete).Children(
@@ -191,7 +191,7 @@ var AnnotationRules = On(Any).Self(
191191
),
192192
On(pyast.TryExcept).Roles(uast.Try, uast.Catch, uast.Statement), // py2
193193
On(pyast.ExceptHandler).Roles(uast.Try, uast.Catch, uast.Statement), // py3
194-
On(pyast.ExceptHandlerName).Roles(uast.Identifier),
194+
On(pyast.ExceptHandlerName).Roles(uast.Try, uast.Catch, uast.Identifier),
195195
On(pyast.TryFinally).Roles(uast.Try, uast.Finally, uast.Statement),
196196
On(pyast.Raise).Roles(uast.Throw, uast.Statement),
197197
// FIXME: review, add path for the body and items childs
@@ -300,9 +300,9 @@ var AnnotationRules = On(Any).Self(
300300
// uast.List/uast.Map/uast.Set comprehensions. We map the "for x in y" to uast.For, uast.Iterator (foreach)
301301
// roles and the "if something" to uast.If* roles. FIXME: missing the top comprehension
302302
// roles in the UAST, change once they've been merged
303-
On(pyast.ListComp).Roles(uast.Literal, uast.List, uast.For, uast.Expression, uast.Incomplete),
304-
On(pyast.DictComp).Roles(uast.Literal, uast.Map, uast.For, uast.Expression, uast.Incomplete),
305-
On(pyast.SetComp).Roles(uast.Literal, uast.Set, uast.For, uast.Expression, uast.Incomplete),
303+
On(pyast.ListComp).Roles(uast.List, uast.For, uast.Expression, uast.Incomplete),
304+
On(pyast.DictComp).Roles(uast.Map, uast.For, uast.Expression, uast.Incomplete),
305+
On(pyast.SetComp).Roles(uast.Set, uast.For, uast.Expression, uast.Incomplete),
306306
On(pyast.Comprehension).Roles(uast.For, uast.Iterator, uast.Expression).Children(
307307
On(HasInternalRole("iter")).Roles(uast.For, uast.Update, uast.Statement),
308308
On(HasInternalRole("target")).Roles(uast.For, uast.Expression),

tests/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,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

0 commit comments

Comments
 (0)