| 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 |
- |