File tree Expand file tree Collapse file tree 2 files changed +15
-4
lines changed
Expand file tree Collapse file tree 2 files changed +15
-4
lines changed Original file line number Diff line number Diff line change 1- class Foo (int , object , metaclass = type ):
1+ class Foo (int , object , metaclass = type , ** kwargs ):
22 x = 5
Original file line number Diff line number Diff line change 12771277 attr (@class.inner_scope -> @stmt.node) body = (named-child-index @stmt)
12781278}
12791279
1280- ; Class.bases - using `(_ !name)` as a proxy for all non-keyword arguments.
1280+ ; Class.bases - using `(_ !value !name)` as a proxy for all non-keyword arguments.
1281+ ; In particular, `keyword_argument` nodes have a `name` field, and `dictionary_splat`
1282+ ; nodes have a `value` field.
12811283(class_definition
1282- superclasses: (argument_list element: (_ !name) @arg)
1284+ superclasses: (argument_list element: (_ !value ! name) @arg)
12831285) @class
12841286{
12851287 edge @class.class_expr -> @arg.node
12861288 attr (@class.class_expr -> @arg.node) bases = (named-child-index @arg)
12871289}
12881290
1289- ; Class.keywords
1291+ ; Class.keywords of the form `foo=bar`
12901292(class_definition
12911293 superclasses: (argument_list element: (keyword_argument) @arg)
12921294) @class
12951297 attr (@class.class_expr -> @arg.node) keywords = (named-child-index @arg)
12961298}
12971299
1300+ ; Class.keywords of the form `**kwargs`
1301+ (class_definition
1302+ superclasses: (argument_list element: (dictionary_splat) @arg)
1303+ ) @class
1304+ {
1305+ edge @class.class_expr -> @arg.node
1306+ attr (@class.class_expr -> @arg.node) keywords = (named-child-index @arg)
1307+ }
1308+
12981309;;;;;; End of Class
12991310
13001311;;;;;; Assign statements
You can’t perform that action at this time.
0 commit comments