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>.
|
A QmlFile, when loaded in a DomEnvironment that has the DomCreationOption::WithSemanticAnalysis, will be lazily constructed. More...
#include <qqmldomexternalitems_p.h>
Public Types | |
enum | RecoveryOption { DisableParserRecovery , EnableParserRecovery } |
Public Types inherited from QQmlJS::Dom::DomBase | |
using | FilterT = function_ref<bool(const DomItem &, const PathEls::PathComponent &, const DomItem &)> |
Static Public Member Functions | |
static ErrorGroups | myParsingErrors () |
Static Public Member Functions inherited from QQmlJS::Dom::OwningItem | |
static int | nextRevision () |
Static Public Attributes | |
static constexpr DomType | kindValue = DomType::QmlFile |
Protected Member Functions | |
std::shared_ptr< OwningItem > | doCopy (const DomItem &self) const override |
Friends | |
class | QQmlDomAstCreator |
Additional Inherited Members | |
Protected Attributes inherited from QQmlJS::Dom::ExternalOwningItem | |
QString | m_canonicalFilePath |
QString | m_code |
Path | m_path |
bool | m_isValid = false |
A QmlFile, when loaded in a DomEnvironment that has the DomCreationOption::WithSemanticAnalysis, will be lazily constructed.
That means that its member m_lazyMembers is uninitialized, and will only be populated when it is accessed (through a getter, a setter or the DomItem interface).
The reason for the laziness is that the qqmljsscopes are created lazily and at the same time as the Dom QmlFile representations. So instead of eagerly generating all qqmljsscopes when constructing the Dom, the QmlFile itself becomes lazy and will only be populated on demand at the same time as the corresponding qqmljsscopes.
The QDeferredFactory<QQmlJSScope> will, when the qqmljsscope is populated, take care of populating all fields of the QmlFile. Therefore, population of the QmlFile is done by populating the qqmljsscope.
Definition at line 322 of file qqmldomexternalitems_p.h.
Enumerator | |
---|---|
DisableParserRecovery | |
EnableParserRecovery |
Definition at line 331 of file qqmldomexternalitems_p.h.
QQmlJS::Dom::QmlFile::QmlFile | ( | const QString & | filePath = QString(), |
const QString & | code = QString(), | ||
const QDateTime & | lastDataUpdate = QDateTime::fromMSecsSinceEpoch(0, QTimeZone::UTC), | ||
int | derivedFrom = 0, | ||
RecoveryOption | option = DisableParserRecovery ) |
Definition at line 442 of file qqmldomexternalitems.cpp.
References QQmlJS::Dom::OwningItem::addErrorLocal(), QQmlJS::Dom::ExternalOwningItem::code(), EnableParserRecovery, errorMessage(), QQmlJS::Dom::ExternalOwningItem::m_isValid, QQmlJS::Dom::ExternalOwningItem::m_path, myParsingErrors(), and QQmlJS::Lexer::setCode().
|
inline |
Definition at line 354 of file qqmldomexternalitems_p.h.
References component(), QQmlJS::Dom::insertUpdatableElementInMultiMap(), and QString::mid().
|
overridevirtual |
Reimplemented from QQmlJS::Dom::OwningItem.
Definition at line 495 of file qqmldomexternalitems.cpp.
Definition at line 402 of file qqmldomexternalitems_p.h.
References members().
|
inline |
Definition at line 365 of file qqmldomexternalitems_p.h.
|
inline |
Definition at line 396 of file qqmldomexternalitems_p.h.
|
inline |
Definition at line 395 of file qqmldomexternalitems_p.h.
|
inline |
Definition at line 346 of file qqmldomexternalitems_p.h.
|
inline |
Definition at line 424 of file qqmldomexternalitems_p.h.
|
overrideprotectedvirtual |
Implements QQmlJS::Dom::OwningItem.
Definition at line 418 of file qqmldomexternalitems.cpp.
|
inline |
Definition at line 394 of file qqmldomexternalitems_p.h.
|
overridevirtual |
Reimplemented from QQmlJS::Dom::DomBase.
Definition at line 487 of file qqmldomexternalitems.cpp.
References QQmlJS::Dom::DomBase::field().
|
inline |
Definition at line 398 of file qqmldomexternalitems_p.h.
Referenced by QQmlLSUtils::itemsFromTextLocation().
Definition at line 369 of file qqmldomexternalitems_p.h.
|
inline |
Definition at line 409 of file qqmldomexternalitems_p.h.
|
inline |
Definition at line 410 of file qqmldomexternalitems_p.h.
|
overridevirtual |
Reimplemented from QQmlJS::Dom::ExternalOwningItem.
Definition at line 472 of file qqmldomexternalitems.cpp.
References QQmlJS::Dom::ExternalOwningItem::iterateDirectSubpaths(), and members().
|
inlineoverridevirtual |
Implements QQmlJS::Dom::DomBase.
Definition at line 329 of file qqmldomexternalitems_p.h.
Definition at line 340 of file qqmldomexternalitems_p.h.
|
static |
Definition at line 465 of file qqmldomexternalitems.cpp.
References QQmlJS::Dom::DomItem::domErrorGroup, and NewErrorGroup.
Referenced by QmlFile().
Definition at line 400 of file qqmldomexternalitems_p.h.
|
inline |
Definition at line 397 of file qqmldomexternalitems_p.h.
|
inline |
Definition at line 350 of file qqmldomexternalitems_p.h.
|
inline |
Definition at line 399 of file qqmldomexternalitems_p.h.
|
inline |
Definition at line 426 of file qqmldomexternalitems_p.h.
Definition at line 373 of file qqmldomexternalitems_p.h.
Definition at line 401 of file qqmldomexternalitems_p.h.
|
inline |
Definition at line 416 of file qqmldomexternalitems_p.h.
References members().
|
inline |
Definition at line 412 of file qqmldomexternalitems_p.h.
Reimplemented from QQmlJS::Dom::DomBase.
Definition at line 500 of file qqmldomexternalitems.cpp.
References i.
|
friend |
Definition at line 451 of file qqmldomexternalitems_p.h.
|
staticconstexpr |
Definition at line 328 of file qqmldomexternalitems_p.h.