![]() |
Qt 6.x
The Qt SDK
|
#include <qqmljsfunctioninitializer_p.h>
Public Member Functions | |
QQmlJSFunctionInitializer (const QQmlJSTypeResolver *typeResolver, const QV4::CompiledData::Location &objectLocation, const QV4::CompiledData::Location &scopeLocation) | |
QQmlJSCompilePass::Function | run (const QV4::Compiler::Context *context, const QString &propertyName, QQmlJS::AST::Node *astNode, const QmlIR::Binding &irBinding, QQmlJS::DiagnosticMessage *error) |
QQmlJSCompilePass::Function | run (const QV4::Compiler::Context *context, const QString &functionName, QQmlJS::AST::Node *astNode, QQmlJS::DiagnosticMessage *error) |
QQmlJSFunctionInitializer analyzes the IR to produce an initial QQmlJSCompilePass::Function for further analysis. It only looks for the signature and the QML scope and doesn't visit the byte code.
Definition at line 21 of file qqmljsfunctioninitializer_p.h.
|
inline |
Definition at line 25 of file qqmljsfunctioninitializer_p.h.
QQmlJSCompilePass::Function QQmlJSFunctionInitializer::run | ( | const QV4::Compiler::Context * | context, |
const QString & | functionName, | ||
QQmlJS::AST::Node * | astNode, | ||
QQmlJS::DiagnosticMessage * | error | ||
) |
Definition at line 261 of file qqmljsfunctioninitializer.cpp.
References QQmlJS::AST::Node::asFunctionDefinition(), context, error, function, Q_ASSERT, and Q_UNUSED.
QQmlJSCompilePass::Function QQmlJSFunctionInitializer::run | ( | const QV4::Compiler::Context * | context, |
const QString & | propertyName, | ||
QQmlJS::AST::Node * | astNode, | ||
const QmlIR::Binding & | irBinding, | ||
QQmlJS::DiagnosticMessage * | error | ||
) |
Definition at line 148 of file qqmljsfunctioninitializer.cpp.
References QString::arg(), arguments, QQmlJS::AST::Node::asFunctionDefinition(), bindingTypeDescription(), QString::chopped(), QV4::CompiledData::Location::column(), context, diagnose(), QString::endsWith(), error, QQmlJS::AST::Node::expressionCast(), QQmlJS::AST::StatementList::finish(), QQmlJS::AST::Node::firstSourceLocation(), function, QQmlJS::AST::FunctionExpression::functionToken, QQmlJSTypeResolver::globalType(), QQmlJSScope::hasProperty(), i, QQmlJSScope::isNameDeferred(), QmlIR::IRBuilder::isSignalPropertyName(), QQmlJS::AST::Node::lastSourceLocation(), QQmlJS::AST::FunctionExpression::lbraceToken, QV4::CompiledData::Location::line(), QV4::CompiledData::Binding::location, method, QQmlJSScope::methods(), methods, pool, QQmlJSScope::property(), property, Q_ASSERT, QQmlJSTypeResolver::qObjectListType(), QtDebugMsg, QtWarningMsg, QQmlJS::AST::FunctionExpression::rbraceToken, QmlIR::IRBuilder::signalNameFromSignalPropertyName(), QList< T >::size(), QQmlJS::SourceLocation::startColumn, QQmlJS::SourceLocation::startLine, QQmlJS::AST::Node::statementCast(), QQmlJSTypeResolver::tracked(), QV4::CompiledData::Binding::type(), QV4::CompiledData::Binding::Type_Script, and QQmlJSTypeResolver::varType().
Referenced by QQmlJSAotCompiler::compileBinding(), QQmlJSLinterCodegen::compileBinding(), QQmlJSAotCompiler::compileFunction(), and QQmlJSLinterCodegen::compileFunction().