summaryrefslogtreecommitdiffstats
path: root/Doc/c-api/reflection.rst
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/c-api/reflection.rst')
-rw-r--r--Doc/c-api/reflection.rst50
1 files changed, 50 insertions, 0 deletions
diff --git a/Doc/c-api/reflection.rst b/Doc/c-api/reflection.rst
new file mode 100644
index 0000000..8a96ce3
--- /dev/null
+++ b/Doc/c-api/reflection.rst
@@ -0,0 +1,50 @@
+.. highlightlang:: c
+
+.. _reflection:
+
+Reflection
+==========
+
+.. cfunction:: PyObject* PyEval_GetBuiltins()
+
+ Return a dictionary of the builtins in the current execution frame,
+ or the interpreter of the thread state if no frame is currently executing.
+
+
+.. cfunction:: PyObject* PyEval_GetLocals()
+
+ Return a dictionary of the local variables in the current execution frame,
+ or *NULL* if no frame is currently executing.
+
+
+.. cfunction:: PyObject* PyEval_GetGlobals()
+
+ Return a dictionary of the global variables in the current execution frame,
+ or *NULL* if no frame is currently executing.
+
+
+.. cfunction:: PyFrameObject* PyEval_GetFrame()
+
+ Return the current thread state's frame, which is *NULL* if no frame is
+ currently executing.
+
+
+.. cfunction:: int PyEval_GetRestricted()
+
+ If there is a current frame and it is executing in restricted mode, return true,
+ otherwise false.
+
+
+.. cfunction:: const char* PyEval_GetFuncName(PyObject *func)
+
+ Return the name of *func* if it is a function, class or instance object, else the
+ name of *func*\s type.
+
+
+.. cfunction:: const char* PyEval_GetFuncDesc(PyObject *func)
+
+ Return a description string, depending on the type of *func*.
+ Return values include "()" for functions and methods, " constructor",
+ " instance", and " object". Concatenated with the result of
+ :cfunc:`PyEval_GetFuncName`, the result will be a description of
+ *func*.