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
QQmltc Namespace Reference

Classes

struct  CodeWriter
struct  AliasResolutionFrame
struct  CompilerInfo
class  Compiler
struct  CodeGenerator
class  TypeResolver
struct  PropertyData
struct  Variable
struct  Property
struct  Enum
struct  MethodBase
struct  Method
struct  Ctor
struct  Dtor
struct  PropertyInitializer
struct  RequiredPropertiesBundle
struct  Type
struct  Program
struct  Output
class  OutputWrapper
class  Visitor

Typedefs

using QmltcLoggingCategoryOverride = std::pair<QQmlJS::LoggerWarningId, std::optional<QQmlJS::WarningSeverity>>

Functions

static QString urlToMacro (const QString &url)
static QString getFunctionCategory (const MethodBase &method)
static QString getFunctionCategory (const Method &method)
static QString appendSpace (const QString &s)
static QString prependSpace (const QString &s)
static std::pair< QString, QStringfunctionSignatures (const MethodBase &method)
static QString functionReturnType (const Method &m)
static void writeToFile (const QString &path, const QByteArray &data)
template<typename Predicate>
static void dumpFunctions (OutputWrapper &code, const QList< Method > &functions, Predicate pred)
template<typename WriteInitialization>
static void writeSpecialMethod (OutputWrapper &code, const MethodBase &specialMethod, WriteInitialization writeInit)
QString parseUrlArgument (const QString &arg)
QString loadUrl (const QString &url)
QString getImplicitImportDirectory (const QString &url)
bool qIsReferenceTypeList (const QQmlJSMetaProperty &p)
static QList< QQmlJSMetaPropertyunboundRequiredProperties (const QQmlJSScope::ConstPtr &type, TypeResolver *resolver)
static void compileRequiredPropertiesBundle (Type &current, const QQmlJSScope::ConstPtr &type, TypeResolver *resolver)
static void compileRootExternalConstructorBody (Type &current, const QQmlJSScope::ConstPtr &type)
template<typename Iterator>
static Iterator partitionBindings (Iterator first, Iterator last)
static QList< VariablecompileMethodParameters (const QList< QQmlJSMetaParameter > &parameterInfos, bool allowUnnamed=false)
static void unpackFrames (QStack< AliasResolutionFrame > &frames)
template<typename Projection>
static QStringList joinFrames (const QStack< AliasResolutionFrame > &frames, Projection project)
static QString generate_callCompilationUnit (const QString &urlMethodName)
static std::pair< QQmlJSMetaProperty, int > getMetaPropertyIndex (const QQmlJSScope::ConstPtr &scope, const QString &propertyName)
static Type compileScriptBindingPropertyChangeHandler (const QQmlJSMetaPropertyBinding &binding, const QQmlJSScope::ConstPtr &objectType, const QString &urlMethodName, const QString &functorCppType, const QString &objectCppType)
static QString scopeName (const QQmlJSScope::ConstPtr &scope)
static QByteArray toLiteral (const QByteArray &utf8)
static QString serializeTranslation (const QQmlTranslation::QsTrIdData &data)
static QString serializeTranslation (const QQmlTranslation::QsTrData &data)
static QString serializeTranslation (const QQmlTranslation &translation)
QSpan< const QmltcLoggingCategoryOverridecategoryOverrides ()
static QString uniqueNameFromPieces (const QStringList &pieces, QHash< QString, int > &repetitions)
static bool isExplicitComponent (const QQmlJSScope::ConstPtr &type)
static bool isImplicitComponent (const QQmlJSScope::ConstPtr &type)
static bool isOrUnderComponent (QQmlJSScope::ConstPtr type)
static void addCleanQmlTypeName (QStringList *names, const QQmlJSScope::ConstPtr &scope)
QQmlJSScope::ConstPtr fetchType (const QQmlJSMetaPropertyBinding &binding)
template<typename TypePredicate, typename BindingPredicate>
void iterateBindings (const QQmlJSScope::ConstPtr &root, const QHash< QQmlJSScope::ConstPtr, QList< QQmlJSMetaPropertyBinding > > &qmlIrOrderedBindings, TypePredicate typePredicate, BindingPredicate bindingPredicate)
template<typename Predicate>
void iterateTypes (const QQmlJSScope::ConstPtr &root, const QHash< QQmlJSScope::ConstPtr, QList< QQmlJSMetaPropertyBinding > > &qmlIrOrderedBindings, Predicate predicate)
static void setAliasData (QQmlJSMetaProperty *alias, const QQmlJSUtils::ResolvedAlias &origin)
QString getUnderlyingType (const QQmlJSMetaProperty &p)

Typedef Documentation

◆ QmltcLoggingCategoryOverride

