Blender V5.0
bpy_traceback.cc File Reference
#include <Python.h>
#include <frameobject.h>
#include "BLI_path_utils.hh"
#include "BLI_utildefines.h"
#include "bpy_traceback.hh"

Go to the source code of this file.

Macros

#define MAKE_PY_IDENTIFIER_EX(varname, value)
#define MAKE_PY_IDENTIFIER(varname)

Functions

 MAKE_PY_IDENTIFIER (msg)
 MAKE_PY_IDENTIFIER (filename)
 MAKE_PY_IDENTIFIER (lineno)
 MAKE_PY_IDENTIFIER (offset)
 MAKE_PY_IDENTIFIER (end_lineno)
 MAKE_PY_IDENTIFIER (end_offset)
 MAKE_PY_IDENTIFIER (tb_lineno)
 MAKE_PY_IDENTIFIER (text)
static const char * traceback_filepath (PyTracebackObject *tb, PyObject **r_coerce)
static int traceback_line_number (PyTracebackObject *tb)
static int parse_syntax_error (PyObject *err, PyObject **message, PyObject **filename, int *lineno, int *offset, int *end_lineno, int *end_offset, PyObject **text)
bool python_script_error_jump (const char *filepath, int *r_lineno, int *r_offset, int *r_lineno_end, int *r_offset_end)

Detailed Description

This file contains utility functions for getting data from a python stack trace.

Definition in file bpy_traceback.cc.

Macro Definition Documentation

◆ MAKE_PY_IDENTIFIER

#define MAKE_PY_IDENTIFIER ( varname)

◆ MAKE_PY_IDENTIFIER_EX

#define MAKE_PY_IDENTIFIER_EX ( varname,
value )
Value:
static _Py_Identifier varname{value, -1};

Definition at line 23 of file bpy_traceback.cc.

Function Documentation

◆ MAKE_PY_IDENTIFIER() [1/8]

MAKE_PY_IDENTIFIER ( end_lineno )

References MAKE_PY_IDENTIFIER.

◆ MAKE_PY_IDENTIFIER() [2/8]

MAKE_PY_IDENTIFIER ( end_offset )

References MAKE_PY_IDENTIFIER.

◆ MAKE_PY_IDENTIFIER() [3/8]

MAKE_PY_IDENTIFIER ( filename )

References MAKE_PY_IDENTIFIER.

◆ MAKE_PY_IDENTIFIER() [4/8]

MAKE_PY_IDENTIFIER ( lineno )

References MAKE_PY_IDENTIFIER.

◆ MAKE_PY_IDENTIFIER() [5/8]

MAKE_PY_IDENTIFIER ( msg )

References MAKE_PY_IDENTIFIER.

◆ MAKE_PY_IDENTIFIER() [6/8]

MAKE_PY_IDENTIFIER ( offset )

References MAKE_PY_IDENTIFIER.

◆ MAKE_PY_IDENTIFIER() [7/8]

MAKE_PY_IDENTIFIER ( tb_lineno )

References MAKE_PY_IDENTIFIER.

◆ MAKE_PY_IDENTIFIER() [8/8]

MAKE_PY_IDENTIFIER ( text )

References MAKE_PY_IDENTIFIER.

◆ parse_syntax_error()

int parse_syntax_error ( PyObject * err,
PyObject ** message,
PyObject ** filename,
int * lineno,
int * offset,
int * end_lineno,
int * end_offset,
PyObject ** text )
static

Definition at line 71 of file bpy_traceback.cc.

References Py_DECREF(), and v.

Referenced by python_script_error_jump().

◆ python_script_error_jump()

bool python_script_error_jump ( const char * filepath,
int * r_lineno,
int * r_offset,
int * r_lineno_end,
int * r_offset_end )
nodiscard

◆ traceback_filepath()

const char * traceback_filepath ( PyTracebackObject * tb,
PyObject ** r_coerce )
static

Definition at line 36 of file bpy_traceback.cc.

References traceback_filepath().

Referenced by python_script_error_jump(), and traceback_filepath().

◆ traceback_line_number()

int traceback_line_number ( PyTracebackObject * tb)
static

Return the line number from the trace-back, -1 on failure.

Definition at line 44 of file bpy_traceback.cc.

References Py_DECREF().

Referenced by python_script_error_jump().