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::TypeResolver Class Reference

#include <qqmltctyperesolver_p.h>

Inheritance diagram for QQmltc::TypeResolver:
Collaboration diagram for QQmltc::TypeResolver:

Public Member Functions

 TypeResolver (QQmlJSImporter *importer)
void init (Visitor *visitor, QQmlJS::AST::Node *program)
QQmlJSScope::Ptr scopeForLocation (const QV4::CompiledData::Location &location) const
std::pair< QString, QQmlJSScope::PtrimportedType (const QQmlJSScope::ConstPtr &type) const
Public Member Functions inherited from QQmlJSTypeResolver
 QQmlJSTypeResolver (QQmlJSImporter *importer)
void init (QQmlJSImportVisitor *visitor, QQmlJS::AST::Node *program)
QQmlJSRegisterContentPoolregisterContentPool () const
QQmlJSLoggerlogger () const
void setParentMode (ParentMode mode)
ParentMode parentMode () const
void setCloneMode (CloneMode mode)
CloneMode cloneMode () const
QQmlJSScope::ConstPtr voidType () const
QQmlJSScope::ConstPtr emptyType () const
QQmlJSScope::ConstPtr nullType () const
QQmlJSScope::ConstPtr realType () const
QQmlJSScope::ConstPtr floatType () const
QQmlJSScope::ConstPtr int8Type () const
QQmlJSScope::ConstPtr uint8Type () const
QQmlJSScope::ConstPtr int16Type () const
QQmlJSScope::ConstPtr uint16Type () const
QQmlJSScope::ConstPtr int32Type () const
QQmlJSScope::ConstPtr uint32Type () const
QQmlJSScope::ConstPtr int64Type () const
QQmlJSScope::ConstPtr uint64Type () const
QQmlJSScope::ConstPtr sizeType () const
QQmlJSScope::ConstPtr boolType () const
QQmlJSScope::ConstPtr stringType () const
QQmlJSScope::ConstPtr stringListType () const
QQmlJSScope::ConstPtr byteArrayType () const
QQmlJSScope::ConstPtr urlType () const
QQmlJSScope::ConstPtr dateTimeType () const
QQmlJSScope::ConstPtr dateType () const
QQmlJSScope::ConstPtr timeType () const
QQmlJSScope::ConstPtr regexpType () const
QQmlJSScope::ConstPtr variantListType () const
QQmlJSScope::ConstPtr variantMapType () const
QQmlJSScope::ConstPtr varType () const
QQmlJSScope::ConstPtr qmlPropertyMapType () const
QQmlJSScope::ConstPtr jsValueType () const
QQmlJSScope::ConstPtr jsPrimitiveType () const
QQmlJSScope::ConstPtr listPropertyType () const
QQmlJSScope::ConstPtr metaObjectType () const
QQmlJSScope::ConstPtr functionType () const
QQmlJSScope::ConstPtr jsGlobalObject () const
QQmlJSScope::ConstPtr qObjectType () const
QQmlJSScope::ConstPtr qObjectListType () const
QQmlJSScope::ConstPtr arrayPrototype () const
QQmlJSScope::ConstPtr forInIteratorPtr () const
QQmlJSScope::ConstPtr forOfIteratorPtr () const
QQmlJSScope::ConstPtr qQmlScriptStringType () const
QQmlJSRegisterContent jsGlobalObjectContent () const
QQmlJSScope::ConstPtr mathObject () const
QQmlJSScope::ConstPtr consoleObject () const
QQmlJSScope::ConstPtr typeForConst (QV4::ReturnedValue rv) const
bool isPrefix (const QString &name) const
const QHash< QString, QQmlJS::ContextualType > & importedTypes () const
const auto & importedNames () const
QQmlJSScope::ConstPtr typeForName (const QString &name) const
QString nameForType (const QQmlJSScope::ConstPtr &type) const
QStringList seenModuleQualifiers () const
QQmlJSScope::ConstPtr scopeForLocation (const QV4::CompiledData::Location &location) const
QQmlJSScope::ConstPtr typeFromAST (QQmlJS::AST::Type *type) const
QQmlJSScope::ConstPtr typeForId (const QQmlJSScope::ConstPtr &scope, const QString &name, QQmlJSScopesByIdOptions options=QQmlJSScopesByIdOption::Default) const
const QQmlJSScopesByIdobjectsById () const
bool canCallJSFunctions () const
bool canAddressValueTypes () const
QQmlJSScope::ConstPtr scopedType (const QQmlJSScope::ConstPtr &scope, const QString &name, QQmlJSScopesByIdOptions options=QQmlJSScopesByIdOption::Default) const
const QHash< QQmlJS::SourceLocation, QQmlJSMetaSignalHandler > & signalHandlers () const
bool isPrimitive (QQmlJSRegisterContent type) const
bool isPrimitive (const QQmlJSScope::ConstPtr &type) const
bool isNumeric (QQmlJSRegisterContent type) const
bool isNumeric (const QQmlJSScope::ConstPtr &type) const
bool isIntegral (QQmlJSRegisterContent type) const
bool isIntegral (const QQmlJSScope::ConstPtr &type) const
bool isSignedInteger (const QQmlJSScope::ConstPtr &type) const
bool isUnsignedInteger (const QQmlJSScope::ConstPtr &type) const
bool isNativeArrayIndex (const QQmlJSScope::ConstPtr &type) const
bool canHold (const QQmlJSScope::ConstPtr &container, const QQmlJSScope::ConstPtr &contained) const
bool canHoldUndefined (QQmlJSRegisterContent content) const
bool isOptionalType (QQmlJSRegisterContent content) const
bool canPopulate (const QQmlJSScope::ConstPtr &type, const QQmlJSScope::ConstPtr &argument, bool *isExtension) const
bool canConvertFromTo (const QQmlJSScope::ConstPtr &from, const QQmlJSScope::ConstPtr &to) const
bool canConvertFromTo (QQmlJSRegisterContent from, QQmlJSRegisterContent to) const
bool areEquivalentLists (const QQmlJSScope::ConstPtr &a, const QQmlJSScope::ConstPtr &b) const
bool isTriviallyCopyable (const QQmlJSScope::ConstPtr &type) const
bool inherits (const QQmlJSScope::ConstPtr &derived, const QQmlJSScope::ConstPtr &base) const
QQmlJSScope::ConstPtr genericType (const QQmlJSScope::ConstPtr &type, ComponentIsGeneric allowComponent=ComponentIsGeneric::No) const
QQmlJSScope::ConstPtr storedType (const QQmlJSScope::ConstPtr &type) const
QQmlJSRegisterContent original (QQmlJSRegisterContent type) const
QQmlJSScope::ConstPtr originalContainedType (QQmlJSRegisterContent container) const
QQmlJSRegisterContent shadowed (QQmlJSRegisterContent type) const
QQmlJSScope::ConstPtr merge (const QQmlJSScope::ConstPtr &a, const QQmlJSScope::ConstPtr &b) const
QQmlJSRegisterContent extractNonVoidFromOptionalType (QQmlJSRegisterContent content) const
QQmlJSMetaMethod selectConstructor (const QQmlJSScope::ConstPtr &type, const QQmlJSScope::ConstPtr &argument, bool *isExtension) const
QQmlJSRegisterContent typeForBinaryOperation (QSOperator::Op oper, QQmlJSRegisterContent left, QQmlJSRegisterContent right) const
QQmlJSRegisterContent typeForArithmeticUnaryOperation (UnaryOperator op, QQmlJSRegisterContent operand) const
QQmlJSRegisterContent merge (QQmlJSRegisterContent a, QQmlJSRegisterContent b) const
QQmlJSRegisterContent literalType (const QQmlJSScope::ConstPtr &type) const
QQmlJSRegisterContent operationType (const QQmlJSScope::ConstPtr &type) const
QQmlJSRegisterContent namedType (const QQmlJSScope::ConstPtr &type) const
QQmlJSRegisterContent syntheticType (const QQmlJSScope::ConstPtr &type) const
QQmlJSRegisterContent scopedType (QQmlJSRegisterContent scope, const QString &name, int lookupIndex=QQmlJSRegisterContent::InvalidLookupIndex, QQmlJSScopesByIdOptions options=QQmlJSScopesByIdOption::Default) const
QQmlJSRegisterContent memberType (QQmlJSRegisterContent type, const QString &name, int lookupIndex=QQmlJSRegisterContent::InvalidLookupIndex) const
QQmlJSRegisterContent elementType (QQmlJSRegisterContent list) const
QQmlJSRegisterContent returnType (const QQmlJSMetaMethod &method, const QQmlJSScope::ConstPtr &returnType, QQmlJSRegisterContent scope) const
QQmlJSRegisterContent extensionType (const QQmlJSScope::ConstPtr &extension, QQmlJSRegisterContent base) const
QQmlJSRegisterContent baseType (const QQmlJSScope::ConstPtr &base, QQmlJSRegisterContent derived) const
QQmlJSRegisterContent parentScope (const QQmlJSScope::ConstPtr &parent, QQmlJSRegisterContent child) const
QQmlJSRegisterContent iteratorPointer (QQmlJSRegisterContent listType, QQmlJS::AST::ForEachType type, int lookupIndex) const
QQmlJSRegisterContent convert (QQmlJSRegisterContent from, QQmlJSRegisterContent to) const
QQmlJSRegisterContent convert (QQmlJSRegisterContent from, const QQmlJSScope::ConstPtr &to) const
bool adjustTrackedType (QQmlJSRegisterContent tracked, const QQmlJSScope::ConstPtr &conversion) const
bool adjustTrackedType (QQmlJSRegisterContent tracked, QQmlJSRegisterContent conversion) const
bool adjustTrackedType (QQmlJSRegisterContent tracked, const QList< QQmlJSRegisterContent > &conversions) const
void adjustOriginalType (QQmlJSRegisterContent tracked, const QQmlJSScope::ConstPtr &conversion) const
void generalizeType (QQmlJSRegisterContent type) const

