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 <qv4compiler_p.h>
Classes | |
struct | MemberInfo |
Public Types | |
enum | LookupMode { LookupForStorage , LookupForCall } |
enum | GeneratorOption { GenerateWithStringTable , GenerateWithoutStringTable } |
Static Public Member Functions | |
static void | generateUnitChecksum (CompiledData::Unit *unit) |
Public Attributes | |
StringTableGenerator | stringTable |
QString | codeGeneratorName |
Definition at line 72 of file qv4compiler_p.h.
Enumerator | |
---|---|
GenerateWithStringTable | |
GenerateWithoutStringTable |
Definition at line 108 of file qv4compiler_p.h.
Enumerator | |
---|---|
LookupForStorage | |
LookupForCall |
Definition at line 73 of file qv4compiler_p.h.
QV4::Compiler::JSUnitGenerator::JSUnitGenerator | ( | Module * | module | ) |
Definition at line 113 of file qv4compiler.cpp.
References registerString().
QV4::ReturnedValue QV4::Compiler::JSUnitGenerator::constant | ( | int | idx | ) | const |
Definition at line 195 of file qv4compiler.cpp.
Referenced by QQmlJSCodeGenerator::generate_LoadConst(), QQmlJSTypePropagator::generate_LoadConst(), QQmlJSCodeGenerator::generate_MoveConst(), and QQmlJSTypePropagator::generate_MoveConst().
QV4::CompiledData::Unit * QV4::Compiler::JSUnitGenerator::generateUnit | ( | GeneratorOption | option = GenerateWithStringTable | ) |
Definition at line 252 of file qv4compiler.cpp.
Referenced by QV4::Compiler::Codegen::generateCompilationUnit().
|
static |
Definition at line 94 of file qv4compiler.cpp.
References checksum(), hash, QCryptographicHash::Md5, QV4::CompiledData::Unit::md5Checksum, Q_ASSERT, and QV4::CompiledData::Unit::unitSize.
Referenced by QmlIR::QmlUnitGenerator::generate().
|
inline |
Definition at line 85 of file qv4compiler_p.h.
QString QV4::Compiler::JSUnitGenerator::jsClassMember | ( | int | jsClassId, |
int | member ) const |
Definition at line 235 of file qv4compiler.cpp.
References jsClassMembersOffset, members(), and Q_ASSERT.
Referenced by QQmlJSCodeGenerator::generate_DefineObjectLiteral().
int QV4::Compiler::JSUnitGenerator::jsClassSize | ( | int | jsClassId | ) | const |
Definition at line 227 of file qv4compiler.cpp.
References QV4::CompiledData::JSClass::nMembers.
Referenced by QQmlJSCodeGenerator::generate_DefineObjectLiteral(), and QQmlJSTypePropagator::generate_DefineObjectLiteral().
|
inline |
Definition at line 95 of file qv4compiler_p.h.
Referenced by QQmlJSTypePropagator::generate_CallGlobalLookup(), QQmlJSShadowCheck::generate_CallProperty(), QQmlJSCodeGenerator::generate_CallPropertyLookup(), QQmlJSShadowCheck::generate_CallPropertyLookup(), QQmlJSTypePropagator::generate_CallQmlContextPropertyLookup(), QQmlJSShadowCheck::generate_GetLookup(), QQmlJSTypePropagator::generate_GetLookup(), QQmlJSTypePropagator::generate_GetOptionalLookup(), QQmlJSCodeGenerator::generate_SetLookup(), and QQmlJSShadowCheck::generate_SetLookup().
|
inline |
Definition at line 94 of file qv4compiler_p.h.
Referenced by QQmlJSTypePropagator::generate_CallPropertyLookup(), QQmlJSCodeGenerator::generate_CallQmlContextPropertyLookup(), QQmlJSTypePropagator::generate_LoadGlobalLookup(), QQmlJSCodeGenerator::generate_LoadQmlContextPropertyLookup(), QQmlJSTypePropagator::generate_LoadQmlContextPropertyLookup(), and QQmlJSTypePropagator::generate_SetLookup().
int QV4::Compiler::JSUnitGenerator::registerConstant | ( | QV4::ReturnedValue | v | ) |
Definition at line 186 of file qv4compiler.cpp.
Referenced by QV4::Compiler::Codegen::registerConstant(), QQmlTypeCompiler::registerConstant(), and QmlIR::IRBuilder::setBindingValue().
int QV4::Compiler::JSUnitGenerator::registerGetterLookup | ( | const QString & | name, |
LookupMode | mode ) |
Definition at line 120 of file qv4compiler.cpp.
Referenced by QV4::Compiler::Codegen::registerGetterLookup().
int QV4::Compiler::JSUnitGenerator::registerGetterLookup | ( | int | nameIndex, |
LookupMode | mode ) |
Definition at line 132 of file qv4compiler.cpp.
References lookupMode(), and QV4::CompiledData::Lookup::Type_Getter.
int QV4::Compiler::JSUnitGenerator::registerGlobalGetterLookup | ( | int | nameIndex, |
LookupMode | mode ) |
Definition at line 152 of file qv4compiler.cpp.
References lookupMode(), and QV4::CompiledData::Lookup::Type_GlobalGetter.
Referenced by QV4::Compiler::Codegen::registerGlobalGetterLookup().
int QV4::Compiler::JSUnitGenerator::registerJSClass | ( | const QStringList & | members | ) |
Definition at line 204 of file qv4compiler.cpp.
References QV4::CompiledData::JSClass::calculateSize(), jsClassMembersOffset, members(), QV4::CompiledData::JSClass::nMembers, and QV4::CompiledData::JSClassMember::set().
Referenced by QV4::Compiler::Codegen::visit().
int QV4::Compiler::JSUnitGenerator::registerQmlContextPropertyGetterLookup | ( | int | nameIndex, |
LookupMode | mode ) |
Definition at line 159 of file qv4compiler.cpp.
References lookupMode(), and QV4::CompiledData::Lookup::Type_QmlContextPropertyGetter.
Referenced by QV4::Compiler::Codegen::registerQmlContextPropertyGetterLookup().
int QV4::Compiler::JSUnitGenerator::registerRegExp | ( | QQmlJS::AST::RegExpLiteral * | regexp | ) |
Definition at line 168 of file qv4compiler.cpp.
References QV4::CompiledData::RegExp::RegExp_Global, QQmlJS::Lexer::RegExp_Global, QV4::CompiledData::RegExp::RegExp_IgnoreCase, QQmlJS::Lexer::RegExp_IgnoreCase, QV4::CompiledData::RegExp::RegExp_Multiline, QQmlJS::Lexer::RegExp_Multiline, QV4::CompiledData::RegExp::RegExp_Sticky, QQmlJS::Lexer::RegExp_Sticky, QV4::CompiledData::RegExp::RegExp_Unicode, and QQmlJS::Lexer::RegExp_Unicode.
Referenced by QV4::Compiler::Codegen::visit().
int QV4::Compiler::JSUnitGenerator::registerSetterLookup | ( | const QString & | name | ) |
Definition at line 139 of file qv4compiler.cpp.
Referenced by QV4::Compiler::Codegen::registerSetterLookup().
int QV4::Compiler::JSUnitGenerator::registerSetterLookup | ( | int | nameIndex | ) |
Definition at line 144 of file qv4compiler.cpp.
References QV4::CompiledData::Lookup::Mode_ForStorage, and QV4::CompiledData::Lookup::Type_Setter.
|
inline |
Definition at line 84 of file qv4compiler_p.h.
References str.
Referenced by JSUnitGenerator(), QmlIR::ScriptDirectivesCollector::importFile(), QmlIR::ScriptDirectivesCollector::importModule(), QV4::Compiler::Codegen::registerString(), QmlIR::Document::registerString(), QQmlTypeCompiler::registerString(), and QmlIR::IRBuilder::tryGeneratingTranslationBinding().
int QV4::Compiler::JSUnitGenerator::registerTranslation | ( | const CompiledData::TranslationData & | translation | ) |
Definition at line 246 of file qv4compiler.cpp.
Referenced by QmlIR::IRBuilder::tryGeneratingTranslationBinding().
|
inline |
Definition at line 86 of file qv4compiler_p.h.
Referenced by QQmlJSTypePropagator::generate_CallName(), QQmlJSTypePropagator::generate_CallProperty(), QQmlJSCodeGenerator::generate_CallQmlContextPropertyLookup(), QQmlJSTypePropagator::generate_DeadTemporalZoneCheck(), QQmlJSTypePropagator::generate_LoadName(), QQmlJSShadowCheck::generate_LoadProperty(), QQmlJSTypePropagator::generate_LoadProperty(), QQmlJSCodeGenerator::generate_LoadQmlContextPropertyLookup(), QQmlJSTypePropagator::generate_LoadQmlContextPropertyLookup(), QQmlJSCodeGenerator::generate_LoadRuntimeString(), QQmlJSTypePropagator::generate_StoreNameCommon(), QQmlJSCodeGenerator::generate_StoreNameSloppy(), QQmlJSTypePropagator::generate_StoreProperty(), QQmlJSShadowCheck::generate_StoreProperty(), QmlIR::Document::stringAt(), QV4::Compiler::Codegen::throwSyntaxErrorOnEvalOrArgumentsInStrictMode(), and QmlIR::IRBuilder::visit().
Definition at line 602 of file qv4compiler.cpp.
References i, QV4::CompiledData::Block::localsOffset, QV4::CompiledData::Block::nLocals, qDebug, qEnvironmentVariableIsSet(), QtPrivate::roundUpToMultipleOf(), and QV4::CompiledData::Block::sizeOfLocalTemporalDeadZone.
Definition at line 525 of file qv4compiler.cpp.
References QV4::CompiledData::Class::constructorFunction, QV4::CompiledData::Method::Getter, i, method, output, qDebug, qEnvironmentVariableIsSet(), and QV4::CompiledData::Method::Setter.
Definition at line 427 of file qv4compiler.cpp.
References i, QmlIR::Parameter::initType(), QV4::CompiledData::Function::IsArrowFunction, QV4::CompiledData::Function::IsClosureWrapper, QV4::CompiledData::Function::IsGenerator, QV4::CompiledData::Function::IsStrict, QV4::CompiledData::Parameter::nameIndex, QV4::CompiledData::Function::nameIndex, Q_ASSERT, QtPrivate::roundUpToMultipleOf(), and str.
void QV4::Compiler::JSUnitGenerator::writeTemplateObject | ( | char * | f, |
const TemplateObject & | o ) |
Definition at line 574 of file qv4compiler.cpp.
References i, qDebug, qEnvironmentVariableIsSet(), and QV4::CompiledData::TemplateObject::size.
QString QV4::Compiler::JSUnitGenerator::codeGeneratorName |
Definition at line 120 of file qv4compiler_p.h.
Referenced by QV4::Compiler::Codegen::Codegen().
StringTableGenerator QV4::Compiler::JSUnitGenerator::stringTable |
Definition at line 119 of file qv4compiler_p.h.
Referenced by QQmlIRLoader::load(), QQmlTypeData::stringAt(), and QQmlTypeCompiler::stringPool().