Definition at line 38 of file qqmltcvisitor_p.h.

Function Documentation

◆ addCleanQmlTypeName()

void QQmltc::addCleanQmlTypeName ( QStringList * names,
const QQmlJSScope::ConstPtr & scope )
static

Definition at line 265 of file qqmltcvisitor.cpp.

◆ appendSpace()

QString QQmltc::appendSpace ( const QString & s)
static

Definition at line 61 of file qqmltccodewriter.cpp.

◆ categoryOverrides()

QSpan< const QmltcLoggingCategoryOverride > QQmltc::categoryOverrides ( )

Definition at line 28 of file qqmltcvisitor.cpp.

◆ compileMethodParameters()

QList< Variable > QQmltc::compileMethodParameters ( const QList< QQmlJSMetaParameter > & parameterInfos,
bool allowUnnamed = false )
static

Definition at line 670 of file qqmltccompiler.cpp.

◆ compileRequiredPropertiesBundle()

void QQmltc::compileRequiredPropertiesBundle ( Type & current,
const QQmlJSScope::ConstPtr & type,
TypeResolver * resolver )
static

Definition at line 87 of file qqmltccompiler.cpp.

◆ compileRootExternalConstructorBody()

void QQmltc::compileRootExternalConstructorBody ( Type & current,
const QQmlJSScope::ConstPtr & type )
static

Definition at line 112 of file qqmltccompiler.cpp.

◆ compileScriptBindingPropertyChangeHandler()

Type QQmltc::compileScriptBindingPropertyChangeHandler ( const QQmlJSMetaPropertyBinding & binding,
const QQmlJSScope::ConstPtr & objectType,
const QString & urlMethodName,
const QString & functorCppType,
const QString & objectCppType )
static

Definition at line 1812 of file qqmltccompiler.cpp.

◆ dumpFunctions()

template<typename Predicate>
void QQmltc::dumpFunctions ( OutputWrapper & code,
const QList< Method > & functions,
Predicate pred )
static

Definition at line 299 of file qqmltccodewriter.cpp.

◆ fetchType()

QQmlJSScope::ConstPtr QQmltc::fetchType ( const QQmlJSMetaPropertyBinding & binding)

Definition at line 432 of file qqmltcvisitor.cpp.

◆ functionReturnType()

QString QQmltc::functionReturnType ( const Method & m)
static

Definition at line 97 of file qqmltccodewriter.cpp.

◆ functionSignatures()

std::pair< QString, QString > QQmltc::functionSignatures ( const MethodBase & method)
static

Definition at line 75 of file qqmltccodewriter.cpp.

◆ generate_callCompilationUnit()

QString QQmltc::generate_callCompilationUnit ( const QString & urlMethodName)
static

Definition at line 1282 of file qqmltccompiler.cpp.

◆ getFunctionCategory() [1/2]

QString QQmltc::getFunctionCategory ( const Method & method)
static

Definition at line 44 of file qqmltccodewriter.cpp.

◆ getFunctionCategory() [2/2]

QString QQmltc::getFunctionCategory ( const MethodBase & method)
static

Definition at line 27 of file qqmltccodewriter.cpp.

◆ getImplicitImportDirectory()

QString QQmltc::getImplicitImportDirectory ( const QString & url)

Definition at line 58 of file qqmltccommandlineutils.cpp.

◆ getMetaPropertyIndex()

std::pair< QQmlJSMetaProperty, int > QQmltc::getMetaPropertyIndex ( const QQmlJSScope::ConstPtr & scope,
const QString & propertyName )
static

Definition at line 1846 of file qqmltccompiler.cpp.

◆ getUnderlyingType()

QString QQmltc::getUnderlyingType ( const QQmlJSMetaProperty & p)
inline

Returns an underlying C++ type of p property.

Definition at line 32 of file qqmltcpropertyutils_p.h.

◆ isExplicitComponent()

bool QQmltc::isExplicitComponent ( const QQmlJSScope::ConstPtr & type)
static

Definition at line 116 of file qqmltcvisitor.cpp.

◆ isImplicitComponent()

bool QQmltc::isImplicitComponent ( const QQmlJSScope::ConstPtr & type)
static

Returns if type is an implicit component. This method should only be called after implicit components are detected, that is, after QQmlJSImportVisitor::endVisit(UiProgram *) was called.

Definition at line 130 of file qqmltcvisitor.cpp.

◆ isOrUnderComponent()

bool QQmltc::isOrUnderComponent ( QQmlJSScope::ConstPtr type)
static

Checks if type is inside or a (implicit or explicit) component. This method should only be called after implicit components are detected, that is, after QQmlJSImportVisitor::endVisit(UiProgram *) was called.

