@@ -328,8 +328,6 @@ class TypeChecker(NodeVisitor[Type]):
328
328
is_stub = False
329
329
# Error message reporter
330
330
errors = None # type: Errors
331
- # SymbolNode table for the whole program
332
- symtable = None # type: SymbolTable
333
331
# Utility for generating messages
334
332
msg = None # type: MessageBuilder
335
333
# Types of type checked nodes
@@ -355,7 +353,6 @@ class TypeChecker(NodeVisitor[Type]):
355
353
# Stack of collections of variables with partial types
356
354
partial_types = None # type: List[Dict[Var, Context]]
357
355
globals = None # type: SymbolTable
358
- locals = None # type: SymbolTable
359
356
modules = None # type: Dict[str, MypyFile]
360
357
# Nodes that couldn't be checked because some types weren't available. We'll run
361
358
# another pass and try these again.
@@ -378,8 +375,7 @@ def __init__(self, errors: Errors, modules: Dict[str, MypyFile],
378
375
check_untyped_defs = False ) -> None :
379
376
"""Construct a type checker.
380
377
381
- Use errors to report type check errors. Assume symtable has been
382
- populated by the semantic analyzer.
378
+ Use errors to report type check errors.
383
379
"""
384
380
self .errors = errors
385
381
self .modules = modules
@@ -409,7 +405,6 @@ def visit_file(self, file_node: MypyFile, path: str) -> None:
409
405
self .errors .set_file (path )
410
406
self .errors .set_ignored_lines (file_node .ignored_lines )
411
407
self .globals = file_node .names
412
- self .locals = None
413
408
self .weak_opts = file_node .weak_opts
414
409
self .enter_partial_types ()
415
410
@@ -656,8 +651,6 @@ def check_func_def(self, defn: FuncItem, typ: CallableType, name: str) -> None:
656
651
else :
657
652
fdef = None
658
653
659
- self .enter ()
660
-
661
654
if fdef :
662
655
# Check if __init__ has an invalid, non-None return type.
663
656
if (fdef .info and fdef .name () == '__init__' and
@@ -740,7 +733,6 @@ def is_implicit_any(t: Type) -> bool:
740
733
741
734
self .return_types .pop ()
742
735
743
- self .leave ()
744
736
self .binder = old_binder
745
737
746
738
def check_reverse_op_method (self , defn : FuncItem , typ : CallableType ,
@@ -2241,9 +2233,7 @@ def lookup(self, name: str, kind: int) -> SymbolTableNode:
2241
2233
"""Look up a definition from the symbol table with the given name.
2242
2234
TODO remove kind argument
2243
2235
"""
2244
- if self .locals is not None and name in self .locals :
2245
- return self .locals [name ]
2246
- elif name in self .globals :
2236
+ if name in self .globals :
2247
2237
return self .globals [name ]
2248
2238
else :
2249
2239
b = self .globals .get ('__builtins__' , None )
@@ -2263,12 +2253,6 @@ def lookup_qualified(self, name: str) -> SymbolTableNode:
2263
2253
n = cast (MypyFile , n .names .get (parts [i ], None ).node )
2264
2254
return n .names [parts [- 1 ]]
2265
2255
2266
- def enter (self ) -> None :
2267
- self .locals = SymbolTable ()
2268
-
2269
- def leave (self ) -> None :
2270
- self .locals = None
2271
-
2272
2256
def enter_partial_types (self ) -> None :
2273
2257
"""Push a new scope for collecting partial types."""
2274
2258
self .partial_types .append ({})
0 commit comments