Skip to content

Commit d7590bd

Browse files
committed
fixup! control setting nodes as local outside of the constructor
1 parent 2ae573b commit d7590bd

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

astroid/raw_building.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -397,10 +397,9 @@ def _build_from_function(
397397
filename = getattr(code, "co_filename", None)
398398
if filename is None:
399399
return object_build_methoddescriptor(node, member)
400-
elif filename != getattr(module, "__file__", None):
401-
return build_dummy(member)
402-
else:
400+
if filename == getattr(module, "__file__", None):
403401
return object_build_function(node, member)
402+
return build_dummy(member)
404403

405404

406405
def _safe_has_attribute(obj, member: str) -> bool:
@@ -500,7 +499,7 @@ def object_build(
500499
if alias == "__class__" and child.parent is None:
501500
child.parent = self._done[self._module]
502501
elif inspect.ismethoddescriptor(member):
503-
child = object_build_methoddescriptor(node, member)
502+
child: nodes.NodeNG = object_build_methoddescriptor(node, member)
504503
elif inspect.isdatadescriptor(member):
505504
child = object_build_datadescriptor(node, member)
506505
elif isinstance(member, _CONSTANTS):
@@ -512,12 +511,12 @@ def object_build(
512511
# methods aren't caught by isbuiltin branch.
513512
child = _build_from_function(node, member, self._module)
514513
elif _safe_has_attribute(member, "__all__"):
515-
child = build_module(alias)
514+
child: nodes.NodeNG = build_module(alias)
516515
# recursion
517516
self.object_build(child, member)
518517
else:
519518
# create an empty node so that the name is actually defined
520-
child = build_dummy(member)
519+
child: nodes.NodeNG = build_dummy(member)
521520
if child not in node.locals.get(alias, ()):
522521
node.add_local_node(child, alias)
523522
return None

0 commit comments

Comments
 (0)