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

Reply via email to