47 typedef QScopedValueRollback<
bool> TemporaryBoolAssignment;
49 ScanFunctions(Codegen *cg,
const QString &sourceCode, ContextType defaultProgramType);
50 void operator()(QQmlJS::AST::Node *node);
55 if (node && node->formals)
56 node->formals->accept(
this);
65 { enterFunction(ast, FunctionNameContext::None); }
83 void checkName(QStringView name,
const QQmlJS::SourceLocation &loc);
85 bool visit(QQmlJS::AST::Program *ast)
override;
86 void endVisit(QQmlJS::AST::Program *)
override;
88 bool visit(QQmlJS::AST::ESModule *ast)
override;
89 void endVisit(QQmlJS::AST::ESModule *)
override;
91 bool visit(QQmlJS::AST::ExportDeclaration *declaration)
override;
92 bool visit(QQmlJS::AST::ImportDeclaration *declaration)
override;
94 bool visit(QQmlJS::AST::CallExpression *ast)
override;
95 bool visit(QQmlJS::AST::PatternElement *ast)
override;
96 bool visit(QQmlJS::AST::IdentifierExpression *ast)
override;
97 bool visit(QQmlJS::AST::ExpressionStatement *ast)
override;
98 bool visit(QQmlJS::AST::FunctionExpression *ast)
override;
99 bool visit(QQmlJS::AST::TemplateLiteral *ast)
override;
100 bool visit(QQmlJS::AST::SuperLiteral *)
override;
101 bool visit(QQmlJS::AST::FieldMemberExpression *)
override;
102 bool visit(QQmlJS::AST::ArrayPattern *)
override;
107 void endVisit(QQmlJS::AST::FunctionExpression *)
override;
109 bool visit(QQmlJS::AST::ObjectPattern *ast)
override;
111 bool visit(QQmlJS::AST::PatternProperty *ast)
override;
112 void endVisit(QQmlJS::AST::PatternProperty *)
override;
114 bool visit(QQmlJS::AST::FunctionDeclaration *ast)
override;
115 void endVisit(QQmlJS::AST::FunctionDeclaration *)
override;
117 bool visit(QQmlJS::AST::ClassExpression *ast)
override;
118 void endVisit(QQmlJS::AST::ClassExpression *)
override;
120 bool visit(QQmlJS::AST::ClassDeclaration *ast)
override;
121 void endVisit(QQmlJS::AST::ClassDeclaration *)
override;
123 bool visit(QQmlJS::AST::DoWhileStatement *ast)
override;
124 bool visit(QQmlJS::AST::ForStatement *ast)
override;
125 void endVisit(QQmlJS::AST::ForStatement *)
override;
126 bool visit(QQmlJS::AST::ForEachStatement *ast)
override;
127 void endVisit(QQmlJS::AST::ForEachStatement *)
override;
129 bool visit(QQmlJS::AST::ThisExpression *ast)
override;
131 bool visit(QQmlJS::AST::Block *ast)
override;
132 void endVisit(QQmlJS::AST::Block *ast)
override;
134 bool visit(QQmlJS::AST::CaseBlock *ast)
override;
135 void endVisit(QQmlJS::AST::CaseBlock *ast)
override;
137 bool visit(QQmlJS::AST::Catch *ast)
override;
138 void endVisit(QQmlJS::AST::Catch *ast)
override;
140 bool visit(QQmlJS::AST::WithStatement *ast)
override;
141 void endVisit(QQmlJS::AST::WithStatement *ast)
override;
147 QQmlJS::AST::FormalParameterList *formals,
161 static constexpr QQmlJS::AST::Node *astNodeForGlobalEnvironment =
nullptr;