mirror of
https://github.com/python/cpython.git
synced 2025-07-09 20:35:26 +00:00

This converts functions, code, str, bytes, bytearray, and memoryview objects to PyCodeObject, and ensure that the object looks like a script. That means no args, no return, and no closure. _PyCode_GetPureScriptXIData() takes it a step further and ensures there are no globals. We also add _PyObject_SupportedAsScript() to the internal C-API.
40 lines
810 B
C
40 lines
810 B
C
#ifndef Py_INTERNAL_PYTHONRUN_H
|
|
#define Py_INTERNAL_PYTHONRUN_H
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#ifndef Py_BUILD_CORE
|
|
# error "this header requires Py_BUILD_CORE define"
|
|
#endif
|
|
|
|
extern int _PyRun_SimpleFileObject(
|
|
FILE *fp,
|
|
PyObject *filename,
|
|
int closeit,
|
|
PyCompilerFlags *flags);
|
|
|
|
extern int _PyRun_AnyFileObject(
|
|
FILE *fp,
|
|
PyObject *filename,
|
|
int closeit,
|
|
PyCompilerFlags *flags);
|
|
|
|
extern int _PyRun_InteractiveLoopObject(
|
|
FILE *fp,
|
|
PyObject *filename,
|
|
PyCompilerFlags *flags);
|
|
|
|
extern int _PyObject_SupportedAsScript(PyObject *);
|
|
extern const char* _Py_SourceAsString(
|
|
PyObject *cmd,
|
|
const char *funcname,
|
|
const char *what,
|
|
PyCompilerFlags *cf,
|
|
PyObject **cmd_copy);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif // !Py_INTERNAL_PYTHONRUN_H
|
|
|