72 int lineOffset)
const {
74 PyCompilerFlags compileFlags;
75 compileFlags.cf_flags = flags;
77 Py_CompileStringFlags(codeStr.toUtf8().constData(), filename.toUtf8().constData(), Py_file_input, &compileFlags);
83 return PyEval_EvalCode(
CODE_OBJECT(compiledCode), globals, globals);
86 ScriptEditorDetails editor_details{
m_editor, lineOffset};
87 const auto coFileObject = ((PyCodeObject *)compiledCode)->co_filename;
88 const auto posIter = EDITOR_LOOKUP.insert(coFileObject, editor_details);
89 PyEval_SetTrace((Py_tracefunc)&traceLineNumber,
nullptr);
90 const auto result = PyEval_EvalCode(
CODE_OBJECT(compiledCode), globals, globals);
91 PyEval_SetTrace(
nullptr,
nullptr);
92 EDITOR_LOOKUP.erase(posIter);