blob: 313ac7bf5d4d7ff287d24bccb89f8b3498acc25b [file] [log] [blame]
from __pypy__ import tproxy
def make_proxy(obj, proxy):
if tproxy is None:
return proxy
def operation_handler(operation, *args, **kwargs):
if operation in ('__getattribute__', '__getattr__'):
return getattr(proxy, args[0])
elif operation == '__setattr__':
proxy.__setattr__(*args, **kwargs)
else:
return getattr(proxy, operation)(*args, **kwargs)
return tproxy(type(obj), operation_handler)