@@ -507,7 +507,7 @@ inline PyObject *parse_class(PyObject *kwargs, TypeTreeNodeObject *node, TypeTre
507
507
PyErr_SetString (PyExc_ValueError, " Failed to get UnknownObject class" );
508
508
goto PARSE_CLASS_CLEANUP;
509
509
}
510
- PyDict_SetItemString (kwargs, " __node__" , node-> m_Type );
510
+ PyDict_SetItemString (kwargs, " __node__" , (PyObject *) node);
511
511
}
512
512
}
513
513
@@ -542,7 +542,7 @@ inline PyObject *parse_class(PyObject *kwargs, TypeTreeNodeObject *node, TypeTre
542
542
{
543
543
Py_DECREF (clz); // 1->0
544
544
clz = PyObject_GetAttrString (config->classes , " UnknownObject" ); // 0->1
545
- PyDict_SetItemString (kwargs, " __node__" , node-> m_Type );
545
+ PyDict_SetItemString (kwargs, " __node__" , (PyObject *) node);
546
546
}
547
547
548
548
instance = PyObject_Call (clz, args, kwargs);
@@ -560,7 +560,7 @@ inline PyObject *parse_class(PyObject *kwargs, TypeTreeNodeObject *node, TypeTre
560
560
// if we still failed to create an instance, fallback to UnknownObject
561
561
Py_DECREF (clz);
562
562
clz = PyObject_GetAttrString (config->classes , " UnknownObject" );
563
- PyDict_SetItemString (kwargs, " __node__" , node-> m_Type );
563
+ PyDict_SetItemString (kwargs, " __node__" , (PyObject *) node);
564
564
// merge extras back into kwargs
565
565
pos = 0 ;
566
566
while (PyDict_Next (extras, &pos, &key, &value))
0 commit comments