tonybaloney / CSnakes

https://tonybaloney.github.io/CSnakes/
MIT License
39 stars 6 forks source link

: Find a reference to a generator object. #146

Open github-actions[bot] opened 3 weeks ago

github-actions[bot] commented 3 weeks ago

https://github.com/tonybaloney/CSnakes/blob/90dfaa15e01d70aa43b4b200a5059ff82fb11713/src/CSnakes.Runtime/CPython/Generator.cs#L9


using CSnakes.Runtime.Python;
using System.Runtime.InteropServices;

namespace CSnakes.Runtime.CPython;
internal unsafe partial class CPythonAPI
{
    internal static bool IsPyGenerator(PyObject p)
    {
        // TODO : Find a reference to a generator object.
        return HasAttr(p, "__next__") && HasAttr(p, "send");
    }

    [LibraryImport(PythonLibraryName)]
    internal static partial nint PyGen_New(PyObject frame);
}