mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
[3.12] gh-104799: Move location of type_params AST fields (GH-104828) (#104974)
gh-104799: Move location of type_params AST fields (GH-104828)
(cherry picked from commit ba73473f4c
)
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
This commit is contained in:
parent
fd6b913535
commit
7899fac3c5
10 changed files with 365 additions and 334 deletions
|
@ -10092,22 +10092,22 @@
|
||||||
<var-decl name='name' type-id='type-id-525' visibility='default' filepath='./Include/internal/pycore_ast.h' line='200' column='1'/>
|
<var-decl name='name' type-id='type-id-525' visibility='default' filepath='./Include/internal/pycore_ast.h' line='200' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='64'>
|
<data-member access='public' layout-offset-in-bits='64'>
|
||||||
<var-decl name='type_params' type-id='type-id-526' visibility='default' filepath='./Include/internal/pycore_ast.h' line='201' column='1'/>
|
<var-decl name='args' type-id='type-id-526' visibility='default' filepath='./Include/internal/pycore_ast.h' line='201' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='128'>
|
<data-member access='public' layout-offset-in-bits='128'>
|
||||||
<var-decl name='args' type-id='type-id-527' visibility='default' filepath='./Include/internal/pycore_ast.h' line='202' column='1'/>
|
<var-decl name='body' type-id='type-id-500' visibility='default' filepath='./Include/internal/pycore_ast.h' line='202' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='192'>
|
<data-member access='public' layout-offset-in-bits='192'>
|
||||||
<var-decl name='body' type-id='type-id-500' visibility='default' filepath='./Include/internal/pycore_ast.h' line='203' column='1'/>
|
<var-decl name='decorator_list' type-id='type-id-503' visibility='default' filepath='./Include/internal/pycore_ast.h' line='203' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='256'>
|
<data-member access='public' layout-offset-in-bits='256'>
|
||||||
<var-decl name='decorator_list' type-id='type-id-503' visibility='default' filepath='./Include/internal/pycore_ast.h' line='204' column='1'/>
|
<var-decl name='returns' type-id='type-id-502' visibility='default' filepath='./Include/internal/pycore_ast.h' line='204' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='320'>
|
<data-member access='public' layout-offset-in-bits='320'>
|
||||||
<var-decl name='returns' type-id='type-id-502' visibility='default' filepath='./Include/internal/pycore_ast.h' line='205' column='1'/>
|
<var-decl name='type_comment' type-id='type-id-527' visibility='default' filepath='./Include/internal/pycore_ast.h' line='205' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='384'>
|
<data-member access='public' layout-offset-in-bits='384'>
|
||||||
<var-decl name='type_comment' type-id='type-id-528' visibility='default' filepath='./Include/internal/pycore_ast.h' line='206' column='1'/>
|
<var-decl name='type_params' type-id='type-id-528' visibility='default' filepath='./Include/internal/pycore_ast.h' line='206' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
</class-decl>
|
</class-decl>
|
||||||
<class-decl name='__anonymous_struct__6' size-in-bits='384' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_ast.h' line='219' column='1' id='type-id-508'>
|
<class-decl name='__anonymous_struct__6' size-in-bits='384' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_ast.h' line='219' column='1' id='type-id-508'>
|
||||||
|
@ -10115,19 +10115,19 @@
|
||||||
<var-decl name='name' type-id='type-id-525' visibility='default' filepath='./Include/internal/pycore_ast.h' line='220' column='1'/>
|
<var-decl name='name' type-id='type-id-525' visibility='default' filepath='./Include/internal/pycore_ast.h' line='220' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='64'>
|
<data-member access='public' layout-offset-in-bits='64'>
|
||||||
<var-decl name='type_params' type-id='type-id-526' visibility='default' filepath='./Include/internal/pycore_ast.h' line='221' column='1'/>
|
<var-decl name='bases' type-id='type-id-503' visibility='default' filepath='./Include/internal/pycore_ast.h' line='221' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='128'>
|
<data-member access='public' layout-offset-in-bits='128'>
|
||||||
<var-decl name='bases' type-id='type-id-503' visibility='default' filepath='./Include/internal/pycore_ast.h' line='222' column='1'/>
|
<var-decl name='keywords' type-id='type-id-529' visibility='default' filepath='./Include/internal/pycore_ast.h' line='222' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='192'>
|
<data-member access='public' layout-offset-in-bits='192'>
|
||||||
<var-decl name='keywords' type-id='type-id-529' visibility='default' filepath='./Include/internal/pycore_ast.h' line='223' column='1'/>
|
<var-decl name='body' type-id='type-id-500' visibility='default' filepath='./Include/internal/pycore_ast.h' line='223' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='256'>
|
<data-member access='public' layout-offset-in-bits='256'>
|
||||||
<var-decl name='body' type-id='type-id-500' visibility='default' filepath='./Include/internal/pycore_ast.h' line='224' column='1'/>
|
<var-decl name='decorator_list' type-id='type-id-503' visibility='default' filepath='./Include/internal/pycore_ast.h' line='224' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='320'>
|
<data-member access='public' layout-offset-in-bits='320'>
|
||||||
<var-decl name='decorator_list' type-id='type-id-503' visibility='default' filepath='./Include/internal/pycore_ast.h' line='225' column='1'/>
|
<var-decl name='type_params' type-id='type-id-528' visibility='default' filepath='./Include/internal/pycore_ast.h' line='225' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
</class-decl>
|
</class-decl>
|
||||||
<class-decl name='__anonymous_struct__8' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_ast.h' line='232' column='1' id='type-id-510'>
|
<class-decl name='__anonymous_struct__8' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_ast.h' line='232' column='1' id='type-id-510'>
|
||||||
|
@ -10143,7 +10143,7 @@
|
||||||
<var-decl name='value' type-id='type-id-502' visibility='default' filepath='./Include/internal/pycore_ast.h' line='238' column='1'/>
|
<var-decl name='value' type-id='type-id-502' visibility='default' filepath='./Include/internal/pycore_ast.h' line='238' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='128'>
|
<data-member access='public' layout-offset-in-bits='128'>
|
||||||
<var-decl name='type_comment' type-id='type-id-528' visibility='default' filepath='./Include/internal/pycore_ast.h' line='239' column='1'/>
|
<var-decl name='type_comment' type-id='type-id-527' visibility='default' filepath='./Include/internal/pycore_ast.h' line='239' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
</class-decl>
|
</class-decl>
|
||||||
<class-decl name='__anonymous_struct__10' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_ast.h' line='242' column='1' id='type-id-512'>
|
<class-decl name='__anonymous_struct__10' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_ast.h' line='242' column='1' id='type-id-512'>
|
||||||
|
@ -10151,7 +10151,7 @@
|
||||||
<var-decl name='name' type-id='type-id-502' visibility='default' filepath='./Include/internal/pycore_ast.h' line='243' column='1'/>
|
<var-decl name='name' type-id='type-id-502' visibility='default' filepath='./Include/internal/pycore_ast.h' line='243' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='64'>
|
<data-member access='public' layout-offset-in-bits='64'>
|
||||||
<var-decl name='type_params' type-id='type-id-526' visibility='default' filepath='./Include/internal/pycore_ast.h' line='244' column='1'/>
|
<var-decl name='type_params' type-id='type-id-528' visibility='default' filepath='./Include/internal/pycore_ast.h' line='244' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='128'>
|
<data-member access='public' layout-offset-in-bits='128'>
|
||||||
<var-decl name='value' type-id='type-id-502' visibility='default' filepath='./Include/internal/pycore_ast.h' line='245' column='1'/>
|
<var-decl name='value' type-id='type-id-502' visibility='default' filepath='./Include/internal/pycore_ast.h' line='245' column='1'/>
|
||||||
|
@ -10196,7 +10196,7 @@
|
||||||
<var-decl name='orelse' type-id='type-id-500' visibility='default' filepath='./Include/internal/pycore_ast.h' line='265' column='1'/>
|
<var-decl name='orelse' type-id='type-id-500' visibility='default' filepath='./Include/internal/pycore_ast.h' line='265' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='256'>
|
<data-member access='public' layout-offset-in-bits='256'>
|
||||||
<var-decl name='type_comment' type-id='type-id-528' visibility='default' filepath='./Include/internal/pycore_ast.h' line='266' column='1'/>
|
<var-decl name='type_comment' type-id='type-id-527' visibility='default' filepath='./Include/internal/pycore_ast.h' line='266' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
</class-decl>
|
</class-decl>
|
||||||
<class-decl name='__anonymous_struct__15' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_ast.h' line='277' column='1' id='type-id-516'>
|
<class-decl name='__anonymous_struct__15' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_ast.h' line='277' column='1' id='type-id-516'>
|
||||||
|
@ -10218,7 +10218,7 @@
|
||||||
<var-decl name='body' type-id='type-id-500' visibility='default' filepath='./Include/internal/pycore_ast.h' line='291' column='1'/>
|
<var-decl name='body' type-id='type-id-500' visibility='default' filepath='./Include/internal/pycore_ast.h' line='291' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='128'>
|
<data-member access='public' layout-offset-in-bits='128'>
|
||||||
<var-decl name='type_comment' type-id='type-id-528' visibility='default' filepath='./Include/internal/pycore_ast.h' line='292' column='1'/>
|
<var-decl name='type_comment' type-id='type-id-527' visibility='default' filepath='./Include/internal/pycore_ast.h' line='292' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
</class-decl>
|
</class-decl>
|
||||||
<class-decl name='__anonymous_struct__19' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_ast.h' line='301' column='1' id='type-id-518'>
|
<class-decl name='__anonymous_struct__19' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_ast.h' line='301' column='1' id='type-id-518'>
|
||||||
|
@ -10481,7 +10481,7 @@
|
||||||
<var-decl name='lineno' type-id='type-id-8' visibility='default' filepath='./Include/internal/pycore_ast.h' line='646' column='1'/>
|
<var-decl name='lineno' type-id='type-id-8' visibility='default' filepath='./Include/internal/pycore_ast.h' line='646' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='64'>
|
<data-member access='public' layout-offset-in-bits='64'>
|
||||||
<var-decl name='tag' type-id='type-id-528' visibility='default' filepath='./Include/internal/pycore_ast.h' line='647' column='1'/>
|
<var-decl name='tag' type-id='type-id-527' visibility='default' filepath='./Include/internal/pycore_ast.h' line='647' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
</class-decl>
|
</class-decl>
|
||||||
<enum-decl name='_type_param_kind' filepath='./Include/internal/pycore_ast.h' line='653' column='1' id='type-id-558'>
|
<enum-decl name='_type_param_kind' filepath='./Include/internal/pycore_ast.h' line='653' column='1' id='type-id-558'>
|
||||||
|
@ -10521,7 +10521,7 @@
|
||||||
<var-decl name='TypeVarTuple' type-id='type-id-550' visibility='default' filepath='./Include/internal/pycore_ast.h' line='668' column='1'/>
|
<var-decl name='TypeVarTuple' type-id='type-id-550' visibility='default' filepath='./Include/internal/pycore_ast.h' line='668' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
</union-decl>
|
</union-decl>
|
||||||
<class-decl name='__anonymous_struct__4' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_ast.h' line='657' column='1' id='type-id-561'>
|
<class-decl name='__anonymous_struct__3' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_ast.h' line='657' column='1' id='type-id-561'>
|
||||||
<data-member access='public' layout-offset-in-bits='0'>
|
<data-member access='public' layout-offset-in-bits='0'>
|
||||||
<var-decl name='name' type-id='type-id-525' visibility='default' filepath='./Include/internal/pycore_ast.h' line='658' column='1'/>
|
<var-decl name='name' type-id='type-id-525' visibility='default' filepath='./Include/internal/pycore_ast.h' line='658' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
|
@ -10529,7 +10529,7 @@
|
||||||
<var-decl name='bound' type-id='type-id-502' visibility='default' filepath='./Include/internal/pycore_ast.h' line='659' column='1'/>
|
<var-decl name='bound' type-id='type-id-502' visibility='default' filepath='./Include/internal/pycore_ast.h' line='659' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
</class-decl>
|
</class-decl>
|
||||||
<class-decl name='__anonymous_struct__5' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_ast.h' line='662' column='1' id='type-id-550'>
|
<class-decl name='__anonymous_struct__4' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_ast.h' line='662' column='1' id='type-id-550'>
|
||||||
<data-member access='public' layout-offset-in-bits='0'>
|
<data-member access='public' layout-offset-in-bits='0'>
|
||||||
<var-decl name='name' type-id='type-id-525' visibility='default' filepath='./Include/internal/pycore_ast.h' line='663' column='1'/>
|
<var-decl name='name' type-id='type-id-525' visibility='default' filepath='./Include/internal/pycore_ast.h' line='663' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
|
@ -10553,7 +10553,7 @@
|
||||||
<pointer-type-def type-id='type-id-487' size-in-bits='64' id='type-id-553'/>
|
<pointer-type-def type-id='type-id-487' size-in-bits='64' id='type-id-553'/>
|
||||||
<pointer-type-def type-id='type-id-477' size-in-bits='64' id='type-id-500'/>
|
<pointer-type-def type-id='type-id-477' size-in-bits='64' id='type-id-500'/>
|
||||||
<pointer-type-def type-id='type-id-489' size-in-bits='64' id='type-id-501'/>
|
<pointer-type-def type-id='type-id-489' size-in-bits='64' id='type-id-501'/>
|
||||||
<pointer-type-def type-id='type-id-491' size-in-bits='64' id='type-id-526'/>
|
<pointer-type-def type-id='type-id-491' size-in-bits='64' id='type-id-528'/>
|
||||||
<pointer-type-def type-id='type-id-483' size-in-bits='64' id='type-id-531'/>
|
<pointer-type-def type-id='type-id-483' size-in-bits='64' id='type-id-531'/>
|
||||||
<function-decl name='PyBytes_FromString' mangled-name='PyBytes_FromString' filepath='./Include/bytesobject.h' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyBytes_FromString'>
|
<function-decl name='PyBytes_FromString' mangled-name='PyBytes_FromString' filepath='./Include/bytesobject.h' line='35' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyBytes_FromString'>
|
||||||
<parameter type-id='type-id-12'/>
|
<parameter type-id='type-id-12'/>
|
||||||
|
@ -10630,10 +10630,10 @@
|
||||||
<function-decl name='_PyAST_FunctionDef' filepath='./Include/internal/pycore_ast.h' line='685' column='1' visibility='default' binding='global' size-in-bits='64'>
|
<function-decl name='_PyAST_FunctionDef' filepath='./Include/internal/pycore_ast.h' line='685' column='1' visibility='default' binding='global' size-in-bits='64'>
|
||||||
<parameter type-id='type-id-525'/>
|
<parameter type-id='type-id-525'/>
|
||||||
<parameter type-id='type-id-526'/>
|
<parameter type-id='type-id-526'/>
|
||||||
<parameter type-id='type-id-527'/>
|
|
||||||
<parameter type-id='type-id-500'/>
|
<parameter type-id='type-id-500'/>
|
||||||
<parameter type-id='type-id-503'/>
|
<parameter type-id='type-id-503'/>
|
||||||
<parameter type-id='type-id-502'/>
|
<parameter type-id='type-id-502'/>
|
||||||
|
<parameter type-id='type-id-527'/>
|
||||||
<parameter type-id='type-id-528'/>
|
<parameter type-id='type-id-528'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
|
@ -10645,10 +10645,10 @@
|
||||||
<function-decl name='_PyAST_AsyncFunctionDef' filepath='./Include/internal/pycore_ast.h' line='690' column='1' visibility='default' binding='global' size-in-bits='64'>
|
<function-decl name='_PyAST_AsyncFunctionDef' filepath='./Include/internal/pycore_ast.h' line='690' column='1' visibility='default' binding='global' size-in-bits='64'>
|
||||||
<parameter type-id='type-id-525'/>
|
<parameter type-id='type-id-525'/>
|
||||||
<parameter type-id='type-id-526'/>
|
<parameter type-id='type-id-526'/>
|
||||||
<parameter type-id='type-id-527'/>
|
|
||||||
<parameter type-id='type-id-500'/>
|
<parameter type-id='type-id-500'/>
|
||||||
<parameter type-id='type-id-503'/>
|
<parameter type-id='type-id-503'/>
|
||||||
<parameter type-id='type-id-502'/>
|
<parameter type-id='type-id-502'/>
|
||||||
|
<parameter type-id='type-id-527'/>
|
||||||
<parameter type-id='type-id-528'/>
|
<parameter type-id='type-id-528'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
|
@ -10659,11 +10659,11 @@
|
||||||
</function-decl>
|
</function-decl>
|
||||||
<function-decl name='_PyAST_ClassDef' filepath='./Include/internal/pycore_ast.h' line='696' column='1' visibility='default' binding='global' size-in-bits='64'>
|
<function-decl name='_PyAST_ClassDef' filepath='./Include/internal/pycore_ast.h' line='696' column='1' visibility='default' binding='global' size-in-bits='64'>
|
||||||
<parameter type-id='type-id-525'/>
|
<parameter type-id='type-id-525'/>
|
||||||
<parameter type-id='type-id-526'/>
|
|
||||||
<parameter type-id='type-id-503'/>
|
<parameter type-id='type-id-503'/>
|
||||||
<parameter type-id='type-id-529'/>
|
<parameter type-id='type-id-529'/>
|
||||||
<parameter type-id='type-id-500'/>
|
<parameter type-id='type-id-500'/>
|
||||||
<parameter type-id='type-id-503'/>
|
<parameter type-id='type-id-503'/>
|
||||||
|
<parameter type-id='type-id-528'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
|
@ -10763,12 +10763,12 @@
|
||||||
<parameter type-id='type-id-567'/>
|
<parameter type-id='type-id-567'/>
|
||||||
<parameter type-id='type-id-503'/>
|
<parameter type-id='type-id-503'/>
|
||||||
<parameter type-id='type-id-563'/>
|
<parameter type-id='type-id-563'/>
|
||||||
<return type-id='type-id-527'/>
|
<return type-id='type-id-526'/>
|
||||||
</function-decl>
|
</function-decl>
|
||||||
<function-decl name='_PyAST_arg' filepath='./Include/internal/pycore_ast.h' line='857' column='1' visibility='default' binding='global' size-in-bits='64'>
|
<function-decl name='_PyAST_arg' filepath='./Include/internal/pycore_ast.h' line='857' column='1' visibility='default' binding='global' size-in-bits='64'>
|
||||||
<parameter type-id='type-id-525'/>
|
<parameter type-id='type-id-525'/>
|
||||||
<parameter type-id='type-id-502'/>
|
<parameter type-id='type-id-502'/>
|
||||||
<parameter type-id='type-id-528'/>
|
<parameter type-id='type-id-527'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
|
@ -10788,7 +10788,7 @@
|
||||||
</function-decl>
|
</function-decl>
|
||||||
<function-decl name='_PyAST_TypeIgnore' filepath='./Include/internal/pycore_ast.h' line='894' column='1' visibility='default' binding='global' size-in-bits='64'>
|
<function-decl name='_PyAST_TypeIgnore' filepath='./Include/internal/pycore_ast.h' line='894' column='1' visibility='default' binding='global' size-in-bits='64'>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
<parameter type-id='type-id-528'/>
|
<parameter type-id='type-id-527'/>
|
||||||
<parameter type-id='type-id-563'/>
|
<parameter type-id='type-id-563'/>
|
||||||
<return type-id='type-id-454'/>
|
<return type-id='type-id-454'/>
|
||||||
</function-decl>
|
</function-decl>
|
||||||
|
@ -10877,10 +10877,10 @@
|
||||||
<array-type-def dimensions='1' type-id='type-id-592' size-in-bits='5120' id='type-id-593'>
|
<array-type-def dimensions='1' type-id='type-id-592' size-in-bits='5120' id='type-id-593'>
|
||||||
<subrange length='80' type-id='type-id-28' id='type-id-575'/>
|
<subrange length='80' type-id='type-id-28' id='type-id-575'/>
|
||||||
</array-type-def>
|
</array-type-def>
|
||||||
<array-type-def dimensions='1' type-id='type-id-594' size-in-bits='49152' id='type-id-595'>
|
<array-type-def dimensions='1' type-id='type-id-594' size-in-bits='65536' id='type-id-595'>
|
||||||
<subrange length='128' type-id='type-id-28' id='type-id-437'/>
|
<subrange length='128' type-id='type-id-28' id='type-id-437'/>
|
||||||
</array-type-def>
|
</array-type-def>
|
||||||
<array-type-def dimensions='1' type-id='type-id-596' size-in-bits='65536' id='type-id-597'>
|
<array-type-def dimensions='1' type-id='type-id-596' size-in-bits='49152' id='type-id-597'>
|
||||||
<subrange length='128' type-id='type-id-28' id='type-id-437'/>
|
<subrange length='128' type-id='type-id-28' id='type-id-437'/>
|
||||||
</array-type-def>
|
</array-type-def>
|
||||||
<array-type-def dimensions='1' type-id='type-id-598' size-in-bits='98304' id='type-id-599'>
|
<array-type-def dimensions='1' type-id='type-id-598' size-in-bits='98304' id='type-id-599'>
|
||||||
|
@ -13441,10 +13441,10 @@
|
||||||
<var-decl name='identifiers' type-id='type-id-867' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='748' column='1'/>
|
<var-decl name='identifiers' type-id='type-id-867' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='748' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='303232'>
|
<data-member access='public' layout-offset-in-bits='303232'>
|
||||||
<var-decl name='ascii' type-id='type-id-595' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='752' column='1'/>
|
<var-decl name='ascii' type-id='type-id-597' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='752' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='352384'>
|
<data-member access='public' layout-offset-in-bits='352384'>
|
||||||
<var-decl name='latin1' type-id='type-id-597' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='756' column='1'/>
|
<var-decl name='latin1' type-id='type-id-595' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='756' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
</class-decl>
|
</class-decl>
|
||||||
<class-decl name='__anonymous_struct__23' size-in-bits='11008' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='30' column='1' id='type-id-866'>
|
<class-decl name='__anonymous_struct__23' size-in-bits='11008' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='30' column='1' id='type-id-866'>
|
||||||
|
@ -13473,7 +13473,7 @@
|
||||||
<var-decl name='_py_anon_unknown' type-id='type-id-869' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='38' column='1'/>
|
<var-decl name='_py_anon_unknown' type-id='type-id-869' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='38' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='3584'>
|
<data-member access='public' layout-offset-in-bits='3584'>
|
||||||
<var-decl name='_py_close_br' type-id='type-id-594' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='39' column='1'/>
|
<var-decl name='_py_close_br' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='39' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='3968'>
|
<data-member access='public' layout-offset-in-bits='3968'>
|
||||||
<var-decl name='_py_dbl_close_br' type-id='type-id-871' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='40' column='1'/>
|
<var-decl name='_py_dbl_close_br' type-id='type-id-871' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='40' column='1'/>
|
||||||
|
@ -13488,7 +13488,7 @@
|
||||||
<var-decl name='_py_defaults' type-id='type-id-869' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='43' column='1'/>
|
<var-decl name='_py_defaults' type-id='type-id-869' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='43' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='5568'>
|
<data-member access='public' layout-offset-in-bits='5568'>
|
||||||
<var-decl name='_py_dot' type-id='type-id-594' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='44' column='1'/>
|
<var-decl name='_py_dot' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='44' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='5952'>
|
<data-member access='public' layout-offset-in-bits='5952'>
|
||||||
<var-decl name='_py_dot_locals' type-id='type-id-869' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='45' column='1'/>
|
<var-decl name='_py_dot_locals' type-id='type-id-869' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='45' column='1'/>
|
||||||
|
@ -13509,13 +13509,13 @@
|
||||||
<var-decl name='_py_list_err' type-id='type-id-876' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='50' column='1'/>
|
<var-decl name='_py_list_err' type-id='type-id-876' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='50' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='8640'>
|
<data-member access='public' layout-offset-in-bits='8640'>
|
||||||
<var-decl name='_py_newline' type-id='type-id-594' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='51' column='1'/>
|
<var-decl name='_py_newline' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='51' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='9024'>
|
<data-member access='public' layout-offset-in-bits='9024'>
|
||||||
<var-decl name='_py_open_br' type-id='type-id-594' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='52' column='1'/>
|
<var-decl name='_py_open_br' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='52' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='9408'>
|
<data-member access='public' layout-offset-in-bits='9408'>
|
||||||
<var-decl name='_py_percent' type-id='type-id-594' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='53' column='1'/>
|
<var-decl name='_py_percent' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='53' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='9792'>
|
<data-member access='public' layout-offset-in-bits='9792'>
|
||||||
<var-decl name='_py_shim_name' type-id='type-id-877' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='54' column='1'/>
|
<var-decl name='_py_shim_name' type-id='type-id-877' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='54' column='1'/>
|
||||||
|
@ -13551,7 +13551,7 @@
|
||||||
<var-decl name='_data' type-id='type-id-694' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='33' column='1'/>
|
<var-decl name='_data' type-id='type-id-694' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='33' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
</class-decl>
|
</class-decl>
|
||||||
<class-decl name='__anonymous_struct__33' size-in-bits='384' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='39' column='1' id='type-id-594'>
|
<class-decl name='__anonymous_struct__33' size-in-bits='384' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='39' column='1' id='type-id-596'>
|
||||||
<data-member access='public' layout-offset-in-bits='0'>
|
<data-member access='public' layout-offset-in-bits='0'>
|
||||||
<var-decl name='_ascii' type-id='type-id-792' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='39' column='1'/>
|
<var-decl name='_ascii' type-id='type-id-792' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='39' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
|
@ -13652,7 +13652,7 @@
|
||||||
<var-decl name='_py_WarningMessage' type-id='type-id-882' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='68' column='1'/>
|
<var-decl name='_py_WarningMessage' type-id='type-id-882' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='68' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='3776'>
|
<data-member access='public' layout-offset-in-bits='3776'>
|
||||||
<var-decl name='_py__' type-id='type-id-594' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='69' column='1'/>
|
<var-decl name='_py__' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='69' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='4160'>
|
<data-member access='public' layout-offset-in-bits='4160'>
|
||||||
<var-decl name='_py__WindowsConsoleIO' type-id='type-id-883' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='70' column='1'/>
|
<var-decl name='_py__WindowsConsoleIO' type-id='type-id-883' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='70' column='1'/>
|
||||||
|
@ -14252,7 +14252,7 @@
|
||||||
<var-decl name='_py__xoptions' type-id='type-id-869' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='268' column='1'/>
|
<var-decl name='_py__xoptions' type-id='type-id-869' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='268' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='93440'>
|
<data-member access='public' layout-offset-in-bits='93440'>
|
||||||
<var-decl name='_py_a' type-id='type-id-594' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='269' column='1'/>
|
<var-decl name='_py_a' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='269' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='93824'>
|
<data-member access='public' layout-offset-in-bits='93824'>
|
||||||
<var-decl name='_py_abs_tol' type-id='type-id-880' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='270' column='1'/>
|
<var-decl name='_py_abs_tol' type-id='type-id-880' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='270' column='1'/>
|
||||||
|
@ -14312,7 +14312,7 @@
|
||||||
<var-decl name='_py_autocommit' type-id='type-id-868' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='288' column='1'/>
|
<var-decl name='_py_autocommit' type-id='type-id-868' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='288' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='101888'>
|
<data-member access='public' layout-offset-in-bits='101888'>
|
||||||
<var-decl name='_py_b' type-id='type-id-594' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='289' column='1'/>
|
<var-decl name='_py_b' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='289' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='102272'>
|
<data-member access='public' layout-offset-in-bits='102272'>
|
||||||
<var-decl name='_py_backtick' type-id='type-id-870' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='290' column='1'/>
|
<var-decl name='_py_backtick' type-id='type-id-870' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='290' column='1'/>
|
||||||
|
@ -14366,7 +14366,7 @@
|
||||||
<var-decl name='_py_bytes_per_sep' type-id='type-id-873' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='306' column='1'/>
|
<var-decl name='_py_bytes_per_sep' type-id='type-id-873' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='306' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='109312'>
|
<data-member access='public' layout-offset-in-bits='109312'>
|
||||||
<var-decl name='_py_c' type-id='type-id-594' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='307' column='1'/>
|
<var-decl name='_py_c' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='307' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='109696'>
|
<data-member access='public' layout-offset-in-bits='109696'>
|
||||||
<var-decl name='_py_c_call' type-id='type-id-877' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='308' column='1'/>
|
<var-decl name='_py_c_call' type-id='type-id-877' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='308' column='1'/>
|
||||||
|
@ -14525,7 +14525,7 @@
|
||||||
<var-decl name='_py_cwd' type-id='type-id-891' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='359' column='1'/>
|
<var-decl name='_py_cwd' type-id='type-id-891' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='359' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='131840'>
|
<data-member access='public' layout-offset-in-bits='131840'>
|
||||||
<var-decl name='_py_d' type-id='type-id-594' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='360' column='1'/>
|
<var-decl name='_py_d' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='360' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='132224'>
|
<data-member access='public' layout-offset-in-bits='132224'>
|
||||||
<var-decl name='_py_data' type-id='type-id-881' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='361' column='1'/>
|
<var-decl name='_py_data' type-id='type-id-881' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='361' column='1'/>
|
||||||
|
@ -14609,7 +14609,7 @@
|
||||||
<var-decl name='_py_duration' type-id='type-id-870' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='387' column='1'/>
|
<var-decl name='_py_duration' type-id='type-id-870' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='387' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='143488'>
|
<data-member access='public' layout-offset-in-bits='143488'>
|
||||||
<var-decl name='_py_e' type-id='type-id-594' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='388' column='1'/>
|
<var-decl name='_py_e' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='388' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='143872'>
|
<data-member access='public' layout-offset-in-bits='143872'>
|
||||||
<var-decl name='_py_eager_start' type-id='type-id-875' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='389' column='1'/>
|
<var-decl name='_py_eager_start' type-id='type-id-875' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='389' column='1'/>
|
||||||
|
@ -15089,7 +15089,7 @@
|
||||||
<var-decl name='_py_mycmp' type-id='type-id-878' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='547' column='1'/>
|
<var-decl name='_py_mycmp' type-id='type-id-878' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='547' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='209472'>
|
<data-member access='public' layout-offset-in-bits='209472'>
|
||||||
<var-decl name='_py_n' type-id='type-id-594' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='548' column='1'/>
|
<var-decl name='_py_n' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='548' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='209856'>
|
<data-member access='public' layout-offset-in-bits='209856'>
|
||||||
<var-decl name='_py_n_arg' type-id='type-id-878' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='549' column='1'/>
|
<var-decl name='_py_n_arg' type-id='type-id-878' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='549' column='1'/>
|
||||||
|
@ -15221,7 +15221,7 @@
|
||||||
<var-decl name='_py_owner' type-id='type-id-878' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='591' column='1'/>
|
<var-decl name='_py_owner' type-id='type-id-878' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='591' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='227776'>
|
<data-member access='public' layout-offset-in-bits='227776'>
|
||||||
<var-decl name='_py_p' type-id='type-id-594' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='592' column='1'/>
|
<var-decl name='_py_p' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='592' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='228160'>
|
<data-member access='public' layout-offset-in-bits='228160'>
|
||||||
<var-decl name='_py_pages' type-id='type-id-878' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='593' column='1'/>
|
<var-decl name='_py_pages' type-id='type-id-878' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='593' column='1'/>
|
||||||
|
@ -15302,7 +15302,7 @@
|
||||||
<var-decl name='_py_quotetabs' type-id='type-id-869' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='618' column='1'/>
|
<var-decl name='_py_quotetabs' type-id='type-id-869' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='618' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='238912'>
|
<data-member access='public' layout-offset-in-bits='238912'>
|
||||||
<var-decl name='_py_r' type-id='type-id-594' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='619' column='1'/>
|
<var-decl name='_py_r' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='619' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='239296'>
|
<data-member access='public' layout-offset-in-bits='239296'>
|
||||||
<var-decl name='_py_raw' type-id='type-id-891' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='620' column='1'/>
|
<var-decl name='_py_raw' type-id='type-id-891' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='620' column='1'/>
|
||||||
|
@ -15374,7 +15374,7 @@
|
||||||
<var-decl name='_py_reversed' type-id='type-id-870' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='642' column='1'/>
|
<var-decl name='_py_reversed' type-id='type-id-870' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='642' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='248832'>
|
<data-member access='public' layout-offset-in-bits='248832'>
|
||||||
<var-decl name='_py_s' type-id='type-id-594' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='643' column='1'/>
|
<var-decl name='_py_s' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='643' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='249216'>
|
<data-member access='public' layout-offset-in-bits='249216'>
|
||||||
<var-decl name='_py_salt' type-id='type-id-881' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='644' column='1'/>
|
<var-decl name='_py_salt' type-id='type-id-881' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='644' column='1'/>
|
||||||
|
@ -15680,7 +15680,7 @@
|
||||||
<var-decl name='_py_write_through' type-id='type-id-873' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='744' column='1'/>
|
<var-decl name='_py_write_through' type-id='type-id-873' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='744' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='291072'>
|
<data-member access='public' layout-offset-in-bits='291072'>
|
||||||
<var-decl name='_py_x' type-id='type-id-594' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='745' column='1'/>
|
<var-decl name='_py_x' type-id='type-id-596' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='745' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='291456'>
|
<data-member access='public' layout-offset-in-bits='291456'>
|
||||||
<var-decl name='_py_year' type-id='type-id-881' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='746' column='1'/>
|
<var-decl name='_py_year' type-id='type-id-881' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='746' column='1'/>
|
||||||
|
@ -15817,7 +15817,7 @@
|
||||||
<var-decl name='_data' type-id='type-id-679' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='693' column='1'/>
|
<var-decl name='_data' type-id='type-id-679' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='693' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
</class-decl>
|
</class-decl>
|
||||||
<class-decl name='__anonymous_struct__741' size-in-bits='512' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='753' column='1' id='type-id-596'>
|
<class-decl name='__anonymous_struct__741' size-in-bits='512' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='753' column='1' id='type-id-594'>
|
||||||
<data-member access='public' layout-offset-in-bits='0'>
|
<data-member access='public' layout-offset-in-bits='0'>
|
||||||
<var-decl name='_latin1' type-id='type-id-795' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='754' column='1'/>
|
<var-decl name='_latin1' type-id='type-id-795' visibility='default' filepath='./Include/internal/pycore_global_strings.h' line='754' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
|
@ -17440,10 +17440,10 @@
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
<return type-id='type-id-8'/>
|
<return type-id='type-id-8'/>
|
||||||
</function-decl>
|
</function-decl>
|
||||||
<function-decl name='PyOS_Readline' mangled-name='PyOS_Readline' filepath='Parser/myreadline.c' line='358' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyOS_Readline'>
|
<function-decl name='PyOS_Readline' mangled-name='PyOS_Readline' filepath='Parser/myreadline.c' line='364' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyOS_Readline'>
|
||||||
<parameter type-id='type-id-229' name='sys_stdin' filepath='Parser/myreadline.c' line='358' column='1'/>
|
<parameter type-id='type-id-229' name='sys_stdin' filepath='Parser/myreadline.c' line='364' column='1'/>
|
||||||
<parameter type-id='type-id-229' name='sys_stdout' filepath='Parser/myreadline.c' line='358' column='1'/>
|
<parameter type-id='type-id-229' name='sys_stdout' filepath='Parser/myreadline.c' line='364' column='1'/>
|
||||||
<parameter type-id='type-id-12' name='prompt' filepath='Parser/myreadline.c' line='358' column='1'/>
|
<parameter type-id='type-id-12' name='prompt' filepath='Parser/myreadline.c' line='364' column='1'/>
|
||||||
<return type-id='type-id-15'/>
|
<return type-id='type-id-15'/>
|
||||||
</function-decl>
|
</function-decl>
|
||||||
<function-type size-in-bits='64' id='type-id-1053'>
|
<function-type size-in-bits='64' id='type-id-1053'>
|
||||||
|
@ -17916,7 +17916,7 @@
|
||||||
<function-decl name='_PyAST_Assign' filepath='./Include/internal/pycore_ast.h' line='705' column='1' visibility='default' binding='global' size-in-bits='64'>
|
<function-decl name='_PyAST_Assign' filepath='./Include/internal/pycore_ast.h' line='705' column='1' visibility='default' binding='global' size-in-bits='64'>
|
||||||
<parameter type-id='type-id-503'/>
|
<parameter type-id='type-id-503'/>
|
||||||
<parameter type-id='type-id-502'/>
|
<parameter type-id='type-id-502'/>
|
||||||
<parameter type-id='type-id-528'/>
|
<parameter type-id='type-id-527'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
|
@ -17926,7 +17926,7 @@
|
||||||
</function-decl>
|
</function-decl>
|
||||||
<function-decl name='_PyAST_TypeAlias' filepath='./Include/internal/pycore_ast.h' line='708' column='1' visibility='default' binding='global' size-in-bits='64'>
|
<function-decl name='_PyAST_TypeAlias' filepath='./Include/internal/pycore_ast.h' line='708' column='1' visibility='default' binding='global' size-in-bits='64'>
|
||||||
<parameter type-id='type-id-502'/>
|
<parameter type-id='type-id-502'/>
|
||||||
<parameter type-id='type-id-526'/>
|
<parameter type-id='type-id-528'/>
|
||||||
<parameter type-id='type-id-502'/>
|
<parameter type-id='type-id-502'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
|
@ -17963,7 +17963,7 @@
|
||||||
<parameter type-id='type-id-502'/>
|
<parameter type-id='type-id-502'/>
|
||||||
<parameter type-id='type-id-500'/>
|
<parameter type-id='type-id-500'/>
|
||||||
<parameter type-id='type-id-500'/>
|
<parameter type-id='type-id-500'/>
|
||||||
<parameter type-id='type-id-528'/>
|
<parameter type-id='type-id-527'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
|
@ -17976,7 +17976,7 @@
|
||||||
<parameter type-id='type-id-502'/>
|
<parameter type-id='type-id-502'/>
|
||||||
<parameter type-id='type-id-500'/>
|
<parameter type-id='type-id-500'/>
|
||||||
<parameter type-id='type-id-500'/>
|
<parameter type-id='type-id-500'/>
|
||||||
<parameter type-id='type-id-528'/>
|
<parameter type-id='type-id-527'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
|
@ -18009,7 +18009,7 @@
|
||||||
<function-decl name='_PyAST_With' filepath='./Include/internal/pycore_ast.h' line='731' column='1' visibility='default' binding='global' size-in-bits='64'>
|
<function-decl name='_PyAST_With' filepath='./Include/internal/pycore_ast.h' line='731' column='1' visibility='default' binding='global' size-in-bits='64'>
|
||||||
<parameter type-id='type-id-531'/>
|
<parameter type-id='type-id-531'/>
|
||||||
<parameter type-id='type-id-500'/>
|
<parameter type-id='type-id-500'/>
|
||||||
<parameter type-id='type-id-528'/>
|
<parameter type-id='type-id-527'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
|
@ -18020,7 +18020,7 @@
|
||||||
<function-decl name='_PyAST_AsyncWith' filepath='./Include/internal/pycore_ast.h' line='734' column='1' visibility='default' binding='global' size-in-bits='64'>
|
<function-decl name='_PyAST_AsyncWith' filepath='./Include/internal/pycore_ast.h' line='734' column='1' visibility='default' binding='global' size-in-bits='64'>
|
||||||
<parameter type-id='type-id-531'/>
|
<parameter type-id='type-id-531'/>
|
||||||
<parameter type-id='type-id-500'/>
|
<parameter type-id='type-id-500'/>
|
||||||
<parameter type-id='type-id-528'/>
|
<parameter type-id='type-id-527'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
|
@ -18195,7 +18195,7 @@
|
||||||
<return type-id='type-id-502'/>
|
<return type-id='type-id-502'/>
|
||||||
</function-decl>
|
</function-decl>
|
||||||
<function-decl name='_PyAST_Lambda' filepath='./Include/internal/pycore_ast.h' line='782' column='1' visibility='default' binding='global' size-in-bits='64'>
|
<function-decl name='_PyAST_Lambda' filepath='./Include/internal/pycore_ast.h' line='782' column='1' visibility='default' binding='global' size-in-bits='64'>
|
||||||
<parameter type-id='type-id-527'/>
|
<parameter type-id='type-id-526'/>
|
||||||
<parameter type-id='type-id-502'/>
|
<parameter type-id='type-id-502'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
|
@ -18714,11 +18714,11 @@
|
||||||
<parameter type-id='type-id-565'/>
|
<parameter type-id='type-id-565'/>
|
||||||
<parameter type-id='type-id-1101'/>
|
<parameter type-id='type-id-1101'/>
|
||||||
<parameter type-id='type-id-1120'/>
|
<parameter type-id='type-id-1120'/>
|
||||||
<return type-id='type-id-527'/>
|
<return type-id='type-id-526'/>
|
||||||
</function-decl>
|
</function-decl>
|
||||||
<function-decl name='_PyPegen_empty_arguments' filepath='Parser/pegen.h' line='318' column='1' visibility='default' binding='global' size-in-bits='64'>
|
<function-decl name='_PyPegen_empty_arguments' filepath='Parser/pegen.h' line='318' column='1' visibility='default' binding='global' size-in-bits='64'>
|
||||||
<parameter type-id='type-id-568'/>
|
<parameter type-id='type-id-568'/>
|
||||||
<return type-id='type-id-527'/>
|
<return type-id='type-id-526'/>
|
||||||
</function-decl>
|
</function-decl>
|
||||||
<function-decl name='_PyPegen_formatted_value' filepath='Parser/pegen.h' line='319' column='1' visibility='default' binding='global' size-in-bits='64'>
|
<function-decl name='_PyPegen_formatted_value' filepath='Parser/pegen.h' line='319' column='1' visibility='default' binding='global' size-in-bits='64'>
|
||||||
<parameter type-id='type-id-568'/>
|
<parameter type-id='type-id-568'/>
|
||||||
|
@ -19370,7 +19370,7 @@
|
||||||
</data-member>
|
</data-member>
|
||||||
</class-decl>
|
</class-decl>
|
||||||
<typedef-decl name='identifier' type-id='type-id-2' filepath='./Include/internal/pycore_asdl.h' line='13' column='1' id='type-id-525'/>
|
<typedef-decl name='identifier' type-id='type-id-2' filepath='./Include/internal/pycore_asdl.h' line='13' column='1' id='type-id-525'/>
|
||||||
<typedef-decl name='string' type-id='type-id-2' filepath='./Include/internal/pycore_asdl.h' line='14' column='1' id='type-id-528'/>
|
<typedef-decl name='string' type-id='type-id-2' filepath='./Include/internal/pycore_asdl.h' line='14' column='1' id='type-id-527'/>
|
||||||
<typedef-decl name='constant' type-id='type-id-2' filepath='./Include/internal/pycore_asdl.h' line='16' column='1' id='type-id-552'/>
|
<typedef-decl name='constant' type-id='type-id-2' filepath='./Include/internal/pycore_asdl.h' line='16' column='1' id='type-id-552'/>
|
||||||
<class-decl name='asdl_int_seq' size-in-bits='192' is-struct='yes' naming-typedef-id='type-id-1205' visibility='default' filepath='./Include/internal/pycore_asdl.h' line='42' column='1' id='type-id-1206'>
|
<class-decl name='asdl_int_seq' size-in-bits='192' is-struct='yes' naming-typedef-id='type-id-1205' visibility='default' filepath='./Include/internal/pycore_asdl.h' line='42' column='1' id='type-id-1206'>
|
||||||
<data-member access='public' layout-offset-in-bits='0'>
|
<data-member access='public' layout-offset-in-bits='0'>
|
||||||
|
@ -19424,7 +19424,7 @@
|
||||||
</enum-decl>
|
</enum-decl>
|
||||||
<typedef-decl name='unaryop_ty' type-id='type-id-1211' filepath='./Include/internal/pycore_ast.h' line='29' column='1' id='type-id-1137'/>
|
<typedef-decl name='unaryop_ty' type-id='type-id-1211' filepath='./Include/internal/pycore_ast.h' line='29' column='1' id='type-id-1137'/>
|
||||||
<typedef-decl name='comprehension_ty' type-id='type-id-1212' filepath='./Include/internal/pycore_ast.h' line='34' column='1' id='type-id-1139'/>
|
<typedef-decl name='comprehension_ty' type-id='type-id-1212' filepath='./Include/internal/pycore_ast.h' line='34' column='1' id='type-id-1139'/>
|
||||||
<typedef-decl name='arguments_ty' type-id='type-id-1213' filepath='./Include/internal/pycore_ast.h' line='38' column='1' id='type-id-527'/>
|
<typedef-decl name='arguments_ty' type-id='type-id-1213' filepath='./Include/internal/pycore_ast.h' line='38' column='1' id='type-id-526'/>
|
||||||
<typedef-decl name='arg_ty' type-id='type-id-1214' filepath='./Include/internal/pycore_ast.h' line='40' column='1' id='type-id-567'/>
|
<typedef-decl name='arg_ty' type-id='type-id-1214' filepath='./Include/internal/pycore_ast.h' line='40' column='1' id='type-id-567'/>
|
||||||
<typedef-decl name='keyword_ty' type-id='type-id-1215' filepath='./Include/internal/pycore_ast.h' line='42' column='1' id='type-id-1140'/>
|
<typedef-decl name='keyword_ty' type-id='type-id-1215' filepath='./Include/internal/pycore_ast.h' line='42' column='1' id='type-id-1140'/>
|
||||||
<class-decl name='asdl_expr_seq' size-in-bits='192' is-struct='yes' naming-typedef-id='type-id-1216' visibility='default' filepath='./Include/internal/pycore_ast.h' line='71' column='1' id='type-id-1217'>
|
<class-decl name='asdl_expr_seq' size-in-bits='192' is-struct='yes' naming-typedef-id='type-id-1216' visibility='default' filepath='./Include/internal/pycore_ast.h' line='71' column='1' id='type-id-1217'>
|
||||||
|
@ -19645,7 +19645,7 @@
|
||||||
</class-decl>
|
</class-decl>
|
||||||
<class-decl name='__anonymous_struct__5' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_ast.h' line='391' column='1' id='type-id-1230'>
|
<class-decl name='__anonymous_struct__5' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_ast.h' line='391' column='1' id='type-id-1230'>
|
||||||
<data-member access='public' layout-offset-in-bits='0'>
|
<data-member access='public' layout-offset-in-bits='0'>
|
||||||
<var-decl name='args' type-id='type-id-527' visibility='default' filepath='./Include/internal/pycore_ast.h' line='392' column='1'/>
|
<var-decl name='args' type-id='type-id-526' visibility='default' filepath='./Include/internal/pycore_ast.h' line='392' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='64'>
|
<data-member access='public' layout-offset-in-bits='64'>
|
||||||
<var-decl name='body' type-id='type-id-502' visibility='default' filepath='./Include/internal/pycore_ast.h' line='393' column='1'/>
|
<var-decl name='body' type-id='type-id-502' visibility='default' filepath='./Include/internal/pycore_ast.h' line='393' column='1'/>
|
||||||
|
@ -19742,7 +19742,7 @@
|
||||||
<var-decl name='value' type-id='type-id-552' visibility='default' filepath='./Include/internal/pycore_ast.h' line='467' column='1'/>
|
<var-decl name='value' type-id='type-id-552' visibility='default' filepath='./Include/internal/pycore_ast.h' line='467' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='64'>
|
<data-member access='public' layout-offset-in-bits='64'>
|
||||||
<var-decl name='kind' type-id='type-id-528' visibility='default' filepath='./Include/internal/pycore_ast.h' line='468' column='1'/>
|
<var-decl name='kind' type-id='type-id-527' visibility='default' filepath='./Include/internal/pycore_ast.h' line='468' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
</class-decl>
|
</class-decl>
|
||||||
<class-decl name='__anonymous_struct__21' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_ast.h' line='471' column='1' id='type-id-1241'>
|
<class-decl name='__anonymous_struct__21' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' filepath='./Include/internal/pycore_ast.h' line='471' column='1' id='type-id-1241'>
|
||||||
|
@ -19847,7 +19847,7 @@
|
||||||
<var-decl name='annotation' type-id='type-id-502' visibility='default' filepath='./Include/internal/pycore_ast.h' line='552' column='1'/>
|
<var-decl name='annotation' type-id='type-id-502' visibility='default' filepath='./Include/internal/pycore_ast.h' line='552' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='128'>
|
<data-member access='public' layout-offset-in-bits='128'>
|
||||||
<var-decl name='type_comment' type-id='type-id-528' visibility='default' filepath='./Include/internal/pycore_ast.h' line='553' column='1'/>
|
<var-decl name='type_comment' type-id='type-id-527' visibility='default' filepath='./Include/internal/pycore_ast.h' line='553' column='1'/>
|
||||||
</data-member>
|
</data-member>
|
||||||
<data-member access='public' layout-offset-in-bits='192'>
|
<data-member access='public' layout-offset-in-bits='192'>
|
||||||
<var-decl name='lineno' type-id='type-id-8' visibility='default' filepath='./Include/internal/pycore_ast.h' line='554' column='1'/>
|
<var-decl name='lineno' type-id='type-id-8' visibility='default' filepath='./Include/internal/pycore_ast.h' line='554' column='1'/>
|
||||||
|
@ -20608,7 +20608,7 @@
|
||||||
</function-decl>
|
</function-decl>
|
||||||
<function-decl name='_PyAST_Constant' filepath='./Include/internal/pycore_ast.h' line='822' column='1' visibility='default' binding='global' size-in-bits='64'>
|
<function-decl name='_PyAST_Constant' filepath='./Include/internal/pycore_ast.h' line='822' column='1' visibility='default' binding='global' size-in-bits='64'>
|
||||||
<parameter type-id='type-id-552'/>
|
<parameter type-id='type-id-552'/>
|
||||||
<parameter type-id='type-id-528'/>
|
<parameter type-id='type-id-527'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
<parameter type-id='type-id-8'/>
|
<parameter type-id='type-id-8'/>
|
||||||
|
@ -21234,7 +21234,7 @@
|
||||||
<parameter type-id='type-id-47'/>
|
<parameter type-id='type-id-47'/>
|
||||||
<return type-id='type-id-8'/>
|
<return type-id='type-id-8'/>
|
||||||
</function-decl>
|
</function-decl>
|
||||||
<function-decl name='PyInit__ast' mangled-name='PyInit__ast' filepath='Python/Python-ast.c' line='12916' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyInit__ast'>
|
<function-decl name='PyInit__ast' mangled-name='PyInit__ast' filepath='Python/Python-ast.c' line='12915' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyInit__ast'>
|
||||||
<return type-id='type-id-2'/>
|
<return type-id='type-id-2'/>
|
||||||
</function-decl>
|
</function-decl>
|
||||||
</abi-instr>
|
</abi-instr>
|
||||||
|
@ -21244,7 +21244,7 @@
|
||||||
<parameter type-id='type-id-1'/>
|
<parameter type-id='type-id-1'/>
|
||||||
<return type-id='type-id-8'/>
|
<return type-id='type-id-8'/>
|
||||||
</function-decl>
|
</function-decl>
|
||||||
<function-decl name='PyInit__tokenize' mangled-name='PyInit__tokenize' filepath='Python/Python-tokenize.c' line='322' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyInit__tokenize'>
|
<function-decl name='PyInit__tokenize' mangled-name='PyInit__tokenize' filepath='Python/Python-tokenize.c' line='326' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PyInit__tokenize'>
|
||||||
<return type-id='type-id-2'/>
|
<return type-id='type-id-2'/>
|
||||||
</function-decl>
|
</function-decl>
|
||||||
</abi-instr>
|
</abi-instr>
|
||||||
|
|
|
@ -1821,7 +1821,6 @@ Function and class definitions
|
||||||
body=[
|
body=[
|
||||||
FunctionDef(
|
FunctionDef(
|
||||||
name='f',
|
name='f',
|
||||||
type_params=[],
|
|
||||||
args=arguments(
|
args=arguments(
|
||||||
posonlyargs=[],
|
posonlyargs=[],
|
||||||
args=[
|
args=[
|
||||||
|
@ -1846,7 +1845,8 @@ Function and class definitions
|
||||||
decorator_list=[
|
decorator_list=[
|
||||||
Name(id='decorator1', ctx=Load()),
|
Name(id='decorator1', ctx=Load()),
|
||||||
Name(id='decorator2', ctx=Load())],
|
Name(id='decorator2', ctx=Load())],
|
||||||
returns=Constant(value='return annotation'))],
|
returns=Constant(value='return annotation'),
|
||||||
|
type_params=[])],
|
||||||
type_ignores=[])
|
type_ignores=[])
|
||||||
|
|
||||||
|
|
||||||
|
@ -1943,7 +1943,6 @@ Function and class definitions
|
||||||
body=[
|
body=[
|
||||||
ClassDef(
|
ClassDef(
|
||||||
name='Foo',
|
name='Foo',
|
||||||
type_params=[],
|
|
||||||
bases=[
|
bases=[
|
||||||
Name(id='base1', ctx=Load()),
|
Name(id='base1', ctx=Load()),
|
||||||
Name(id='base2', ctx=Load())],
|
Name(id='base2', ctx=Load())],
|
||||||
|
@ -1955,7 +1954,8 @@ Function and class definitions
|
||||||
Pass()],
|
Pass()],
|
||||||
decorator_list=[
|
decorator_list=[
|
||||||
Name(id='decorator1', ctx=Load()),
|
Name(id='decorator1', ctx=Load()),
|
||||||
Name(id='decorator2', ctx=Load())])],
|
Name(id='decorator2', ctx=Load())],
|
||||||
|
type_params=[])],
|
||||||
type_ignores=[])
|
type_ignores=[])
|
||||||
|
|
||||||
Async and await
|
Async and await
|
||||||
|
@ -1982,7 +1982,6 @@ Async and await
|
||||||
body=[
|
body=[
|
||||||
AsyncFunctionDef(
|
AsyncFunctionDef(
|
||||||
name='f',
|
name='f',
|
||||||
type_params=[],
|
|
||||||
args=arguments(
|
args=arguments(
|
||||||
posonlyargs=[],
|
posonlyargs=[],
|
||||||
args=[],
|
args=[],
|
||||||
|
@ -1996,7 +1995,8 @@ Async and await
|
||||||
func=Name(id='other_func', ctx=Load()),
|
func=Name(id='other_func', ctx=Load()),
|
||||||
args=[],
|
args=[],
|
||||||
keywords=[])))],
|
keywords=[])))],
|
||||||
decorator_list=[])],
|
decorator_list=[],
|
||||||
|
type_params=[])],
|
||||||
type_ignores=[])
|
type_ignores=[])
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -254,10 +254,10 @@ class_def[stmt_ty]:
|
||||||
class_def_raw[stmt_ty]:
|
class_def_raw[stmt_ty]:
|
||||||
| invalid_class_def_raw
|
| invalid_class_def_raw
|
||||||
| 'class' a=NAME t=[type_params] b=['(' z=[arguments] ')' { z }] ':' c=block {
|
| 'class' a=NAME t=[type_params] b=['(' z=[arguments] ')' { z }] ':' c=block {
|
||||||
_PyAST_ClassDef(a->v.Name.id, t,
|
_PyAST_ClassDef(a->v.Name.id,
|
||||||
(b) ? ((expr_ty) b)->v.Call.args : NULL,
|
(b) ? ((expr_ty) b)->v.Call.args : NULL,
|
||||||
(b) ? ((expr_ty) b)->v.Call.keywords : NULL,
|
(b) ? ((expr_ty) b)->v.Call.keywords : NULL,
|
||||||
c, NULL, EXTRA) }
|
c, NULL, t, EXTRA) }
|
||||||
|
|
||||||
# Function definitions
|
# Function definitions
|
||||||
# --------------------
|
# --------------------
|
||||||
|
@ -269,17 +269,17 @@ function_def[stmt_ty]:
|
||||||
function_def_raw[stmt_ty]:
|
function_def_raw[stmt_ty]:
|
||||||
| invalid_def_raw
|
| invalid_def_raw
|
||||||
| 'def' n=NAME t=[type_params] &&'(' params=[params] ')' a=['->' z=expression { z }] &&':' tc=[func_type_comment] b=block {
|
| 'def' n=NAME t=[type_params] &&'(' params=[params] ')' a=['->' z=expression { z }] &&':' tc=[func_type_comment] b=block {
|
||||||
_PyAST_FunctionDef(n->v.Name.id, t,
|
_PyAST_FunctionDef(n->v.Name.id,
|
||||||
(params) ? params : CHECK(arguments_ty, _PyPegen_empty_arguments(p)),
|
(params) ? params : CHECK(arguments_ty, _PyPegen_empty_arguments(p)),
|
||||||
b, NULL, a, NEW_TYPE_COMMENT(p, tc), EXTRA) }
|
b, NULL, a, NEW_TYPE_COMMENT(p, tc), t, EXTRA) }
|
||||||
| ASYNC 'def' n=NAME t=[type_params] &&'(' params=[params] ')' a=['->' z=expression { z }] &&':' tc=[func_type_comment] b=block {
|
| ASYNC 'def' n=NAME t=[type_params] &&'(' params=[params] ')' a=['->' z=expression { z }] &&':' tc=[func_type_comment] b=block {
|
||||||
CHECK_VERSION(
|
CHECK_VERSION(
|
||||||
stmt_ty,
|
stmt_ty,
|
||||||
5,
|
5,
|
||||||
"Async functions are",
|
"Async functions are",
|
||||||
_PyAST_AsyncFunctionDef(n->v.Name.id, t,
|
_PyAST_AsyncFunctionDef(n->v.Name.id,
|
||||||
(params) ? params : CHECK(arguments_ty, _PyPegen_empty_arguments(p)),
|
(params) ? params : CHECK(arguments_ty, _PyPegen_empty_arguments(p)),
|
||||||
b, NULL, a, NEW_TYPE_COMMENT(p, tc), EXTRA)
|
b, NULL, a, NEW_TYPE_COMMENT(p, tc), t, EXTRA)
|
||||||
) }
|
) }
|
||||||
|
|
||||||
# Function parameters
|
# Function parameters
|
||||||
|
|
36
Include/internal/pycore_ast.h
generated
36
Include/internal/pycore_ast.h
generated
|
@ -198,31 +198,31 @@ struct _stmt {
|
||||||
union {
|
union {
|
||||||
struct {
|
struct {
|
||||||
identifier name;
|
identifier name;
|
||||||
asdl_type_param_seq *type_params;
|
|
||||||
arguments_ty args;
|
arguments_ty args;
|
||||||
asdl_stmt_seq *body;
|
asdl_stmt_seq *body;
|
||||||
asdl_expr_seq *decorator_list;
|
asdl_expr_seq *decorator_list;
|
||||||
expr_ty returns;
|
expr_ty returns;
|
||||||
string type_comment;
|
string type_comment;
|
||||||
|
asdl_type_param_seq *type_params;
|
||||||
} FunctionDef;
|
} FunctionDef;
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
identifier name;
|
identifier name;
|
||||||
asdl_type_param_seq *type_params;
|
|
||||||
arguments_ty args;
|
arguments_ty args;
|
||||||
asdl_stmt_seq *body;
|
asdl_stmt_seq *body;
|
||||||
asdl_expr_seq *decorator_list;
|
asdl_expr_seq *decorator_list;
|
||||||
expr_ty returns;
|
expr_ty returns;
|
||||||
string type_comment;
|
string type_comment;
|
||||||
|
asdl_type_param_seq *type_params;
|
||||||
} AsyncFunctionDef;
|
} AsyncFunctionDef;
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
identifier name;
|
identifier name;
|
||||||
asdl_type_param_seq *type_params;
|
|
||||||
asdl_expr_seq *bases;
|
asdl_expr_seq *bases;
|
||||||
asdl_keyword_seq *keywords;
|
asdl_keyword_seq *keywords;
|
||||||
asdl_stmt_seq *body;
|
asdl_stmt_seq *body;
|
||||||
asdl_expr_seq *decorator_list;
|
asdl_expr_seq *decorator_list;
|
||||||
|
asdl_type_param_seq *type_params;
|
||||||
} ClassDef;
|
} ClassDef;
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
|
@ -682,22 +682,22 @@ mod_ty _PyAST_Interactive(asdl_stmt_seq * body, PyArena *arena);
|
||||||
mod_ty _PyAST_Expression(expr_ty body, PyArena *arena);
|
mod_ty _PyAST_Expression(expr_ty body, PyArena *arena);
|
||||||
mod_ty _PyAST_FunctionType(asdl_expr_seq * argtypes, expr_ty returns, PyArena
|
mod_ty _PyAST_FunctionType(asdl_expr_seq * argtypes, expr_ty returns, PyArena
|
||||||
*arena);
|
*arena);
|
||||||
stmt_ty _PyAST_FunctionDef(identifier name, asdl_type_param_seq * type_params,
|
stmt_ty _PyAST_FunctionDef(identifier name, arguments_ty args, asdl_stmt_seq *
|
||||||
arguments_ty args, asdl_stmt_seq * body,
|
body, asdl_expr_seq * decorator_list, expr_ty
|
||||||
asdl_expr_seq * decorator_list, expr_ty returns,
|
returns, string type_comment, asdl_type_param_seq *
|
||||||
string type_comment, int lineno, int col_offset, int
|
type_params, int lineno, int col_offset, int
|
||||||
end_lineno, int end_col_offset, PyArena *arena);
|
end_lineno, int end_col_offset, PyArena *arena);
|
||||||
stmt_ty _PyAST_AsyncFunctionDef(identifier name, asdl_type_param_seq *
|
stmt_ty _PyAST_AsyncFunctionDef(identifier name, arguments_ty args,
|
||||||
type_params, arguments_ty args, asdl_stmt_seq *
|
asdl_stmt_seq * body, asdl_expr_seq *
|
||||||
body, asdl_expr_seq * decorator_list, expr_ty
|
decorator_list, expr_ty returns, string
|
||||||
returns, string type_comment, int lineno, int
|
type_comment, asdl_type_param_seq *
|
||||||
col_offset, int end_lineno, int end_col_offset,
|
type_params, int lineno, int col_offset, int
|
||||||
PyArena *arena);
|
end_lineno, int end_col_offset, PyArena *arena);
|
||||||
stmt_ty _PyAST_ClassDef(identifier name, asdl_type_param_seq * type_params,
|
stmt_ty _PyAST_ClassDef(identifier name, asdl_expr_seq * bases,
|
||||||
asdl_expr_seq * bases, asdl_keyword_seq * keywords,
|
asdl_keyword_seq * keywords, asdl_stmt_seq * body,
|
||||||
asdl_stmt_seq * body, asdl_expr_seq * decorator_list,
|
asdl_expr_seq * decorator_list, asdl_type_param_seq *
|
||||||
int lineno, int col_offset, int end_lineno, int
|
type_params, int lineno, int col_offset, int
|
||||||
end_col_offset, PyArena *arena);
|
end_lineno, int end_col_offset, PyArena *arena);
|
||||||
stmt_ty _PyAST_Return(expr_ty value, int lineno, int col_offset, int
|
stmt_ty _PyAST_Return(expr_ty value, int lineno, int col_offset, int
|
||||||
end_lineno, int end_col_offset, PyArena *arena);
|
end_lineno, int end_col_offset, PyArena *arena);
|
||||||
stmt_ty _PyAST_Delete(asdl_expr_seq * targets, int lineno, int col_offset, int
|
stmt_ty _PyAST_Delete(asdl_expr_seq * targets, int lineno, int col_offset, int
|
||||||
|
|
|
@ -4,6 +4,7 @@ import dis
|
||||||
import enum
|
import enum
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
import textwrap
|
||||||
import types
|
import types
|
||||||
import unittest
|
import unittest
|
||||||
import warnings
|
import warnings
|
||||||
|
@ -1583,20 +1584,41 @@ class ASTValidatorTests(unittest.TestCase):
|
||||||
|
|
||||||
def test_funcdef(self):
|
def test_funcdef(self):
|
||||||
a = ast.arguments([], [], None, [], [], None, [])
|
a = ast.arguments([], [], None, [], [], None, [])
|
||||||
f = ast.FunctionDef("x", [], a, [], [], None)
|
f = ast.FunctionDef("x", a, [], [], None, None, [])
|
||||||
self.stmt(f, "empty body on FunctionDef")
|
self.stmt(f, "empty body on FunctionDef")
|
||||||
f = ast.FunctionDef("x", [], a, [ast.Pass()], [ast.Name("x", ast.Store())],
|
f = ast.FunctionDef("x", a, [ast.Pass()], [ast.Name("x", ast.Store())], None, None, [])
|
||||||
None)
|
|
||||||
self.stmt(f, "must have Load context")
|
self.stmt(f, "must have Load context")
|
||||||
f = ast.FunctionDef("x", [], a, [ast.Pass()], [],
|
f = ast.FunctionDef("x", a, [ast.Pass()], [],
|
||||||
ast.Name("x", ast.Store()))
|
ast.Name("x", ast.Store()), None, [])
|
||||||
self.stmt(f, "must have Load context")
|
self.stmt(f, "must have Load context")
|
||||||
def fac(args):
|
def fac(args):
|
||||||
return ast.FunctionDef("x", [], args, [ast.Pass()], [], None)
|
return ast.FunctionDef("x", args, [ast.Pass()], [], None, None, [])
|
||||||
self._check_arguments(fac, self.stmt)
|
self._check_arguments(fac, self.stmt)
|
||||||
|
|
||||||
|
def test_funcdef_pattern_matching(self):
|
||||||
|
# gh-104799: New fields on FunctionDef should be added at the end
|
||||||
|
def matcher(node):
|
||||||
|
match node:
|
||||||
|
case ast.FunctionDef("foo", ast.arguments(args=[ast.arg("bar")]),
|
||||||
|
[ast.Pass()],
|
||||||
|
[ast.Name("capybara", ast.Load())],
|
||||||
|
ast.Name("pacarana", ast.Load())):
|
||||||
|
return True
|
||||||
|
case _:
|
||||||
|
return False
|
||||||
|
|
||||||
|
code = """
|
||||||
|
@capybara
|
||||||
|
def foo(bar) -> pacarana:
|
||||||
|
pass
|
||||||
|
"""
|
||||||
|
source = ast.parse(textwrap.dedent(code))
|
||||||
|
funcdef = source.body[0]
|
||||||
|
self.assertIsInstance(funcdef, ast.FunctionDef)
|
||||||
|
self.assertTrue(matcher(funcdef))
|
||||||
|
|
||||||
def test_classdef(self):
|
def test_classdef(self):
|
||||||
def cls(bases=None, keywords=None, body=None, decorator_list=None):
|
def cls(bases=None, keywords=None, body=None, decorator_list=None, type_params=None):
|
||||||
if bases is None:
|
if bases is None:
|
||||||
bases = []
|
bases = []
|
||||||
if keywords is None:
|
if keywords is None:
|
||||||
|
@ -1605,8 +1627,10 @@ class ASTValidatorTests(unittest.TestCase):
|
||||||
body = [ast.Pass()]
|
body = [ast.Pass()]
|
||||||
if decorator_list is None:
|
if decorator_list is None:
|
||||||
decorator_list = []
|
decorator_list = []
|
||||||
return ast.ClassDef("myclass", [], bases, keywords,
|
if type_params is None:
|
||||||
body, decorator_list)
|
type_params = []
|
||||||
|
return ast.ClassDef("myclass", bases, keywords,
|
||||||
|
body, decorator_list, type_params)
|
||||||
self.stmt(cls(bases=[ast.Name("x", ast.Store())]),
|
self.stmt(cls(bases=[ast.Name("x", ast.Store())]),
|
||||||
"must have Load context")
|
"must have Load context")
|
||||||
self.stmt(cls(keywords=[ast.keyword("x", ast.Name("x", ast.Store()))]),
|
self.stmt(cls(keywords=[ast.keyword("x", ast.Name("x", ast.Store()))]),
|
||||||
|
@ -2895,23 +2919,23 @@ def main():
|
||||||
exec_results = [
|
exec_results = [
|
||||||
('Module', [('Expr', (1, 0, 1, 4), ('Constant', (1, 0, 1, 4), None, None))], []),
|
('Module', [('Expr', (1, 0, 1, 4), ('Constant', (1, 0, 1, 4), None, None))], []),
|
||||||
('Module', [('Expr', (1, 0, 1, 18), ('Constant', (1, 0, 1, 18), 'module docstring', None))], []),
|
('Module', [('Expr', (1, 0, 1, 18), ('Constant', (1, 0, 1, 18), 'module docstring', None))], []),
|
||||||
('Module', [('FunctionDef', (1, 0, 1, 13), 'f', [], ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 9, 1, 13))], [], None, None)], []),
|
('Module', [('FunctionDef', (1, 0, 1, 13), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 9, 1, 13))], [], None, None, [])], []),
|
||||||
('Module', [('FunctionDef', (1, 0, 1, 29), 'f', [], ('arguments', [], [], None, [], [], None, []), [('Expr', (1, 9, 1, 29), ('Constant', (1, 9, 1, 29), 'function docstring', None))], [], None, None)], []),
|
('Module', [('FunctionDef', (1, 0, 1, 29), 'f', ('arguments', [], [], None, [], [], None, []), [('Expr', (1, 9, 1, 29), ('Constant', (1, 9, 1, 29), 'function docstring', None))], [], None, None, [])], []),
|
||||||
('Module', [('FunctionDef', (1, 0, 1, 14), 'f', [], ('arguments', [], [('arg', (1, 6, 1, 7), 'a', None, None)], None, [], [], None, []), [('Pass', (1, 10, 1, 14))], [], None, None)], []),
|
('Module', [('FunctionDef', (1, 0, 1, 14), 'f', ('arguments', [], [('arg', (1, 6, 1, 7), 'a', None, None)], None, [], [], None, []), [('Pass', (1, 10, 1, 14))], [], None, None, [])], []),
|
||||||
('Module', [('FunctionDef', (1, 0, 1, 16), 'f', [], ('arguments', [], [('arg', (1, 6, 1, 7), 'a', None, None)], None, [], [], None, [('Constant', (1, 8, 1, 9), 0, None)]), [('Pass', (1, 12, 1, 16))], [], None, None)], []),
|
('Module', [('FunctionDef', (1, 0, 1, 16), 'f', ('arguments', [], [('arg', (1, 6, 1, 7), 'a', None, None)], None, [], [], None, [('Constant', (1, 8, 1, 9), 0, None)]), [('Pass', (1, 12, 1, 16))], [], None, None, [])], []),
|
||||||
('Module', [('FunctionDef', (1, 0, 1, 18), 'f', [], ('arguments', [], [], ('arg', (1, 7, 1, 11), 'args', None, None), [], [], None, []), [('Pass', (1, 14, 1, 18))], [], None, None)], []),
|
('Module', [('FunctionDef', (1, 0, 1, 18), 'f', ('arguments', [], [], ('arg', (1, 7, 1, 11), 'args', None, None), [], [], None, []), [('Pass', (1, 14, 1, 18))], [], None, None, [])], []),
|
||||||
('Module', [('FunctionDef', (1, 0, 1, 23), 'f', [], ('arguments', [], [], ('arg', (1, 7, 1, 16), 'args', ('Starred', (1, 13, 1, 16), ('Name', (1, 14, 1, 16), 'Ts', ('Load',)), ('Load',)), None), [], [], None, []), [('Pass', (1, 19, 1, 23))], [], None, None)], []),
|
('Module', [('FunctionDef', (1, 0, 1, 23), 'f', ('arguments', [], [], ('arg', (1, 7, 1, 16), 'args', ('Starred', (1, 13, 1, 16), ('Name', (1, 14, 1, 16), 'Ts', ('Load',)), ('Load',)), None), [], [], None, []), [('Pass', (1, 19, 1, 23))], [], None, None, [])], []),
|
||||||
('Module', [('FunctionDef', (1, 0, 1, 36), 'f', [], ('arguments', [], [], ('arg', (1, 7, 1, 29), 'args', ('Starred', (1, 13, 1, 29), ('Subscript', (1, 14, 1, 29), ('Name', (1, 14, 1, 19), 'tuple', ('Load',)), ('Tuple', (1, 20, 1, 28), [('Name', (1, 20, 1, 23), 'int', ('Load',)), ('Constant', (1, 25, 1, 28), Ellipsis, None)], ('Load',)), ('Load',)), ('Load',)), None), [], [], None, []), [('Pass', (1, 32, 1, 36))], [], None, None)], []),
|
('Module', [('FunctionDef', (1, 0, 1, 36), 'f', ('arguments', [], [], ('arg', (1, 7, 1, 29), 'args', ('Starred', (1, 13, 1, 29), ('Subscript', (1, 14, 1, 29), ('Name', (1, 14, 1, 19), 'tuple', ('Load',)), ('Tuple', (1, 20, 1, 28), [('Name', (1, 20, 1, 23), 'int', ('Load',)), ('Constant', (1, 25, 1, 28), Ellipsis, None)], ('Load',)), ('Load',)), ('Load',)), None), [], [], None, []), [('Pass', (1, 32, 1, 36))], [], None, None, [])], []),
|
||||||
('Module', [('FunctionDef', (1, 0, 1, 36), 'f', [], ('arguments', [], [], ('arg', (1, 7, 1, 29), 'args', ('Starred', (1, 13, 1, 29), ('Subscript', (1, 14, 1, 29), ('Name', (1, 14, 1, 19), 'tuple', ('Load',)), ('Tuple', (1, 20, 1, 28), [('Name', (1, 20, 1, 23), 'int', ('Load',)), ('Starred', (1, 25, 1, 28), ('Name', (1, 26, 1, 28), 'Ts', ('Load',)), ('Load',))], ('Load',)), ('Load',)), ('Load',)), None), [], [], None, []), [('Pass', (1, 32, 1, 36))], [], None, None)], []),
|
('Module', [('FunctionDef', (1, 0, 1, 36), 'f', ('arguments', [], [], ('arg', (1, 7, 1, 29), 'args', ('Starred', (1, 13, 1, 29), ('Subscript', (1, 14, 1, 29), ('Name', (1, 14, 1, 19), 'tuple', ('Load',)), ('Tuple', (1, 20, 1, 28), [('Name', (1, 20, 1, 23), 'int', ('Load',)), ('Starred', (1, 25, 1, 28), ('Name', (1, 26, 1, 28), 'Ts', ('Load',)), ('Load',))], ('Load',)), ('Load',)), ('Load',)), None), [], [], None, []), [('Pass', (1, 32, 1, 36))], [], None, None, [])], []),
|
||||||
('Module', [('FunctionDef', (1, 0, 1, 21), 'f', [], ('arguments', [], [], None, [], [], ('arg', (1, 8, 1, 14), 'kwargs', None, None), []), [('Pass', (1, 17, 1, 21))], [], None, None)], []),
|
('Module', [('FunctionDef', (1, 0, 1, 21), 'f', ('arguments', [], [], None, [], [], ('arg', (1, 8, 1, 14), 'kwargs', None, None), []), [('Pass', (1, 17, 1, 21))], [], None, None, [])], []),
|
||||||
('Module', [('FunctionDef', (1, 0, 1, 71), 'f', [], ('arguments', [], [('arg', (1, 6, 1, 7), 'a', None, None), ('arg', (1, 9, 1, 10), 'b', None, None), ('arg', (1, 14, 1, 15), 'c', None, None), ('arg', (1, 22, 1, 23), 'd', None, None), ('arg', (1, 28, 1, 29), 'e', None, None)], ('arg', (1, 35, 1, 39), 'args', None, None), [('arg', (1, 41, 1, 42), 'f', None, None)], [('Constant', (1, 43, 1, 45), 42, None)], ('arg', (1, 49, 1, 55), 'kwargs', None, None), [('Constant', (1, 11, 1, 12), 1, None), ('Constant', (1, 16, 1, 20), None, None), ('List', (1, 24, 1, 26), [], ('Load',)), ('Dict', (1, 30, 1, 32), [], [])]), [('Expr', (1, 58, 1, 71), ('Constant', (1, 58, 1, 71), 'doc for f()', None))], [], None, None)], []),
|
('Module', [('FunctionDef', (1, 0, 1, 71), 'f', ('arguments', [], [('arg', (1, 6, 1, 7), 'a', None, None), ('arg', (1, 9, 1, 10), 'b', None, None), ('arg', (1, 14, 1, 15), 'c', None, None), ('arg', (1, 22, 1, 23), 'd', None, None), ('arg', (1, 28, 1, 29), 'e', None, None)], ('arg', (1, 35, 1, 39), 'args', None, None), [('arg', (1, 41, 1, 42), 'f', None, None)], [('Constant', (1, 43, 1, 45), 42, None)], ('arg', (1, 49, 1, 55), 'kwargs', None, None), [('Constant', (1, 11, 1, 12), 1, None), ('Constant', (1, 16, 1, 20), None, None), ('List', (1, 24, 1, 26), [], ('Load',)), ('Dict', (1, 30, 1, 32), [], [])]), [('Expr', (1, 58, 1, 71), ('Constant', (1, 58, 1, 71), 'doc for f()', None))], [], None, None, [])], []),
|
||||||
('Module', [('FunctionDef', (1, 0, 1, 27), 'f', [], ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 23, 1, 27))], [], ('Subscript', (1, 11, 1, 21), ('Name', (1, 11, 1, 16), 'tuple', ('Load',)), ('Tuple', (1, 17, 1, 20), [('Starred', (1, 17, 1, 20), ('Name', (1, 18, 1, 20), 'Ts', ('Load',)), ('Load',))], ('Load',)), ('Load',)), None)], []),
|
('Module', [('FunctionDef', (1, 0, 1, 27), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 23, 1, 27))], [], ('Subscript', (1, 11, 1, 21), ('Name', (1, 11, 1, 16), 'tuple', ('Load',)), ('Tuple', (1, 17, 1, 20), [('Starred', (1, 17, 1, 20), ('Name', (1, 18, 1, 20), 'Ts', ('Load',)), ('Load',))], ('Load',)), ('Load',)), None, [])], []),
|
||||||
('Module', [('FunctionDef', (1, 0, 1, 32), 'f', [], ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 28, 1, 32))], [], ('Subscript', (1, 11, 1, 26), ('Name', (1, 11, 1, 16), 'tuple', ('Load',)), ('Tuple', (1, 17, 1, 25), [('Name', (1, 17, 1, 20), 'int', ('Load',)), ('Starred', (1, 22, 1, 25), ('Name', (1, 23, 1, 25), 'Ts', ('Load',)), ('Load',))], ('Load',)), ('Load',)), None)], []),
|
('Module', [('FunctionDef', (1, 0, 1, 32), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 28, 1, 32))], [], ('Subscript', (1, 11, 1, 26), ('Name', (1, 11, 1, 16), 'tuple', ('Load',)), ('Tuple', (1, 17, 1, 25), [('Name', (1, 17, 1, 20), 'int', ('Load',)), ('Starred', (1, 22, 1, 25), ('Name', (1, 23, 1, 25), 'Ts', ('Load',)), ('Load',))], ('Load',)), ('Load',)), None, [])], []),
|
||||||
('Module', [('FunctionDef', (1, 0, 1, 45), 'f', [], ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 41, 1, 45))], [], ('Subscript', (1, 11, 1, 39), ('Name', (1, 11, 1, 16), 'tuple', ('Load',)), ('Tuple', (1, 17, 1, 38), [('Name', (1, 17, 1, 20), 'int', ('Load',)), ('Starred', (1, 22, 1, 38), ('Subscript', (1, 23, 1, 38), ('Name', (1, 23, 1, 28), 'tuple', ('Load',)), ('Tuple', (1, 29, 1, 37), [('Name', (1, 29, 1, 32), 'int', ('Load',)), ('Constant', (1, 34, 1, 37), Ellipsis, None)], ('Load',)), ('Load',)), ('Load',))], ('Load',)), ('Load',)), None)], []),
|
('Module', [('FunctionDef', (1, 0, 1, 45), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 41, 1, 45))], [], ('Subscript', (1, 11, 1, 39), ('Name', (1, 11, 1, 16), 'tuple', ('Load',)), ('Tuple', (1, 17, 1, 38), [('Name', (1, 17, 1, 20), 'int', ('Load',)), ('Starred', (1, 22, 1, 38), ('Subscript', (1, 23, 1, 38), ('Name', (1, 23, 1, 28), 'tuple', ('Load',)), ('Tuple', (1, 29, 1, 37), [('Name', (1, 29, 1, 32), 'int', ('Load',)), ('Constant', (1, 34, 1, 37), Ellipsis, None)], ('Load',)), ('Load',)), ('Load',))], ('Load',)), ('Load',)), None, [])], []),
|
||||||
('Module', [('ClassDef', (1, 0, 1, 12), 'C', [], [], [], [('Pass', (1, 8, 1, 12))], [])], []),
|
('Module', [('ClassDef', (1, 0, 1, 12), 'C', [], [], [('Pass', (1, 8, 1, 12))], [], [])], []),
|
||||||
('Module', [('ClassDef', (1, 0, 1, 32), 'C', [], [], [], [('Expr', (1, 9, 1, 32), ('Constant', (1, 9, 1, 32), 'docstring for class C', None))], [])], []),
|
('Module', [('ClassDef', (1, 0, 1, 32), 'C', [], [], [('Expr', (1, 9, 1, 32), ('Constant', (1, 9, 1, 32), 'docstring for class C', None))], [], [])], []),
|
||||||
('Module', [('ClassDef', (1, 0, 1, 21), 'C', [], [('Name', (1, 8, 1, 14), 'object', ('Load',))], [], [('Pass', (1, 17, 1, 21))], [])], []),
|
('Module', [('ClassDef', (1, 0, 1, 21), 'C', [('Name', (1, 8, 1, 14), 'object', ('Load',))], [], [('Pass', (1, 17, 1, 21))], [], [])], []),
|
||||||
('Module', [('FunctionDef', (1, 0, 1, 16), 'f', [], ('arguments', [], [], None, [], [], None, []), [('Return', (1, 8, 1, 16), ('Constant', (1, 15, 1, 16), 1, None))], [], None, None)], []),
|
('Module', [('FunctionDef', (1, 0, 1, 16), 'f', ('arguments', [], [], None, [], [], None, []), [('Return', (1, 8, 1, 16), ('Constant', (1, 15, 1, 16), 1, None))], [], None, None, [])], []),
|
||||||
('Module', [('Delete', (1, 0, 1, 5), [('Name', (1, 4, 1, 5), 'v', ('Del',))])], []),
|
('Module', [('Delete', (1, 0, 1, 5), [('Name', (1, 4, 1, 5), 'v', ('Del',))])], []),
|
||||||
('Module', [('Assign', (1, 0, 1, 5), [('Name', (1, 0, 1, 1), 'v', ('Store',))], ('Constant', (1, 4, 1, 5), 1, None), None)], []),
|
('Module', [('Assign', (1, 0, 1, 5), [('Name', (1, 0, 1, 1), 'v', ('Store',))], ('Constant', (1, 4, 1, 5), 1, None), None)], []),
|
||||||
('Module', [('Assign', (1, 0, 1, 7), [('Tuple', (1, 0, 1, 3), [('Name', (1, 0, 1, 1), 'a', ('Store',)), ('Name', (1, 2, 1, 3), 'b', ('Store',))], ('Store',))], ('Name', (1, 6, 1, 7), 'c', ('Load',)), None)], []),
|
('Module', [('Assign', (1, 0, 1, 7), [('Tuple', (1, 0, 1, 3), [('Name', (1, 0, 1, 1), 'a', ('Store',)), ('Name', (1, 2, 1, 3), 'b', ('Store',))], ('Store',))], ('Name', (1, 6, 1, 7), 'c', ('Load',)), None)], []),
|
||||||
|
@ -2948,41 +2972,41 @@ exec_results = [
|
||||||
('Module', [('Expr', (1, 0, 1, 20), ('DictComp', (1, 0, 1, 20), ('Name', (1, 1, 1, 2), 'a', ('Load',)), ('Name', (1, 5, 1, 6), 'b', ('Load',)), [('comprehension', ('Tuple', (1, 11, 1, 14), [('Name', (1, 11, 1, 12), 'v', ('Store',)), ('Name', (1, 13, 1, 14), 'w', ('Store',))], ('Store',)), ('Name', (1, 18, 1, 19), 'x', ('Load',)), [], 0)]))], []),
|
('Module', [('Expr', (1, 0, 1, 20), ('DictComp', (1, 0, 1, 20), ('Name', (1, 1, 1, 2), 'a', ('Load',)), ('Name', (1, 5, 1, 6), 'b', ('Load',)), [('comprehension', ('Tuple', (1, 11, 1, 14), [('Name', (1, 11, 1, 12), 'v', ('Store',)), ('Name', (1, 13, 1, 14), 'w', ('Store',))], ('Store',)), ('Name', (1, 18, 1, 19), 'x', ('Load',)), [], 0)]))], []),
|
||||||
('Module', [('Expr', (1, 0, 1, 19), ('SetComp', (1, 0, 1, 19), ('Name', (1, 1, 1, 2), 'r', ('Load',)), [('comprehension', ('Name', (1, 7, 1, 8), 'l', ('Store',)), ('Name', (1, 12, 1, 13), 'x', ('Load',)), [('Name', (1, 17, 1, 18), 'g', ('Load',))], 0)]))], []),
|
('Module', [('Expr', (1, 0, 1, 19), ('SetComp', (1, 0, 1, 19), ('Name', (1, 1, 1, 2), 'r', ('Load',)), [('comprehension', ('Name', (1, 7, 1, 8), 'l', ('Store',)), ('Name', (1, 12, 1, 13), 'x', ('Load',)), [('Name', (1, 17, 1, 18), 'g', ('Load',))], 0)]))], []),
|
||||||
('Module', [('Expr', (1, 0, 1, 16), ('SetComp', (1, 0, 1, 16), ('Name', (1, 1, 1, 2), 'r', ('Load',)), [('comprehension', ('Tuple', (1, 7, 1, 10), [('Name', (1, 7, 1, 8), 'l', ('Store',)), ('Name', (1, 9, 1, 10), 'm', ('Store',))], ('Store',)), ('Name', (1, 14, 1, 15), 'x', ('Load',)), [], 0)]))], []),
|
('Module', [('Expr', (1, 0, 1, 16), ('SetComp', (1, 0, 1, 16), ('Name', (1, 1, 1, 2), 'r', ('Load',)), [('comprehension', ('Tuple', (1, 7, 1, 10), [('Name', (1, 7, 1, 8), 'l', ('Store',)), ('Name', (1, 9, 1, 10), 'm', ('Store',))], ('Store',)), ('Name', (1, 14, 1, 15), 'x', ('Load',)), [], 0)]))], []),
|
||||||
('Module', [('AsyncFunctionDef', (1, 0, 3, 18), 'f', [], ('arguments', [], [], None, [], [], None, []), [('Expr', (2, 1, 2, 17), ('Constant', (2, 1, 2, 17), 'async function', None)), ('Expr', (3, 1, 3, 18), ('Await', (3, 1, 3, 18), ('Call', (3, 7, 3, 18), ('Name', (3, 7, 3, 16), 'something', ('Load',)), [], [])))], [], None, None)], []),
|
('Module', [('AsyncFunctionDef', (1, 0, 3, 18), 'f', ('arguments', [], [], None, [], [], None, []), [('Expr', (2, 1, 2, 17), ('Constant', (2, 1, 2, 17), 'async function', None)), ('Expr', (3, 1, 3, 18), ('Await', (3, 1, 3, 18), ('Call', (3, 7, 3, 18), ('Name', (3, 7, 3, 16), 'something', ('Load',)), [], [])))], [], None, None, [])], []),
|
||||||
('Module', [('AsyncFunctionDef', (1, 0, 3, 8), 'f', [], ('arguments', [], [], None, [], [], None, []), [('AsyncFor', (2, 1, 3, 8), ('Name', (2, 11, 2, 12), 'e', ('Store',)), ('Name', (2, 16, 2, 17), 'i', ('Load',)), [('Expr', (2, 19, 2, 20), ('Constant', (2, 19, 2, 20), 1, None))], [('Expr', (3, 7, 3, 8), ('Constant', (3, 7, 3, 8), 2, None))], None)], [], None, None)], []),
|
('Module', [('AsyncFunctionDef', (1, 0, 3, 8), 'f', ('arguments', [], [], None, [], [], None, []), [('AsyncFor', (2, 1, 3, 8), ('Name', (2, 11, 2, 12), 'e', ('Store',)), ('Name', (2, 16, 2, 17), 'i', ('Load',)), [('Expr', (2, 19, 2, 20), ('Constant', (2, 19, 2, 20), 1, None))], [('Expr', (3, 7, 3, 8), ('Constant', (3, 7, 3, 8), 2, None))], None)], [], None, None, [])], []),
|
||||||
('Module', [('AsyncFunctionDef', (1, 0, 2, 21), 'f', [], ('arguments', [], [], None, [], [], None, []), [('AsyncWith', (2, 1, 2, 21), [('withitem', ('Name', (2, 12, 2, 13), 'a', ('Load',)), ('Name', (2, 17, 2, 18), 'b', ('Store',)))], [('Expr', (2, 20, 2, 21), ('Constant', (2, 20, 2, 21), 1, None))], None)], [], None, None)], []),
|
('Module', [('AsyncFunctionDef', (1, 0, 2, 21), 'f', ('arguments', [], [], None, [], [], None, []), [('AsyncWith', (2, 1, 2, 21), [('withitem', ('Name', (2, 12, 2, 13), 'a', ('Load',)), ('Name', (2, 17, 2, 18), 'b', ('Store',)))], [('Expr', (2, 20, 2, 21), ('Constant', (2, 20, 2, 21), 1, None))], None)], [], None, None, [])], []),
|
||||||
('Module', [('Expr', (1, 0, 1, 14), ('Dict', (1, 0, 1, 14), [None, ('Constant', (1, 10, 1, 11), 2, None)], [('Dict', (1, 3, 1, 8), [('Constant', (1, 4, 1, 5), 1, None)], [('Constant', (1, 6, 1, 7), 2, None)]), ('Constant', (1, 12, 1, 13), 3, None)]))], []),
|
('Module', [('Expr', (1, 0, 1, 14), ('Dict', (1, 0, 1, 14), [None, ('Constant', (1, 10, 1, 11), 2, None)], [('Dict', (1, 3, 1, 8), [('Constant', (1, 4, 1, 5), 1, None)], [('Constant', (1, 6, 1, 7), 2, None)]), ('Constant', (1, 12, 1, 13), 3, None)]))], []),
|
||||||
('Module', [('Expr', (1, 0, 1, 12), ('Set', (1, 0, 1, 12), [('Starred', (1, 1, 1, 8), ('Set', (1, 2, 1, 8), [('Constant', (1, 3, 1, 4), 1, None), ('Constant', (1, 6, 1, 7), 2, None)]), ('Load',)), ('Constant', (1, 10, 1, 11), 3, None)]))], []),
|
('Module', [('Expr', (1, 0, 1, 12), ('Set', (1, 0, 1, 12), [('Starred', (1, 1, 1, 8), ('Set', (1, 2, 1, 8), [('Constant', (1, 3, 1, 4), 1, None), ('Constant', (1, 6, 1, 7), 2, None)]), ('Load',)), ('Constant', (1, 10, 1, 11), 3, None)]))], []),
|
||||||
('Module', [('AsyncFunctionDef', (1, 0, 2, 21), 'f', [], ('arguments', [], [], None, [], [], None, []), [('Expr', (2, 1, 2, 21), ('ListComp', (2, 1, 2, 21), ('Name', (2, 2, 2, 3), 'i', ('Load',)), [('comprehension', ('Name', (2, 14, 2, 15), 'b', ('Store',)), ('Name', (2, 19, 2, 20), 'c', ('Load',)), [], 1)]))], [], None, None)], []),
|
('Module', [('AsyncFunctionDef', (1, 0, 2, 21), 'f', ('arguments', [], [], None, [], [], None, []), [('Expr', (2, 1, 2, 21), ('ListComp', (2, 1, 2, 21), ('Name', (2, 2, 2, 3), 'i', ('Load',)), [('comprehension', ('Name', (2, 14, 2, 15), 'b', ('Store',)), ('Name', (2, 19, 2, 20), 'c', ('Load',)), [], 1)]))], [], None, None, [])], []),
|
||||||
('Module', [('FunctionDef', (4, 0, 4, 13), 'f', [], ('arguments', [], [], None, [], [], None, []), [('Pass', (4, 9, 4, 13))], [('Name', (1, 1, 1, 6), 'deco1', ('Load',)), ('Call', (2, 1, 2, 8), ('Name', (2, 1, 2, 6), 'deco2', ('Load',)), [], []), ('Call', (3, 1, 3, 9), ('Name', (3, 1, 3, 6), 'deco3', ('Load',)), [('Constant', (3, 7, 3, 8), 1, None)], [])], None, None)], []),
|
('Module', [('FunctionDef', (4, 0, 4, 13), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (4, 9, 4, 13))], [('Name', (1, 1, 1, 6), 'deco1', ('Load',)), ('Call', (2, 1, 2, 8), ('Name', (2, 1, 2, 6), 'deco2', ('Load',)), [], []), ('Call', (3, 1, 3, 9), ('Name', (3, 1, 3, 6), 'deco3', ('Load',)), [('Constant', (3, 7, 3, 8), 1, None)], [])], None, None, [])], []),
|
||||||
('Module', [('AsyncFunctionDef', (4, 0, 4, 19), 'f', [], ('arguments', [], [], None, [], [], None, []), [('Pass', (4, 15, 4, 19))], [('Name', (1, 1, 1, 6), 'deco1', ('Load',)), ('Call', (2, 1, 2, 8), ('Name', (2, 1, 2, 6), 'deco2', ('Load',)), [], []), ('Call', (3, 1, 3, 9), ('Name', (3, 1, 3, 6), 'deco3', ('Load',)), [('Constant', (3, 7, 3, 8), 1, None)], [])], None, None)], []),
|
('Module', [('AsyncFunctionDef', (4, 0, 4, 19), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (4, 15, 4, 19))], [('Name', (1, 1, 1, 6), 'deco1', ('Load',)), ('Call', (2, 1, 2, 8), ('Name', (2, 1, 2, 6), 'deco2', ('Load',)), [], []), ('Call', (3, 1, 3, 9), ('Name', (3, 1, 3, 6), 'deco3', ('Load',)), [('Constant', (3, 7, 3, 8), 1, None)], [])], None, None, [])], []),
|
||||||
('Module', [('ClassDef', (4, 0, 4, 13), 'C', [], [], [], [('Pass', (4, 9, 4, 13))], [('Name', (1, 1, 1, 6), 'deco1', ('Load',)), ('Call', (2, 1, 2, 8), ('Name', (2, 1, 2, 6), 'deco2', ('Load',)), [], []), ('Call', (3, 1, 3, 9), ('Name', (3, 1, 3, 6), 'deco3', ('Load',)), [('Constant', (3, 7, 3, 8), 1, None)], [])])], []),
|
('Module', [('ClassDef', (4, 0, 4, 13), 'C', [], [], [('Pass', (4, 9, 4, 13))], [('Name', (1, 1, 1, 6), 'deco1', ('Load',)), ('Call', (2, 1, 2, 8), ('Name', (2, 1, 2, 6), 'deco2', ('Load',)), [], []), ('Call', (3, 1, 3, 9), ('Name', (3, 1, 3, 6), 'deco3', ('Load',)), [('Constant', (3, 7, 3, 8), 1, None)], [])], [])], []),
|
||||||
('Module', [('FunctionDef', (2, 0, 2, 13), 'f', [], ('arguments', [], [], None, [], [], None, []), [('Pass', (2, 9, 2, 13))], [('Call', (1, 1, 1, 19), ('Name', (1, 1, 1, 5), 'deco', ('Load',)), [('GeneratorExp', (1, 5, 1, 19), ('Name', (1, 6, 1, 7), 'a', ('Load',)), [('comprehension', ('Name', (1, 12, 1, 13), 'a', ('Store',)), ('Name', (1, 17, 1, 18), 'b', ('Load',)), [], 0)])], [])], None, None)], []),
|
('Module', [('FunctionDef', (2, 0, 2, 13), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (2, 9, 2, 13))], [('Call', (1, 1, 1, 19), ('Name', (1, 1, 1, 5), 'deco', ('Load',)), [('GeneratorExp', (1, 5, 1, 19), ('Name', (1, 6, 1, 7), 'a', ('Load',)), [('comprehension', ('Name', (1, 12, 1, 13), 'a', ('Store',)), ('Name', (1, 17, 1, 18), 'b', ('Load',)), [], 0)])], [])], None, None, [])], []),
|
||||||
('Module', [('FunctionDef', (2, 0, 2, 13), 'f', [], ('arguments', [], [], None, [], [], None, []), [('Pass', (2, 9, 2, 13))], [('Attribute', (1, 1, 1, 6), ('Attribute', (1, 1, 1, 4), ('Name', (1, 1, 1, 2), 'a', ('Load',)), 'b', ('Load',)), 'c', ('Load',))], None, None)], []),
|
('Module', [('FunctionDef', (2, 0, 2, 13), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (2, 9, 2, 13))], [('Attribute', (1, 1, 1, 6), ('Attribute', (1, 1, 1, 4), ('Name', (1, 1, 1, 2), 'a', ('Load',)), 'b', ('Load',)), 'c', ('Load',))], None, None, [])], []),
|
||||||
('Module', [('Expr', (1, 0, 1, 8), ('NamedExpr', (1, 1, 1, 7), ('Name', (1, 1, 1, 2), 'a', ('Store',)), ('Constant', (1, 6, 1, 7), 1, None)))], []),
|
('Module', [('Expr', (1, 0, 1, 8), ('NamedExpr', (1, 1, 1, 7), ('Name', (1, 1, 1, 2), 'a', ('Store',)), ('Constant', (1, 6, 1, 7), 1, None)))], []),
|
||||||
('Module', [('FunctionDef', (1, 0, 1, 18), 'f', [], ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [], None, [], [], None, []), [('Pass', (1, 14, 1, 18))], [], None, None)], []),
|
('Module', [('FunctionDef', (1, 0, 1, 18), 'f', ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [], None, [], [], None, []), [('Pass', (1, 14, 1, 18))], [], None, None, [])], []),
|
||||||
('Module', [('FunctionDef', (1, 0, 1, 26), 'f', [], ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 12, 1, 13), 'c', None, None), ('arg', (1, 15, 1, 16), 'd', None, None), ('arg', (1, 18, 1, 19), 'e', None, None)], None, [], [], None, []), [('Pass', (1, 22, 1, 26))], [], None, None)], []),
|
('Module', [('FunctionDef', (1, 0, 1, 26), 'f', ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 12, 1, 13), 'c', None, None), ('arg', (1, 15, 1, 16), 'd', None, None), ('arg', (1, 18, 1, 19), 'e', None, None)], None, [], [], None, []), [('Pass', (1, 22, 1, 26))], [], None, None, [])], []),
|
||||||
('Module', [('FunctionDef', (1, 0, 1, 29), 'f', [], ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 12, 1, 13), 'c', None, None)], None, [('arg', (1, 18, 1, 19), 'd', None, None), ('arg', (1, 21, 1, 22), 'e', None, None)], [None, None], None, []), [('Pass', (1, 25, 1, 29))], [], None, None)], []),
|
('Module', [('FunctionDef', (1, 0, 1, 29), 'f', ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 12, 1, 13), 'c', None, None)], None, [('arg', (1, 18, 1, 19), 'd', None, None), ('arg', (1, 21, 1, 22), 'e', None, None)], [None, None], None, []), [('Pass', (1, 25, 1, 29))], [], None, None, [])], []),
|
||||||
('Module', [('FunctionDef', (1, 0, 1, 39), 'f', [], ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 12, 1, 13), 'c', None, None)], None, [('arg', (1, 18, 1, 19), 'd', None, None), ('arg', (1, 21, 1, 22), 'e', None, None)], [None, None], ('arg', (1, 26, 1, 32), 'kwargs', None, None), []), [('Pass', (1, 35, 1, 39))], [], None, None)], []),
|
('Module', [('FunctionDef', (1, 0, 1, 39), 'f', ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 12, 1, 13), 'c', None, None)], None, [('arg', (1, 18, 1, 19), 'd', None, None), ('arg', (1, 21, 1, 22), 'e', None, None)], [None, None], ('arg', (1, 26, 1, 32), 'kwargs', None, None), []), [('Pass', (1, 35, 1, 39))], [], None, None, [])], []),
|
||||||
('Module', [('FunctionDef', (1, 0, 1, 20), 'f', [], ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [], None, [], [], None, [('Constant', (1, 8, 1, 9), 1, None)]), [('Pass', (1, 16, 1, 20))], [], None, None)], []),
|
('Module', [('FunctionDef', (1, 0, 1, 20), 'f', ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [], None, [], [], None, [('Constant', (1, 8, 1, 9), 1, None)]), [('Pass', (1, 16, 1, 20))], [], None, None, [])], []),
|
||||||
('Module', [('FunctionDef', (1, 0, 1, 29), 'f', [], ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 14, 1, 15), 'b', None, None), ('arg', (1, 19, 1, 20), 'c', None, None)], None, [], [], None, [('Constant', (1, 8, 1, 9), 1, None), ('Constant', (1, 16, 1, 17), 2, None), ('Constant', (1, 21, 1, 22), 4, None)]), [('Pass', (1, 25, 1, 29))], [], None, None)], []),
|
('Module', [('FunctionDef', (1, 0, 1, 29), 'f', ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 14, 1, 15), 'b', None, None), ('arg', (1, 19, 1, 20), 'c', None, None)], None, [], [], None, [('Constant', (1, 8, 1, 9), 1, None), ('Constant', (1, 16, 1, 17), 2, None), ('Constant', (1, 21, 1, 22), 4, None)]), [('Pass', (1, 25, 1, 29))], [], None, None, [])], []),
|
||||||
('Module', [('FunctionDef', (1, 0, 1, 32), 'f', [], ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 14, 1, 15), 'b', None, None)], None, [('arg', (1, 22, 1, 23), 'c', None, None)], [('Constant', (1, 24, 1, 25), 4, None)], None, [('Constant', (1, 8, 1, 9), 1, None), ('Constant', (1, 16, 1, 17), 2, None)]), [('Pass', (1, 28, 1, 32))], [], None, None)], []),
|
('Module', [('FunctionDef', (1, 0, 1, 32), 'f', ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 14, 1, 15), 'b', None, None)], None, [('arg', (1, 22, 1, 23), 'c', None, None)], [('Constant', (1, 24, 1, 25), 4, None)], None, [('Constant', (1, 8, 1, 9), 1, None), ('Constant', (1, 16, 1, 17), 2, None)]), [('Pass', (1, 28, 1, 32))], [], None, None, [])], []),
|
||||||
('Module', [('FunctionDef', (1, 0, 1, 30), 'f', [], ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 14, 1, 15), 'b', None, None)], None, [('arg', (1, 22, 1, 23), 'c', None, None)], [None], None, [('Constant', (1, 8, 1, 9), 1, None), ('Constant', (1, 16, 1, 17), 2, None)]), [('Pass', (1, 26, 1, 30))], [], None, None)], []),
|
('Module', [('FunctionDef', (1, 0, 1, 30), 'f', ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 14, 1, 15), 'b', None, None)], None, [('arg', (1, 22, 1, 23), 'c', None, None)], [None], None, [('Constant', (1, 8, 1, 9), 1, None), ('Constant', (1, 16, 1, 17), 2, None)]), [('Pass', (1, 26, 1, 30))], [], None, None, [])], []),
|
||||||
('Module', [('FunctionDef', (1, 0, 1, 42), 'f', [], ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 14, 1, 15), 'b', None, None)], None, [('arg', (1, 22, 1, 23), 'c', None, None)], [('Constant', (1, 24, 1, 25), 4, None)], ('arg', (1, 29, 1, 35), 'kwargs', None, None), [('Constant', (1, 8, 1, 9), 1, None), ('Constant', (1, 16, 1, 17), 2, None)]), [('Pass', (1, 38, 1, 42))], [], None, None)], []),
|
('Module', [('FunctionDef', (1, 0, 1, 42), 'f', ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 14, 1, 15), 'b', None, None)], None, [('arg', (1, 22, 1, 23), 'c', None, None)], [('Constant', (1, 24, 1, 25), 4, None)], ('arg', (1, 29, 1, 35), 'kwargs', None, None), [('Constant', (1, 8, 1, 9), 1, None), ('Constant', (1, 16, 1, 17), 2, None)]), [('Pass', (1, 38, 1, 42))], [], None, None, [])], []),
|
||||||
('Module', [('FunctionDef', (1, 0, 1, 40), 'f', [], ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 14, 1, 15), 'b', None, None)], None, [('arg', (1, 22, 1, 23), 'c', None, None)], [None], ('arg', (1, 27, 1, 33), 'kwargs', None, None), [('Constant', (1, 8, 1, 9), 1, None), ('Constant', (1, 16, 1, 17), 2, None)]), [('Pass', (1, 36, 1, 40))], [], None, None)], []),
|
('Module', [('FunctionDef', (1, 0, 1, 40), 'f', ('arguments', [('arg', (1, 6, 1, 7), 'a', None, None)], [('arg', (1, 14, 1, 15), 'b', None, None)], None, [('arg', (1, 22, 1, 23), 'c', None, None)], [None], ('arg', (1, 27, 1, 33), 'kwargs', None, None), [('Constant', (1, 8, 1, 9), 1, None), ('Constant', (1, 16, 1, 17), 2, None)]), [('Pass', (1, 36, 1, 40))], [], None, None, [])], []),
|
||||||
('Module', [('TypeAlias', (1, 0, 1, 12), ('Name', (1, 5, 1, 6), 'X', ('Store',)), [], ('Name', (1, 9, 1, 12), 'int', ('Load',)))], []),
|
('Module', [('TypeAlias', (1, 0, 1, 12), ('Name', (1, 5, 1, 6), 'X', ('Store',)), [], ('Name', (1, 9, 1, 12), 'int', ('Load',)))], []),
|
||||||
('Module', [('TypeAlias', (1, 0, 1, 15), ('Name', (1, 5, 1, 6), 'X', ('Store',)), [('TypeVar', (1, 7, 1, 8), 'T', None)], ('Name', (1, 12, 1, 15), 'int', ('Load',)))], []),
|
('Module', [('TypeAlias', (1, 0, 1, 15), ('Name', (1, 5, 1, 6), 'X', ('Store',)), [('TypeVar', (1, 7, 1, 8), 'T', None)], ('Name', (1, 12, 1, 15), 'int', ('Load',)))], []),
|
||||||
('Module', [('TypeAlias', (1, 0, 1, 32), ('Name', (1, 5, 1, 6), 'X', ('Store',)), [('TypeVar', (1, 7, 1, 8), 'T', None), ('TypeVarTuple', (1, 10, 1, 13), 'Ts'), ('ParamSpec', (1, 15, 1, 18), 'P')], ('Tuple', (1, 22, 1, 32), [('Name', (1, 23, 1, 24), 'T', ('Load',)), ('Name', (1, 26, 1, 28), 'Ts', ('Load',)), ('Name', (1, 30, 1, 31), 'P', ('Load',))], ('Load',)))], []),
|
('Module', [('TypeAlias', (1, 0, 1, 32), ('Name', (1, 5, 1, 6), 'X', ('Store',)), [('TypeVar', (1, 7, 1, 8), 'T', None), ('TypeVarTuple', (1, 10, 1, 13), 'Ts'), ('ParamSpec', (1, 15, 1, 18), 'P')], ('Tuple', (1, 22, 1, 32), [('Name', (1, 23, 1, 24), 'T', ('Load',)), ('Name', (1, 26, 1, 28), 'Ts', ('Load',)), ('Name', (1, 30, 1, 31), 'P', ('Load',))], ('Load',)))], []),
|
||||||
('Module', [('TypeAlias', (1, 0, 1, 37), ('Name', (1, 5, 1, 6), 'X', ('Store',)), [('TypeVar', (1, 7, 1, 13), 'T', ('Name', (1, 10, 1, 13), 'int', ('Load',))), ('TypeVarTuple', (1, 15, 1, 18), 'Ts'), ('ParamSpec', (1, 20, 1, 23), 'P')], ('Tuple', (1, 27, 1, 37), [('Name', (1, 28, 1, 29), 'T', ('Load',)), ('Name', (1, 31, 1, 33), 'Ts', ('Load',)), ('Name', (1, 35, 1, 36), 'P', ('Load',))], ('Load',)))], []),
|
('Module', [('TypeAlias', (1, 0, 1, 37), ('Name', (1, 5, 1, 6), 'X', ('Store',)), [('TypeVar', (1, 7, 1, 13), 'T', ('Name', (1, 10, 1, 13), 'int', ('Load',))), ('TypeVarTuple', (1, 15, 1, 18), 'Ts'), ('ParamSpec', (1, 20, 1, 23), 'P')], ('Tuple', (1, 27, 1, 37), [('Name', (1, 28, 1, 29), 'T', ('Load',)), ('Name', (1, 31, 1, 33), 'Ts', ('Load',)), ('Name', (1, 35, 1, 36), 'P', ('Load',))], ('Load',)))], []),
|
||||||
('Module', [('TypeAlias', (1, 0, 1, 44), ('Name', (1, 5, 1, 6), 'X', ('Store',)), [('TypeVar', (1, 7, 1, 20), 'T', ('Tuple', (1, 10, 1, 20), [('Name', (1, 11, 1, 14), 'int', ('Load',)), ('Name', (1, 16, 1, 19), 'str', ('Load',))], ('Load',))), ('TypeVarTuple', (1, 22, 1, 25), 'Ts'), ('ParamSpec', (1, 27, 1, 30), 'P')], ('Tuple', (1, 34, 1, 44), [('Name', (1, 35, 1, 36), 'T', ('Load',)), ('Name', (1, 38, 1, 40), 'Ts', ('Load',)), ('Name', (1, 42, 1, 43), 'P', ('Load',))], ('Load',)))], []),
|
('Module', [('TypeAlias', (1, 0, 1, 44), ('Name', (1, 5, 1, 6), 'X', ('Store',)), [('TypeVar', (1, 7, 1, 20), 'T', ('Tuple', (1, 10, 1, 20), [('Name', (1, 11, 1, 14), 'int', ('Load',)), ('Name', (1, 16, 1, 19), 'str', ('Load',))], ('Load',))), ('TypeVarTuple', (1, 22, 1, 25), 'Ts'), ('ParamSpec', (1, 27, 1, 30), 'P')], ('Tuple', (1, 34, 1, 44), [('Name', (1, 35, 1, 36), 'T', ('Load',)), ('Name', (1, 38, 1, 40), 'Ts', ('Load',)), ('Name', (1, 42, 1, 43), 'P', ('Load',))], ('Load',)))], []),
|
||||||
('Module', [('ClassDef', (1, 0, 1, 16), 'X', [('TypeVar', (1, 8, 1, 9), 'T', None)], [], [], [('Pass', (1, 12, 1, 16))], [])], []),
|
('Module', [('ClassDef', (1, 0, 1, 16), 'X', [], [], [('Pass', (1, 12, 1, 16))], [], [('TypeVar', (1, 8, 1, 9), 'T', None)])], []),
|
||||||
('Module', [('ClassDef', (1, 0, 1, 26), 'X', [('TypeVar', (1, 8, 1, 9), 'T', None), ('TypeVarTuple', (1, 11, 1, 14), 'Ts'), ('ParamSpec', (1, 16, 1, 19), 'P')], [], [], [('Pass', (1, 22, 1, 26))], [])], []),
|
('Module', [('ClassDef', (1, 0, 1, 26), 'X', [], [], [('Pass', (1, 22, 1, 26))], [], [('TypeVar', (1, 8, 1, 9), 'T', None), ('TypeVarTuple', (1, 11, 1, 14), 'Ts'), ('ParamSpec', (1, 16, 1, 19), 'P')])], []),
|
||||||
('Module', [('ClassDef', (1, 0, 1, 31), 'X', [('TypeVar', (1, 8, 1, 14), 'T', ('Name', (1, 11, 1, 14), 'int', ('Load',))), ('TypeVarTuple', (1, 16, 1, 19), 'Ts'), ('ParamSpec', (1, 21, 1, 24), 'P')], [], [], [('Pass', (1, 27, 1, 31))], [])], []),
|
('Module', [('ClassDef', (1, 0, 1, 31), 'X', [], [], [('Pass', (1, 27, 1, 31))], [], [('TypeVar', (1, 8, 1, 14), 'T', ('Name', (1, 11, 1, 14), 'int', ('Load',))), ('TypeVarTuple', (1, 16, 1, 19), 'Ts'), ('ParamSpec', (1, 21, 1, 24), 'P')])], []),
|
||||||
('Module', [('ClassDef', (1, 0, 1, 38), 'X', [('TypeVar', (1, 8, 1, 21), 'T', ('Tuple', (1, 11, 1, 21), [('Name', (1, 12, 1, 15), 'int', ('Load',)), ('Name', (1, 17, 1, 20), 'str', ('Load',))], ('Load',))), ('TypeVarTuple', (1, 23, 1, 26), 'Ts'), ('ParamSpec', (1, 28, 1, 31), 'P')], [], [], [('Pass', (1, 34, 1, 38))], [])], []),
|
('Module', [('ClassDef', (1, 0, 1, 38), 'X', [], [], [('Pass', (1, 34, 1, 38))], [], [('TypeVar', (1, 8, 1, 21), 'T', ('Tuple', (1, 11, 1, 21), [('Name', (1, 12, 1, 15), 'int', ('Load',)), ('Name', (1, 17, 1, 20), 'str', ('Load',))], ('Load',))), ('TypeVarTuple', (1, 23, 1, 26), 'Ts'), ('ParamSpec', (1, 28, 1, 31), 'P')])], []),
|
||||||
('Module', [('FunctionDef', (1, 0, 1, 16), 'f', [('TypeVar', (1, 6, 1, 7), 'T', None)], ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 12, 1, 16))], [], None, None)], []),
|
('Module', [('FunctionDef', (1, 0, 1, 16), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 12, 1, 16))], [], None, None, [('TypeVar', (1, 6, 1, 7), 'T', None)])], []),
|
||||||
('Module', [('FunctionDef', (1, 0, 1, 26), 'f', [('TypeVar', (1, 6, 1, 7), 'T', None), ('TypeVarTuple', (1, 9, 1, 12), 'Ts'), ('ParamSpec', (1, 14, 1, 17), 'P')], ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 22, 1, 26))], [], None, None)], []),
|
('Module', [('FunctionDef', (1, 0, 1, 26), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 22, 1, 26))], [], None, None, [('TypeVar', (1, 6, 1, 7), 'T', None), ('TypeVarTuple', (1, 9, 1, 12), 'Ts'), ('ParamSpec', (1, 14, 1, 17), 'P')])], []),
|
||||||
('Module', [('FunctionDef', (1, 0, 1, 31), 'f', [('TypeVar', (1, 6, 1, 12), 'T', ('Name', (1, 9, 1, 12), 'int', ('Load',))), ('TypeVarTuple', (1, 14, 1, 17), 'Ts'), ('ParamSpec', (1, 19, 1, 22), 'P')], ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 27, 1, 31))], [], None, None)], []),
|
('Module', [('FunctionDef', (1, 0, 1, 31), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 27, 1, 31))], [], None, None, [('TypeVar', (1, 6, 1, 12), 'T', ('Name', (1, 9, 1, 12), 'int', ('Load',))), ('TypeVarTuple', (1, 14, 1, 17), 'Ts'), ('ParamSpec', (1, 19, 1, 22), 'P')])], []),
|
||||||
('Module', [('FunctionDef', (1, 0, 1, 38), 'f', [('TypeVar', (1, 6, 1, 19), 'T', ('Tuple', (1, 9, 1, 19), [('Name', (1, 10, 1, 13), 'int', ('Load',)), ('Name', (1, 15, 1, 18), 'str', ('Load',))], ('Load',))), ('TypeVarTuple', (1, 21, 1, 24), 'Ts'), ('ParamSpec', (1, 26, 1, 29), 'P')], ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 34, 1, 38))], [], None, None)], []),
|
('Module', [('FunctionDef', (1, 0, 1, 38), 'f', ('arguments', [], [], None, [], [], None, []), [('Pass', (1, 34, 1, 38))], [], None, None, [('TypeVar', (1, 6, 1, 19), 'T', ('Tuple', (1, 9, 1, 19), [('Name', (1, 10, 1, 13), 'int', ('Load',)), ('Name', (1, 15, 1, 18), 'str', ('Load',))], ('Load',))), ('TypeVarTuple', (1, 21, 1, 24), 'Ts'), ('ParamSpec', (1, 26, 1, 29), 'P')])], []),
|
||||||
]
|
]
|
||||||
single_results = [
|
single_results = [
|
||||||
('Interactive', [('Expr', (1, 0, 1, 3), ('BinOp', (1, 0, 1, 3), ('Constant', (1, 0, 1, 1), 1, None), ('Add',), ('Constant', (1, 2, 1, 3), 2, None)))]),
|
('Interactive', [('Expr', (1, 0, 1, 3), ('BinOp', (1, 0, 1, 3), ('Constant', (1, 0, 1, 1), 1, None), ('Add',), ('Constant', (1, 2, 1, 3), 2, None)))]),
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
Adjust the location of the (see :pep:`695`) ``type_params`` field on
|
||||||
|
:class:`ast.ClassDef`, :class:`ast.AsyncFunctionDef`, and
|
||||||
|
:class:`ast.FunctionDef` to better preserve backward compatibility. Patch by
|
||||||
|
Jelle Zijlstra
|
|
@ -8,19 +8,19 @@ module Python
|
||||||
| Expression(expr body)
|
| Expression(expr body)
|
||||||
| FunctionType(expr* argtypes, expr returns)
|
| FunctionType(expr* argtypes, expr returns)
|
||||||
|
|
||||||
stmt = FunctionDef(identifier name, type_param* type_params, arguments args,
|
stmt = FunctionDef(identifier name, arguments args,
|
||||||
stmt* body, expr* decorator_list, expr? returns,
|
stmt* body, expr* decorator_list, expr? returns,
|
||||||
string? type_comment)
|
string? type_comment, type_param* type_params)
|
||||||
| AsyncFunctionDef(identifier name, type_param* type_params, arguments args,
|
| AsyncFunctionDef(identifier name, arguments args,
|
||||||
stmt* body, expr* decorator_list, expr? returns,
|
stmt* body, expr* decorator_list, expr? returns,
|
||||||
string? type_comment)
|
string? type_comment, type_param* type_params)
|
||||||
|
|
||||||
| ClassDef(identifier name,
|
| ClassDef(identifier name,
|
||||||
type_param* type_params,
|
|
||||||
expr* bases,
|
expr* bases,
|
||||||
keyword* keywords,
|
keyword* keywords,
|
||||||
stmt* body,
|
stmt* body,
|
||||||
expr* decorator_list)
|
expr* decorator_list,
|
||||||
|
type_param* type_params)
|
||||||
| Return(expr? value)
|
| Return(expr? value)
|
||||||
|
|
||||||
| Delete(expr* targets)
|
| Delete(expr* targets)
|
||||||
|
|
|
@ -752,22 +752,25 @@ _PyPegen_function_def_decorators(Parser *p, asdl_expr_seq *decorators, stmt_ty f
|
||||||
assert(function_def != NULL);
|
assert(function_def != NULL);
|
||||||
if (function_def->kind == AsyncFunctionDef_kind) {
|
if (function_def->kind == AsyncFunctionDef_kind) {
|
||||||
return _PyAST_AsyncFunctionDef(
|
return _PyAST_AsyncFunctionDef(
|
||||||
function_def->v.FunctionDef.name, function_def->v.FunctionDef.type_params,
|
function_def->v.AsyncFunctionDef.name,
|
||||||
function_def->v.FunctionDef.args,
|
function_def->v.AsyncFunctionDef.args,
|
||||||
function_def->v.FunctionDef.body, decorators, function_def->v.FunctionDef.returns,
|
function_def->v.AsyncFunctionDef.body, decorators,
|
||||||
function_def->v.FunctionDef.type_comment, function_def->lineno,
|
function_def->v.AsyncFunctionDef.returns,
|
||||||
function_def->col_offset, function_def->end_lineno, function_def->end_col_offset,
|
function_def->v.AsyncFunctionDef.type_comment,
|
||||||
p->arena);
|
function_def->v.AsyncFunctionDef.type_params,
|
||||||
|
function_def->lineno, function_def->col_offset,
|
||||||
|
function_def->end_lineno, function_def->end_col_offset, p->arena);
|
||||||
}
|
}
|
||||||
|
|
||||||
return _PyAST_FunctionDef(
|
return _PyAST_FunctionDef(
|
||||||
function_def->v.FunctionDef.name, function_def->v.FunctionDef.type_params,
|
function_def->v.FunctionDef.name,
|
||||||
function_def->v.FunctionDef.args,
|
function_def->v.FunctionDef.args,
|
||||||
function_def->v.FunctionDef.body, decorators,
|
function_def->v.FunctionDef.body, decorators,
|
||||||
function_def->v.FunctionDef.returns,
|
function_def->v.FunctionDef.returns,
|
||||||
function_def->v.FunctionDef.type_comment, function_def->lineno,
|
function_def->v.FunctionDef.type_comment,
|
||||||
function_def->col_offset, function_def->end_lineno,
|
function_def->v.FunctionDef.type_params,
|
||||||
function_def->end_col_offset, p->arena);
|
function_def->lineno, function_def->col_offset,
|
||||||
|
function_def->end_lineno, function_def->end_col_offset, p->arena);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Construct a ClassDef equivalent to class_def, but with decorators */
|
/* Construct a ClassDef equivalent to class_def, but with decorators */
|
||||||
|
@ -776,9 +779,10 @@ _PyPegen_class_def_decorators(Parser *p, asdl_expr_seq *decorators, stmt_ty clas
|
||||||
{
|
{
|
||||||
assert(class_def != NULL);
|
assert(class_def != NULL);
|
||||||
return _PyAST_ClassDef(
|
return _PyAST_ClassDef(
|
||||||
class_def->v.ClassDef.name, class_def->v.ClassDef.type_params,
|
class_def->v.ClassDef.name,
|
||||||
class_def->v.ClassDef.bases, class_def->v.ClassDef.keywords,
|
class_def->v.ClassDef.bases, class_def->v.ClassDef.keywords,
|
||||||
class_def->v.ClassDef.body, decorators,
|
class_def->v.ClassDef.body, decorators,
|
||||||
|
class_def->v.ClassDef.type_params,
|
||||||
class_def->lineno, class_def->col_offset, class_def->end_lineno,
|
class_def->lineno, class_def->col_offset, class_def->end_lineno,
|
||||||
class_def->end_col_offset, p->arena);
|
class_def->end_col_offset, p->arena);
|
||||||
}
|
}
|
||||||
|
|
6
Parser/parser.c
generated
6
Parser/parser.c
generated
|
@ -4425,7 +4425,7 @@ class_def_raw_rule(Parser *p)
|
||||||
UNUSED(_end_lineno); // Only used by EXTRA macro
|
UNUSED(_end_lineno); // Only used by EXTRA macro
|
||||||
int _end_col_offset = _token->end_col_offset;
|
int _end_col_offset = _token->end_col_offset;
|
||||||
UNUSED(_end_col_offset); // Only used by EXTRA macro
|
UNUSED(_end_col_offset); // Only used by EXTRA macro
|
||||||
_res = _PyAST_ClassDef ( a -> v . Name . id , t , ( b ) ? ( ( expr_ty ) b ) -> v . Call . args : NULL , ( b ) ? ( ( expr_ty ) b ) -> v . Call . keywords : NULL , c , NULL , EXTRA );
|
_res = _PyAST_ClassDef ( a -> v . Name . id , ( b ) ? ( ( expr_ty ) b ) -> v . Call . args : NULL , ( b ) ? ( ( expr_ty ) b ) -> v . Call . keywords : NULL , c , NULL , t , EXTRA );
|
||||||
if (_res == NULL && PyErr_Occurred()) {
|
if (_res == NULL && PyErr_Occurred()) {
|
||||||
p->error_indicator = 1;
|
p->error_indicator = 1;
|
||||||
p->level--;
|
p->level--;
|
||||||
|
@ -4602,7 +4602,7 @@ function_def_raw_rule(Parser *p)
|
||||||
UNUSED(_end_lineno); // Only used by EXTRA macro
|
UNUSED(_end_lineno); // Only used by EXTRA macro
|
||||||
int _end_col_offset = _token->end_col_offset;
|
int _end_col_offset = _token->end_col_offset;
|
||||||
UNUSED(_end_col_offset); // Only used by EXTRA macro
|
UNUSED(_end_col_offset); // Only used by EXTRA macro
|
||||||
_res = _PyAST_FunctionDef ( n -> v . Name . id , t , ( params ) ? params : CHECK ( arguments_ty , _PyPegen_empty_arguments ( p ) ) , b , NULL , a , NEW_TYPE_COMMENT ( p , tc ) , EXTRA );
|
_res = _PyAST_FunctionDef ( n -> v . Name . id , ( params ) ? params : CHECK ( arguments_ty , _PyPegen_empty_arguments ( p ) ) , b , NULL , a , NEW_TYPE_COMMENT ( p , tc ) , t , EXTRA );
|
||||||
if (_res == NULL && PyErr_Occurred()) {
|
if (_res == NULL && PyErr_Occurred()) {
|
||||||
p->error_indicator = 1;
|
p->error_indicator = 1;
|
||||||
p->level--;
|
p->level--;
|
||||||
|
@ -4665,7 +4665,7 @@ function_def_raw_rule(Parser *p)
|
||||||
UNUSED(_end_lineno); // Only used by EXTRA macro
|
UNUSED(_end_lineno); // Only used by EXTRA macro
|
||||||
int _end_col_offset = _token->end_col_offset;
|
int _end_col_offset = _token->end_col_offset;
|
||||||
UNUSED(_end_col_offset); // Only used by EXTRA macro
|
UNUSED(_end_col_offset); // Only used by EXTRA macro
|
||||||
_res = CHECK_VERSION ( stmt_ty , 5 , "Async functions are" , _PyAST_AsyncFunctionDef ( n -> v . Name . id , t , ( params ) ? params : CHECK ( arguments_ty , _PyPegen_empty_arguments ( p ) ) , b , NULL , a , NEW_TYPE_COMMENT ( p , tc ) , EXTRA ) );
|
_res = CHECK_VERSION ( stmt_ty , 5 , "Async functions are" , _PyAST_AsyncFunctionDef ( n -> v . Name . id , ( params ) ? params : CHECK ( arguments_ty , _PyPegen_empty_arguments ( p ) ) , b , NULL , a , NEW_TYPE_COMMENT ( p , tc ) , t , EXTRA ) );
|
||||||
if (_res == NULL && PyErr_Occurred()) {
|
if (_res == NULL && PyErr_Occurred()) {
|
||||||
p->error_indicator = 1;
|
p->error_indicator = 1;
|
||||||
p->level--;
|
p->level--;
|
||||||
|
|
325
Python/Python-ast.c
generated
325
Python/Python-ast.c
generated
|
@ -409,29 +409,29 @@ static const char * const stmt_attributes[] = {
|
||||||
static PyObject* ast2obj_stmt(struct ast_state *state, void*);
|
static PyObject* ast2obj_stmt(struct ast_state *state, void*);
|
||||||
static const char * const FunctionDef_fields[]={
|
static const char * const FunctionDef_fields[]={
|
||||||
"name",
|
"name",
|
||||||
"type_params",
|
|
||||||
"args",
|
"args",
|
||||||
"body",
|
"body",
|
||||||
"decorator_list",
|
"decorator_list",
|
||||||
"returns",
|
"returns",
|
||||||
"type_comment",
|
"type_comment",
|
||||||
|
"type_params",
|
||||||
};
|
};
|
||||||
static const char * const AsyncFunctionDef_fields[]={
|
static const char * const AsyncFunctionDef_fields[]={
|
||||||
"name",
|
"name",
|
||||||
"type_params",
|
|
||||||
"args",
|
"args",
|
||||||
"body",
|
"body",
|
||||||
"decorator_list",
|
"decorator_list",
|
||||||
"returns",
|
"returns",
|
||||||
"type_comment",
|
"type_comment",
|
||||||
|
"type_params",
|
||||||
};
|
};
|
||||||
static const char * const ClassDef_fields[]={
|
static const char * const ClassDef_fields[]={
|
||||||
"name",
|
"name",
|
||||||
"type_params",
|
|
||||||
"bases",
|
"bases",
|
||||||
"keywords",
|
"keywords",
|
||||||
"body",
|
"body",
|
||||||
"decorator_list",
|
"decorator_list",
|
||||||
|
"type_params",
|
||||||
};
|
};
|
||||||
static const char * const Return_fields[]={
|
static const char * const Return_fields[]={
|
||||||
"value",
|
"value",
|
||||||
|
@ -1169,9 +1169,9 @@ init_types(struct ast_state *state)
|
||||||
"FunctionType(expr* argtypes, expr returns)");
|
"FunctionType(expr* argtypes, expr returns)");
|
||||||
if (!state->FunctionType_type) return 0;
|
if (!state->FunctionType_type) return 0;
|
||||||
state->stmt_type = make_type(state, "stmt", state->AST_type, NULL, 0,
|
state->stmt_type = make_type(state, "stmt", state->AST_type, NULL, 0,
|
||||||
"stmt = FunctionDef(identifier name, type_param* type_params, arguments args, stmt* body, expr* decorator_list, expr? returns, string? type_comment)\n"
|
"stmt = FunctionDef(identifier name, arguments args, stmt* body, expr* decorator_list, expr? returns, string? type_comment, type_param* type_params)\n"
|
||||||
" | AsyncFunctionDef(identifier name, type_param* type_params, arguments args, stmt* body, expr* decorator_list, expr? returns, string? type_comment)\n"
|
" | AsyncFunctionDef(identifier name, arguments args, stmt* body, expr* decorator_list, expr? returns, string? type_comment, type_param* type_params)\n"
|
||||||
" | ClassDef(identifier name, type_param* type_params, expr* bases, keyword* keywords, stmt* body, expr* decorator_list)\n"
|
" | ClassDef(identifier name, expr* bases, keyword* keywords, stmt* body, expr* decorator_list, type_param* type_params)\n"
|
||||||
" | Return(expr? value)\n"
|
" | Return(expr? value)\n"
|
||||||
" | Delete(expr* targets)\n"
|
" | Delete(expr* targets)\n"
|
||||||
" | Assign(expr* targets, expr value, string? type_comment)\n"
|
" | Assign(expr* targets, expr value, string? type_comment)\n"
|
||||||
|
@ -1206,7 +1206,7 @@ init_types(struct ast_state *state)
|
||||||
return 0;
|
return 0;
|
||||||
state->FunctionDef_type = make_type(state, "FunctionDef", state->stmt_type,
|
state->FunctionDef_type = make_type(state, "FunctionDef", state->stmt_type,
|
||||||
FunctionDef_fields, 7,
|
FunctionDef_fields, 7,
|
||||||
"FunctionDef(identifier name, type_param* type_params, arguments args, stmt* body, expr* decorator_list, expr? returns, string? type_comment)");
|
"FunctionDef(identifier name, arguments args, stmt* body, expr* decorator_list, expr? returns, string? type_comment, type_param* type_params)");
|
||||||
if (!state->FunctionDef_type) return 0;
|
if (!state->FunctionDef_type) return 0;
|
||||||
if (PyObject_SetAttr(state->FunctionDef_type, state->returns, Py_None) ==
|
if (PyObject_SetAttr(state->FunctionDef_type, state->returns, Py_None) ==
|
||||||
-1)
|
-1)
|
||||||
|
@ -1217,7 +1217,7 @@ init_types(struct ast_state *state)
|
||||||
state->AsyncFunctionDef_type = make_type(state, "AsyncFunctionDef",
|
state->AsyncFunctionDef_type = make_type(state, "AsyncFunctionDef",
|
||||||
state->stmt_type,
|
state->stmt_type,
|
||||||
AsyncFunctionDef_fields, 7,
|
AsyncFunctionDef_fields, 7,
|
||||||
"AsyncFunctionDef(identifier name, type_param* type_params, arguments args, stmt* body, expr* decorator_list, expr? returns, string? type_comment)");
|
"AsyncFunctionDef(identifier name, arguments args, stmt* body, expr* decorator_list, expr? returns, string? type_comment, type_param* type_params)");
|
||||||
if (!state->AsyncFunctionDef_type) return 0;
|
if (!state->AsyncFunctionDef_type) return 0;
|
||||||
if (PyObject_SetAttr(state->AsyncFunctionDef_type, state->returns, Py_None)
|
if (PyObject_SetAttr(state->AsyncFunctionDef_type, state->returns, Py_None)
|
||||||
== -1)
|
== -1)
|
||||||
|
@ -1227,7 +1227,7 @@ init_types(struct ast_state *state)
|
||||||
return 0;
|
return 0;
|
||||||
state->ClassDef_type = make_type(state, "ClassDef", state->stmt_type,
|
state->ClassDef_type = make_type(state, "ClassDef", state->stmt_type,
|
||||||
ClassDef_fields, 6,
|
ClassDef_fields, 6,
|
||||||
"ClassDef(identifier name, type_param* type_params, expr* bases, keyword* keywords, stmt* body, expr* decorator_list)");
|
"ClassDef(identifier name, expr* bases, keyword* keywords, stmt* body, expr* decorator_list, type_param* type_params)");
|
||||||
if (!state->ClassDef_type) return 0;
|
if (!state->ClassDef_type) return 0;
|
||||||
state->Return_type = make_type(state, "Return", state->stmt_type,
|
state->Return_type = make_type(state, "Return", state->stmt_type,
|
||||||
Return_fields, 1,
|
Return_fields, 1,
|
||||||
|
@ -2032,11 +2032,11 @@ _PyAST_FunctionType(asdl_expr_seq * argtypes, expr_ty returns, PyArena *arena)
|
||||||
}
|
}
|
||||||
|
|
||||||
stmt_ty
|
stmt_ty
|
||||||
_PyAST_FunctionDef(identifier name, asdl_type_param_seq * type_params,
|
_PyAST_FunctionDef(identifier name, arguments_ty args, asdl_stmt_seq * body,
|
||||||
arguments_ty args, asdl_stmt_seq * body, asdl_expr_seq *
|
asdl_expr_seq * decorator_list, expr_ty returns, string
|
||||||
decorator_list, expr_ty returns, string type_comment, int
|
type_comment, asdl_type_param_seq * type_params, int lineno,
|
||||||
lineno, int col_offset, int end_lineno, int end_col_offset,
|
int col_offset, int end_lineno, int end_col_offset, PyArena
|
||||||
PyArena *arena)
|
*arena)
|
||||||
{
|
{
|
||||||
stmt_ty p;
|
stmt_ty p;
|
||||||
if (!name) {
|
if (!name) {
|
||||||
|
@ -2054,12 +2054,12 @@ _PyAST_FunctionDef(identifier name, asdl_type_param_seq * type_params,
|
||||||
return NULL;
|
return NULL;
|
||||||
p->kind = FunctionDef_kind;
|
p->kind = FunctionDef_kind;
|
||||||
p->v.FunctionDef.name = name;
|
p->v.FunctionDef.name = name;
|
||||||
p->v.FunctionDef.type_params = type_params;
|
|
||||||
p->v.FunctionDef.args = args;
|
p->v.FunctionDef.args = args;
|
||||||
p->v.FunctionDef.body = body;
|
p->v.FunctionDef.body = body;
|
||||||
p->v.FunctionDef.decorator_list = decorator_list;
|
p->v.FunctionDef.decorator_list = decorator_list;
|
||||||
p->v.FunctionDef.returns = returns;
|
p->v.FunctionDef.returns = returns;
|
||||||
p->v.FunctionDef.type_comment = type_comment;
|
p->v.FunctionDef.type_comment = type_comment;
|
||||||
|
p->v.FunctionDef.type_params = type_params;
|
||||||
p->lineno = lineno;
|
p->lineno = lineno;
|
||||||
p->col_offset = col_offset;
|
p->col_offset = col_offset;
|
||||||
p->end_lineno = end_lineno;
|
p->end_lineno = end_lineno;
|
||||||
|
@ -2068,9 +2068,9 @@ _PyAST_FunctionDef(identifier name, asdl_type_param_seq * type_params,
|
||||||
}
|
}
|
||||||
|
|
||||||
stmt_ty
|
stmt_ty
|
||||||
_PyAST_AsyncFunctionDef(identifier name, asdl_type_param_seq * type_params,
|
_PyAST_AsyncFunctionDef(identifier name, arguments_ty args, asdl_stmt_seq *
|
||||||
arguments_ty args, asdl_stmt_seq * body, asdl_expr_seq
|
body, asdl_expr_seq * decorator_list, expr_ty returns,
|
||||||
* decorator_list, expr_ty returns, string type_comment,
|
string type_comment, asdl_type_param_seq * type_params,
|
||||||
int lineno, int col_offset, int end_lineno, int
|
int lineno, int col_offset, int end_lineno, int
|
||||||
end_col_offset, PyArena *arena)
|
end_col_offset, PyArena *arena)
|
||||||
{
|
{
|
||||||
|
@ -2090,12 +2090,12 @@ _PyAST_AsyncFunctionDef(identifier name, asdl_type_param_seq * type_params,
|
||||||
return NULL;
|
return NULL;
|
||||||
p->kind = AsyncFunctionDef_kind;
|
p->kind = AsyncFunctionDef_kind;
|
||||||
p->v.AsyncFunctionDef.name = name;
|
p->v.AsyncFunctionDef.name = name;
|
||||||
p->v.AsyncFunctionDef.type_params = type_params;
|
|
||||||
p->v.AsyncFunctionDef.args = args;
|
p->v.AsyncFunctionDef.args = args;
|
||||||
p->v.AsyncFunctionDef.body = body;
|
p->v.AsyncFunctionDef.body = body;
|
||||||
p->v.AsyncFunctionDef.decorator_list = decorator_list;
|
p->v.AsyncFunctionDef.decorator_list = decorator_list;
|
||||||
p->v.AsyncFunctionDef.returns = returns;
|
p->v.AsyncFunctionDef.returns = returns;
|
||||||
p->v.AsyncFunctionDef.type_comment = type_comment;
|
p->v.AsyncFunctionDef.type_comment = type_comment;
|
||||||
|
p->v.AsyncFunctionDef.type_params = type_params;
|
||||||
p->lineno = lineno;
|
p->lineno = lineno;
|
||||||
p->col_offset = col_offset;
|
p->col_offset = col_offset;
|
||||||
p->end_lineno = end_lineno;
|
p->end_lineno = end_lineno;
|
||||||
|
@ -2104,11 +2104,10 @@ _PyAST_AsyncFunctionDef(identifier name, asdl_type_param_seq * type_params,
|
||||||
}
|
}
|
||||||
|
|
||||||
stmt_ty
|
stmt_ty
|
||||||
_PyAST_ClassDef(identifier name, asdl_type_param_seq * type_params,
|
_PyAST_ClassDef(identifier name, asdl_expr_seq * bases, asdl_keyword_seq *
|
||||||
asdl_expr_seq * bases, asdl_keyword_seq * keywords,
|
keywords, asdl_stmt_seq * body, asdl_expr_seq * decorator_list,
|
||||||
asdl_stmt_seq * body, asdl_expr_seq * decorator_list, int
|
asdl_type_param_seq * type_params, int lineno, int col_offset,
|
||||||
lineno, int col_offset, int end_lineno, int end_col_offset,
|
int end_lineno, int end_col_offset, PyArena *arena)
|
||||||
PyArena *arena)
|
|
||||||
{
|
{
|
||||||
stmt_ty p;
|
stmt_ty p;
|
||||||
if (!name) {
|
if (!name) {
|
||||||
|
@ -2121,11 +2120,11 @@ _PyAST_ClassDef(identifier name, asdl_type_param_seq * type_params,
|
||||||
return NULL;
|
return NULL;
|
||||||
p->kind = ClassDef_kind;
|
p->kind = ClassDef_kind;
|
||||||
p->v.ClassDef.name = name;
|
p->v.ClassDef.name = name;
|
||||||
p->v.ClassDef.type_params = type_params;
|
|
||||||
p->v.ClassDef.bases = bases;
|
p->v.ClassDef.bases = bases;
|
||||||
p->v.ClassDef.keywords = keywords;
|
p->v.ClassDef.keywords = keywords;
|
||||||
p->v.ClassDef.body = body;
|
p->v.ClassDef.body = body;
|
||||||
p->v.ClassDef.decorator_list = decorator_list;
|
p->v.ClassDef.decorator_list = decorator_list;
|
||||||
|
p->v.ClassDef.type_params = type_params;
|
||||||
p->lineno = lineno;
|
p->lineno = lineno;
|
||||||
p->col_offset = col_offset;
|
p->col_offset = col_offset;
|
||||||
p->end_lineno = end_lineno;
|
p->end_lineno = end_lineno;
|
||||||
|
@ -3883,12 +3882,6 @@ ast2obj_stmt(struct ast_state *state, void* _o)
|
||||||
if (PyObject_SetAttr(result, state->name, value) == -1)
|
if (PyObject_SetAttr(result, state->name, value) == -1)
|
||||||
goto failed;
|
goto failed;
|
||||||
Py_DECREF(value);
|
Py_DECREF(value);
|
||||||
value = ast2obj_list(state, (asdl_seq*)o->v.FunctionDef.type_params,
|
|
||||||
ast2obj_type_param);
|
|
||||||
if (!value) goto failed;
|
|
||||||
if (PyObject_SetAttr(result, state->type_params, value) == -1)
|
|
||||||
goto failed;
|
|
||||||
Py_DECREF(value);
|
|
||||||
value = ast2obj_arguments(state, o->v.FunctionDef.args);
|
value = ast2obj_arguments(state, o->v.FunctionDef.args);
|
||||||
if (!value) goto failed;
|
if (!value) goto failed;
|
||||||
if (PyObject_SetAttr(result, state->args, value) == -1)
|
if (PyObject_SetAttr(result, state->args, value) == -1)
|
||||||
|
@ -3916,6 +3909,12 @@ ast2obj_stmt(struct ast_state *state, void* _o)
|
||||||
if (PyObject_SetAttr(result, state->type_comment, value) == -1)
|
if (PyObject_SetAttr(result, state->type_comment, value) == -1)
|
||||||
goto failed;
|
goto failed;
|
||||||
Py_DECREF(value);
|
Py_DECREF(value);
|
||||||
|
value = ast2obj_list(state, (asdl_seq*)o->v.FunctionDef.type_params,
|
||||||
|
ast2obj_type_param);
|
||||||
|
if (!value) goto failed;
|
||||||
|
if (PyObject_SetAttr(result, state->type_params, value) == -1)
|
||||||
|
goto failed;
|
||||||
|
Py_DECREF(value);
|
||||||
break;
|
break;
|
||||||
case AsyncFunctionDef_kind:
|
case AsyncFunctionDef_kind:
|
||||||
tp = (PyTypeObject *)state->AsyncFunctionDef_type;
|
tp = (PyTypeObject *)state->AsyncFunctionDef_type;
|
||||||
|
@ -3926,13 +3925,6 @@ ast2obj_stmt(struct ast_state *state, void* _o)
|
||||||
if (PyObject_SetAttr(result, state->name, value) == -1)
|
if (PyObject_SetAttr(result, state->name, value) == -1)
|
||||||
goto failed;
|
goto failed;
|
||||||
Py_DECREF(value);
|
Py_DECREF(value);
|
||||||
value = ast2obj_list(state,
|
|
||||||
(asdl_seq*)o->v.AsyncFunctionDef.type_params,
|
|
||||||
ast2obj_type_param);
|
|
||||||
if (!value) goto failed;
|
|
||||||
if (PyObject_SetAttr(result, state->type_params, value) == -1)
|
|
||||||
goto failed;
|
|
||||||
Py_DECREF(value);
|
|
||||||
value = ast2obj_arguments(state, o->v.AsyncFunctionDef.args);
|
value = ast2obj_arguments(state, o->v.AsyncFunctionDef.args);
|
||||||
if (!value) goto failed;
|
if (!value) goto failed;
|
||||||
if (PyObject_SetAttr(result, state->args, value) == -1)
|
if (PyObject_SetAttr(result, state->args, value) == -1)
|
||||||
|
@ -3961,6 +3953,13 @@ ast2obj_stmt(struct ast_state *state, void* _o)
|
||||||
if (PyObject_SetAttr(result, state->type_comment, value) == -1)
|
if (PyObject_SetAttr(result, state->type_comment, value) == -1)
|
||||||
goto failed;
|
goto failed;
|
||||||
Py_DECREF(value);
|
Py_DECREF(value);
|
||||||
|
value = ast2obj_list(state,
|
||||||
|
(asdl_seq*)o->v.AsyncFunctionDef.type_params,
|
||||||
|
ast2obj_type_param);
|
||||||
|
if (!value) goto failed;
|
||||||
|
if (PyObject_SetAttr(result, state->type_params, value) == -1)
|
||||||
|
goto failed;
|
||||||
|
Py_DECREF(value);
|
||||||
break;
|
break;
|
||||||
case ClassDef_kind:
|
case ClassDef_kind:
|
||||||
tp = (PyTypeObject *)state->ClassDef_type;
|
tp = (PyTypeObject *)state->ClassDef_type;
|
||||||
|
@ -3971,12 +3970,6 @@ ast2obj_stmt(struct ast_state *state, void* _o)
|
||||||
if (PyObject_SetAttr(result, state->name, value) == -1)
|
if (PyObject_SetAttr(result, state->name, value) == -1)
|
||||||
goto failed;
|
goto failed;
|
||||||
Py_DECREF(value);
|
Py_DECREF(value);
|
||||||
value = ast2obj_list(state, (asdl_seq*)o->v.ClassDef.type_params,
|
|
||||||
ast2obj_type_param);
|
|
||||||
if (!value) goto failed;
|
|
||||||
if (PyObject_SetAttr(result, state->type_params, value) == -1)
|
|
||||||
goto failed;
|
|
||||||
Py_DECREF(value);
|
|
||||||
value = ast2obj_list(state, (asdl_seq*)o->v.ClassDef.bases,
|
value = ast2obj_list(state, (asdl_seq*)o->v.ClassDef.bases,
|
||||||
ast2obj_expr);
|
ast2obj_expr);
|
||||||
if (!value) goto failed;
|
if (!value) goto failed;
|
||||||
|
@ -4001,6 +3994,12 @@ ast2obj_stmt(struct ast_state *state, void* _o)
|
||||||
if (PyObject_SetAttr(result, state->decorator_list, value) == -1)
|
if (PyObject_SetAttr(result, state->decorator_list, value) == -1)
|
||||||
goto failed;
|
goto failed;
|
||||||
Py_DECREF(value);
|
Py_DECREF(value);
|
||||||
|
value = ast2obj_list(state, (asdl_seq*)o->v.ClassDef.type_params,
|
||||||
|
ast2obj_type_param);
|
||||||
|
if (!value) goto failed;
|
||||||
|
if (PyObject_SetAttr(result, state->type_params, value) == -1)
|
||||||
|
goto failed;
|
||||||
|
Py_DECREF(value);
|
||||||
break;
|
break;
|
||||||
case Return_kind:
|
case Return_kind:
|
||||||
tp = (PyTypeObject *)state->Return_type;
|
tp = (PyTypeObject *)state->Return_type;
|
||||||
|
@ -6075,12 +6074,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena*
|
||||||
}
|
}
|
||||||
if (isinstance) {
|
if (isinstance) {
|
||||||
identifier name;
|
identifier name;
|
||||||
asdl_type_param_seq* type_params;
|
|
||||||
arguments_ty args;
|
arguments_ty args;
|
||||||
asdl_stmt_seq* body;
|
asdl_stmt_seq* body;
|
||||||
asdl_expr_seq* decorator_list;
|
asdl_expr_seq* decorator_list;
|
||||||
expr_ty returns;
|
expr_ty returns;
|
||||||
string type_comment;
|
string type_comment;
|
||||||
|
asdl_type_param_seq* type_params;
|
||||||
|
|
||||||
if (_PyObject_LookupAttr(obj, state->name, &tmp) < 0) {
|
if (_PyObject_LookupAttr(obj, state->name, &tmp) < 0) {
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -6099,42 +6098,6 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena*
|
||||||
if (res != 0) goto failed;
|
if (res != 0) goto failed;
|
||||||
Py_CLEAR(tmp);
|
Py_CLEAR(tmp);
|
||||||
}
|
}
|
||||||
if (_PyObject_LookupAttr(obj, state->type_params, &tmp) < 0) {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
if (tmp == NULL) {
|
|
||||||
PyErr_SetString(PyExc_TypeError, "required field \"type_params\" missing from FunctionDef");
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
int res;
|
|
||||||
Py_ssize_t len;
|
|
||||||
Py_ssize_t i;
|
|
||||||
if (!PyList_Check(tmp)) {
|
|
||||||
PyErr_Format(PyExc_TypeError, "FunctionDef field \"type_params\" must be a list, not a %.200s", _PyType_Name(Py_TYPE(tmp)));
|
|
||||||
goto failed;
|
|
||||||
}
|
|
||||||
len = PyList_GET_SIZE(tmp);
|
|
||||||
type_params = _Py_asdl_type_param_seq_new(len, arena);
|
|
||||||
if (type_params == NULL) goto failed;
|
|
||||||
for (i = 0; i < len; i++) {
|
|
||||||
type_param_ty val;
|
|
||||||
PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i));
|
|
||||||
if (_Py_EnterRecursiveCall(" while traversing 'FunctionDef' node")) {
|
|
||||||
goto failed;
|
|
||||||
}
|
|
||||||
res = obj2ast_type_param(state, tmp2, &val, arena);
|
|
||||||
_Py_LeaveRecursiveCall();
|
|
||||||
Py_DECREF(tmp2);
|
|
||||||
if (res != 0) goto failed;
|
|
||||||
if (len != PyList_GET_SIZE(tmp)) {
|
|
||||||
PyErr_SetString(PyExc_RuntimeError, "FunctionDef field \"type_params\" changed size during iteration");
|
|
||||||
goto failed;
|
|
||||||
}
|
|
||||||
asdl_seq_SET(type_params, i, val);
|
|
||||||
}
|
|
||||||
Py_CLEAR(tmp);
|
|
||||||
}
|
|
||||||
if (_PyObject_LookupAttr(obj, state->args, &tmp) < 0) {
|
if (_PyObject_LookupAttr(obj, state->args, &tmp) < 0) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -6258,10 +6221,46 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena*
|
||||||
if (res != 0) goto failed;
|
if (res != 0) goto failed;
|
||||||
Py_CLEAR(tmp);
|
Py_CLEAR(tmp);
|
||||||
}
|
}
|
||||||
*out = _PyAST_FunctionDef(name, type_params, args, body,
|
if (_PyObject_LookupAttr(obj, state->type_params, &tmp) < 0) {
|
||||||
decorator_list, returns, type_comment,
|
return 1;
|
||||||
lineno, col_offset, end_lineno,
|
}
|
||||||
end_col_offset, arena);
|
if (tmp == NULL) {
|
||||||
|
PyErr_SetString(PyExc_TypeError, "required field \"type_params\" missing from FunctionDef");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
int res;
|
||||||
|
Py_ssize_t len;
|
||||||
|
Py_ssize_t i;
|
||||||
|
if (!PyList_Check(tmp)) {
|
||||||
|
PyErr_Format(PyExc_TypeError, "FunctionDef field \"type_params\" must be a list, not a %.200s", _PyType_Name(Py_TYPE(tmp)));
|
||||||
|
goto failed;
|
||||||
|
}
|
||||||
|
len = PyList_GET_SIZE(tmp);
|
||||||
|
type_params = _Py_asdl_type_param_seq_new(len, arena);
|
||||||
|
if (type_params == NULL) goto failed;
|
||||||
|
for (i = 0; i < len; i++) {
|
||||||
|
type_param_ty val;
|
||||||
|
PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i));
|
||||||
|
if (_Py_EnterRecursiveCall(" while traversing 'FunctionDef' node")) {
|
||||||
|
goto failed;
|
||||||
|
}
|
||||||
|
res = obj2ast_type_param(state, tmp2, &val, arena);
|
||||||
|
_Py_LeaveRecursiveCall();
|
||||||
|
Py_DECREF(tmp2);
|
||||||
|
if (res != 0) goto failed;
|
||||||
|
if (len != PyList_GET_SIZE(tmp)) {
|
||||||
|
PyErr_SetString(PyExc_RuntimeError, "FunctionDef field \"type_params\" changed size during iteration");
|
||||||
|
goto failed;
|
||||||
|
}
|
||||||
|
asdl_seq_SET(type_params, i, val);
|
||||||
|
}
|
||||||
|
Py_CLEAR(tmp);
|
||||||
|
}
|
||||||
|
*out = _PyAST_FunctionDef(name, args, body, decorator_list, returns,
|
||||||
|
type_comment, type_params, lineno,
|
||||||
|
col_offset, end_lineno, end_col_offset,
|
||||||
|
arena);
|
||||||
if (*out == NULL) goto failed;
|
if (*out == NULL) goto failed;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -6272,12 +6271,12 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena*
|
||||||
}
|
}
|
||||||
if (isinstance) {
|
if (isinstance) {
|
||||||
identifier name;
|
identifier name;
|
||||||
asdl_type_param_seq* type_params;
|
|
||||||
arguments_ty args;
|
arguments_ty args;
|
||||||
asdl_stmt_seq* body;
|
asdl_stmt_seq* body;
|
||||||
asdl_expr_seq* decorator_list;
|
asdl_expr_seq* decorator_list;
|
||||||
expr_ty returns;
|
expr_ty returns;
|
||||||
string type_comment;
|
string type_comment;
|
||||||
|
asdl_type_param_seq* type_params;
|
||||||
|
|
||||||
if (_PyObject_LookupAttr(obj, state->name, &tmp) < 0) {
|
if (_PyObject_LookupAttr(obj, state->name, &tmp) < 0) {
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -6296,42 +6295,6 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena*
|
||||||
if (res != 0) goto failed;
|
if (res != 0) goto failed;
|
||||||
Py_CLEAR(tmp);
|
Py_CLEAR(tmp);
|
||||||
}
|
}
|
||||||
if (_PyObject_LookupAttr(obj, state->type_params, &tmp) < 0) {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
if (tmp == NULL) {
|
|
||||||
PyErr_SetString(PyExc_TypeError, "required field \"type_params\" missing from AsyncFunctionDef");
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
int res;
|
|
||||||
Py_ssize_t len;
|
|
||||||
Py_ssize_t i;
|
|
||||||
if (!PyList_Check(tmp)) {
|
|
||||||
PyErr_Format(PyExc_TypeError, "AsyncFunctionDef field \"type_params\" must be a list, not a %.200s", _PyType_Name(Py_TYPE(tmp)));
|
|
||||||
goto failed;
|
|
||||||
}
|
|
||||||
len = PyList_GET_SIZE(tmp);
|
|
||||||
type_params = _Py_asdl_type_param_seq_new(len, arena);
|
|
||||||
if (type_params == NULL) goto failed;
|
|
||||||
for (i = 0; i < len; i++) {
|
|
||||||
type_param_ty val;
|
|
||||||
PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i));
|
|
||||||
if (_Py_EnterRecursiveCall(" while traversing 'AsyncFunctionDef' node")) {
|
|
||||||
goto failed;
|
|
||||||
}
|
|
||||||
res = obj2ast_type_param(state, tmp2, &val, arena);
|
|
||||||
_Py_LeaveRecursiveCall();
|
|
||||||
Py_DECREF(tmp2);
|
|
||||||
if (res != 0) goto failed;
|
|
||||||
if (len != PyList_GET_SIZE(tmp)) {
|
|
||||||
PyErr_SetString(PyExc_RuntimeError, "AsyncFunctionDef field \"type_params\" changed size during iteration");
|
|
||||||
goto failed;
|
|
||||||
}
|
|
||||||
asdl_seq_SET(type_params, i, val);
|
|
||||||
}
|
|
||||||
Py_CLEAR(tmp);
|
|
||||||
}
|
|
||||||
if (_PyObject_LookupAttr(obj, state->args, &tmp) < 0) {
|
if (_PyObject_LookupAttr(obj, state->args, &tmp) < 0) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -6455,8 +6418,44 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena*
|
||||||
if (res != 0) goto failed;
|
if (res != 0) goto failed;
|
||||||
Py_CLEAR(tmp);
|
Py_CLEAR(tmp);
|
||||||
}
|
}
|
||||||
*out = _PyAST_AsyncFunctionDef(name, type_params, args, body,
|
if (_PyObject_LookupAttr(obj, state->type_params, &tmp) < 0) {
|
||||||
decorator_list, returns, type_comment,
|
return 1;
|
||||||
|
}
|
||||||
|
if (tmp == NULL) {
|
||||||
|
PyErr_SetString(PyExc_TypeError, "required field \"type_params\" missing from AsyncFunctionDef");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
int res;
|
||||||
|
Py_ssize_t len;
|
||||||
|
Py_ssize_t i;
|
||||||
|
if (!PyList_Check(tmp)) {
|
||||||
|
PyErr_Format(PyExc_TypeError, "AsyncFunctionDef field \"type_params\" must be a list, not a %.200s", _PyType_Name(Py_TYPE(tmp)));
|
||||||
|
goto failed;
|
||||||
|
}
|
||||||
|
len = PyList_GET_SIZE(tmp);
|
||||||
|
type_params = _Py_asdl_type_param_seq_new(len, arena);
|
||||||
|
if (type_params == NULL) goto failed;
|
||||||
|
for (i = 0; i < len; i++) {
|
||||||
|
type_param_ty val;
|
||||||
|
PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i));
|
||||||
|
if (_Py_EnterRecursiveCall(" while traversing 'AsyncFunctionDef' node")) {
|
||||||
|
goto failed;
|
||||||
|
}
|
||||||
|
res = obj2ast_type_param(state, tmp2, &val, arena);
|
||||||
|
_Py_LeaveRecursiveCall();
|
||||||
|
Py_DECREF(tmp2);
|
||||||
|
if (res != 0) goto failed;
|
||||||
|
if (len != PyList_GET_SIZE(tmp)) {
|
||||||
|
PyErr_SetString(PyExc_RuntimeError, "AsyncFunctionDef field \"type_params\" changed size during iteration");
|
||||||
|
goto failed;
|
||||||
|
}
|
||||||
|
asdl_seq_SET(type_params, i, val);
|
||||||
|
}
|
||||||
|
Py_CLEAR(tmp);
|
||||||
|
}
|
||||||
|
*out = _PyAST_AsyncFunctionDef(name, args, body, decorator_list,
|
||||||
|
returns, type_comment, type_params,
|
||||||
lineno, col_offset, end_lineno,
|
lineno, col_offset, end_lineno,
|
||||||
end_col_offset, arena);
|
end_col_offset, arena);
|
||||||
if (*out == NULL) goto failed;
|
if (*out == NULL) goto failed;
|
||||||
|
@ -6469,11 +6468,11 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena*
|
||||||
}
|
}
|
||||||
if (isinstance) {
|
if (isinstance) {
|
||||||
identifier name;
|
identifier name;
|
||||||
asdl_type_param_seq* type_params;
|
|
||||||
asdl_expr_seq* bases;
|
asdl_expr_seq* bases;
|
||||||
asdl_keyword_seq* keywords;
|
asdl_keyword_seq* keywords;
|
||||||
asdl_stmt_seq* body;
|
asdl_stmt_seq* body;
|
||||||
asdl_expr_seq* decorator_list;
|
asdl_expr_seq* decorator_list;
|
||||||
|
asdl_type_param_seq* type_params;
|
||||||
|
|
||||||
if (_PyObject_LookupAttr(obj, state->name, &tmp) < 0) {
|
if (_PyObject_LookupAttr(obj, state->name, &tmp) < 0) {
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -6492,42 +6491,6 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena*
|
||||||
if (res != 0) goto failed;
|
if (res != 0) goto failed;
|
||||||
Py_CLEAR(tmp);
|
Py_CLEAR(tmp);
|
||||||
}
|
}
|
||||||
if (_PyObject_LookupAttr(obj, state->type_params, &tmp) < 0) {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
if (tmp == NULL) {
|
|
||||||
PyErr_SetString(PyExc_TypeError, "required field \"type_params\" missing from ClassDef");
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
int res;
|
|
||||||
Py_ssize_t len;
|
|
||||||
Py_ssize_t i;
|
|
||||||
if (!PyList_Check(tmp)) {
|
|
||||||
PyErr_Format(PyExc_TypeError, "ClassDef field \"type_params\" must be a list, not a %.200s", _PyType_Name(Py_TYPE(tmp)));
|
|
||||||
goto failed;
|
|
||||||
}
|
|
||||||
len = PyList_GET_SIZE(tmp);
|
|
||||||
type_params = _Py_asdl_type_param_seq_new(len, arena);
|
|
||||||
if (type_params == NULL) goto failed;
|
|
||||||
for (i = 0; i < len; i++) {
|
|
||||||
type_param_ty val;
|
|
||||||
PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i));
|
|
||||||
if (_Py_EnterRecursiveCall(" while traversing 'ClassDef' node")) {
|
|
||||||
goto failed;
|
|
||||||
}
|
|
||||||
res = obj2ast_type_param(state, tmp2, &val, arena);
|
|
||||||
_Py_LeaveRecursiveCall();
|
|
||||||
Py_DECREF(tmp2);
|
|
||||||
if (res != 0) goto failed;
|
|
||||||
if (len != PyList_GET_SIZE(tmp)) {
|
|
||||||
PyErr_SetString(PyExc_RuntimeError, "ClassDef field \"type_params\" changed size during iteration");
|
|
||||||
goto failed;
|
|
||||||
}
|
|
||||||
asdl_seq_SET(type_params, i, val);
|
|
||||||
}
|
|
||||||
Py_CLEAR(tmp);
|
|
||||||
}
|
|
||||||
if (_PyObject_LookupAttr(obj, state->bases, &tmp) < 0) {
|
if (_PyObject_LookupAttr(obj, state->bases, &tmp) < 0) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -6672,8 +6635,44 @@ obj2ast_stmt(struct ast_state *state, PyObject* obj, stmt_ty* out, PyArena*
|
||||||
}
|
}
|
||||||
Py_CLEAR(tmp);
|
Py_CLEAR(tmp);
|
||||||
}
|
}
|
||||||
*out = _PyAST_ClassDef(name, type_params, bases, keywords, body,
|
if (_PyObject_LookupAttr(obj, state->type_params, &tmp) < 0) {
|
||||||
decorator_list, lineno, col_offset, end_lineno,
|
return 1;
|
||||||
|
}
|
||||||
|
if (tmp == NULL) {
|
||||||
|
PyErr_SetString(PyExc_TypeError, "required field \"type_params\" missing from ClassDef");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
int res;
|
||||||
|
Py_ssize_t len;
|
||||||
|
Py_ssize_t i;
|
||||||
|
if (!PyList_Check(tmp)) {
|
||||||
|
PyErr_Format(PyExc_TypeError, "ClassDef field \"type_params\" must be a list, not a %.200s", _PyType_Name(Py_TYPE(tmp)));
|
||||||
|
goto failed;
|
||||||
|
}
|
||||||
|
len = PyList_GET_SIZE(tmp);
|
||||||
|
type_params = _Py_asdl_type_param_seq_new(len, arena);
|
||||||
|
if (type_params == NULL) goto failed;
|
||||||
|
for (i = 0; i < len; i++) {
|
||||||
|
type_param_ty val;
|
||||||
|
PyObject *tmp2 = Py_NewRef(PyList_GET_ITEM(tmp, i));
|
||||||
|
if (_Py_EnterRecursiveCall(" while traversing 'ClassDef' node")) {
|
||||||
|
goto failed;
|
||||||
|
}
|
||||||
|
res = obj2ast_type_param(state, tmp2, &val, arena);
|
||||||
|
_Py_LeaveRecursiveCall();
|
||||||
|
Py_DECREF(tmp2);
|
||||||
|
if (res != 0) goto failed;
|
||||||
|
if (len != PyList_GET_SIZE(tmp)) {
|
||||||
|
PyErr_SetString(PyExc_RuntimeError, "ClassDef field \"type_params\" changed size during iteration");
|
||||||
|
goto failed;
|
||||||
|
}
|
||||||
|
asdl_seq_SET(type_params, i, val);
|
||||||
|
}
|
||||||
|
Py_CLEAR(tmp);
|
||||||
|
}
|
||||||
|
*out = _PyAST_ClassDef(name, bases, keywords, body, decorator_list,
|
||||||
|
type_params, lineno, col_offset, end_lineno,
|
||||||
end_col_offset, arena);
|
end_col_offset, arena);
|
||||||
if (*out == NULL) goto failed;
|
if (*out == NULL) goto failed;
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue