Name Description Size Coverage
CMakeLists.txt 3085 -
doc -
qcoloroutput.cpp Returns true if it's suitable to send colored output to \c stderr. 11821 -
qcoloroutput_p.h 3425 -
qdeferredpointer_p.h 7292 -
qqmljsannotation.cpp 1600 -
qqmljsannotation_p.h 1404 -
qqmljsaotirbuilder.cpp 2075 -
qqmljsaotirbuilder_p.h 1372 -
qqmljsbasicblocks.cpp 13224 -
qqmljsbasicblocks_p.h 3551 -
qqmljscodegenerator.cpp ! \internal \class QQmlJSCodeGenerator This is a final compile pass that generates C++ code from a function and the annotations produced by previous passes. Such annotations are produced by QQmlJSTypePropagator, and possibly amended by other passes. 186297 -
qqmljscodegenerator_p.h 19201 -
qqmljscompilepass_p.h ! \internal \brief The accumulatorIn is the input register of the current instruction. It holds a content, a type that content is acctually stored in, and an enclosing type of the stored type called the scope. Note that passes after the original type propagation may change the type of this register to a different type that the original one can be coerced to. Therefore, when analyzing the same instruction in a later pass, the type may differ from what was seen or requested ealier. See \l {readAccumulator()}. The input type may then need to be converted to the expected type. 24271 -
qqmljscompiler.cpp 38921 -
qqmljscompiler_p.h 6555 -
qqmljscompilerstats.cpp 8105 -
qqmljscompilerstats_p.h 2802 -
qqmljscompilerstatsreporter.cpp 6124 -
qqmljscompilerstatsreporter_p.h 1562 -
qqmljscontextualtypes.cpp 3738 -
qqmljscontextualtypes_p.h ! \internal Maps type names to types and the compile context of the types. The context can be INTERNAL (for c++ and synthetic jsrootgen types) or QML (for qml types). 5011 -
qqmljsfunctioninitializer.cpp ! \internal \class QQmlJSFunctionInitializer QQmlJSFunctionInitializer analyzes the IR to produce an initial QQmlJSCompilePass::Function for further analysis. It only looks for the signature and the QML scope and doesn't visit the byte code. 11552 -
qqmljsfunctioninitializer_p.h 1901 -
qqmljsimporter.cpp 46386 -
qqmljsimporter_p.h 15259 -
qqmljsimportvisitor.cpp ! \internal Returns if assigning \a assignedType to \a property would require an implicit component wrapping. 139971 -
qqmljsimportvisitor_p.h 18003 -
qqmljsloadergenerator.cpp ! \internal Mangles \a str to be a unique C++ identifier. Characters that are invalid for C++ identifiers are replaced by the pattern \c _0x<hex>_ where <hex> is the hexadecimal unicode representation of the character. As identifiers with leading underscores followed by either another underscore or a capital letter are reserved in C++, we also escape those, by escaping the first underscore, using the above method. \note Although C++11 allows for non-ascii (unicode) characters to be used in identifiers, many compilers forgot to read the spec and do not implement this. Some also do not implement C99 identifiers, because that is \e {at the implementation's discretion}. So, we are stuck with plain old boring identifiers. 8540 -
qqmljsloadergenerator_p.h 1111 -
qqmljslogger.cpp Note: users are in full control of the severity level of a category. It is not possible to have a single category and use it as a warning in one context, and as an info message in another context. For that use case, create two distinct categories instead, and give them appropriate default warning levels. 29265 -
qqmljslogger_p.h ! \internal Used to print the line containing the location of a certain error 12833 -
qqmljsloggingutils.cpp ! \enum QQmlSA::WarningSeverity \inmodule QtQmlCompiler \since 6.12 \brief Holds the possible severity levels of diagnostics messages for a logging category. \value Error Messages emitted by this logging category will cause an error. \value Warning Messages emitted by this logging category are warnings. No error is produced unless the \l{qmllint#Settings}{MaxWarnings} setting is set and exceeded. \value Info Messages emitted by this logging category are purely informative and do not count towards \l{qmllint#Settings}{MaxWarnings}. \value Disable This logging category will not emit any messages. 9394 -
qqmljsloggingutils.h 6680 -
qqmljsloggingutils_p.h 3868 -
qqmljslookupsignatures.cpp 11292 -
qqmljslookupsignatures_p.h 1879 -
qqmljsmetatypes.cpp ! \class QQmlJSMetaPropertyBinding \inmodule QtQmlCompiler \internal Represents a single QML binding of a specific type. Typically, when you create a new binding, you know all the details of it already, so you should just set all the data at once. 3857 -
qqmljsmetatypes_p.h ! \internal A non-const parameter is passed either by pointer or by value, depending on its access semantics. For types with reference access semantics, they can be const and will be passed then as const pointer. Const references are treated like values (i.e. non-const). 35450 -
qqmljsoptimizations.cpp 24147 -
qqmljsoptimizations_p.h 3557 -
qqmljsregistercontent.cpp 23539 -
qqmljsregistercontent_p.h 9264 -
qqmljsresourcefilemapper.cpp 8207 -
qqmljsresourcefilemapper_p.h 2160 -
qqmljsscope.cpp ! \class QQmlJSScope \internal \brief Tracks the types for the QmlCompiler QQmlJSScope tracks the types used in qml for the QmlCompiler. Multiple QQmlJSScope objects might be created for the same conceptual type, except when reused due to extensive caching. Two QQmlJSScope objects are considered equal when they are backed by the same implementation, that is, they have the same internalName. 53067 -
qqmljsscope_p.h ! A Hashable type to differentiate document roots from different inline components. 29351 -
qqmljsscopesbyid_p.h ! \internal Find the possible IDs for \a scope as seen by \a referrer. There can be at most one ID for a scope. Depending on whether we can determine the component boundaries of the \a scope and the \a referrer we may or may not be able to tell whether it's visible. We can generally determine the relevant component boundaries for each scope. However, if the scope or any of its parents is assigned to a property of which we cannot see the type, we don't know whether the type of that property happens to be Component. In that case, we can't say. Returns \c Success::Yes if either no ID was found or the \a callback returned \c CallbackResult::ContinueSearch for the ID found. Returns \c Success::No if the \a callback returned \c CallbackResult::StopSearch. 13974 -
qqmljsshadowcheck.cpp ! \internal \class QQmlJSShadowCheck This pass looks for possible shadowing when accessing members of QML-exposed types. A member can be shadowed if a non-final property is re-declared in a derived class. As the QML engine will always pick up the most derived variant of that property, we cannot rely on any property of a type to be actually accessible, unless one of a few special cases holds: 1. We are dealing with a direct scope lookup, without an intermediate object. Such lookups are protected from shadowing. For example "property int a: b" always works. 2. The object we are retrieving the property from is identified by an ID, or an attached property or a singleton. Such objects cannot be replaced. Therefore we can be sure to see all the type information at compile time. 3. The property is declared final. 4. The object we are retrieving the property from is a value type. Value types cannot be used polymorphically. If the property is potentially shadowed, we can still retrieve it, but we don't know its type. We should assume "var" then. All of the above also holds for methods. There we have to transform the arguments and return types into "var". 9748 -
qqmljsshadowcheck_p.h 2438 -
qqmljsstoragegeneralizer.cpp ! \internal \class QQmlJSStorageGeneralizer The QQmlJSStorageGeneralizer is a compile pass that changes all type annotations and the function signature to use a generic storage type like QVariant or QObject*. This is necessary if we cannot rely on the original type to be immediately accessible, for example because we cannot include its header. QQmlJSStorageGeneralizer does not have to use the byte code at all but operates only on the annotations and the function description. 2413 -
qqmljsstoragegeneralizer_p.h 1423 -
qqmljsstorageinitializer.cpp ! \internal \class QQmlJSStorageInitializer The QQmlJSStorageInitializer is a compile pass that initializes the storage for all register contents. QQmlJSStorageInitializer does not have to use the byte code at all but operates only on the annotations and the function description. 3234 -
qqmljsstorageinitializer_p.h 1423 -
qqmljstypedescriptionreader.cpp lineno = 37529 -
qqmljstypedescriptionreader_p.h 3521 -
qqmljstypepropagator.cpp ! \internal \class QQmlJSTypePropagator QQmlJSTypePropagator is the initial pass that performs the type inference and annotates every register in use at any instruction with the possible types it may hold. This includes information on how and in what scope the values are retrieved. These annotations may be used by further compile passes for refinement or code generation. 99715 -
qqmljstypepropagator_p.h 13141 -
qqmljstypereader.cpp line = 1952 -
qqmljstypereader_p.h 1104 -
qqmljstyperesolver.cpp 68749 -
qqmljstyperesolver_p.h 16378 -
qqmljsutils.cpp ! \internal Fully resolves alias \a property and returns the information about the origin, which is not an alias. 16584 -
qqmljsutils_p.h ! \internal Utility method that returns proper value according to the type To. This version returns From. 15882 -
qqmlsa.cpp ! \namespace QQmlSA \inmodule QtQmlCompiler \brief Provides tools for static analysis on QML programs. 71698 -
qqmlsa.h 13744 -
qqmlsa_p.h 15312 -
qqmlsaconstants.h 1227 -
qqmlsasourcelocation.cpp ! \class QQmlSA::SourceLocation \inmodule QtQmlCompiler \brief Represents a location or region in the source code. 5305 -
qqmlsasourcelocation.h 2368 -
qqmlsasourcelocation_p.h 1361 -
qresourcerelocater.cpp ! \internal Changes all the paths in resource file \a input so that they are relative to location \a output and writes the result to resource file \a output. 5762 -
qresourcerelocater_p.h 744 -