Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
QQmlJSFunctionInitializer Class Reference

#include <qqmljsfunctioninitializer_p.h>

+ Collaboration diagram for QQmlJSFunctionInitializer:

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)
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ QQmlJSFunctionInitializer()

QQmlJSFunctionInitializer::QQmlJSFunctionInitializer ( const QQmlJSTypeResolver typeResolver,
const QV4::CompiledData::Location objectLocation,
const QV4::CompiledData::Location scopeLocation 
)
inline

Definition at line 25 of file qqmljsfunctioninitializer_p.h.

Member Function Documentation

◆ run() [1/2]

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.

+ Here is the call graph for this function:

◆ run() [2/2]

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().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

The documentation for this class was generated from the following files: