⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pythontracefunction.java

📁 无线通信的主要编程软件,是无线通信工作人员的必备工具,关天相关教程我会在后续传上.
💻 JAVA
字号:
// Copyright (c) Corporation for National Research Initiativespackage org.python.core;class PythonTraceFunction extends TraceFunction{    PyObject tracefunc;    PythonTraceFunction(PyObject tracefunc) {        this.tracefunc = tracefunc;    }    private synchronized TraceFunction safeCall(PyFrame frame, String label,                                                PyObject arg)    {        ThreadState ts = Py.getThreadState();        if (ts.tracing)            return null;        if (tracefunc == null)            return null;        PyObject ret = null;        try {            ts.tracing = true;            ret = tracefunc.__call__(frame, new PyString(label), arg);        } catch (PyException exc) {            frame.tracefunc = null;            ts.systemState.tracefunc = null;            ts.systemState.profilefunc = null;            throw exc;        } finally {            ts.tracing = false;        }        if (ret == tracefunc)            return this;        if (ret == Py.None)            return null;        return new PythonTraceFunction(ret);    }    public TraceFunction traceCall(PyFrame frame) {        return safeCall(frame, "call", Py.None);    }    public TraceFunction traceReturn(PyFrame frame, PyObject ret) {        return safeCall(frame, "return", ret);    }    public TraceFunction traceLine(PyFrame frame, int line) {        return safeCall(frame, "line", Py.None);    }    public TraceFunction traceException(PyFrame frame, PyException exc) {        return safeCall(frame, "exception",                        new PyTuple(new PyObject[] {exc.type, exc.value,                                                    exc.traceback                        }));    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -