@@ -5928,8 +5928,7 @@ def visit_member_expr(self, expr: MemberExpr) -> None:
5928
5928
if isinstance (sym .node , PlaceholderNode ):
5929
5929
self .process_placeholder (expr .name , "attribute" , expr )
5930
5930
return
5931
- if sym .node is not None :
5932
- self .record_imported_symbol (sym .node )
5931
+ self .record_imported_symbol (sym )
5933
5932
expr .kind = sym .kind
5934
5933
expr .fullname = sym .fullname or ""
5935
5934
expr .node = sym .node
@@ -5960,7 +5959,7 @@ def visit_member_expr(self, expr: MemberExpr) -> None:
5960
5959
if type_info :
5961
5960
n = type_info .names .get (expr .name )
5962
5961
if n is not None and isinstance (n .node , (MypyFile , TypeInfo , TypeAlias )):
5963
- self .record_imported_symbol (n . node )
5962
+ self .record_imported_symbol (n )
5964
5963
expr .kind = n .kind
5965
5964
expr .fullname = n .fullname or ""
5966
5965
expr .node = n .node
@@ -6282,14 +6281,17 @@ def lookup(
6282
6281
self , name : str , ctx : Context , suppress_errors : bool = False
6283
6282
) -> SymbolTableNode | None :
6284
6283
node = self ._lookup (name , ctx , suppress_errors )
6285
- if node is not None and node . node is not None :
6284
+ if node is not None :
6286
6285
# This call is unfortunate from performance point of view, but
6287
6286
# needed for rare cases like e.g. testIncrementalChangingAlias.
6288
- self .record_imported_symbol (node . node )
6287
+ self .record_imported_symbol (node )
6289
6288
return node
6290
6289
6291
- def record_imported_symbol (self , node : SymbolNode ) -> None :
6290
+ def record_imported_symbol (self , sym : SymbolTableNode ) -> None :
6292
6291
"""If the symbol was not defined in current module, add its module to module_refs."""
6292
+ if sym .kind == LDEF or sym .node is None :
6293
+ return
6294
+ node = sym .node
6293
6295
if not node .fullname :
6294
6296
return
6295
6297
if isinstance (node , MypyFile ):
@@ -6519,8 +6521,8 @@ def lookup_qualified(
6519
6521
self .name_not_defined (name , ctx , namespace = namespace )
6520
6522
return None
6521
6523
sym = nextsym
6522
- if sym is not None and sym . node is not None :
6523
- self .record_imported_symbol (sym . node )
6524
+ if sym is not None :
6525
+ self .record_imported_symbol (sym )
6524
6526
return sym
6525
6527
6526
6528
def lookup_type_node (self , expr : Expression ) -> SymbolTableNode | None :
0 commit comments