Definition at line 147 of file qqmltcvisitor.cpp.

Referenced by iterateTypes().

Here is the caller graph for this function:

◆ iterateBindings()

template<typename TypePredicate, typename BindingPredicate>
void QQmltc::iterateBindings ( const QQmlJSScope::ConstPtr & root,
const QHash< QQmlJSScope::ConstPtr, QList< QQmlJSMetaPropertyBinding > > & qmlIrOrderedBindings,
TypePredicate typePredicate,
BindingPredicate bindingPredicate )

Definition at line 452 of file qqmltcvisitor.cpp.

◆ iterateTypes()

template<typename Predicate>
void QQmltc::iterateTypes ( const QQmlJSScope::ConstPtr & root,
const QHash< QQmlJSScope::ConstPtr, QList< QQmlJSMetaPropertyBinding > > & qmlIrOrderedBindings,
Predicate predicate )

Definition at line 483 of file qqmltcvisitor.cpp.

References isOrUnderComponent().

Here is the call graph for this function:

◆ joinFrames()

template<typename Projection>
QStringList QQmltc::joinFrames ( const QStack< AliasResolutionFrame > & frames,
Projection project )
static

Definition at line 1013 of file qqmltccompiler.cpp.

◆ loadUrl()

QString QQmltc::loadUrl ( const QString & url)

Definition at line 31 of file qqmltccommandlineutils.cpp.

◆ parseUrlArgument()

QString QQmltc::parseUrlArgument ( const QString & arg)

Definition at line 17 of file qqmltccommandlineutils.cpp.

◆ partitionBindings()

template<typename Iterator>
Iterator QQmltc::partitionBindings ( Iterator first,
Iterator last )
static

Definition at line 494 of file qqmltccompiler.cpp.

◆ prependSpace()

QString QQmltc::prependSpace ( const QString & s)
static

Definition at line 68 of file qqmltccodewriter.cpp.

◆ qIsReferenceTypeList()

bool QQmltc::qIsReferenceTypeList ( const QQmlJSMetaProperty & p)

Definition at line 24 of file qqmltccompiler.cpp.

◆ scopeName()

QString QQmltc::scopeName ( const QQmlJSScope::ConstPtr & scope)
static

Definition at line 17 of file qqmltccompilerpieces.cpp.

◆ serializeTranslation() [1/3]

QString QQmltc::serializeTranslation ( const QQmlTranslation & translation)
static

Definition at line 276 of file qqmltccompilerpieces.cpp.

◆ serializeTranslation() [2/3]

QString QQmltc::serializeTranslation ( const QQmlTranslation::QsTrData & data)
static

Definition at line 267 of file qqmltccompilerpieces.cpp.

◆ serializeTranslation() [3/3]

QString QQmltc::serializeTranslation ( const QQmlTranslation::QsTrIdData & data)
static

Definition at line 260 of file qqmltccompilerpieces.cpp.

◆ setAliasData()

void QQmltc::setAliasData ( QQmlJSMetaProperty * alias,
const QQmlJSUtils::ResolvedAlias & origin )
static

Definition at line 691 of file qqmltcvisitor.cpp.

◆ toLiteral()

QByteArray QQmltc::toLiteral ( const QByteArray & utf8)
static

Definition at line 255 of file qqmltccompilerpieces.cpp.

◆ unboundRequiredProperties()

QList< QQmlJSMetaProperty > QQmltc::unboundRequiredProperties ( const QQmlJSScope::ConstPtr & type,
TypeResolver * resolver )
static

Definition at line 31 of file qqmltccompiler.cpp.

◆ uniqueNameFromPieces()

QString QQmltc::uniqueNameFromPieces ( const QStringList & pieces,
QHash< QString, int > & repetitions )
static

Definition at line 107 of file qqmltcvisitor.cpp.

◆ unpackFrames()

void QQmltc::unpackFrames ( QStack< AliasResolutionFrame > & frames)
static

Process the frames by replacing the placeholder invar used in epilogueForWrite and prologue with the result obtained from the previous frame.

Definition at line 996 of file qqmltccompiler.cpp.

◆ urlToMacro()

QString QQmltc::urlToMacro ( const QString & url)
static

Definition at line 21 of file qqmltccodewriter.cpp.

◆ writeSpecialMethod()

template<typename WriteInitialization>
void QQmltc::writeSpecialMethod ( OutputWrapper & code,
const MethodBase & specialMethod,
WriteInitialization writeInit )
static

Definition at line 496 of file qqmltccodewriter.cpp.

◆ writeToFile()

void QQmltc::writeToFile ( const QString & path,
const QByteArray & data )
static

Definition at line 239 of file qqmltccodewriter.cpp.