32 QQmlJSLinterTypePropagator(
const QV4::Compiler::JSUnitGenerator *unitGenerator,
33 const QQmlJSTypeResolver *typeResolver, QQmlJSLogger *logger,
34 const BasicBlocks &basicBlocks = {},
35 const InstructionAnnotations &annotations = {},
36 QQmlSA::PassManager *passManager =
nullptr,
37 const ContextPropertyInfo &contextPropertyInfo = {});
41 void generate_Ret() override;
42 void generate_LoadQmlContextPropertyLookup(
int index) override;
43 void generate_GetOptionalLookup(
int index,
int offset) override;
44 void generate_StoreProperty(
int nameIndex,
int base) override;
45 void generate_CallProperty(
int nameIndex,
int base,
int argc,
int argv) override;
46 void generate_CallPossiblyDirectEval(
int argc,
int argv) override;
48 void handleUnqualifiedAccess(
const QString &name,
bool isMethod)
const override;
49 void handleUnqualifiedAccessAndContextProperties(
const QString &name,
bool isMethod)
const override;
50 void checkDeprecated(QQmlJSScope::ConstPtr scope,
const QString &name,
bool isMethod)
const override;
51 bool isCallingProperty(QQmlJSScope::ConstPtr scope,
const QString &name)
const override;
52 bool handleImportNamespaceLookup(
const QString &propertyName) override;
53 void handleLookupError(
const QString &propertyName) override;
54 bool checkForEnumProblems(QQmlJSRegisterContent base,
const QString &propertyName) override;
55 void generate_StoreNameCommon(
int nameIndex) override;
56 void propagatePropertyLookup(
const QString &name,
57 int lookupIndex = QQmlJSRegisterContent::InvalidLookupIndex) override;
58 void propagateCall(
const QList<QQmlJSMetaMethod> &methods,
int argc,
int argv,
59 QQmlJSRegisterContent scope) override;
60 void propagateTranslationMethod_SAcheck(
const QString &methodName) override;
61 void warnAboutTypeCoercion(
int lhs) override;
63 QQmlSA::PassManager *m_passManager =
nullptr;
64 ContextPropertyInfo m_contextPropertyInfo;
QQmlJS::HeuristicContextProperties heuristicContextProperties
QQmlJS::UserContextProperties userContextProperties