1 /** 2 Mirror _traceback.h 3 4 Traceback interface 5 */ 6 module deimos.python.traceback; 7 8 import deimos.python.pyport; 9 import deimos.python.object; 10 import deimos.python.frameobject; 11 12 extern(C): 13 // Python-header-file: Include/traceback.h: 14 15 /// _ 16 struct PyTracebackObject { 17 mixin PyObject_HEAD; 18 19 /// _ 20 PyTracebackObject* tb_next; 21 /// _ 22 PyFrameObject* tb_frame; 23 /// _ 24 int tb_lasti; 25 /// _ 26 int tb_lineno; 27 } 28 29 /// _ 30 int PyTraceBack_Here(PyFrameObject*); 31 /// _ 32 int PyTraceBack_Print(PyObject*, PyObject*); 33 version(Python_3_2_Or_Later) { 34 /// Availability: >= 3.2 35 int _Py_DisplaySourceLine(PyObject*, PyObject*, int, int); 36 }else version(Python_2_6_Or_Later){ 37 /// Availability: 2.6, 2.7, 3.0 38 int _Py_DisplaySourceLine(PyObject*, const(char)*, int, int); 39 } 40 41 /// _ 42 mixin(PyAPI_DATA!"PyTypeObject PyTraceBack_Type"); 43 44 // D translation of C macro: 45 /// _ 46 int PyTraceBack_Check()(PyObject* v) { 47 return v.ob_type == &PyTraceBack_Type; 48 } 49 50