@@ -397,10 +397,9 @@ def _build_from_function(
397
397
filename = getattr (code , "co_filename" , None )
398
398
if filename is None :
399
399
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 ):
403
401
return object_build_function (node , member )
402
+ return build_dummy (member )
404
403
405
404
406
405
def _safe_has_attribute (obj , member : str ) -> bool :
@@ -497,10 +496,8 @@ def object_build(
497
496
child = object_build_class (node , member )
498
497
# recursion
499
498
self .object_build (child , member )
500
- if alias == "__class__" and child .parent is None :
501
- child .parent = self ._done [self ._module ]
502
499
elif inspect .ismethoddescriptor (member ):
503
- child = object_build_methoddescriptor (node , member )
500
+ child : nodes . NodeNG = object_build_methoddescriptor (node , member )
504
501
elif inspect .isdatadescriptor (member ):
505
502
child = object_build_datadescriptor (node , member )
506
503
elif isinstance (member , _CONSTANTS ):
@@ -512,12 +509,12 @@ def object_build(
512
509
# methods aren't caught by isbuiltin branch.
513
510
child = _build_from_function (node , member , self ._module )
514
511
elif _safe_has_attribute (member , "__all__" ):
515
- child = build_module (alias )
512
+ child : nodes . NodeNG = build_module (alias )
516
513
# recursion
517
514
self .object_build (child , member )
518
515
else :
519
516
# create an empty node so that the name is actually defined
520
- child = build_dummy (member )
517
+ child : nodes . NodeNG = build_dummy (member )
521
518
if child not in node .locals .get (alias , ()):
522
519
node .add_local_node (child , alias )
523
520
return None
0 commit comments