Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QV4::Compiler::Codegen Class Reference

#include <qv4codegen_p.h>

Inheritance diagram for QV4::Compiler::Codegen:
Collaboration diagram for QV4::Compiler::Codegen:

Classes

struct  Arguments
struct  ObjectPropertyValue
struct  OptionalChainState
struct  Reference
struct  RegisterScope
class  Result
class  RValue
class  TailCallBlocker
class  VolatileMemoryLocations
class  VolatileMemoryLocationScanner

Public Types

enum  ErrorType { NoError , SyntaxError , ReferenceError }

Public Member Functions

 Codegen (QV4::Compiler::JSUnitGenerator *jsUnitGenerator, bool strict, CodegenWarningInterface *iface=defaultCodegenWarningInterface(), bool storeSourceLocations=false)
void generateFromProgram (const QString &sourceCode, QQmlJS::AST::Program *ast, Module *module, ContextType contextType=ContextType::Global)
void generateFromModule (const QString &sourceCode, QQmlJS::AST::ESModule *ast, Module *module)
void generateFromModule (const Value &value, Module *module)
ContextenterBlock (QQmlJS::AST::Node *node)
int leaveBlock ()
int registerString (const QString &name)
int registerConstant (QV4::ReturnedValue v)
int registerGetterLookup (int nameIndex, JSUnitGenerator::LookupMode mode)
int registerSetterLookup (int nameIndex)
int registerGlobalGetterLookup (int nameIndex, JSUnitGenerator::LookupMode mode)
int registerQmlContextPropertyGetterLookup (int nameIndex, JSUnitGenerator::LookupMode mode)
int defineFunction (const QString &name, QQmlJS::AST::Node *ast, QQmlJS::AST::FormalParameterList *formals, QQmlJS::AST::StatementList *body)
ErrorType errorType () const
bool hasError () const
QQmlJS::DiagnosticMessage error () const
QUrl url () const
Reference binopHelper (QQmlJS::AST::BinaryExpression *ast, QSOperator::Op oper, Reference &left, Reference &right)
Reference jumpBinop (QSOperator::Op oper, Reference &left, Reference &right)
Arguments pushArgs (QQmlJS::AST::ArgumentList *args)
void handleCall (Reference &base, Arguments calldata, int slotForFunction, int slotForThisObject, bool optional=false)
Arguments pushTemplateArgs (QQmlJS::AST::TemplateLiteral *args)
bool handleTaggedTemplate (Reference base, QQmlJS::AST::TaggedTemplate *ast)
void createTemplateObject (QQmlJS::AST::TemplateLiteral *t)
void setUseFastLookups (bool b)
void handleTryCatch (QQmlJS::AST::TryStatement *ast)
void handleTryFinally (QQmlJS::AST::TryStatement *ast)
Reference referenceForName (const QString &name, bool lhs, const QQmlJS::SourceLocation &accessLocation=QQmlJS::SourceLocation())
QQmlRefPointer< QV4::CompiledData::CompilationUnitgenerateCompilationUnit (bool generateUnitData=true)
ContextcurrentContext () const
BytecodeGeneratorgenerator () const
void loadClosure (int index)
Modulemodule () const
BytecodeGenerator::Label returnLabel ()

Static Public Member Functions

static bool isNameGlobal (QAnyStringView name)
static void forEachGlobalName (qxp::function_ref< void(QLatin1StringView)> &&handler)
static QQmlRefPointer< QV4::CompiledData::CompilationUnitcompileModule (bool debugMode, const QString &url, const QString &sourceCode, const QDateTime &sourceTimeStamp, QList< QQmlJS::DiagnosticMessage > *diagnostics)
static const QV4::CompiledData::UnitgenerateNativeModuleUnitData (bool debugMode, const QString &url, const QV4::Value &value)

Protected Types

enum  Format { ex , cx , nx }
enum  UnaryOperation {
  UPlus , UMinus , PreIncrement , PreDecrement ,
  PostIncrement , PostDecrement , Not , Compl
}
using BytecodeGenerator = QV4::Moth::BytecodeGenerator
using Instruction = QV4::Moth::Instruction

Protected Member Functions

