📄 qscriptcompiler.cpp
字号:
void Compiler::iLoadUndefined(){ pushInstruction(QScriptInstruction::OP_LoadUndefined);}void Compiler::iLoadThis(){ QScriptValueImpl arg0; m_eng->newNameId(&arg0, m_eng->idTable()->id_this); pushInstruction(QScriptInstruction::OP_LoadThis, arg0);}void Compiler::iLoadNull(){ pushInstruction(QScriptInstruction::OP_LoadNull);}void Compiler::iLoadNumber(double number){ QScriptValueImpl arg0; m_eng->newNumber(&arg0, number); pushInstruction(QScriptInstruction::OP_LoadNumber, arg0);}void Compiler::iLoadString(QScriptNameIdImpl *id){ QScriptValueImpl arg0; id->persistent = true; m_eng->newNameId(&arg0, id); pushInstruction(QScriptInstruction::OP_LoadString, arg0);}void Compiler::iDuplicate(){ pushInstruction(QScriptInstruction::OP_Duplicate);}void Compiler::iResolve(QScriptNameIdImpl *id){ QScriptValueImpl arg0; id->persistent = true; m_eng->newNameId(&arg0, id); pushInstruction(QScriptInstruction::OP_Resolve, arg0);}void Compiler::iPutField(){ pushInstruction(QScriptInstruction::OP_PutField);}void Compiler::iCall(int argc){ QScriptValueImpl arg0; m_eng->newInteger(&arg0, argc); pushInstruction(QScriptInstruction::OP_Call, arg0);}void Compiler::iNew(int argc){ QScriptValueImpl arg0; m_eng->newInteger(&arg0, argc); pushInstruction(QScriptInstruction::OP_New, arg0);}void Compiler::iFetchField(){ pushInstruction(QScriptInstruction::OP_FetchField);}void Compiler::iFetchArguments(){ pushInstruction(QScriptInstruction::OP_FetchArguments);}void Compiler::iRet(){ pushInstruction(QScriptInstruction::OP_Ret);}void Compiler::iDeclareLocal(QScriptNameIdImpl *id, bool readOnly){ QScriptValueImpl arg0; id->persistent = true; m_eng->newNameId(&arg0, id); QScriptValueImpl arg1; m_eng->newInteger(&arg1, readOnly); pushInstruction(QScriptInstruction::OP_DeclareLocal, arg0, arg1);}void Compiler::iAssign(){ pushInstruction(QScriptInstruction::OP_Assign);}void Compiler::iBitAnd(){ pushInstruction(QScriptInstruction::OP_BitAnd);}void Compiler::iBitOr(){ pushInstruction(QScriptInstruction::OP_BitOr);}void Compiler::iBitXor(){ pushInstruction(QScriptInstruction::OP_BitXor);}void Compiler::iLeftShift(){ pushInstruction(QScriptInstruction::OP_LeftShift);}void Compiler::iMod(){ pushInstruction(QScriptInstruction::OP_Mod);}void Compiler::iRightShift(){ pushInstruction(QScriptInstruction::OP_RightShift);}void Compiler::iURightShift(){ pushInstruction(QScriptInstruction::OP_URightShift);}void Compiler::iAdd(){ pushInstruction(QScriptInstruction::OP_Add);}void Compiler::iDiv(){ pushInstruction(QScriptInstruction::OP_Div);}void Compiler::iEqual(){ pushInstruction(QScriptInstruction::OP_Equal);}void Compiler::iGreatOrEqual(){ pushInstruction(QScriptInstruction::OP_GreatOrEqual);}void Compiler::iGreatThan(){ pushInstruction(QScriptInstruction::OP_GreatThan);}void Compiler::iLessOrEqual(){ pushInstruction(QScriptInstruction::OP_LessOrEqual);}void Compiler::iLessThan(){ pushInstruction(QScriptInstruction::OP_LessThan);}void Compiler::iMul(){ pushInstruction(QScriptInstruction::OP_Mul);}void Compiler::iNotEqual(){ pushInstruction(QScriptInstruction::OP_NotEqual);}void Compiler::iSub(){ pushInstruction(QScriptInstruction::OP_Sub);}void Compiler::iStrictEqual(){ pushInstruction(QScriptInstruction::OP_StrictEqual);}void Compiler::iStrictNotEqual(){ pushInstruction(QScriptInstruction::OP_StrictNotEqual);}void Compiler::iBranch(int index){ QScriptValueImpl arg0; m_eng->newInteger(&arg0, index); pushInstruction(QScriptInstruction::OP_Branch, arg0);}void Compiler::iBranchFalse(int index){ QScriptValueImpl arg0; m_eng->newInteger(&arg0, index); pushInstruction(QScriptInstruction::OP_BranchFalse, arg0);}void Compiler::iBranchTrue(int index){ QScriptValueImpl arg0; m_eng->newInteger(&arg0, index); pushInstruction(QScriptInstruction::OP_BranchTrue, arg0);}void Compiler::iNewClosure(AST::FunctionExpression *expr){ QScriptValueImpl arg0; m_eng->newPointer(&arg0, expr); pushInstruction(QScriptInstruction::OP_NewClosure, arg0);}void Compiler::iIncr(){ pushInstruction(QScriptInstruction::OP_Incr);}void Compiler::iDecr(){ pushInstruction(QScriptInstruction::OP_Decr);}void Compiler::iPop(){ pushInstruction(QScriptInstruction::OP_Pop);}void Compiler::iFetch(QScriptNameIdImpl *id){ if (m_generateFastArgumentLookup) { int index = m_formals.indexOf(id); if (index != -1) { QScriptValueImpl arg0; m_eng->newInteger(&arg0, index); pushInstruction(QScriptInstruction::OP_Receive, arg0); return; } } QScriptValueImpl arg0; id->persistent = true; m_eng->newNameId(&arg0, id); pushInstruction(QScriptInstruction::OP_Fetch, arg0);}void Compiler::iLoadTrue(){ pushInstruction(QScriptInstruction::OP_LoadTrue);}void Compiler::iLoadFalse(){ pushInstruction(QScriptInstruction::OP_LoadFalse);}void Compiler::iUnaryMinus(){ pushInstruction(QScriptInstruction::OP_UnaryMinus);}void Compiler::iUnaryPlus(){ pushInstruction(QScriptInstruction::OP_UnaryPlus);}void Compiler::iPostIncr(){ pushInstruction(QScriptInstruction::OP_PostIncr);}void Compiler::iPostDecr(){ pushInstruction(QScriptInstruction::OP_PostDecr);}void Compiler::iNewArray(){ pushInstruction(QScriptInstruction::OP_NewArray);}void Compiler::iNewObject(){ pushInstruction(QScriptInstruction::OP_NewObject);}void Compiler::iTypeOf(){ pushInstruction(QScriptInstruction::OP_TypeOf);}void Compiler::iDelete(){ pushInstruction(QScriptInstruction::OP_Delete);}void Compiler::iInstanceOf(){ pushInstruction(QScriptInstruction::OP_InstanceOf);}void Compiler::iInplaceAnd(){ pushInstruction(QScriptInstruction::OP_InplaceAnd);}void Compiler::iInplaceSub(){ pushInstruction(QScriptInstruction::OP_InplaceSub);}void Compiler::iInplaceDiv(){ pushInstruction(QScriptInstruction::OP_InplaceDiv);}void Compiler::iInplaceAdd(){ pushInstruction(QScriptInstruction::OP_InplaceAdd);}void Compiler::iInplaceLeftShift(){ pushInstruction(QScriptInstruction::OP_InplaceLeftShift);}void Compiler::iInplaceMod(){ pushInstruction(QScriptInstruction::OP_InplaceMod);}void Compiler::iInplaceMul(){ pushInstruction(QScriptInstruction::OP_InplaceMul);}void Compiler::iInplaceOr(){ pushInstruction(QScriptInstruction::OP_InplaceOr);}void Compiler::iInplaceRightShift(){ pushInstruction(QScriptInstruction::OP_InplaceRightShift);}void Compiler::iInplaceURightShift(){ pushInstruction(QScriptInstruction::OP_InplaceURightShift);}void Compiler::iInplaceXor(){ pushInstruction(QScriptInstruction::OP_InplaceXor);}void Compiler::iThrow(){ pushInstruction(QScriptInstruction::OP_Throw);}void Compiler::iLine(AST::Node *node){ if (! node) return; QScriptValueImpl arg0; m_eng->newInteger(&arg0, node->startLine); QScriptValueImpl arg1; m_eng->newInteger(&arg1, node->startColumn); pushInstruction(QScriptInstruction::OP_Line, arg0, arg1);}void Compiler::iBitNot(){ pushInstruction(QScriptInstruction::OP_BitNot);}void Compiler::iNot(){ pushInstruction(QScriptInstruction::OP_Not);}void Compiler::iNewRegExp(QScriptNameIdImpl *pattern){ QScriptValueImpl arg0; pattern->persistent = true; m_eng->newNameId(&arg0, pattern); pushInstruction(QScriptInstruction::OP_NewRegExp, arg0);}void Compiler::iNewRegExp(QScriptNameIdImpl *pattern, QScriptNameIdImpl *flags){ QScriptValueImpl arg0; pattern->persistent = true; m_eng->newNameId(&arg0, pattern); QScriptValueImpl arg1; flags->persistent = true; m_eng->newNameId(&arg1, flags); pushInstruction(QScriptInstruction::OP_NewRegExp, arg0, arg1);}void Compiler::iNewEnumeration(){ pushInstruction(QScriptInstruction::OP_NewEnumeration);}void Compiler::iToFirstElement(){ pushInstruction(QScriptInstruction::OP_ToFirstElement);}void Compiler::iHasNextElement(){ pushInstruction(QScriptInstruction::OP_HasNextElement);}void Compiler::iNextElement(){ pushInstruction(QScriptInstruction::OP_NextElement);}void Compiler::iEnterWith(){ pushInstruction(QScriptInstruction::OP_EnterWith);}void Compiler::iLeaveWith(){ pushInstruction(QScriptInstruction::OP_LeaveWith);}void Compiler::iBeginCatch(QScriptNameIdImpl *id){ QScriptValueImpl arg0; id->persistent = true; m_eng->newNameId(&arg0, id); pushInstruction(QScriptInstruction::OP_BeginCatch, arg0);}void Compiler::iEndCatch(){ pushInstruction(QScriptInstruction::OP_EndCatch);}void Compiler::iSync(){ pushInstruction(QScriptInstruction::OP_Sync);}void Compiler::iHalt(){ pushInstruction(QScriptInstruction::OP_Halt);}void Compiler::iMakeReference(){ pushInstruction(QScriptInstruction::OP_MakeReference);}void Compiler::iIn(){ pushInstruction(QScriptInstruction::OP_In);}void Compiler::iNop(){ pushInstruction(QScriptInstruction::OP_Nop);}void Compiler::iNewString(QScriptNameIdImpl *id){ QScriptValueImpl arg0; id->persistent = true; m_eng->newNameId(&arg0, id); pushInstruction(QScriptInstruction::OP_NewString, arg0);}Compiler::Loop *Compiler::findLoop(QScriptNameIdImpl *name){ if (! name) return m_activeLoop; QMap<AST::Statement*, Loop>::iterator it = m_loops.begin(); for (; it != m_loops.end(); ++it) { Loop &loop = *it; if (loop.name == name) return &loop; } return 0;}} // namespace QScript#endif // QT_NO_SCRIPT
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -