Exemple #1
0
 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
Exemple #2
0
 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:
         fn.add_to_table()
     if gateway.as_classmethod:
         fn = ClassMethod(space.wrap(fn))
     return fn
Exemple #3
0
 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:
         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
     #
     return fn
Exemple #4
0
 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