|
| BlocksAndAnnotations | run (const Function *m_function) |
| void | generate_Ret () override |
| void | generate_Debug () override |
| void | generate_LoadConst (int index) override |
| void | generate_LoadZero () override |
| void | generate_LoadTrue () override |
| void | generate_LoadFalse () override |
| void | generate_LoadNull () override |
| void | generate_LoadUndefined () override |
| void | generate_LoadInt (int value) override |
| void | generate_MoveConst (int constIndex, int destTemp) override |
| void | generate_LoadReg (int reg) override |
| void | generate_StoreReg (int reg) override |
| void | generate_MoveReg (int srcReg, int destReg) override |
| void | generate_LoadImport (int index) override |
| void | generate_LoadLocal (int index) override |
| void | generate_StoreLocal (int index) override |
| void | generate_LoadScopedLocal (int scope, int index) override |
| void | generate_StoreScopedLocal (int scope, int index) override |
| void | generate_LoadRuntimeString (int stringId) override |
| void | generate_MoveRegExp (int regExpId, int destReg) override |
| void | generate_LoadClosure (int value) override |
| void | generate_LoadName (int nameIndex) override |
| void | generate_LoadGlobalLookup (int index) override |
| void | generate_LoadQmlContextPropertyLookup (int index) override |
| void | generate_StoreNameSloppy (int nameIndex) override |
| void | generate_StoreNameStrict (int name) override |
| void | generate_LoadElement (int base) override |
| void | generate_StoreElement (int base, int index) override |
| void | generate_LoadProperty (int nameIndex) override |
| void | generate_LoadOptionalProperty (int name, int offset) override |
| void | generate_GetLookup (int index) override |
| void | generate_GetOptionalLookup (int index, int offset) override |
| void | generate_StoreProperty (int name, int base) override |
| void | generate_SetLookup (int index, int base) override |
| void | generate_LoadSuperProperty (int property) override |
| void | generate_StoreSuperProperty (int property) override |
| void | generate_Yield () override |
| void | generate_YieldStar () override |
| void | generate_Resume (int) override |
| void | generate_CallValue (int name, int argc, int argv) override |
| void | generate_CallWithReceiver (int name, int thisObject, int argc, int argv) override |
| void | generate_CallProperty (int name, int base, int argc, int argv) override |
| void | generate_CallPropertyLookup (int lookupIndex, int base, int argc, int argv) override |
| void | generate_CallName (int name, int argc, int argv) override |
| void | generate_CallPossiblyDirectEval (int argc, int argv) override |
| void | generate_CallGlobalLookup (int index, int argc, int argv) override |
| void | generate_CallQmlContextPropertyLookup (int index, int argc, int argv) override |
| void | generate_CallWithSpread (int func, int thisObject, int argc, int argv) override |
| void | generate_TailCall (int func, int thisObject, int argc, int argv) override |
| void | generate_Construct (int func, int argc, int argv) override |
| void | generate_ConstructWithSpread (int func, int argc, int argv) override |
| void | generate_SetUnwindHandler (int offset) override |
| void | generate_UnwindDispatch () override |
| void | generate_UnwindToLabel (int level, int offset) override |
| void | generate_DeadTemporalZoneCheck (int name) override |
| void | generate_ThrowException () override |
| void | generate_GetException () override |
| void | generate_SetException () override |
| void | generate_CreateCallContext () override |
| void | generate_PushCatchContext (int index, int name) override |
| void | generate_PushWithContext () override |
| void | generate_PushBlockContext (int index) override |
| void | generate_CloneBlockContext () override |
| void | generate_PushScriptContext (int index) override |
| void | generate_PopScriptContext () override |
| void | generate_PopContext () override |
| void | generate_GetIterator (int iterator) override |
| void | generate_IteratorNext (int value, int offset) override |
| void | generate_IteratorNextForYieldStar (int iterator, int object, int offset) override |
| void | generate_IteratorClose () override |
| void | generate_DestructureRestElement () override |
| void | generate_DeleteProperty (int base, int index) override |
| void | generate_DeleteName (int name) override |
| void | generate_TypeofName (int name) override |
| void | generate_TypeofValue () override |
| void | generate_DeclareVar (int varName, int isDeletable) override |
| void | generate_DefineArray (int argc, int args) override |
| void | generate_DefineObjectLiteral (int internalClassId, int argc, int args) override |
| void | generate_CreateClass (int classIndex, int heritage, int computedNames) override |
| void | generate_CreateMappedArgumentsObject () override |
| void | generate_CreateUnmappedArgumentsObject () override |
| void | generate_CreateRestParameter (int argIndex) override |
| void | generate_ConvertThisToObject () override |
| void | generate_LoadSuperConstructor () override |
| void | generate_ToObject () override |
| void | generate_Jump (int offset) override |
| void | generate_JumpTrue (int offset) override |
| void | generate_JumpFalse (int offset) override |
| void | generate_JumpNoException (int offset) override |
| void | generate_JumpNotUndefined (int offset) override |
| void | generate_CheckException () override |
| void | generate_CmpEqNull () override |
| void | generate_CmpNeNull () override |
| void | generate_CmpEqInt (int lhsConst) override |
| void | generate_CmpNeInt (int lhs) override |
| void | generate_CmpEq (int lhs) override |
| void | generate_CmpNe (int lhs) override |
| void | generate_CmpGt (int lhs) override |
| void | generate_CmpGe (int lhs) override |
| void | generate_CmpLt (int lhs) override |
| void | generate_CmpLe (int lhs) override |
| void | generate_CmpStrictEqual (int lhs) override |
| void | generate_CmpStrictNotEqual (int lhs) override |
| void | generate_CmpIn (int lhs) override |
| void | generate_CmpInstanceOf (int lhs) override |
| void | generate_As (int lhs) override |
| void | generate_UNot () override |
| void | generate_UPlus () override |
| void | generate_UMinus () override |
| void | generate_UCompl () override |
| void | generate_Increment () override |
| void | generate_Decrement () override |
| void | generate_Add (int lhs) override |
| void | generate_BitAnd (int lhs) override |
| void | generate_BitOr (int lhs) override |
| void | generate_BitXor (int lhs) override |
| void | generate_UShr (int lhs) override |
| void | generate_Shr (int lhs) override |
| void | generate_Shl (int lhs) override |
| void | generate_BitAndConst (int rhsConst) override |
| void | generate_BitOrConst (int rhsConst) override |
| void | generate_BitXorConst (int rhsConst) override |
| void | generate_UShrConst (int rhsConst) override |
| void | generate_ShrConst (int rhs) override |
| void | generate_ShlConst (int rhs) override |
| void | generate_Exp (int lhs) override |
| void | generate_Mul (int lhs) override |
| void | generate_Div (int lhs) override |
| void | generate_Mod (int lhs) override |
| void | generate_Sub (int lhs) override |
| void | generate_InitializeBlockDeadTemporalZone (int firstReg, int count) override |
| void | generate_ThrowOnNullOrUndefined () override |
| void | generate_GetTemplateObject (int index) override |
| Verdict | startInstruction (QV4::Moth::Instr::Type instr) override |
| void | endInstruction (QV4::Moth::Instr::Type instr) override |
| | QQmlJSCompilePass (const QV4::Compiler::JSUnitGenerator *jsUnitGenerator, const QQmlJSTypeResolver *typeResolver, QQmlJSLogger *logger, const BasicBlocks &basicBlocks={}, const InstructionAnnotations &annotations={}) |
| | QQmlJSCompilePass (const QV4::Compiler::JSUnitGenerator *jsUnitGenerator, const QQmlJSTypeResolver *typeResolver, QQmlJSLogger *logger, const BasicBlocks &basicBlocks={}, const InstructionAnnotations &annotations={}) |
| Public Member Functions inherited from QV4::Moth::ByteCodeHandler |
| | ByteCodeHandler ()=default |
| virtual | ~ByteCodeHandler () |
| void | decode (const char *code, uint len) |
| void | reset () |
| int | currentInstructionOffset () const |
| int | nextInstructionOffset () const |
| int | absoluteOffset (int relativeOffset) const |
|
| virtual void | handleUnqualifiedAccess (const QString &name, bool isMethod) const |
| virtual void | handleUnqualifiedAccessAndContextProperties (const QString &name, bool isMethod) const |
| virtual void | checkDeprecated (QQmlJSScope::ConstPtr scope, const QString &name, bool isMethod) const |
| virtual bool | isCallingProperty (QQmlJSScope::ConstPtr scope, const QString &name) const |
| virtual bool | handleImportNamespaceLookup (const QString &propertyName) |
| virtual void | handleLookupError (const QString &propertyName) |
| virtual bool | checkForEnumProblems (QQmlJSRegisterContent base, const QString &propertyName) |
| virtual void | warnAboutTypeCoercion (int lhs) |
| PropertyResolution | propertyResolution (QQmlJSScope::ConstPtr scope, const QString &type) const |
| void | checkConversion (QQmlJSRegisterContent from, QQmlJSRegisterContent to) |
| void | generateUnaryArithmeticOperation (QQmlJSTypeResolver::UnaryOperator op) |
| QQmlJSRegisterContent | propagateBinaryOperation (QSOperator::Op op, int lhs) |
| void | generateBinaryArithmeticOperation (QSOperator::Op op, int lhs) |
| void | generateBinaryConstArithmeticOperation (QSOperator::Op op) |
| virtual void | generate_StoreNameCommon (int nameIndex) |
| virtual void | propagateCall (const QList< QQmlJSMetaMethod > &methods, int argc, int argv, QQmlJSRegisterContent scope) |
| virtual void | propagateTranslationMethod_SAcheck (const QString &methodName) |
| bool | propagateTranslationMethod (const QList< QQmlJSMetaMethod > &methods, int argc, int argv) |
| void | propagateStringArgCall (QQmlJSRegisterContent base, int argv) |
| bool | propagateArrayMethod (const QString &name, int argc, int argv, QQmlJSRegisterContent valueType) |
| virtual void | propagatePropertyLookup (const QString &name, int lookupIndex=QQmlJSRegisterContent::InvalidLookupIndex) |
| void | propagateScopeLookupCall (const QString &functionName, int argc, int argv) |
| void | saveRegisterStateForJump (int offset) |
| bool | canConvertFromTo (QQmlJSRegisterContent from, QQmlJSRegisterContent to) |
| bool | canConvertFromTo (QQmlJSRegisterContent from, const QQmlJSScope::ConstPtr &to) |
| QString | registerName (int registerIndex) const |
| QQmlJSRegisterContent | checkedInputRegister (int reg) |
| QQmlJSMetaMethod | bestMatchForCall (const QList< QQmlJSMetaMethod > &methods, int argc, int argv, QStringList *errors) |
| void | setAccumulator (QQmlJSRegisterContent content) |
| void | setRegister (int index, QQmlJSRegisterContent content) |
| void | mergeRegister (int index, const VirtualRegister &a, const VirtualRegister &b) |
| void | addReadRegister (int index) |
| void | addReadRegister (int index, QQmlJSRegisterContent convertTo) |
| void | addReadRegister (int index, const QQmlJSScope::ConstPtr &convertTo) |
| void | addReadAccumulator () |
| void | addReadAccumulator (QQmlJSRegisterContent convertTo) |
| void | addReadAccumulator (const QQmlJSScope::ConstPtr &convertTo) |
| bool | populatesAccumulator (QV4::Moth::Instr::Type instr) const |
| bool | isNoop (QV4::Moth::Instr::Type instr) const |
| void | recordEqualsNullType () |
| void | recordEqualsIntType () |
| void | recordEqualsType (int lhs) |
| void | recordCompareType (int lhs) |
| void | generate_CallProperty_SCMath (const QString &name, int base, int arcg, int argv) |
| void | generate_CallProperty_SCconsole (const QString &name, int base, int argc, int argv) |
| void | generate_Construct_SCDate (const QQmlJSMetaMethod &ctor, int argc, int argv) |
| void | generate_Construct_SCArray (const QQmlJSMetaMethod &ctor, int argc, int argv) |
| void | addError (const QString &message) |
| void | setVarAccumulatorAndError () |
| int | firstRegisterIndex () const |
| bool | isArgument (int registerIndex) const |
| QQmlJSRegisterContent | argumentType (int registerIndex) const |
| bool | isQmlScopeObject (QQmlJSRegisterContent content) |
| State | initialState (const Function *function) |
| State | nextStateFromAnnotations (const State &oldState, const InstructionAnnotations &annotations) |
| QList< SourceLocationTable::Entry >::const_iterator | sourceLocationEntry (int instructionOffset) const |
| QQmlJS::SourceLocation | sourceLocation (int instructionOffset) const |
| QQmlJS::SourceLocation | nonEmptySourceLocation (int instructionOffset) const |
| QQmlJS::SourceLocation | currentSourceLocation () const |
| QQmlJS::SourceLocation | currentNonEmptySourceLocation () const |
| QQmlJS::SourceLocation | currentFunctionSourceLocation () const |
| void | addError (const QString &message, int instructionOffset) |
| void | addSkip (const QString &message, int instructionOffset) |
| void | addError (const QString &message) |
| void | addSkip (const QString &message) |
| void | generate_Add (int) override |
| void | generate_As (int) override |
| void | generate_BitAnd (int) override |
| void | generate_BitAndConst (int) override |
| void | generate_BitOr (int) override |
| void | generate_BitOrConst (int) override |
| void | generate_BitXor (int) override |
| void | generate_BitXorConst (int) override |
| void | generate_CallGlobalLookup (int, int, int) override |
| void | generate_CallName (int, int, int) override |
| void | generate_CallPossiblyDirectEval (int, int) override |
| void | generate_CallProperty (int, int, int, int) override |
| void | generate_CallPropertyLookup (int, int, int, int) override |
| void | generate_CallQmlContextPropertyLookup (int, int, int) override |
| void | generate_CallValue (int, int, int) override |
| void | generate_CallWithReceiver (int, int, int, int) override |
| void | generate_CallWithSpread (int, int, int, int) override |
| void | generate_CheckException () override |
| void | generate_CloneBlockContext () override |
| void | generate_CmpEq (int) override |
| void | generate_CmpEqInt (int) override |
| void | generate_CmpEqNull () override |
| void | generate_CmpGe (int) override |
| void | generate_CmpGt (int) override |
| void | generate_CmpIn (int) override |
| void | generate_CmpInstanceOf (int) override |
| void | generate_CmpLe (int) override |
| void | generate_CmpLt (int) override |
| void | generate_CmpNe (int) override |
| void | generate_CmpNeInt (int) override |
| void | generate_CmpNeNull () override |
| void | generate_CmpStrictEqual (int) override |
| void | generate_CmpStrictNotEqual (int) override |
| void | generate_Construct (int, int, int) override |
| void | generate_ConstructWithSpread (int, int, int) override |
| void | generate_ConvertThisToObject () override |
| void | generate_CreateCallContext () override |
| void | generate_CreateClass (int, int, int) override |
| void | generate_CreateMappedArgumentsObject () override |
| void | generate_CreateRestParameter (int) override |
| void | generate_CreateUnmappedArgumentsObject () override |
| void | generate_DeadTemporalZoneCheck (int) override |
| void | generate_Debug () override |
| void | generate_DeclareVar (int, int) override |
| void | generate_Decrement () override |
| void | generate_DefineArray (int, int) override |
| void | generate_DefineObjectLiteral (int, int, int) override |
| void | generate_DeleteName (int) override |
| void | generate_DeleteProperty (int, int) override |
| void | generate_DestructureRestElement () override |
| void | generate_Div (int) override |
| void | generate_Exp (int) override |
| void | generate_GetException () override |
| void | generate_GetIterator (int) override |
| void | generate_GetLookup (int) override |
| void | generate_GetOptionalLookup (int, int) override |
| void | generate_GetTemplateObject (int) override |
| void | generate_Increment () override |
| void | generate_InitializeBlockDeadTemporalZone (int, int) override |
| void | generate_IteratorClose () override |
| void | generate_IteratorNext (int, int) override |
| void | generate_IteratorNextForYieldStar (int, int, int) override |
| void | generate_Jump (int) override |
| void | generate_JumpFalse (int) override |
| void | generate_JumpNoException (int) override |
| void | generate_JumpNotUndefined (int) override |
| void | generate_JumpTrue (int) override |
| void | generate_LoadClosure (int) override |
| void | generate_LoadConst (int) override |
| void | generate_LoadElement (int) override |
| void | generate_LoadFalse () override |
| void | generate_LoadGlobalLookup (int) override |
| void | generate_LoadImport (int) override |
| void | generate_LoadInt (int) override |
| void | generate_LoadLocal (int) override |
| void | generate_LoadName (int) override |
| void | generate_LoadNull () override |
| void | generate_LoadOptionalProperty (int, int) override |
| void | generate_LoadProperty (int) override |
| void | generate_LoadQmlContextPropertyLookup (int) override |
| void | generate_LoadReg (int) override |
| void | generate_LoadRuntimeString (int) override |
| void | generate_LoadScopedLocal (int, int) override |
| void | generate_LoadSuperConstructor () override |
| void | generate_LoadSuperProperty (int) override |
| void | generate_LoadTrue () override |
| void | generate_LoadUndefined () override |
| void | generate_LoadZero () override |
| void | generate_Mod (int) override |
| void | generate_MoveConst (int, int) override |
| void | generate_MoveReg (int, int) override |
| void | generate_MoveRegExp (int, int) override |
| void | generate_Mul (int) override |
| void | generate_PopContext () override |
| void | generate_PopScriptContext () override |
| void | generate_PushBlockContext (int) override |
| void | generate_PushCatchContext (int, int) override |
| void | generate_PushScriptContext (int) override |
| void | generate_PushWithContext () override |
| void | generate_Resume (int) override |
| void | generate_Ret () override |
| void | generate_SetException () override |
| void | generate_SetLookup (int, int) override |
| void | generate_SetUnwindHandler (int) override |
| void | generate_Shl (int) override |
| void | generate_ShlConst (int) override |
| void | generate_Shr (int) override |
| void | generate_ShrConst (int) override |
| void | generate_StoreElement (int, int) override |
| void | generate_StoreLocal (int) override |
| void | generate_StoreNameSloppy (int) override |
| void | generate_StoreNameStrict (int) override |
| void | generate_StoreProperty (int, int) override |
| void | generate_StoreReg (int) override |
| void | generate_StoreScopedLocal (int, int) override |
| void | generate_StoreSuperProperty (int) override |
| void | generate_Sub (int) override |
| void | generate_TailCall (int, int, int, int) override |
| void | generate_ThrowException () override |
| void | generate_ThrowOnNullOrUndefined () override |
| void | generate_ToObject () override |
| void | generate_TypeofName (int) override |
| void | generate_TypeofValue () override |
| void | generate_UCompl () override |
| void | generate_UMinus () override |
| void | generate_UNot () override |
| void | generate_UPlus () override |
| void | generate_UShr (int) override |
| void | generate_UShrConst (int) override |
| void | generate_UnwindDispatch () override |
| void | generate_UnwindToLabel (int, int) override |
| void | generate_Yield () override |
| void | generate_YieldStar () override |
QQmlJSTypePropagator is the initial pass that performs the type inference and annotates every register in use at any instruction with the possible types it may hold. This includes information on how and in what scope the values are retrieved. These annotations may be used by further compile passes for refinement or code generation.
Definition at line 30 of file qqmljstypepropagator_p.h.