void enterContext (QQmlJS::AST::Node *node)
int leaveContext ()
void leaveLoop ()
Reference unop (UnaryOperation op, const Reference &expr)
void addCJump ()
void statement (QQmlJS::AST::Statement *ast)
void statement (QQmlJS::AST::ExpressionNode *ast)
void condition (QQmlJS::AST::ExpressionNode *ast, const BytecodeGenerator::Label *iftrue, const BytecodeGenerator::Label *iffalse, bool trueBlockFollowsCondition)
Reference expression (QQmlJS::AST::ExpressionNode *ast, const QString &name=QString())
void accept (QQmlJS::AST::Node *node)
void program (QQmlJS::AST::Program *ast)
void statementList (QQmlJS::AST::StatementList *ast)
void variableDeclaration (QQmlJS::AST::PatternElement *ast)
void variableDeclarationList (QQmlJS::AST::VariableDeclarationList *ast)
Reference targetForPatternElement (QQmlJS::AST::PatternElement *p)
void initializeAndDestructureBindingElement (QQmlJS::AST::PatternElement *e, const Reference &baseRef=Reference(), bool isDefinition=false)
void destructurePropertyList (const Reference &object, QQmlJS::AST::PatternPropertyList *bindingList, bool isDefinition=false)
void destructureElementList (const Reference &array, QQmlJS::AST::PatternElementList *bindingList, bool isDefinition=false)
void destructurePattern (QQmlJS::AST::Pattern *p, const Reference &rhs)
Reference referenceForPropertyName (const Codegen::Reference &object, QQmlJS::AST::PropertyName *name)
void emitReturn (const Reference &expr)
bool visit (QQmlJS::AST::ArgumentList *ast) override
bool visit (QQmlJS::AST::CaseBlock *ast) override
bool visit (QQmlJS::AST::CaseClause *ast) override
bool visit (QQmlJS::AST::CaseClauses *ast) override
bool visit (QQmlJS::AST::Catch *ast) override
bool visit (QQmlJS::AST::DefaultClause *ast) override
bool visit (QQmlJS::AST::Elision *ast) override
bool visit (QQmlJS::AST::Finally *ast) override
bool visit (QQmlJS::AST::FormalParameterList *ast) override
bool visit (QQmlJS::AST::Program *ast) override
bool visit (QQmlJS::AST::StatementList *ast) override
bool visit (QQmlJS::AST::UiArrayMemberList *ast) override
bool visit (QQmlJS::AST::UiImport *ast) override
bool visit (QQmlJS::AST::UiHeaderItemList *ast) override
bool visit (QQmlJS::AST::UiPragmaValueList *ast) override
bool visit (QQmlJS::AST::UiPragma *ast) override
bool visit (QQmlJS::AST::UiObjectInitializer *ast) override
bool visit (QQmlJS::AST::UiObjectMemberList *ast) override
bool visit (QQmlJS::AST::UiParameterList *ast) override
bool visit (QQmlJS::AST::UiProgram *ast) override
bool visit (QQmlJS::AST::UiQualifiedId *ast) override
bool visit (QQmlJS::AST::VariableDeclarationList *ast) override
bool visit (QQmlJS::AST::PatternElement *ast) override
bool visit (QQmlJS::AST::PatternElementList *ast) override
bool visit (QQmlJS::AST::PatternProperty *ast) override
bool visit (QQmlJS::AST::PatternPropertyList *ast) override
bool visit (QQmlJS::AST::ExportDeclaration *ast) override
bool visit (QQmlJS::AST::TypeAnnotation *ast) override
bool visit (QQmlJS::AST::ArrayPattern *ast) override
bool visit (QQmlJS::AST::ArrayMemberExpression *ast) override
bool visit (QQmlJS::AST::BinaryExpression *ast) override
bool visit (QQmlJS::AST::CallExpression *ast) override
void endVisit (QQmlJS::AST::CallExpression *ast) override
bool visit (QQmlJS::AST::CommaExpression *ast) override
bool visit (QQmlJS::AST::ConditionalExpression *ast) override
bool visit (QQmlJS::AST::DeleteExpression *ast) override
void endVisit (QQmlJS::AST::DeleteExpression *ast) override
bool visit (QQmlJS::AST::FalseLiteral *ast) override
bool visit (QQmlJS::AST::SuperLiteral *ast) override
bool visit (QQmlJS::AST::FieldMemberExpression *ast) override
void endVisit (QQmlJS::AST::FieldMemberExpression *ast) override
bool visit (QQmlJS::AST::TaggedTemplate *ast) override
bool visit (QQmlJS::AST::FunctionExpression *ast) override
bool visit (QQmlJS::AST::IdentifierExpression *ast) override
bool visit (QQmlJS::AST::NestedExpression *ast) override
bool visit (QQmlJS::AST::NewExpression *ast) override
bool visit (QQmlJS::AST::NewMemberExpression *ast) override
bool visit (QQmlJS::AST::NotExpression *ast) override
bool visit (QQmlJS::AST::NullExpression *ast) override
bool visit (QQmlJS::AST::NumericLiteral *ast) override
bool visit (QQmlJS::AST::ObjectPattern *ast) override
bool visit (QQmlJS::AST::PostDecrementExpression *ast) override
bool visit (QQmlJS::AST::PostIncrementExpression *ast) override
bool visit (QQmlJS::AST::PreDecrementExpression *ast) override
bool visit (QQmlJS::AST::PreIncrementExpression *ast) override
bool visit (QQmlJS::AST::RegExpLiteral *ast) override
bool visit (QQmlJS::AST::StringLiteral *ast) override
bool visit (QQmlJS::AST::TemplateLiteral *ast) override
bool visit (QQmlJS::AST::ThisExpression *ast) override
bool visit (QQmlJS::AST::TildeExpression *ast) override
bool visit (QQmlJS::AST::TrueLiteral *ast) override
bool visit (QQmlJS::AST::TypeOfExpression *ast) override
bool visit (QQmlJS::AST::UnaryMinusExpression *ast) override
bool visit (QQmlJS::AST::UnaryPlusExpression *ast) override
bool visit (QQmlJS::AST::VoidExpression *ast) override
bool visit (QQmlJS::AST::FunctionDeclaration *ast) override
bool visit (QQmlJS::AST::YieldExpression *ast) override
bool visit (QQmlJS::AST::ClassExpression *ast) override
bool visit (QQmlJS::AST::ClassDeclaration *ast) override
bool visit (QQmlJS::AST::Block *ast) override
bool visit (QQmlJS::AST::BreakStatement *ast) override
bool visit (QQmlJS::AST::ContinueStatement *ast) override
bool visit (QQmlJS::AST::DebuggerStatement *ast) override
bool visit (QQmlJS::AST::DoWhileStatement *ast) override
bool visit (QQmlJS::AST::EmptyStatement *ast) override
bool visit (QQmlJS::AST::ExpressionStatement *ast) override
bool visit (QQmlJS::AST::ForEachStatement *ast) override
bool visit (QQmlJS::AST::ForStatement *ast) override
bool visit (QQmlJS::AST::IfStatement *ast) override
bool visit (QQmlJS::AST::LabelledStatement *ast) override
bool visit (QQmlJS::AST::ReturnStatement *ast) override
bool visit (QQmlJS::AST::SwitchStatement *ast) override
bool visit (QQmlJS::AST::ThrowStatement *ast) override
bool visit (QQmlJS::AST::TryStatement *ast) override
bool visit (QQmlJS::AST::VariableStatement *ast) override
bool visit (QQmlJS::AST::WhileStatement *ast) override
bool visit (QQmlJS::AST::WithStatement *ast) override
bool visit (QQmlJS::AST::UiArrayBinding *ast) override
bool visit (QQmlJS::AST::UiObjectBinding *ast) override
bool visit (QQmlJS::AST::UiObjectDefinition *ast) override
bool visit (QQmlJS::AST::UiPublicMember *ast) override
bool visit (QQmlJS::AST::UiScriptBinding *ast) override
bool visit (QQmlJS::AST::UiSourceElement *ast) override
bool throwSyntaxErrorOnEvalOrArgumentsInStrictMode (const Reference &r, const QQmlJS::SourceLocation &loc)
virtual void throwSyntaxError (const QQmlJS::SourceLocation &loc, const QString &detail)
virtual void throwReferenceError (const QQmlJS::SourceLocation &loc, const QString &detail)
void throwRecursionDepthError () override
void setExprResult (const Reference &result)
void setExprResult (Reference &&result)
Reference exprResult () const
void clearExprResultName ()
bool exprAccept (Format f)
const ResultcurrentExpr () const
void pushExpr (Result &&expr)
void pushExpr (const Result &expr)
void pushExpr (const QString &name=QString())
Result popExpr ()
Reference popResult ()
Protected Member Functions inherited from QQmlJS::AST::Visitor
 Visitor (quint16 parentRecursionDepth=0)
