def infer_getattr(self, context=None):
 for owner in self.expr.infer(context):
  if (owner is YES):
   (yield owner)
   continue
  try:
   context.boundnode = owner
   for obj in owner.igetattr(self.attrname, context):
    (yield obj)
   context.boundnode = None
  except (NotFoundError, InferenceError):
   context.boundnode = None
  except AttributeError:
   context.boundnode = None

def infer_getattr ( self , context = None ) : for owner in self . expr . infer ( context ) : if ( owner is YES ) : ( yield owner ) continue try : context . boundnode = owner for obj in owner . igetattr ( self . attrname , context ) : ( yield obj ) context . boundnode = None except ( NotFoundError , InferenceError ) : context . boundnode = None except AttributeError : context . boundnode = None
infer a getattr node by using getattr on the associated object .