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>.
Loading...
Searching...
No Matches
qv4codegen.cpp File Reference

(04eca69846a531ec26c8bb9be20dddd75fb111fe)

#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 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 (lcQmlUsedBeforeDeclared, "qt.qml.usedbeforedeclared")
 
 Q_LOGGING_CATEGORY (lcQmlInjectedParameter, "qt.qml.injectedparameter")
 
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 3279 of file qv4codegen.cpp.

References endsWithReturn().

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() [1/2]

Q_LOGGING_CATEGORY ( lcQmlInjectedParameter ,
"qt.qml.injectedparameter"  )

◆ Q_LOGGING_CATEGORY() [2/2]

Q_LOGGING_CATEGORY ( lcQmlUsedBeforeDeclared ,
"qt.qml.usedbeforedeclared"  )

◆ 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: