# Réflexion

PyObject* `PyEval_GetBuiltins`()
  Return value: Borrowed reference.

  Renvoie un dictionnaire des fonctions natives de la frame en cours d'exécution, ou si aucune frame n'est exécutée, les fonctions natives du thread indiqué par le thread state.

PyObject* `PyEval_GetLocals`()
  Return value: Borrowed reference.

  Return a dictionary of the local variables in the current execution frame, or `NULL` if no frame is currently executing.

PyObject* `PyEval_GetGlobals`()
  Return value: Borrowed reference.

  Return a dictionary of the global variables in the current execution frame, or `NULL` if no frame is currently executing.

PyFrameObject* `PyEval_GetFrame`()
  Return value: Borrowed reference.

  Return the current thread state's frame, which is `NULL` if no frame is currently executing.

int `PyFrame_GetLineNumber`(PyFrameObject *frame)

  Renvoie le numéro de ligne que frame est en train d'exécuter

const char* `PyEval_GetFuncName`(PyObject *func)

  Renvoie le nom de func s'il s'agit d'une fonction, d'une classe ou d'un objet d'instance, sinon le nom du type de func

const char* `PyEval_GetFuncDesc`(PyObject *func)

  Renvoie une description en chaîne de caractères, en fonction du type de func. Les valeurs renvoyées peuvent être `"()"` pour les fonction et les méthodes, `\" constructor\"`, `\" instance\"`, `\" object\"`. Concaténé avec le résultat de `PyEval_GetFuncName()`, le résultat sera une description de func