def _wrap_attr(self, attrs, context=None):
for attr in attrs:<EOL><INDENT>if isinstance(attr, UnboundMethod):<EOL><INDENT>if _is_property(attr):<EOL><INDENT>yield from attr.infer_call_result(self, context)<EOL><DEDENT>else:<EOL><INDENT>yield BoundMethod(attr, self)<EOL><DEDENT><DEDENT>elif hasattr(attr, "<STR_LIT:name>") and attr.name == "<STR_LIT>":<EOL><INDENT>if attr.args.args and attr.args.args[<NUM_LIT:0>].name == "<STR_LIT>":<EOL><INDENT>yield BoundMethod(attr, self)<EOL>continue<EOL><DEDENT>yield attr<EOL><DEDENT>else:<EOL><INDENT>yield attr<EOL><DEDENT><DEDENT>
wrap bound methods of attrs in a InstanceMethod proxies