def build(cache, gateway): "NOT_RPYTHON" space = cache.space defs = gateway._getdefaults(space) # needs to be implemented by subclass code = gateway._code fn = FunctionWithFixedCode(space, code, None, defs, forcename = gateway.name) if not space.config.translating: # for tests and py.py fn._freeze_() if gateway.as_classmethod: fn = ClassMethod(space.wrap(fn)) return fn
def build(cache, gateway): space = cache.space defs = gateway._getdefaults(space) # needs to be implemented by subclass code = gateway._code fn = FunctionWithFixedCode(space, code, None, defs, forcename=gateway.name) if not space.config.translating: fn.add_to_table() if gateway.as_classmethod: fn = ClassMethod(space.wrap(fn)) # from pypy.module.sys.vm import exc_info if code._bltin is exc_info: assert space._code_of_sys_exc_info is None space._code_of_sys_exc_info = code # if hasattr(space, '_see_interp2app'): space._see_interp2app(gateway) # only for fake/objspace.py return fn