Edit File by line
/home/barbar84/public_h.../wp-conte.../plugins/sujqvwi/ExeBy/smexe_ro.../usr/include/python3....
File: frameobject.h
[0] Fix | Delete
/* Frame object interface */
[1] Fix | Delete
[2] Fix | Delete
#ifndef Py_LIMITED_API
[3] Fix | Delete
#ifndef Py_FRAMEOBJECT_H
[4] Fix | Delete
#define Py_FRAMEOBJECT_H
[5] Fix | Delete
#ifdef __cplusplus
[6] Fix | Delete
extern "C" {
[7] Fix | Delete
#endif
[8] Fix | Delete
[9] Fix | Delete
typedef struct {
[10] Fix | Delete
int b_type; /* what kind of block this is */
[11] Fix | Delete
int b_handler; /* where to jump to find handler */
[12] Fix | Delete
int b_level; /* value stack level to pop to */
[13] Fix | Delete
} PyTryBlock;
[14] Fix | Delete
[15] Fix | Delete
typedef struct _frame {
[16] Fix | Delete
PyObject_VAR_HEAD
[17] Fix | Delete
struct _frame *f_back; /* previous frame, or NULL */
[18] Fix | Delete
PyCodeObject *f_code; /* code segment */
[19] Fix | Delete
PyObject *f_builtins; /* builtin symbol table (PyDictObject) */
[20] Fix | Delete
PyObject *f_globals; /* global symbol table (PyDictObject) */
[21] Fix | Delete
PyObject *f_locals; /* local symbol table (any mapping) */
[22] Fix | Delete
PyObject **f_valuestack; /* points after the last local */
[23] Fix | Delete
/* Next free slot in f_valuestack. Frame creation sets to f_valuestack.
[24] Fix | Delete
Frame evaluation usually NULLs it, but a frame that yields sets it
[25] Fix | Delete
to the current stack top. */
[26] Fix | Delete
PyObject **f_stacktop;
[27] Fix | Delete
PyObject *f_trace; /* Trace function */
[28] Fix | Delete
[29] Fix | Delete
/* In a generator, we need to be able to swap between the exception
[30] Fix | Delete
state inside the generator and the exception state of the calling
[31] Fix | Delete
frame (which shouldn't be impacted when the generator "yields"
[32] Fix | Delete
from an except handler).
[33] Fix | Delete
These three fields exist exactly for that, and are unused for
[34] Fix | Delete
non-generator frames. See the save_exc_state and swap_exc_state
[35] Fix | Delete
functions in ceval.c for details of their use. */
[36] Fix | Delete
PyObject *f_exc_type, *f_exc_value, *f_exc_traceback;
[37] Fix | Delete
/* Borrowed reference to a generator, or NULL */
[38] Fix | Delete
PyObject *f_gen;
[39] Fix | Delete
[40] Fix | Delete
int f_lasti; /* Last instruction if called */
[41] Fix | Delete
/* Call PyFrame_GetLineNumber() instead of reading this field
[42] Fix | Delete
directly. As of 2.3 f_lineno is only valid when tracing is
[43] Fix | Delete
active (i.e. when f_trace is set). At other times we use
[44] Fix | Delete
PyCode_Addr2Line to calculate the line from the current
[45] Fix | Delete
bytecode index. */
[46] Fix | Delete
int f_lineno; /* Current line number */
[47] Fix | Delete
int f_iblock; /* index in f_blockstack */
[48] Fix | Delete
char f_executing; /* whether the frame is still executing */
[49] Fix | Delete
PyTryBlock f_blockstack[CO_MAXBLOCKS]; /* for try and loop blocks */
[50] Fix | Delete
PyObject *f_localsplus[1]; /* locals+stack, dynamically sized */
[51] Fix | Delete
} PyFrameObject;
[52] Fix | Delete
[53] Fix | Delete
[54] Fix | Delete
/* Standard object interface */
[55] Fix | Delete
[56] Fix | Delete
PyAPI_DATA(PyTypeObject) PyFrame_Type;
[57] Fix | Delete
[58] Fix | Delete
#define PyFrame_Check(op) (Py_TYPE(op) == &PyFrame_Type)
[59] Fix | Delete
[60] Fix | Delete
PyAPI_FUNC(PyFrameObject *) PyFrame_New(PyThreadState *, PyCodeObject *,
[61] Fix | Delete
PyObject *, PyObject *);
[62] Fix | Delete
[63] Fix | Delete
[64] Fix | Delete
/* The rest of the interface is specific for frame objects */
[65] Fix | Delete
[66] Fix | Delete
/* Block management functions */
[67] Fix | Delete
[68] Fix | Delete
PyAPI_FUNC(void) PyFrame_BlockSetup(PyFrameObject *, int, int, int);
[69] Fix | Delete
PyAPI_FUNC(PyTryBlock *) PyFrame_BlockPop(PyFrameObject *);
[70] Fix | Delete
[71] Fix | Delete
/* Extend the value stack */
[72] Fix | Delete
[73] Fix | Delete
PyAPI_FUNC(PyObject **) PyFrame_ExtendStack(PyFrameObject *, int, int);
[74] Fix | Delete
[75] Fix | Delete
/* Conversions between "fast locals" and locals in dictionary */
[76] Fix | Delete
[77] Fix | Delete
PyAPI_FUNC(void) PyFrame_LocalsToFast(PyFrameObject *, int);
[78] Fix | Delete
[79] Fix | Delete
PyAPI_FUNC(int) PyFrame_FastToLocalsWithError(PyFrameObject *f);
[80] Fix | Delete
PyAPI_FUNC(void) PyFrame_FastToLocals(PyFrameObject *);
[81] Fix | Delete
[82] Fix | Delete
PyAPI_FUNC(int) PyFrame_ClearFreeList(void);
[83] Fix | Delete
[84] Fix | Delete
PyAPI_FUNC(void) _PyFrame_DebugMallocStats(FILE *out);
[85] Fix | Delete
[86] Fix | Delete
/* Return the line of code the frame is currently executing. */
[87] Fix | Delete
PyAPI_FUNC(int) PyFrame_GetLineNumber(PyFrameObject *);
[88] Fix | Delete
[89] Fix | Delete
#ifdef __cplusplus
[90] Fix | Delete
}
[91] Fix | Delete
#endif
[92] Fix | Delete
#endif /* !Py_FRAMEOBJECT_H */
[93] Fix | Delete
#endif /* Py_LIMITED_API */
[94] Fix | Delete
[95] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function