bool preVisit (Node *) override
void postVisit (Node *) override
Protected Member Functions inherited from QQmlJS::AST::BaseVisitor
 BaseVisitor (quint16 parentRecursionDepth=0)
virtual ~BaseVisitor ()
quint16 recursionDepth () const

Protected Attributes

std::vector< Resultm_expressions
VolatileMemoryLocations _volatileMemoryLocations
Module_module
int _returnAddress
Context_context
Context_functionContext = nullptr
QQmlJS::AST::LabelledStatement_labelledStatement
QV4::Compiler::JSUnitGeneratorjsUnitGenerator
BytecodeGeneratorbytecodeGenerator = nullptr
Moth::BytecodeGenerator::Label_returnLabel = nullptr
bool _strictMode
bool useFastLookups = true
bool requiresReturnValue = false
bool insideSwitch = false
bool inFormalParameterList = false
bool functionEndsWithReturn = false
bool _tailCallsAreAllowed = true
bool storeSourceLocations = false
QSet< QQmlJS::AST::Node * > m_seenOptionalChainNodes
std::stack< OptionalChainStatem_optionalChainsStates
ControlFlowcontrolFlow = nullptr
bool _fileNameIsUrl
ErrorType _errorType = NoError
QQmlJS::DiagnosticMessage _error
CodegenWarningInterface_interface
Protected Attributes inherited from QQmlJS::AST::BaseVisitor
quint16 m_recursionDepth = 0

Friends

class ScanFunctions
struct ControlFlow
struct ControlFlowCatch
struct ControlFlowFinally

Detailed Description

Definition at line 70 of file qv4codegen_p.h.

Member Typedef Documentation

◆ BytecodeGenerator

◆ Instruction

Definition at line 74 of file qv4codegen_p.h.

Member Enumeration Documentation

◆ ErrorType

Enumerator
NoError 
SyntaxError 
ReferenceError 

Definition at line 707 of file qv4codegen_p.h.

◆ Format

Enumerator
ex 
cx 
nx 

Definition at line 421 of file qv4codegen_p.h.

◆ UnaryOperation

Enumerator
UPlus 
UMinus 
PreIncrement 
PreDecrement 
PostIncrement 
PostDecrement 
Not 
Compl 

Definition at line 509 of file qv4codegen_p.h.

Constructor & Destructor Documentation

◆ Codegen()

Codegen::Codegen ( QV4::Compiler::JSUnitGenerator * jsUnitGenerator,
bool strict,
CodegenWarningInterface * iface = defaultCodegenWarningInterface(),
bool storeSourceLocations = false )

Definition at line 102 of file qv4codegen.cpp.

Member Function Documentation

◆ accept()

void QV4::Compiler::Codegen::accept ( QQmlJS::AST::Node * node)
inlineprotected

Definition at line 571 of file qv4codegen_p.h.

◆ addCJump()

void Codegen::addCJump ( )
protected

Definition at line 438 of file qv4codegen.cpp.

◆ binopHelper()

Codegen::Reference Codegen::binopHelper ( QQmlJS::AST::BinaryExpression * ast,
QSOperator::Op oper,
Reference & left,
Reference & right )

Definition at line 1628 of file qv4codegen.cpp.

◆ clearExprResultName()

void QV4::Compiler::Codegen::clearExprResultName ( )
inlineprotected

Definition at line 770 of file qv4codegen_p.h.

◆ compileModule()

QQmlRefPointer< QV4::CompiledData::CompilationUnit > Codegen::compileModule ( bool debugMode,
const QString & url,
const QString & sourceCode,
const QDateTime & sourceTimeStamp,
QList< QQmlJS::DiagnosticMessage > * diagnostics )
static

Definition at line 4213 of file qv4codegen.cpp.

◆ condition()

void Codegen::condition ( QQmlJS::AST::ExpressionNode * ast,
const BytecodeGenerator::Label * iftrue,
const BytecodeGenerator::Label * iffalse,
bool trueBlockFollowsCondition )
protected

Definition at line 482 of file qv4codegen.cpp.

◆ createTemplateObject()

void Codegen::createTemplateObject ( QQmlJS::AST::TemplateLiteral * t)

Definition at line 2645 of file qv4codegen.cpp.

◆ currentContext()

Context * QV4::Compiler::Codegen::currentContext ( ) const
inline

Definition at line 748 of file qv4codegen_p.h.

◆ currentExpr()

const Result & QV4::Compiler::Codegen::currentExpr ( ) const
inlineprotected

Definition at line 774 of file qv4codegen_p.h.

◆ defineFunction()

int Codegen::defineFunction ( const QString & name,
QQmlJS::AST::Node * ast,
QQmlJS::AST::FormalParameterList * formals,
QQmlJS::AST::StatementList * body )

Definition at line 3376 of file qv4codegen.cpp.

◆ destructureElementList()

void Codegen::destructureElementList ( const Reference & array,
QQmlJS::AST::PatternElementList * bindingList,
bool isDefinition = false )
protected

Definition at line 766 of file qv4codegen.cpp.

◆ destructurePattern()

void Codegen::destructurePattern ( QQmlJS::AST::Pattern * p,
const Reference & rhs )
protected

Definition at line 854 of file qv4codegen.cpp.

◆ destructurePropertyList()

void Codegen::destructurePropertyList ( const Reference & object,
QQmlJS::AST::PatternPropertyList * bindingList,
bool isDefinition = false )
protected

Definition at line 746 of file qv4codegen.cpp.

◆ emitReturn()

void Codegen::emitReturn ( const Reference & expr)
protected

Definition at line 3875 of file qv4codegen.cpp.

◆ endVisit() [1/3]

void Codegen::endVisit ( QQmlJS::AST::CallExpression * ast)
overrideprotected

Definition at line 2120 of file qv4codegen.cpp.

◆ endVisit() [2/3]

void Codegen::endVisit ( QQmlJS::AST::DeleteExpression * ast)
overrideprotected

Definition at line 2420 of file qv4codegen.cpp.

◆ endVisit() [3/3]

void Codegen::endVisit ( QQmlJS::AST::FieldMemberExpression * ast)
overrideprotected

Definition at line 2591 of file qv4codegen.cpp.

◆ enterBlock()

Context * Codegen::enterBlock ( QQmlJS::AST::Node * node)

Definition at line 314 of file qv4codegen.cpp.

◆ enterContext()

