当前位置: 首页>>代码示例>>Java>>正文


Java NoSuchMethodShim类代码示例

本文整理汇总了Java中org.mozilla.javascript.ScriptRuntime.NoSuchMethodShim的典型用法代码示例。如果您正苦于以下问题:Java NoSuchMethodShim类的具体用法?Java NoSuchMethodShim怎么用?Java NoSuchMethodShim使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


NoSuchMethodShim类属于org.mozilla.javascript.ScriptRuntime包,在下文中一共展示了NoSuchMethodShim类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: initFrameForNoSuchMethod

import org.mozilla.javascript.ScriptRuntime.NoSuchMethodShim; //导入依赖的package包/类
/**
 * Call __noSuchMethod__.
 */
private static CallFrame initFrameForNoSuchMethod(Context cx,
        CallFrame frame, int indexReg, Object[] stack, double[] sDbl,
        int stackTop, int op, Scriptable funThisObj, Scriptable calleeScope,
        NoSuchMethodShim noSuchMethodShim, InterpretedFunction ifun)
{
    // create an args array from the stack
    Object[] argsArray = null;
    // exactly like getArgsArray except that the first argument
    // is the method name from the shim
    int shift = stackTop + 2;
    Object[] elements = new Object[indexReg];
    for (int i=0; i < indexReg; ++i, ++shift) {
        Object val = stack[shift];
        if (val == DOUBLE_MARK) {
            val = ScriptRuntime.wrapNumber(sDbl[shift]);
        }
        elements[i] = val;
    }
    argsArray = new Object[2];
    argsArray[0] = noSuchMethodShim.methodName;
    argsArray[1] = cx.newArray(calleeScope, elements);

    // exactly the same as if it's a regular InterpretedFunction
    CallFrame callParentFrame = frame;
    CallFrame calleeFrame = new CallFrame();
    if (op == Icode_TAIL_CALL) {
        callParentFrame = frame.parentFrame;
        exitFrame(cx, frame, null);
    }
    // init the frame with the underlying method with the
    // adjusted args array and shim's function
    initFrame(cx, calleeScope, funThisObj, argsArray, null,
      0, 2, ifun, callParentFrame, calleeFrame);
    if (op != Icode_TAIL_CALL) {
        frame.savedStackTop = stackTop;
        frame.savedCallOp = op;
    }
    return calleeFrame;
}
 
开发者ID:MikaGuraN,项目名称:HL4A,代码行数:43,代码来源:Interpreter.java

示例2: initFrameForNoSuchMethod

import org.mozilla.javascript.ScriptRuntime.NoSuchMethodShim; //导入依赖的package包/类
/**
 * Call __noSuchMethod__.
 */
private static CallFrame initFrameForNoSuchMethod(Context cx,
        CallFrame frame, int indexReg, Object[] stack, double[] sDbl,
        int stackTop, int op, Scriptable funThisObj, Scriptable calleeScope,
        NoSuchMethodShim noSuchMethodShim, InterpretedFunction ifun)
{
    // create an args array from the stack
    Object[] argsArray = null;
    // exactly like getArgsArray except that the first argument
    // is the method name from the shim
    int shift = stackTop + 2;
    Object[] elements = new Object[indexReg];
    for (int i=0; i < indexReg; ++i, ++shift) {
        Object val = stack[shift];
        if (val == UniqueTag.DOUBLE_MARK) {
            val = ScriptRuntime.wrapNumber(sDbl[shift]);
        }
        elements[i] = val;
    }
    argsArray = new Object[2];
    argsArray[0] = noSuchMethodShim.methodName;
    argsArray[1] = cx.newArray(calleeScope, elements);
    
    // exactly the same as if it's a regular InterpretedFunction
    CallFrame callParentFrame = frame;
    CallFrame calleeFrame = new CallFrame();
    if (op == Icode_TAIL_CALL) {
        callParentFrame = frame.parentFrame;
        exitFrame(cx, frame, null);
    }
    // init the frame with the underlying method with the 
    // adjusted args array and shim's function
    initFrame(cx, calleeScope, funThisObj, argsArray, null,
      0, 2, ifun, callParentFrame, calleeFrame);
    if (op != Icode_TAIL_CALL) {
        frame.savedStackTop = stackTop;
        frame.savedCallOp = op;
    }
    return calleeFrame;
}
 
开发者ID:middle2tw,项目名称:whackpad,代码行数:43,代码来源:Interpreter.java


注:本文中的org.mozilla.javascript.ScriptRuntime.NoSuchMethodShim类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。