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

📄 pytablecode.java

📁 无线通信的主要编程软件,是无线通信工作人员的必备工具,关天相关教程我会在后续传上.
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            //Add another traceback object to the exception if needed            if (e.traceback.tb_frame != frame) {                PyTraceback tb = new PyTraceback(e.traceback.tb_frame.f_back);                tb.tb_next = e.traceback;                e.traceback = tb;            }            frame.f_lasti = -1;            if (frame.tracefunc != null) {                frame.tracefunc.traceException(frame, e);            }            if (ss.profilefunc != null) {                ss.profilefunc.traceException(frame, e);            }            //Rethrow the exception to the next stack frame            ts.exception = previous_exception;            ts.frame = ts.frame.f_back;            throw e;        }        if (frame.tracefunc != null) {            frame.tracefunc.traceReturn(frame, ret);        }        // Handle trace function for profiling        if (ss.profilefunc != null) {            ss.profilefunc.traceReturn(frame, ret);        }        // Restore previously defined exception        ts.exception = previous_exception;        ts.frame = ts.frame.f_back;        return ret;    }    public PyObject call(PyObject globals, PyObject[] defaults,                         PyObject closure)    {        if (co_argcount != 0 || args || keywords)            return call(Py.EmptyObjects, Py.NoKeywords, globals, defaults,                        closure);        PyFrame frame = new PyFrame(this, globals);        if ((co_flags & CO_GENERATOR) != 0) {            return new PyGenerator(frame, closure);        }        return call(frame, closure);    }    public PyObject call(PyObject arg1, PyObject globals, PyObject[] defaults,                         PyObject closure)    {        if (co_argcount != 1 || args || keywords)            return call(new PyObject[] {arg1},                        Py.NoKeywords, globals, defaults, closure);        PyFrame frame = new PyFrame(this, globals);        frame.f_fastlocals[0] = arg1;        if ((co_flags & CO_GENERATOR) != 0) {            return new PyGenerator(frame, closure);        }        return call(frame, closure);    }    public PyObject call(PyObject arg1, PyObject arg2, PyObject globals,                         PyObject[] defaults, PyObject closure)    {        if (co_argcount != 2 || args || keywords)            return call(new PyObject[] {arg1, arg2},                        Py.NoKeywords, globals, defaults, closure);        PyFrame frame = new PyFrame(this, globals);        frame.f_fastlocals[0] = arg1;        frame.f_fastlocals[1] = arg2;        if ((co_flags & CO_GENERATOR) != 0) {            return new PyGenerator(frame, closure);        }        return call(frame, closure);    }    public PyObject call(PyObject arg1, PyObject arg2, PyObject arg3,                         PyObject globals, PyObject[] defaults,                         PyObject closure)    {        if (co_argcount != 3 || args || keywords)            return call(new PyObject[] {arg1, arg2, arg3},                        Py.NoKeywords, globals, defaults, closure);        PyFrame frame = new PyFrame(this, globals);        frame.f_fastlocals[0] = arg1;        frame.f_fastlocals[1] = arg2;        frame.f_fastlocals[2] = arg3;        if ((co_flags & CO_GENERATOR) != 0) {            return new PyGenerator(frame, closure);        }        return call(frame, closure);    }    public PyObject call(PyObject self, PyObject call_args[],                         String call_keywords[], PyObject globals,                         PyObject[] defaults, PyObject closure)    {        PyObject[] os = new PyObject[call_args.length+1];        os[0] = (PyObject)self;        System.arraycopy(call_args, 0, os, 1, call_args.length);        return call(os, call_keywords, globals, defaults, closure);    }    private String prefix() {        return co_name.toString()+"() ";    }    public PyObject call(PyObject call_args[], String call_keywords[],                         PyObject globals, PyObject[] defaults,                         PyObject closure)    {        //Needs try except finally blocks        PyFrame my_frame = new PyFrame(this, globals);        PyObject actual_args[], extra_args[] = null;        PyDictionary extra_keywords = null;        int plain_args = call_args.length - call_keywords.length;        int i;        if (plain_args > co_argcount)            plain_args = co_argcount;        actual_args = my_frame.f_fastlocals;        if (plain_args > 0)            System.arraycopy(call_args, 0, actual_args, 0, plain_args);        if (!((call_keywords == null || call_keywords.length == 0) &&              call_args.length == co_argcount && !keywords && !args))        {            if (keywords)                extra_keywords = new PyDictionary();            for (i=0; i<call_keywords.length; i++) {                int index=0;                while (index<co_argcount) {                    if (co_varnames[index].equals(call_keywords[i]))                        break;                    index++;                }                if (index < co_argcount) {                    if (actual_args[index] != null) {                        throw Py.TypeError(prefix()+                                           "got multiple values for " +                                           "keyword argument '"+                                           call_keywords[i] + "'");                    }                    actual_args[index] =                        call_args[i+(call_args.length-call_keywords.length)];                }                else {                    if (extra_keywords == null) {                        throw Py.TypeError(prefix()+                                           "got an unexpected keyword " +                                           "argument '"+ call_keywords[i] +                                           "'");                    }                    extra_keywords.__setitem__(                        call_keywords[i],                        call_args[i+(call_args.length-call_keywords.length)]);                }            }            if (call_args.length-call_keywords.length > co_argcount) {                if (!args)                    throw Py.TypeError(                        prefix()+                        "too many arguments; expected "+                        co_argcount+" got "+                        (call_args.length-call_keywords.length));                extra_args = new PyObject[call_args.length-                                         call_keywords.length-                                         co_argcount];                for (i=0; i<extra_args.length; i++) {                    extra_args[i] = call_args[i+co_argcount];                }            }            for (i=plain_args; i<co_argcount; i++) {                if (actual_args[i] == null) {                    if (co_argcount-i > defaults.length) {                        int min = co_argcount-defaults.length;                        throw Py.TypeError(                            prefix()+                            "takes at least " + min +                            (min == 1 ? " argument (" : " arguments (") +                            (call_args.length-call_keywords.length)+                            " given)");                    }                    actual_args[i] =                          defaults[defaults.length-(co_argcount-i)];                }            }            if (args) {                if (extra_args == null)                    actual_args[co_argcount] = Py.EmptyTuple;                else                    actual_args[co_argcount] = new PyTuple(extra_args);            }            if (extra_keywords != null) {                actual_args[nargs-1] = extra_keywords;            }        }        if ((co_flags & CO_GENERATOR) != 0) {            return new PyGenerator(my_frame, closure);        }        return call(my_frame, closure);    }    public String toString() {        return "<code object " + co_name + " "+Py.idstr(this) +            ", file \"" + co_filename + "\", line " +            co_firstlineno + ">";    }}

⌨️ 快捷键说明

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