4#ifndef QQMLJSTYPERESOLVER_P_H
5#define QQMLJSTYPERESOLVER_P_H
18#include <qtqmlcompilerexports.h>
20#include <private/qqmlirbuilder_p.h>
21#include <private/qqmljsast_p.h>
35 enum ParentMode { UseDocumentParent, UseParentProperty };
37 enum ListMode { UseListProperty, UseQObjectList };
88 return m_imports.hasType(
name) && !m_imports.type(
name).scope;
91 const QHash<QString, QQmlJS::ImportedScope<QQmlJSScope::ConstPtr>> &
importedTypes()
const
93 return m_imports.types();
97 return m_imports.type(
name).scope;
101 return m_imports.name(originalType(
type));
110 enum class UnaryOperator { Not, Plus, Minus, Increment, Decrement, Complement };
128 ComponentIsGeneric allowComponent = ComponentIsGeneric::No)
const;
134 QQmlJSScopesByIdOptions options =
Default)
const;
145 int lookupIndex)
const;
153 bool useFancyName =
false)
const;
161 [[nodiscard]]
bool adjustTrackedType(
163 [[nodiscard]]
bool adjustTrackedType(
165 const QList<QQmlJSScope::ConstPtr> &conversions)
const;
166 void adjustOriginalType(
185 const QHash<QQmlJS::SourceLocation, QQmlJSMetaSignalHandler> &
signalHandlers()
const
187 return m_signalHandlers;
216 bool *isExtension)
const;
220 bool *isExtension)
const;
232 int baseLookupIndex,
int resultLookupIndex)
const;
237 bool canPrimitivelyConvertFromTo(
247 bool hasObjectModuelPrefix =
false)
const;
324 std::shared_ptr<QQmlJSResourceFileMapper>
mapper;
Tracks the types for the QmlCompiler.
QQmlJSScope::ConstPtr functionType() const
QQmlJSScope::ConstPtr m_int8Type
QQmlJSScope::ConstPtr dateTimeType() const
const QQmlJSScopesById & objectsById() const
QQmlJSScope::ConstPtr int64Type() const
QQmlJSScope::ConstPtr m_stringListType
QQmlJSScope::ConstPtr m_arrayPrototype
QQmlJSImporter::ImportedTypes m_imports
QQmlJSScope::ConstPtr stringType() const
QQmlJSScope::ConstPtr m_realType
QQmlJSScope::ConstPtr m_int64Type
QQmlJSScope::ConstPtr m_uint16Type
QQmlJSScope::ConstPtr listPropertyType() const
const QHash< QQmlJS::SourceLocation, QQmlJSMetaSignalHandler > & signalHandlers() const
QQmlJSScope::ConstPtr nullType() const
QQmlJSScope::ConstPtr timeType() const
QQmlJSScope::ConstPtr m_voidType
QQmlJSScope::ConstPtr uint64Type() const
QQmlJSScope::ConstPtr emptyType() const
QQmlJSScope::ConstPtr jsPrimitiveType() const
QQmlJSScope::ConstPtr m_jsValueType
QQmlJSScope::ConstPtr m_int16Type
QQmlJSScope::ConstPtr uint8Type() const
QQmlJSScope::ConstPtr byteArrayType() const
QQmlJSScope::ConstPtr arrayPrototype() const
QQmlJSScope::ConstPtr boolType() const
QQmlJSScope::ConstPtr qObjectListType() const
QQmlJSScope::ConstPtr m_jsPrimitiveType
QQmlJSScope::ConstPtr jsGlobalObject() const
QQmlJSScopesById m_objectsById
QQmlJSScope::ConstPtr m_qObjectListType
QQmlJSScope::ConstPtr m_varType
QQmlJSScope::ConstPtr m_byteArrayType
QQmlJSScope::ConstPtr m_forOfIteratorPtr
QString nameForType(const QQmlJSScope::ConstPtr &type) const
QQmlJSScope::ConstPtr m_forInIteratorPtr
QQmlJSScope::ConstPtr int16Type() const
const QHash< QString, QQmlJS::ImportedScope< QQmlJSScope::ConstPtr > > & importedTypes() const
QQmlJSScope::ConstPtr m_qQmlScriptStringType
bool isPrefix(const QString &name) const
QQmlJSScope::ConstPtr m_qObjectType
QQmlJSScope::ConstPtr jsValueType() const
QQmlJSScope::ConstPtr sizeType() const
QHash< QV4::CompiledData::Location, QQmlJSScope::ConstPtr > m_objectsByLocation
QQmlJSScope::ConstPtr stringListType() const
QQmlJSScope::ConstPtr uint32Type() const
QQmlJSScope::ConstPtr uint16Type() const
QQmlJSScope::ConstPtr int8Type() const
QQmlJSScope::ConstPtr m_urlType
QQmlJSScope::ConstPtr m_uint32Type
QQmlJSScope::ConstPtr int32Type() const
QQmlJSScope::ConstPtr m_numberPrototype
QQmlJSScope::ConstPtr m_functionType
void setParentMode(ParentMode mode)
QQmlJSScope::ConstPtr m_listPropertyType
QQmlJSScope::ConstPtr variantListType() const
QQmlJSScope::ConstPtr m_variantMapType
QQmlJSScope::ConstPtr m_stringType
QQmlJSScope::ConstPtr m_nullType
QQmlJSScope::ConstPtr voidType() const
QQmlJSScope::ConstPtr m_sizeType
QQmlJSScope::ConstPtr m_dateTimeType
ParentMode parentMode() const
QQmlJSScope::ConstPtr m_floatType
QHash< QQmlJS::SourceLocation, QQmlJSMetaSignalHandler > m_signalHandlers
QQmlJSScope::ConstPtr m_timeType
QQmlJSScope::ConstPtr m_boolType
QQmlJSScope::ConstPtr forOfIteratorPtr() const
QQmlJSScope::ConstPtr metaObjectType() const
QQmlJSScope::ConstPtr forInIteratorPtr() const
QQmlJSScope::ConstPtr m_metaObjectType
QQmlJSScope::ConstPtr realType() const
QQmlJSScope::ConstPtr m_jsGlobalObject
QQmlJSScope::ConstPtr urlType() const
QQmlJSScope::ConstPtr m_int32Type
QQmlJSScope::ConstPtr m_uint64Type
void setCloneMode(CloneMode mode)
QQmlJSScope::ConstPtr m_emptyType
QQmlJSScope::ConstPtr dateType() const
bool canAddressValueTypes() const
std::unique_ptr< QHash< QQmlJSScope::ConstPtr, TrackedType > > m_trackedTypes
QQmlJSScope::ConstPtr m_uint8Type
QQmlJSScope::ConstPtr m_variantListType
QQmlJSScope::ConstPtr typeForName(const QString &name) const
QQmlJSScope::ConstPtr qObjectType() const
QQmlJSScope::ConstPtr varType() const
QQmlJSScope::ConstPtr m_dateType
QQmlJSScope::ConstPtr variantMapType() const
QQmlJSScope::ConstPtr floatType() const
bool canCallJSFunctions() const
\macro QT_RESTRICTED_CAST_FROM_ASCII
Combined button and popup list for selecting options.
GLboolean GLboolean GLboolean b
GLboolean GLboolean GLboolean GLboolean a
[7]
static QT_BEGIN_NAMESPACE const uint Default
static QT_BEGIN_NAMESPACE void init(QTextBoundaryFinder::BoundaryType type, QStringView str, QCharAttributes *attributes)
std::shared_ptr< QQmlJSResourceFileMapper > mapper
std::shared_ptr< QQmlJSImporter > importer
QQmlJSScope::ConstPtr original
QQmlJSScope::ConstPtr replacement