Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitbc47274

Browse files
authored
Remove dynamic attribute lookups in fastparse (#20422)
1 parentd06d3d9 commitbc47274

File tree

1 file changed

+12
-17
lines changed

1 file changed

+12
-17
lines changed

‎mypy/fastparse.py‎

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -426,8 +426,8 @@ def visit(self, node: AST | None) -> Any:
426426
defset_line(self,node:N,n:AstNode)->N:
427427
node.line=n.lineno
428428
node.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

432432
returnnode
433433

@@ -586,8 +586,8 @@ def set_block_lines(self, b: Block, stmts: Sequence[ast3.stmt]) -> None:
586586
first,last=stmts[0],stmts[-1]
587587
b.line=first.lineno
588588
b.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
591591
ifnotb.body:
592592
return
593593
new_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

10361036
self.class_and_function_stack.pop()
10371037
self.class_and_function_stack.append("F")
@@ -1079,7 +1079,7 @@ def transform_args(
10791079
)->list[Argument]:
10801080
new_args= []
10811081
names:list[ast3.arg]= []
1082-
posonlyargs=getattr(args,"posonlyargs",cast(list[ast3.arg], []))
1082+
posonlyargs=args.posonlyargs
10831083
args_args=posonlyargs+args.args
10841084
args_defaults=args.defaults
10851085
num_no_defaults=len(args_args)-len(args_defaults)
@@ -1149,12 +1149,7 @@ def make_argument(
11491149
var=Var(arg.arg,arg_type)
11501150
var.is_inferred=False
11511151
argument=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)
11581153
returnargument
11591154

11601155
deffail_arg(self,msg:str,arg:ast3.arg)->None:
@@ -1190,8 +1185,8 @@ def visit_ClassDef(self, n: ast3.ClassDef) -> ClassDef:
11901185
ifself.options.include_docstrings:
11911186
cdef.docstring=ast3.get_docstring(n,clean=False)
11921187
cdef.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
11951190
self.class_and_function_stack.pop()
11961191
returncdef
11971192

@@ -2113,8 +2108,8 @@ def visit_Subscript(self, n: ast3.Subscript) -> Type:
21132108
column=value.column,
21142109
empty_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
21182113
returnresult
21192114
else:
21202115
returnself.invalid_type(n)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp