Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qv4codegen.cpp File Reference
#include "qv4codegen_p.h"
#include <QtCore/QCoreApplication>
#include <QtCore/QStringList>
#include <QtCore/QStack>
#include <QtCore/qurl.h>
#include <QtCore/qloggingcategory.h>
#include <QScopeGuard>
#include <private/qqmljsast_p.h>
#include <private/qqmljslexer_p.h>
#include <private/qqmljsparser_p.h>
#include <private/qv4staticvalue_p.h>
#include <private/qv4compilercontext_p.h>
#include <private/qv4compilercontrolflow_p.h>
#include <private/qv4bytecodegenerator_p.h>
#include <private/qv4compilerscanfunctions_p.h>
#include <private/qv4stringtoarrayindex_p.h>
#include <private/qqmljsdiagnosticmessage_p.h>
#include <cmath>
#include <iostream>
+ Include dependency graph for qv4codegen.cpp:

Go to the source code of this file.

Classes

class  QV4::Compiler::Codegen::VolatileMemoryLocationScanner
 

Enumerations

enum class  CompletionState { Empty , EmptyAbrupt , NonEmpty }
 

Functions

 Q_LOGGING_CATEGORY (lcQmlCompiler, "qt.qml.compiler")
 
static void setJumpOutLocation (QV4::Moth::BytecodeGenerator *bytecodeGenerator, const Statement *body, const SourceLocation &fallback)
 
static CompletionState completionState (StatementList *list)
 
static NodecompletionStatement (StatementList *list)
 
static QSOperator::Op baseOp (int op)
 
static bool endsWithReturn (Module *module, Node *node)
 

Enumeration Type Documentation

◆ CompletionState

enum class CompletionState
strong
Enumerator
Empty 
EmptyAbrupt 
NonEmpty 

Definition at line 465 of file qv4codegen.cpp.

Function Documentation

◆ baseOp()

◆ completionState()

static CompletionState completionState ( StatementList list)
static

Definition at line 471 of file qv4codegen.cpp.

References completionState(), Empty, EmptyAbrupt, it, list, NonEmpty, and QQmlJS::AST::Block::statements.

Referenced by completionState(), and completionStatement().

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

◆ completionStatement()

static Node * completionStatement ( StatementList list)
static

Definition at line 492 of file qv4codegen.cpp.

References completionState(), completionStatement(), Empty, EmptyAbrupt, it, list, NonEmpty, state, and QQmlJS::AST::Block::statements.

Referenced by completionStatement(), and QV4::Compiler::Codegen::statementList().

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

◆ endsWithReturn()

static bool endsWithReturn ( Module module,
Node node 
)
static

Definition at line 3254 of file qv4codegen.cpp.

References QV4::Compiler::Module::contextMap, endsWithReturn(), and QV4::Compiler::Context::requiresExecutionContext.

Referenced by QV4::Compiler::Codegen::defineFunction(), endsWithReturn(), and QV4::Compiler::Codegen::visit().

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

◆ Q_LOGGING_CATEGORY()

Q_LOGGING_CATEGORY ( lcQmlCompiler  ,
"qt.qml.compiler"   
)

◆ setJumpOutLocation()

static void setJumpOutLocation ( QV4::Moth::BytecodeGenerator bytecodeGenerator,
const Statement body,
const SourceLocation fallback 
)
inlinestatic

Definition at line 51 of file qv4codegen.cpp.

References QQmlJS::AST::Node::kind, QQmlJS::AST::Node::lastSourceLocation(), and QV4::Moth::BytecodeGenerator::setLocation().

Referenced by QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), and QV4::Compiler::Codegen::visit().

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