Esempio n. 1
0
def unmarshal_pycode(space, u, tc):
    w_codeobj = objectmodel.instantiate(PyCode)
    u.save_ref(tc, w_codeobj)
    argcount = u.get_int()
    kwonlyargcount = u.get_int()
    nlocals = u.get_int()
    stacksize = u.get_int()
    flags = u.get_int()
    code = space.bytes_w(u.load_w_obj())
    consts_w = _unmarshal_tuple_w(u)
    names = _unmarshal_strlist(u)
    varnames = _unmarshal_strlist(u)
    freevars = _unmarshal_strlist(u)
    cellvars = _unmarshal_strlist(u)
    filename = space.utf8_0_w(u.load_w_obj())
    name = space.utf8_w(u.load_w_obj())
    firstlineno = u.get_int()
    lnotab = space.bytes_w(u.load_w_obj())
    filename = assert_str0(filename)
    PyCode.__init__(w_codeobj, space, argcount, kwonlyargcount, nlocals,
                    stacksize, flags, code, consts_w[:], names, varnames,
                    filename, name, firstlineno, lnotab, freevars, cellvars)
    return w_codeobj