1991-02-19 20:39:46 +08:00
|
|
|
|
2000-07-09 07:37:28 +08:00
|
|
|
#ifndef Py_TRACEBACK_H
|
|
|
|
#define Py_TRACEBACK_H
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2004-03-22 02:37:23 +08:00
|
|
|
struct _frame;
|
|
|
|
|
1990-12-20 23:06:42 +08:00
|
|
|
/* Traceback interface */
|
|
|
|
|
2004-03-22 02:37:23 +08:00
|
|
|
typedef struct _traceback {
|
2010-06-18 07:08:50 +08:00
|
|
|
PyObject_HEAD
|
|
|
|
struct _traceback *tb_next;
|
|
|
|
struct _frame *tb_frame;
|
|
|
|
int tb_lasti;
|
|
|
|
int tb_lineno;
|
2004-03-22 02:37:23 +08:00
|
|
|
} PyTracebackObject;
|
1994-12-30 23:33:50 +08:00
|
|
|
|
2002-08-12 15:21:58 +08:00
|
|
|
PyAPI_FUNC(int) PyTraceBack_Here(struct _frame *);
|
|
|
|
PyAPI_FUNC(int) PyTraceBack_Print(PyObject *, PyObject *);
|
2010-06-18 07:08:50 +08:00
|
|
|
PyAPI_FUNC(int) _Py_DisplaySourceLine(PyObject *, PyObject *, int, int);
|
1993-07-28 17:05:47 +08:00
|
|
|
|
2002-03-20 00:02:35 +08:00
|
|
|
/* Reveal traceback type so we can typecheck traceback objects */
|
2002-08-12 15:21:58 +08:00
|
|
|
PyAPI_DATA(PyTypeObject) PyTraceBack_Type;
|
2007-12-19 10:45:37 +08:00
|
|
|
#define PyTraceBack_Check(v) (Py_TYPE(v) == &PyTraceBack_Type)
|
1995-07-18 22:21:06 +08:00
|
|
|
|
1993-07-28 17:05:47 +08:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif /* !Py_TRACEBACK_H */
|