void Codegen::enterContext ( QQmlJS::AST::Node * node)
protected

Definition at line 300 of file qv4codegen.cpp.

◆ error()

QQmlJS::DiagnosticMessage Codegen::error ( ) const

Definition at line 4199 of file qv4codegen.cpp.

◆ errorType()

ErrorType QV4::Compiler::Codegen::errorType ( ) const
inline

Definition at line 713 of file qv4codegen_p.h.

◆ exprAccept()

bool QV4::Compiler::Codegen::exprAccept ( Format f)
inlineprotected

Definition at line 772 of file qv4codegen_p.h.

◆ expression()

Reference QV4::Compiler::Codegen::expression ( QQmlJS::AST::ExpressionNode * ast,
const QString & name = QString() )
inlineprotected

Definition at line 561 of file qv4codegen_p.h.

◆ exprResult()

Reference QV4::Compiler::Codegen::exprResult ( ) const
inlineprotected

Definition at line 769 of file qv4codegen_p.h.

◆ forEachGlobalName()

void Codegen::forEachGlobalName ( qxp::function_ref< void(QLatin1StringView)> && handler)
static

Definition at line 193 of file qv4codegen.cpp.

◆ generateCompilationUnit()

QQmlRefPointer< QV4::CompiledData::CompilationUnit > Codegen::generateCompilationUnit ( bool generateUnitData = true)

Definition at line 4204 of file qv4codegen.cpp.

◆ generateFromModule() [1/2]

void Codegen::generateFromModule ( const QString & sourceCode,
QQmlJS::AST::ESModule * ast,
Module * module )

Definition at line 216 of file qv4codegen.cpp.

◆ generateFromModule() [2/2]

void Codegen::generateFromModule ( const Value & value,
Module * module )

Definition at line 254 of file qv4codegen.cpp.

◆ generateFromProgram()

void Codegen::generateFromProgram ( const QString & sourceCode,
QQmlJS::AST::Program * ast,
Module * module,
ContextType contextType = ContextType::Global )

Definition at line 199 of file qv4codegen.cpp.

◆ generateNativeModuleUnitData()

const QV4::CompiledData::Unit * Codegen::generateNativeModuleUnitData ( bool debugMode,
const QString & url,
const QV4::Value & value )
static

Definition at line 4255 of file qv4codegen.cpp.

◆ generator()

BytecodeGenerator * QV4::Compiler::Codegen::generator ( ) const
inline

Definition at line 749 of file qv4codegen_p.h.

◆ handleCall()

void Codegen::handleCall ( Reference & base,
Arguments calldata,
int slotForFunction,
int slotForThisObject,
bool optional = false )

Definition at line 2125 of file qv4codegen.cpp.

◆ handleTaggedTemplate()

bool Codegen::handleTaggedTemplate ( Reference base,
QQmlJS::AST::TaggedTemplate * ast )

Definition at line 2605 of file qv4codegen.cpp.

◆ handleTryCatch()

void Codegen::handleTryCatch ( QQmlJS::AST::TryStatement * ast)

Definition at line 4016 of file qv4codegen.cpp.

◆ handleTryFinally()

void Codegen::handleTryFinally ( QQmlJS::AST::TryStatement * ast)

Definition at line 4028 of file qv4codegen.cpp.

◆ hasError()

bool QV4::Compiler::Codegen::hasError ( ) const
inline

Definition at line 714 of file qv4codegen_p.h.

◆ initializeAndDestructureBindingElement()

void Codegen::initializeAndDestructureBindingElement ( QQmlJS::AST::PatternElement * e,
const Reference & baseRef = Reference(),
bool isDefinition = false )
protected

Definition at line 662 of file qv4codegen.cpp.

◆ isNameGlobal()

bool Codegen::isNameGlobal ( QAnyStringView name)
static

Definition at line 188 of file qv4codegen.cpp.

◆ jumpBinop()

Codegen::Reference Codegen::jumpBinop ( QSOperator::Op oper,
Reference & left,
Reference & right )

Definition at line 1899 of file qv4codegen.cpp.

◆ leaveBlock()

int QV4::Compiler::Codegen::leaveBlock ( )
inline

Definition at line 505 of file qv4codegen_p.h.

◆ leaveContext()

int Codegen::leaveContext ( )
protected

Definition at line 306 of file qv4codegen.cpp.

◆ leaveLoop()

void QV4::Compiler::Codegen::leaveLoop ( )
protected

◆ loadClosure()

void Codegen::loadClosure ( int index)

Definition at line 2750 of file qv4codegen.cpp.

◆ module()

Module * QV4::Compiler::Codegen::module ( ) const
inline

Definition at line 753 of file qv4codegen_p.h.

◆ popExpr()

Result QV4::Compiler::Codegen::popExpr ( )
inlineprotected

Definition at line 780 of file qv4codegen_p.h.

◆ popResult()

Reference QV4::Compiler::Codegen::popResult ( )
inlineprotected

Definition at line 787 of file qv4codegen_p.h.

◆ program()

void Codegen::program ( QQmlJS::AST::Program * ast)
protected

Definition at line 511 of file qv4codegen.cpp.

◆ pushArgs()

Codegen::Arguments Codegen::pushArgs ( QQmlJS::AST::ArgumentList * args)

Definition at line 2221 of file qv4codegen.cpp.

◆ pushExpr() [1/3]

void QV4::Compiler::Codegen::pushExpr ( const QString & name = QString())
inlineprotected

Definition at line 778 of file qv4codegen_p.h.

◆ pushExpr() [2/3]

void QV4::Compiler::Codegen::pushExpr ( const Result & expr)
inlineprotected

Definition at line 777 of file qv4codegen_p.h.

◆ pushExpr() [3/3]

void QV4::Compiler::Codegen::pushExpr ( Result && expr)
inlineprotected

Definition at line 776 of file qv4codegen_p.h.

◆ pushTemplateArgs()

Codegen::Arguments Codegen::pushTemplateArgs ( QQmlJS::AST::TemplateLiteral * args)

Definition at line 2264 of file qv4codegen.cpp.

◆ referenceForName()

Codegen::Reference Codegen::referenceForName ( const QString & name,
bool lhs,
const QQmlJS::SourceLocation & accessLocation = QQmlJS::SourceLocation() )

Definition at line 2679 of file qv4codegen.cpp.

◆ referenceForPropertyName()

Codegen::Reference Codegen::referenceForPropertyName ( const Codegen::Reference & object,
QQmlJS::AST::PropertyName * name )
protected

