Skip to content

Commit 97fa4ff

Browse files
parse class bases like function arguments
1 parent 32a698d commit 97fa4ff

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

python/extractor/tsg-python/python.tsg

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1286,11 +1286,15 @@
12861286
; In particular, `keyword_argument` nodes have a `name` field, and `dictionary_splat`
12871287
; nodes have a `value` field.
12881288
(class_definition
1289-
superclasses: (argument_list element: (_ !value !name) @arg)
1289+
superclasses: (argument_list element: (_) @arg)
12901290
) @class
12911291
{
1292-
edge @class.class_expr -> @arg.node
1293-
attr (@class.class_expr -> @arg.node) bases = (named-child-index @arg)
1292+
if (not (or
1293+
(instance-of @arg "keyword_argument")
1294+
(instance-of @arg "dictionary_splat"))) {
1295+
edge @class.class_expr -> @arg.node
1296+
attr (@class.class_expr -> @arg.node) bases = (named-child-index @arg)
1297+
}
12941298
}
12951299

12961300
; Class.keywords of the form `foo=bar`

0 commit comments

Comments
 (0)