@@ -19,10 +19,6 @@ class AST:
19
19
_fields : ClassVar [tuple [str , ...]]
20
20
def __init__ (self , * args : Any , ** kwargs : Any ) -> None : ...
21
21
# TODO: Not all nodes have all of the following attributes
22
- lineno : int
23
- col_offset : int
24
- end_lineno : int | None
25
- end_col_offset : int | None
26
22
type_comment : str | None
27
23
28
24
class mod (AST ): ...
@@ -55,7 +51,11 @@ class Expression(mod):
55
51
__match_args__ = ("body" ,)
56
52
body : expr
57
53
58
- class stmt (AST ): ...
54
+ class stmt (AST ):
55
+ lineno : int
56
+ col_offset : int
57
+ end_lineno : int | None
58
+ end_col_offset : int | None
59
59
60
60
class FunctionDef (stmt ):
61
61
if sys .version_info >= (3 , 12 ):
@@ -227,7 +227,12 @@ class Expr(stmt):
227
227
class Pass (stmt ): ...
228
228
class Break (stmt ): ...
229
229
class Continue (stmt ): ...
230
- class expr (AST ): ...
230
+
231
+ class expr (AST ):
232
+ lineno : int
233
+ col_offset : int
234
+ end_lineno : int | None
235
+ end_col_offset : int | None
231
236
232
237
class BoolOp (expr ):
233
238
if sys .version_info >= (3 , 10 ):
@@ -468,7 +473,11 @@ class comprehension(AST):
468
473
ifs : list [expr ]
469
474
is_async : int
470
475
471
- class excepthandler (AST ): ...
476
+ class excepthandler (AST ):
477
+ lineno : int
478
+ col_offset : int
479
+ end_lineno : int | None
480
+ end_col_offset : int | None
472
481
473
482
class ExceptHandler (excepthandler ):
474
483
if sys .version_info >= (3 , 10 ):
@@ -489,18 +498,30 @@ class arguments(AST):
489
498
defaults : list [expr ]
490
499
491
500
class arg (AST ):
501
+ lineno : int
502
+ col_offset : int
503
+ end_lineno : int | None
504
+ end_col_offset : int | None
492
505
if sys .version_info >= (3 , 10 ):
493
506
__match_args__ = ("arg" , "annotation" , "type_comment" )
494
507
arg : _Identifier
495
508
annotation : expr | None
496
509
497
510
class keyword (AST ):
511
+ lineno : int
512
+ col_offset : int
513
+ end_lineno : int | None
514
+ end_col_offset : int | None
498
515
if sys .version_info >= (3 , 10 ):
499
516
__match_args__ = ("arg" , "value" )
500
517
arg : _Identifier | None
501
518
value : expr
502
519
503
520
class alias (AST ):
521
+ lineno : int
522
+ col_offset : int
523
+ end_lineno : int | None
524
+ end_col_offset : int | None
504
525
if sys .version_info >= (3 , 10 ):
505
526
__match_args__ = ("name" , "asname" )
506
527
name : str
@@ -518,7 +539,12 @@ if sys.version_info >= (3, 10):
518
539
subject : expr
519
540
cases : list [match_case ]
520
541
521
- class pattern (AST ): ...
542
+ class pattern (AST ):
543
+ lineno : int
544
+ col_offset : int
545
+ end_lineno : int
546
+ end_col_offset : int
547
+
522
548
# Without the alias, Pyright complains variables named pattern are recursively defined
523
549
_Pattern : typing_extensions .TypeAlias = pattern
524
550
@@ -568,6 +594,8 @@ if sys.version_info >= (3, 10):
568
594
569
595
if sys .version_info >= (3 , 12 ):
570
596
class type_param (AST ):
597
+ lineno : int
598
+ col_offset : int
571
599
end_lineno : int
572
600
end_col_offset : int
573
601
0 commit comments