Definition at line 729 of file qv4codegen.cpp.

◆ registerConstant()

int QV4::Compiler::Codegen::registerConstant ( QV4::ReturnedValue v)
inline

Definition at line 528 of file qv4codegen_p.h.

◆ registerGetterLookup()

int QV4::Compiler::Codegen::registerGetterLookup ( int nameIndex,
JSUnitGenerator::LookupMode mode )
inline

Definition at line 532 of file qv4codegen_p.h.

◆ registerGlobalGetterLookup()

int QV4::Compiler::Codegen::registerGlobalGetterLookup ( int nameIndex,
JSUnitGenerator::LookupMode mode )
inline

Definition at line 540 of file qv4codegen_p.h.

◆ registerQmlContextPropertyGetterLookup()

int QV4::Compiler::Codegen::registerQmlContextPropertyGetterLookup ( int nameIndex,
JSUnitGenerator::LookupMode mode )
inline

Definition at line 544 of file qv4codegen_p.h.

◆ registerSetterLookup()

int QV4::Compiler::Codegen::registerSetterLookup ( int nameIndex)
inline

Definition at line 536 of file qv4codegen_p.h.

◆ registerString()

int QV4::Compiler::Codegen::registerString ( const QString & name)
inline

Definition at line 525 of file qv4codegen_p.h.

◆ returnLabel()

BytecodeGenerator::Label QV4::Compiler::Codegen::returnLabel ( )
inline

Definition at line 755 of file qv4codegen_p.h.

◆ setExprResult() [1/2]

void QV4::Compiler::Codegen::setExprResult ( const Reference & result)
inlineprotected

Definition at line 767 of file qv4codegen_p.h.

◆ setExprResult() [2/2]

void QV4::Compiler::Codegen::setExprResult ( Reference && result)
inlineprotected

Definition at line 768 of file qv4codegen_p.h.

◆ setUseFastLookups()

void QV4::Compiler::Codegen::setUseFastLookups ( bool b)
inline

Definition at line 729 of file qv4codegen_p.h.

◆ statement() [1/2]

void Codegen::statement ( QQmlJS::AST::ExpressionNode * ast)
protected

Definition at line 458 of file qv4codegen.cpp.

◆ statement() [2/2]

void Codegen::statement ( QQmlJS::AST::Statement * ast)
protected

Definition at line 445 of file qv4codegen.cpp.

◆ statementList()

void Codegen::statementList ( QQmlJS::AST::StatementList * ast)
protected

Definition at line 575 of file qv4codegen.cpp.

◆ targetForPatternElement()

Codegen::Reference Codegen::targetForPatternElement ( QQmlJS::AST::PatternElement * p)
protected

Definition at line 645 of file qv4codegen.cpp.

◆ throwRecursionDepthError()

void QV4::Compiler::Codegen::throwRecursionDepthError ( )
inlineoverrideprotectedvirtual

Implements QQmlJS::AST::BaseVisitor.

Definition at line 700 of file qv4codegen_p.h.

◆ throwReferenceError()

void Codegen::throwReferenceError ( const QQmlJS::SourceLocation & loc,
const QString & detail )
protectedvirtual

Reimplemented in QV4::RuntimeCodegen.

Definition at line 4194 of file qv4codegen.cpp.

◆ throwSyntaxError()

void Codegen::throwSyntaxError ( const QQmlJS::SourceLocation & loc,
const QString & detail )
protectedvirtual

Reimplemented in QV4::RuntimeCodegen.

Definition at line 4189 of file qv4codegen.cpp.

◆ throwSyntaxErrorOnEvalOrArgumentsInStrictMode()

bool Codegen::throwSyntaxErrorOnEvalOrArgumentsInStrictMode ( const Reference & r,
const QQmlJS::SourceLocation & loc )
protected

Definition at line 4161 of file qv4codegen.cpp.

◆ unop()

Codegen::Reference Codegen::unop ( UnaryOperation op,
const Reference & expr )
protected

Definition at line 320 of file qv4codegen.cpp.

◆ url()

QUrl Codegen::url ( ) const

Definition at line 4381 of file qv4codegen.cpp.

◆ variableDeclaration()

void Codegen::variableDeclaration ( QQmlJS::AST::PatternElement * ast)
protected

Definition at line 622 of file qv4codegen.cpp.

◆ variableDeclarationList()

void Codegen::variableDeclarationList ( QQmlJS::AST::VariableDeclarationList * ast)
protected

Definition at line 638 of file qv4codegen.cpp.

◆ visit() [1/90]

bool Codegen::visit ( QQmlJS::AST::ArgumentList * ast)
overrideprotected

Definition at line 866 of file qv4codegen.cpp.

◆ visit() [2/90]

bool Codegen::visit ( QQmlJS::AST::ArrayMemberExpression * ast)
overrideprotected

Definition at line 1318 of file qv4codegen.cpp.

◆ visit() [3/90]

bool Codegen::visit ( QQmlJS::AST::ArrayPattern * ast)
overrideprotected

Definition at line 1160 of file qv4codegen.cpp.

◆ visit() [4/90]

bool Codegen::visit ( QQmlJS::AST::BinaryExpression * ast)
overrideprotected

Definition at line 1397 of file qv4codegen.cpp.

◆ visit() [5/90]

bool Codegen::visit ( QQmlJS::AST::Block * ast)
overrideprotected

Definition at line 3531 of file qv4codegen.cpp.

◆ visit() [6/90]

bool Codegen::visit ( QQmlJS::AST::BreakStatement * ast)
overrideprotected

Definition at line 3543 of file qv4codegen.cpp.

◆ visit() [7/90]

bool Codegen::visit ( QQmlJS::AST::CallExpression * ast)
overrideprotected

Definition at line 2019 of file qv4codegen.cpp.

◆ visit() [8/90]

bool Codegen::visit ( QQmlJS::AST::CaseBlock * ast)
overrideprotected

Definition at line 871 of file qv4codegen.cpp.

◆ visit() [9/90]

bool Codegen::visit ( QQmlJS::AST::CaseClause * ast)
overrideprotected

Definition at line 876 of file qv4codegen.cpp.

◆ visit() [10/90]

bool Codegen::visit ( QQmlJS::AST::CaseClauses * ast)
overrideprotected

Definition at line 881 of file qv4codegen.cpp.

◆ visit() [11/90]

bool Codegen::visit ( QQmlJS::AST::Catch * ast)
overrideprotected

Definition at line 886 of file qv4codegen.cpp.

