Hi, On Thu, 10 Feb 2022 at 14:03, Dmitry Kovner <dmit...@lightrun.com> wrote: > Hello! I'm trying to build a low-level C API extension of cPython to be used > in PyPy. The extension extensively uses some fields of PyCodeObject > (https://github.com/python/cpython/blob/f87e616af038ee8963185e11b96841c81e8ef15a/Include/code.h#L23): > co_firstlineno, co_stacksize, co_consts and so on. However, it seems these > fields are not defined in the similar structure of the PyPy implementation: > https://foss.heptapod.net/pypy/pypy/-/blob/branch/py3.8/pypy/module/cpyext/include/code.h#L7. > Is it possible to get values of these fields using PyPy C API somehow?
Yes, it's a limitation of PyPy not to expose these fields. If you want to write portable code that always works, the simplest is to call `PyObject_GetAttrString(code, "__consts__")` etc. Remember that you need to call `Py_DECREF()` on the result at some point. A bientôt, Armin. _______________________________________________ pypy-dev mailing list pypy-dev@python.org https://mail.python.org/mailman/listinfo/pypy-dev