QQmlJSTypePropagator Struct
Header: | #include <QQmlJSTypePropagator> |
Inherits: | QQmlJSCompilePass |
Public Functions
void | generate_StoreNameCommon(int nameIndex) |
Detailed Description
\internal
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.
Member Function Documentation
void QQmlJSTypePropagator::generate_StoreNameCommon(int nameIndex)
\internal
As far as type propagation is involved, StoreNameSloppy and StoreNameStrict are completely the same StoreNameStrict is rejecting a few writes (where the variable was not defined before) that would work in a sloppy context in JS, but the compiler would always reject this. And for type propagation, this does not matter at all. nameIndex is the index in the string table corresponding to the name which we are storing