◆ visit() [12/90]

bool Codegen::visit ( QQmlJS::AST::ClassDeclaration * ast)
overrideprotected

Definition at line 1138 of file qv4codegen.cpp.

◆ visit() [13/90]

bool Codegen::visit ( QQmlJS::AST::ClassExpression * ast)
overrideprotected

Definition at line 1032 of file qv4codegen.cpp.

◆ visit() [14/90]

bool Codegen::visit ( QQmlJS::AST::CommaExpression * ast)
overrideprotected

Definition at line 1147 of file qv4codegen.cpp.

◆ visit() [15/90]

bool Codegen::visit ( QQmlJS::AST::ConditionalExpression * ast)
overrideprotected

Definition at line 2288 of file qv4codegen.cpp.

◆ visit() [16/90]

bool Codegen::visit ( QQmlJS::AST::ContinueStatement * ast)
overrideprotected

Definition at line 3568 of file qv4codegen.cpp.

◆ visit() [17/90]

bool Codegen::visit ( QQmlJS::AST::DebuggerStatement * ast)
overrideprotected

Definition at line 3595 of file qv4codegen.cpp.

◆ visit() [18/90]

bool Codegen::visit ( QQmlJS::AST::DefaultClause * ast)
overrideprotected

Definition at line 891 of file qv4codegen.cpp.

◆ visit() [19/90]

bool Codegen::visit ( QQmlJS::AST::DeleteExpression * ast)
overrideprotected

Definition at line 2323 of file qv4codegen.cpp.

◆ visit() [20/90]

bool Codegen::visit ( QQmlJS::AST::DoWhileStatement * ast)
overrideprotected

Definition at line 3601 of file qv4codegen.cpp.

◆ visit() [21/90]

bool Codegen::visit ( QQmlJS::AST::Elision * ast)
overrideprotected

Definition at line 896 of file qv4codegen.cpp.

◆ visit() [22/90]

bool Codegen::visit ( QQmlJS::AST::EmptyStatement * ast)
overrideprotected

Definition at line 3641 of file qv4codegen.cpp.

◆ visit() [23/90]

bool Codegen::visit ( QQmlJS::AST::ExportDeclaration * ast)
overrideprotected

Definition at line 936 of file qv4codegen.cpp.

◆ visit() [24/90]

bool Codegen::visit ( QQmlJS::AST::ExpressionStatement * ast)
overrideprotected

Definition at line 3646 of file qv4codegen.cpp.

◆ visit() [25/90]

bool Codegen::visit ( QQmlJS::AST::FalseLiteral * ast)
overrideprotected

Definition at line 2424 of file qv4codegen.cpp.

◆ visit() [26/90]

bool Codegen::visit ( QQmlJS::AST::FieldMemberExpression * ast)
overrideprotected

Definition at line 2542 of file qv4codegen.cpp.

◆ visit() [27/90]

bool Codegen::visit ( QQmlJS::AST::Finally * ast)
overrideprotected

Definition at line 901 of file qv4codegen.cpp.

◆ visit() [28/90]

bool Codegen::visit ( QQmlJS::AST::ForEachStatement * ast)
overrideprotected

Definition at line 3665 of file qv4codegen.cpp.

◆ visit() [29/90]

bool Codegen::visit ( QQmlJS::AST::FormalParameterList * ast)
overrideprotected

Definition at line 906 of file qv4codegen.cpp.

◆ visit() [30/90]

bool Codegen::visit ( QQmlJS::AST::ForStatement * ast)
overrideprotected

Definition at line 3764 of file qv4codegen.cpp.

◆ visit() [31/90]

bool Codegen::visit ( QQmlJS::AST::FunctionDeclaration * ast)
overrideprotected

Definition at line 3256 of file qv4codegen.cpp.

◆ visit() [32/90]

bool Codegen::visit ( QQmlJS::AST::FunctionExpression * ast)
overrideprotected

Definition at line 2662 of file qv4codegen.cpp.

◆ visit() [33/90]

bool Codegen::visit ( QQmlJS::AST::IdentifierExpression * ast)
overrideprotected

Definition at line 2761 of file qv4codegen.cpp.

◆ visit() [34/90]

bool Codegen::visit ( QQmlJS::AST::IfStatement * ast)
overrideprotected

Definition at line 3808 of file qv4codegen.cpp.

◆ visit() [35/90]

bool Codegen::visit ( QQmlJS::AST::LabelledStatement * ast)
overrideprotected

Definition at line 3840 of file qv4codegen.cpp.

◆ visit() [36/90]

bool Codegen::visit ( QQmlJS::AST::NestedExpression * ast)
overrideprotected

Definition at line 2770 of file qv4codegen.cpp.

◆ visit() [37/90]

bool Codegen::visit ( QQmlJS::AST::NewExpression * ast)
overrideprotected

Definition at line 2819 of file qv4codegen.cpp.

◆ visit() [38/90]

bool Codegen::visit ( QQmlJS::AST::NewMemberExpression * ast)
overrideprotected

Definition at line 2839 of file qv4codegen.cpp.

◆ visit() [39/90]

bool Codegen::visit ( QQmlJS::AST::NotExpression * ast)
overrideprotected

Definition at line 2859 of file qv4codegen.cpp.

◆ visit() [40/90]

bool Codegen::visit ( QQmlJS::AST::NullExpression * ast)
overrideprotected

Definition at line 2869 of file qv4codegen.cpp.

◆ visit() [41/90]

bool Codegen::visit ( QQmlJS::AST::NumericLiteral * ast)
overrideprotected

Definition at line 2882 of file qv4codegen.cpp.

◆ visit() [42/90]

bool Codegen::visit ( QQmlJS::AST::ObjectPattern * ast)
overrideprotected

Definition at line 2891 of file qv4codegen.cpp.

◆ visit() [43/90]

bool Codegen::visit ( QQmlJS::AST::PatternElement * ast)
overrideprotected

Definition at line 916 of file qv4codegen.cpp.

◆ visit() [44/90]

bool Codegen::visit ( QQmlJS::AST::PatternElementList * ast)
overrideprotected

Definition at line 921 of file qv4codegen.cpp.

◆ visit() [45/90]

bool Codegen::visit ( QQmlJS::AST::PatternProperty * ast)
overrideprotected

Definition at line 926 of file qv4codegen.cpp.

◆ visit() [46/90]

bool Codegen::visit ( QQmlJS::AST::PatternPropertyList * ast)
overrideprotected

