@@ -426,8 +426,8 @@ def visit(self, node: AST | None) -> Any:
426426def set_line (self ,node :N ,n :AstNode )-> N :
427427node .line = n .lineno
428428node .column = n .col_offset
429- node .end_line = getattr ( n , " end_lineno" , None )
430- node .end_column = getattr ( n , " end_col_offset" , None )
429+ node .end_line = n . end_lineno
430+ node .end_column = n . end_col_offset
431431
432432return node
433433
@@ -586,8 +586,8 @@ def set_block_lines(self, b: Block, stmts: Sequence[ast3.stmt]) -> None:
586586first ,last = stmts [0 ],stmts [- 1 ]
587587b .line = first .lineno
588588b .column = first .col_offset
589- b .end_line = getattr ( last , " end_lineno" , None )
590- b .end_column = getattr ( last , " end_col_offset" , None )
589+ b .end_line = last . end_lineno
590+ b .end_column = last . end_col_offset
591591if not b .body :
592592return
593593new_first = b .body [0 ]
@@ -1030,8 +1030,8 @@ def do_func_def(
10301030 )
10311031
10321032# End position is always the same.
1033- end_line = getattr ( n , " end_lineno" , None )
1034- end_column = getattr ( n , " end_col_offset" , None )
1033+ end_line = n . end_lineno
1034+ end_column = n . end_col_offset
10351035
10361036self .class_and_function_stack .pop ()
10371037self .class_and_function_stack .append ("F" )
@@ -1079,7 +1079,7 @@ def transform_args(
10791079 )-> list [Argument ]:
10801080new_args = []
10811081names :list [ast3 .arg ]= []
1082- posonlyargs = getattr ( args , "posonlyargs" , cast ( list [ ast3 . arg ], []))
1082+ posonlyargs = args . posonlyargs
10831083args_args = posonlyargs + args .args
10841084args_defaults = args .defaults
10851085num_no_defaults = len (args_args )- len (args_defaults )
@@ -1149,12 +1149,7 @@ def make_argument(
11491149var = Var (arg .arg ,arg_type )
11501150var .is_inferred = False
11511151argument = Argument (var ,arg_type ,self .visit (default ),kind ,pos_only )
1152- argument .set_line (
1153- arg .lineno ,
1154- arg .col_offset ,
1155- getattr (arg ,"end_lineno" ,None ),
1156- getattr (arg ,"end_col_offset" ,None ),
1157- )
1152+ argument .set_line (arg .lineno ,arg .col_offset ,arg .end_lineno ,arg .end_col_offset )
11581153return argument
11591154
11601155def fail_arg (self ,msg :str ,arg :ast3 .arg )-> None :
@@ -1190,8 +1185,8 @@ def visit_ClassDef(self, n: ast3.ClassDef) -> ClassDef:
11901185if self .options .include_docstrings :
11911186cdef .docstring = ast3 .get_docstring (n ,clean = False )
11921187cdef .column = n .col_offset
1193- cdef .end_line = getattr ( n , " end_lineno" , None )
1194- cdef .end_column = getattr ( n , " end_col_offset" , None )
1188+ cdef .end_line = n . end_lineno
1189+ cdef .end_column = n . end_col_offset
11951190self .class_and_function_stack .pop ()
11961191return cdef
11971192
@@ -2113,8 +2108,8 @@ def visit_Subscript(self, n: ast3.Subscript) -> Type:
21132108column = value .column ,
21142109empty_tuple_index = empty_tuple_index ,
21152110 )
2116- result .end_column = getattr ( n , " end_col_offset" , None )
2117- result .end_line = getattr ( n , " end_lineno" , None )
2111+ result .end_column = n . end_col_offset
2112+ result .end_line = n . end_lineno
21182113return result
21192114else :
21202115return self .invalid_type (n )