Additional Inherited Members

Public Types inherited from QQmlJSTypeResolver
enum  ParentMode { UseDocumentParent , UseParentProperty }
enum  CloneMode { CloneTypes , DoNotCloneTypes }
enum class  ComponentIsGeneric { No , Yes }
enum class  UnaryOperator {
  Not , Plus , Minus , Increment ,
  Decrement , Complement
}
Protected Member Functions inherited from QQmlJSTypeResolver
QQmlJSRegisterContent memberType (QQmlJSRegisterContent type, const QString &name, int baseLookupIndex, int resultLookupIndex) const
QQmlJSRegisterContent memberEnumType (QQmlJSRegisterContent type, const QString &name) const
bool checkEnums (QQmlJSRegisterContent scope, const QString &name, QQmlJSRegisterContent *result) const
bool canPrimitivelyConvertFromTo (const QQmlJSScope::ConstPtr &from, const QQmlJSScope::ConstPtr &to) const
QQmlJSRegisterContent lengthProperty (bool isWritable, QQmlJSRegisterContent scope) const
QQmlJSScope::ConstPtr containedTypeForName (const QString &name) const
QQmlJSRegisterContent registerContentForName (const QString &name, QQmlJSRegisterContent scopeType={}) const
QQmlJSScope::ConstPtr resolveParentProperty (const QString &name, const QQmlJSScope::ConstPtr &base, const QQmlJSScope::ConstPtr &propType) const
Protected Attributes inherited from QQmlJSTypeResolver
std::unique_ptr< QQmlJSRegisterContentPoolm_pool
QQmlJSScope::ConstPtr m_voidType
QQmlJSScope::ConstPtr m_emptyType
QQmlJSScope::ConstPtr m_nullType
QQmlJSScope::ConstPtr m_numberPrototype
QQmlJSScope::ConstPtr m_arrayPrototype
QQmlJSScope::ConstPtr m_realType
QQmlJSScope::ConstPtr m_floatType
QQmlJSScope::ConstPtr m_int8Type
QQmlJSScope::ConstPtr m_uint8Type
QQmlJSScope::ConstPtr m_int16Type
QQmlJSScope::ConstPtr m_uint16Type
QQmlJSScope::ConstPtr m_int32Type
QQmlJSScope::ConstPtr m_uint32Type
QQmlJSScope::ConstPtr m_int64Type
QQmlJSScope::ConstPtr m_uint64Type
QQmlJSScope::ConstPtr m_sizeType
QQmlJSScope::ConstPtr m_boolType
QQmlJSScope::ConstPtr m_stringType
QQmlJSScope::ConstPtr m_stringListType
QQmlJSScope::ConstPtr m_byteArrayType
QQmlJSScope::ConstPtr m_urlType
QQmlJSScope::ConstPtr m_dateTimeType
QQmlJSScope::ConstPtr m_dateType
QQmlJSScope::ConstPtr m_timeType
QQmlJSScope::ConstPtr m_regexpType
QQmlJSScope::ConstPtr m_variantListType
QQmlJSScope::ConstPtr m_variantMapType
QQmlJSScope::ConstPtr m_varType
QQmlJSScope::ConstPtr m_qmlPropertyMapType
QQmlJSScope::ConstPtr m_jsValueType
QQmlJSScope::ConstPtr m_jsPrimitiveType
QQmlJSScope::ConstPtr m_listPropertyType
QQmlJSScope::ConstPtr m_qObjectType
QQmlJSScope::ConstPtr m_qObjectListType
QQmlJSScope::ConstPtr m_qQmlScriptStringType
QQmlJSScope::ConstPtr m_metaObjectType
QQmlJSScope::ConstPtr m_functionType
QQmlJSScope::ConstPtr m_jsGlobalObject
QQmlJSScope::ConstPtr m_forInIteratorPtr
QQmlJSScope::ConstPtr m_forOfIteratorPtr
QQmlJSRegisterContent m_jsGlobalObjectContent
QQmlJSScopesById m_objectsById
QHash< QV4::CompiledData::Location, QQmlJSScope::ConstPtrm_objectsByLocation
QQmlJSImporter::ImportedTypes m_imports
QHash< QQmlJS::SourceLocation, QQmlJSMetaSignalHandlerm_signalHandlers
QStringList m_seenModuleQualifiers
ParentMode m_parentMode = UseParentProperty
CloneMode m_cloneMode = CloneTypes
QQmlJSLoggerm_logger = nullptr

Detailed Description

Definition at line 30 of file qqmltctyperesolver_p.h.

Constructor & Destructor Documentation

◆ TypeResolver()

QQmltc::TypeResolver::TypeResolver ( QQmlJSImporter * importer)
inline

Definition at line 33 of file qqmltctyperesolver_p.h.

Member Function Documentation

◆ importedType()

std::pair< QString, QQmlJSScope::Ptr > QQmltc::TypeResolver::importedType ( const QQmlJSScope::ConstPtr & type) const

Definition at line 52 of file qqmltctyperesolver.cpp.

◆ init()

void QQmltc::TypeResolver::init ( Visitor * visitor,
QQmlJS::AST::Node * program )

Definition at line 22 of file qqmltctyperesolver.cpp.

◆ scopeForLocation()

QQmlJSScope::Ptr QQmltc::TypeResolver::scopeForLocation ( const QV4::CompiledData::Location & location) const

Definition at line 44 of file qqmltctyperesolver.cpp.


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