Definition at line 931 of file qv4codegen.cpp.

◆ visit() [47/90]

bool Codegen::visit ( QQmlJS::AST::PostDecrementExpression * ast)
overrideprotected

Definition at line 3003 of file qv4codegen.cpp.

◆ visit() [48/90]

bool Codegen::visit ( QQmlJS::AST::PostIncrementExpression * ast)
overrideprotected

Definition at line 3023 of file qv4codegen.cpp.

◆ visit() [49/90]

bool Codegen::visit ( QQmlJS::AST::PreDecrementExpression * ast)
overrideprotected

Definition at line 3042 of file qv4codegen.cpp.

◆ visit() [50/90]

bool Codegen::visit ( QQmlJS::AST::PreIncrementExpression * ast)
overrideprotected

Definition at line 3060 of file qv4codegen.cpp.

◆ visit() [51/90]

bool Codegen::visit ( QQmlJS::AST::Program * ast)
overrideprotected

Definition at line 911 of file qv4codegen.cpp.

◆ visit() [52/90]

bool Codegen::visit ( QQmlJS::AST::RegExpLiteral * ast)
overrideprotected

Definition at line 3079 of file qv4codegen.cpp.

◆ visit() [53/90]

bool Codegen::visit ( QQmlJS::AST::ReturnStatement * ast)
overrideprotected

Definition at line 3888 of file qv4codegen.cpp.

◆ visit() [54/90]

bool Codegen::visit ( QQmlJS::AST::StatementList * ast)
overrideprotected

Definition at line 972 of file qv4codegen.cpp.

◆ visit() [55/90]

bool Codegen::visit ( QQmlJS::AST::StringLiteral * ast)
overrideprotected

Definition at line 3095 of file qv4codegen.cpp.

◆ visit() [56/90]

bool Codegen::visit ( QQmlJS::AST::SuperLiteral * ast)
overrideprotected

Definition at line 2433 of file qv4codegen.cpp.

◆ visit() [57/90]

bool Codegen::visit ( QQmlJS::AST::SwitchStatement * ast)
overrideprotected

Definition at line 3911 of file qv4codegen.cpp.

◆ visit() [58/90]

bool Codegen::visit ( QQmlJS::AST::TaggedTemplate * ast)
overrideprotected

Definition at line 2596 of file qv4codegen.cpp.

◆ visit() [59/90]

bool Codegen::visit ( QQmlJS::AST::TemplateLiteral * ast)
overrideprotected

Definition at line 3110 of file qv4codegen.cpp.

◆ visit() [60/90]

bool Codegen::visit ( QQmlJS::AST::ThisExpression * ast)
overrideprotected

Definition at line 3157 of file qv4codegen.cpp.

◆ visit() [61/90]

bool Codegen::visit ( QQmlJS::AST::ThrowStatement * ast)
overrideprotected

Definition at line 3998 of file qv4codegen.cpp.

◆ visit() [62/90]

bool Codegen::visit ( QQmlJS::AST::TildeExpression * ast)
overrideprotected

Definition at line 3177 of file qv4codegen.cpp.

◆ visit() [63/90]

bool Codegen::visit ( QQmlJS::AST::TrueLiteral * ast)
overrideprotected

Definition at line 3187 of file qv4codegen.cpp.

◆ visit() [64/90]

bool Codegen::visit ( QQmlJS::AST::TryStatement * ast)
overrideprotected

Definition at line 4043 of file qv4codegen.cpp.

◆ visit() [65/90]

bool Codegen::visit ( QQmlJS::AST::TypeAnnotation * ast)
overrideprotected

Definition at line 966 of file qv4codegen.cpp.

◆ visit() [66/90]

bool Codegen::visit ( QQmlJS::AST::TypeOfExpression * ast)
overrideprotected

Definition at line 3196 of file qv4codegen.cpp.

◆ visit() [67/90]

bool Codegen::visit ( QQmlJS::AST::UiArrayBinding * ast)
overrideprotected

Definition at line 4125 of file qv4codegen.cpp.

◆ visit() [68/90]

bool Codegen::visit ( QQmlJS::AST::UiArrayMemberList * ast)
overrideprotected

Definition at line 977 of file qv4codegen.cpp.

◆ visit() [69/90]

bool Codegen::visit ( QQmlJS::AST::UiHeaderItemList * ast)
overrideprotected

Definition at line 987 of file qv4codegen.cpp.

◆ visit() [70/90]

bool Codegen::visit ( QQmlJS::AST::UiImport * ast)
overrideprotected

Definition at line 982 of file qv4codegen.cpp.

◆ visit() [71/90]

bool Codegen::visit ( QQmlJS::AST::UiObjectBinding * ast)
overrideprotected

Definition at line 4131 of file qv4codegen.cpp.

◆ visit() [72/90]

bool Codegen::visit ( QQmlJS::AST::UiObjectDefinition * ast)
overrideprotected

Definition at line 4137 of file qv4codegen.cpp.

◆ visit() [73/90]

bool Codegen::visit ( QQmlJS::AST::UiObjectInitializer * ast)
overrideprotected

Definition at line 1002 of file qv4codegen.cpp.

◆ visit() [74/90]

bool Codegen::visit ( QQmlJS::AST::UiObjectMemberList * ast)
overrideprotected

Definition at line 1007 of file qv4codegen.cpp.

◆ visit() [75/90]

bool Codegen::visit ( QQmlJS::AST::UiParameterList * ast)
overrideprotected

Definition at line 1012 of file qv4codegen.cpp.

◆ visit() [76/90]

bool Codegen::visit ( QQmlJS::AST::UiPragma * ast)
overrideprotected

Definition at line 997 of file qv4codegen.cpp.

◆ visit() [77/90]

bool Codegen::visit ( QQmlJS::AST::UiPragmaValueList * ast)
overrideprotected

Definition at line 992 of file qv4codegen.cpp.

◆ visit() [78/90]

bool Codegen::visit ( QQmlJS::AST::UiProgram * ast)
overrideprotected

Definition at line 1017 of file qv4codegen.cpp.

◆ visit() [79/90]

bool Codegen::visit ( QQmlJS::AST::UiPublicMember * ast)
overrideprotected

Definition at line 4143 of file qv4codegen.cpp.

◆ visit() [80/90]

bool Codegen::visit ( QQmlJS::AST::UiQualifiedId * ast)
overrideprotected

Definition at line 1022 of file qv4codegen.cpp.

◆ visit() [81/90]

