Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
|
#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 265 of file qqmljsfunctioninitializer.cpp.
References QQmlJS::AST::FunctionExpression::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 151 of file qqmljsfunctioninitializer.cpp.
References QString::arg(), arguments, QQmlJS::AST::FunctionExpression::asFunctionDefinition(), bindingTypeDescription(), QQmlSignalNames::changedHandlerNameToPropertyName(), context, diagnose(), error, QQmlJS::AST::ExpressionNode::expressionCast(), QQmlJS::AST::StatementList::finish(), function, QQmlJS::AST::FunctionExpression::functionToken, QQmlJSTypeResolver::globalType(), QQmlSignalNames::handlerNameToSignalName(), QQmlJSScope::hasProperty(), i, QQmlSignalNames::isHandlerName(), QQmlJSScope::isNameDeferred(), QQmlJS::AST::FunctionExpression::lbraceToken, method, QQmlJSScope::methods(), methods, pool, QQmlJSScope::property(), property, Q_ASSERT, QQmlJSTypeResolver::qObjectListType(), QtDebugMsg, QtWarningMsg, QQmlJS::AST::FunctionExpression::rbraceToken, QList< T >::size(), QQmlJS::SourceLocation::startLine, QQmlJS::AST::Statement::statementCast(), QQmlJSTypeResolver::tracked(), QV4::CompiledData::Binding::Type_Script, and QQmlJSTypeResolver::varType().
Referenced by QQmlJSAotCompiler::compileBinding(), QQmlJSLinterCodegen::compileBinding(), QQmlJSAotCompiler::compileFunction(), and QQmlJSLinterCodegen::compileFunction().