def infer_call_result(self, caller, context):
<EOL>if (<EOL>self._proxied.name == "<STR_LIT>"<EOL>and self._proxied.parent.frame().qname() == "<STR_LIT>" % BUILTINS<EOL>):<EOL><INDENT>if caller.args:<EOL><INDENT>node_context = context.extra_context.get(caller.args[<NUM_LIT:0>])<EOL>infer = caller.args[<NUM_LIT:0>].infer(context=node_context)<EOL><DEDENT>else:<EOL><INDENT>infer = []<EOL><DEDENT>return (Instance(x) if x is not util.Uninferable else x for x in infer)<EOL><DEDENT>return self._proxied.infer_call_result(caller, context)<EOL>
The boundnode of the regular context with a function called
on ``object.__new__`` will be of type ``object``,
which is incorrect for the argument in general.
If no context is given the ``object.__new__`` call argument will
correctly inferred except when inside a call that requires
the additional context (such as a classmethod) of the boundnode
to determine which class the method was called from