bool Codegen::visit ( QQmlJS::AST::UiScriptBinding * ast)
overrideprotected

Definition at line 4149 of file qv4codegen.cpp.

◆ visit() [82/90]

bool Codegen::visit ( QQmlJS::AST::UiSourceElement * ast)
overrideprotected

Definition at line 4155 of file qv4codegen.cpp.

◆ visit() [83/90]

bool Codegen::visit ( QQmlJS::AST::UnaryMinusExpression * ast)
overrideprotected

Definition at line 3223 of file qv4codegen.cpp.

◆ visit() [84/90]

bool Codegen::visit ( QQmlJS::AST::UnaryPlusExpression * ast)
overrideprotected

Definition at line 3233 of file qv4codegen.cpp.

◆ visit() [85/90]

bool Codegen::visit ( QQmlJS::AST::VariableDeclarationList * ast)
overrideprotected

Definition at line 1027 of file qv4codegen.cpp.

◆ visit() [86/90]

bool Codegen::visit ( QQmlJS::AST::VariableStatement * ast)
overrideprotected

Definition at line 4059 of file qv4codegen.cpp.

◆ visit() [87/90]

bool Codegen::visit ( QQmlJS::AST::VoidExpression * ast)
overrideprotected

Definition at line 3243 of file qv4codegen.cpp.

◆ visit() [88/90]

bool Codegen::visit ( QQmlJS::AST::WhileStatement * ast)
overrideprotected

Definition at line 4068 of file qv4codegen.cpp.

◆ visit() [89/90]

bool Codegen::visit ( QQmlJS::AST::WithStatement * ast)
overrideprotected

Definition at line 4100 of file qv4codegen.cpp.

◆ visit() [90/90]

bool Codegen::visit ( QQmlJS::AST::YieldExpression * ast)
overrideprotected

Definition at line 3270 of file qv4codegen.cpp.

◆ ControlFlow

friend struct ControlFlow
friend

Definition at line 763 of file qv4codegen_p.h.

◆ ControlFlowCatch

friend struct ControlFlowCatch
friend

Definition at line 764 of file qv4codegen_p.h.

◆ ControlFlowFinally

friend struct ControlFlowFinally
friend

Definition at line 765 of file qv4codegen_p.h.

◆ ScanFunctions

friend class ScanFunctions
friend

Definition at line 762 of file qv4codegen_p.h.

Member Data Documentation

◆ _context

Context* QV4::Compiler::Codegen::_context
protected

Definition at line 797 of file qv4codegen_p.h.

◆ _error

QQmlJS::DiagnosticMessage QV4::Compiler::Codegen::_error
protected

Definition at line 825 of file qv4codegen_p.h.

◆ _errorType

ErrorType QV4::Compiler::Codegen::_errorType = NoError
protected

Definition at line 824 of file qv4codegen_p.h.

◆ _fileNameIsUrl

bool QV4::Compiler::Codegen::_fileNameIsUrl
protected

Definition at line 823 of file qv4codegen_p.h.

◆ _functionContext

Context* QV4::Compiler::Codegen::_functionContext = nullptr
protected

Definition at line 798 of file qv4codegen_p.h.

◆ _interface

CodegenWarningInterface* QV4::Compiler::Codegen::_interface
protected

Definition at line 826 of file qv4codegen_p.h.

◆ _labelledStatement

QQmlJS::AST::LabelledStatement* QV4::Compiler::Codegen::_labelledStatement
protected

Definition at line 799 of file qv4codegen_p.h.

◆ _module

Module* QV4::Compiler::Codegen::_module
protected

Definition at line 795 of file qv4codegen_p.h.

◆ _returnAddress

int QV4::Compiler::Codegen::_returnAddress
protected

Definition at line 796 of file qv4codegen_p.h.

◆ _returnLabel

Moth::BytecodeGenerator::Label* QV4::Compiler::Codegen::_returnLabel = nullptr
protected

Definition at line 802 of file qv4codegen_p.h.

◆ _strictMode

bool QV4::Compiler::Codegen::_strictMode
protected

Definition at line 803 of file qv4codegen_p.h.

◆ _tailCallsAreAllowed

bool QV4::Compiler::Codegen::_tailCallsAreAllowed = true
protected

Definition at line 809 of file qv4codegen_p.h.

◆ _volatileMemoryLocations

VolatileMemoryLocations QV4::Compiler::Codegen::_volatileMemoryLocations
protected

Definition at line 794 of file qv4codegen_p.h.

◆ bytecodeGenerator

BytecodeGenerator* QV4::Compiler::Codegen::bytecodeGenerator = nullptr
protected

Definition at line 801 of file qv4codegen_p.h.

◆ controlFlow

ControlFlow* QV4::Compiler::Codegen::controlFlow = nullptr
protected

Definition at line 821 of file qv4codegen_p.h.

◆ functionEndsWithReturn

bool QV4::Compiler::Codegen::functionEndsWithReturn = false
protected

Definition at line 808 of file qv4codegen_p.h.

◆ inFormalParameterList

bool QV4::Compiler::Codegen::inFormalParameterList = false
protected

Definition at line 807 of file qv4codegen_p.h.

◆ insideSwitch

bool QV4::Compiler::Codegen::insideSwitch = false
protected

Definition at line 806 of file qv4codegen_p.h.

◆ jsUnitGenerator

QV4::Compiler::JSUnitGenerator* QV4::Compiler::Codegen::jsUnitGenerator
protected

Definition at line 800 of file qv4codegen_p.h.

◆ m_expressions

std::vector<Result> QV4::Compiler::Codegen::m_expressions
protected

Definition at line 793 of file qv4codegen_p.h.

◆ m_optionalChainsStates

std::stack<OptionalChainState> QV4::Compiler::Codegen::m_optionalChainsStates
protected

Definition at line 819 of file qv4codegen_p.h.

◆ m_seenOptionalChainNodes

QSet<QQmlJS::AST::Node*> QV4::Compiler::Codegen::m_seenOptionalChainNodes
protected

Definition at line 818 of file qv4codegen_p.h.

◆ requiresReturnValue

bool QV4::Compiler::Codegen::requiresReturnValue = false
protected

Definition at line 805 of file qv4codegen_p.h.

◆ storeSourceLocations

bool QV4::Compiler::Codegen::storeSourceLocations = false
protected

Definition at line 810 of file qv4codegen_p.h.

◆ useFastLookups

bool QV4::Compiler::Codegen::useFastLookups = true
protected

Definition at line 804 of file qv4codegen_p.h.


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