<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qt/qtdeclarative.git/src/qml/compiler/qqmlirbuilder.cpp, branch 6.11</title>
<subtitle>Qt Declarative (Quick 2)
</subtitle>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/'/>
<entry>
<title>QtQml: Avoid detaching iteration on Qt containers</title>
<updated>2026-04-28T22:48:42+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2026-04-27T17:20:02+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=7416a4ca2d1fad2edb3fb8c1d1077505e2f7b729'/>
<id>7416a4ca2d1fad2edb3fb8c1d1077505e2f7b729</id>
<content type='text'>
Pick-to: 6.8
Task-number: QTBUG-146040
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV994
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV995
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV996
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV997
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV998
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV999
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1000
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1001
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1003
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1004
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1005
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1006
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1007
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1009
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1011
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1012
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1013
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1014
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1015
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1016
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1019
Change-Id: Ie792b0bf76cc30cf70b948378de3752adc95c4f8
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
(cherry picked from commit c51e5c1b5cab2690db0493a9b54870bab37cfee6)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pick-to: 6.8
Task-number: QTBUG-146040
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV994
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV995
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV996
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV997
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV998
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV999
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1000
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1001
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1003
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1004
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1005
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1006
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1007
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1009
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1011
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1012
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1013
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1014
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1015
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1016
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1019
Change-Id: Ie792b0bf76cc30cf70b948378de3752adc95c4f8
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
(cherry picked from commit c51e5c1b5cab2690db0493a9b54870bab37cfee6)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Include what you use: QTypeRevision</title>
<updated>2026-04-17T21:01:14+00:00</updated>
<author>
<name>Marc Mutz</name>
<email>marc.mutz@qt.io</email>
</author>
<published>2026-04-14T15:47:14+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=155a2544a4e92f93fbe3debe67b3a4601e92d89b'/>
<id>155a2544a4e92f93fbe3debe67b3a4601e92d89b</id>
<content type='text'>
These files use QTypeRevision in-size, but relied on transitive
includes. Add the include.

Some _p.h files use the type in-name-only, so only add a forward
declaration there.

Amends 789929f939a60462373beae37ab4373809095cff (6.0), which
introduced QTypeRevision into QtDeclarative for the first time.

Pick-to: 6.8 6.5
Change-Id: I2ebd0d6dd3f193921a14b032e92bf5f91ed06331
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
(cherry picked from commit 9f80908f690bb5e820c7ccbd4bd69b70aa7d567c)
Reviewed-by: Marc Mutz &lt;marc.mutz@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These files use QTypeRevision in-size, but relied on transitive
includes. Add the include.

Some _p.h files use the type in-name-only, so only add a forward
declaration there.

Amends 789929f939a60462373beae37ab4373809095cff (6.0), which
introduced QTypeRevision into QtDeclarative for the first time.

Pick-to: 6.8 6.5
Change-Id: I2ebd0d6dd3f193921a14b032e92bf5f91ed06331
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
(cherry picked from commit 9f80908f690bb5e820c7ccbd4bd69b70aa7d567c)
Reviewed-by: Marc Mutz &lt;marc.mutz@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>CRA: review src/qml/compiler</title>
<updated>2026-02-06T21:03:55+00:00</updated>
<author>
<name>Sami Shalayel</name>
<email>sami.shalayel@qt.io</email>
</author>
<published>2026-02-06T09:06:40+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=a86a278a6b24aea2d6f938f19548e5c8fe9e246c'/>
<id>a86a278a6b24aea2d6f938f19548e5c8fe9e246c</id>
<content type='text'>
All files get default significance: they do no parsing, no code
execution, no cryptography and no network protocols
implementation.

Note that the compiler classes use the QML parser from src/qml/parser,
and therefore do no parsing themselves.

Pick-to: 6.10 6.8
Fixes: QTBUG-143929
Change-Id: If1d4b896ec4a70fa2d4348a484464dcd4d8ef017
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
(cherry picked from commit 22e40334a65d0e4bce55d50f7932168577c3ba52)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
All files get default significance: they do no parsing, no code
execution, no cryptography and no network protocols
implementation.

Note that the compiler classes use the QML parser from src/qml/parser,
and therefore do no parsing themselves.

Pick-to: 6.10 6.8
Fixes: QTBUG-143929
Change-Id: If1d4b896ec4a70fa2d4348a484464dcd4d8ef017
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
(cherry picked from commit 22e40334a65d0e4bce55d50f7932168577c3ba52)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace QVector with QList</title>
<updated>2026-01-10T01:16:24+00:00</updated>
<author>
<name>Shawn Rutledge</name>
<email>shawn.rutledge@qt.io</email>
</author>
<published>2026-01-08T18:16:07+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=bd7aa9a89e3f95ee46df98be5298b8845b718fca'/>
<id>bd7aa9a89e3f95ee46df98be5298b8845b718fca</id>
<content type='text'>
Since QVector is just an alias, let's finally do what we could have
done for Qt 6.0.

Change-Id: Ia9dbc8ecf4f099339cf7639acb22c14b24fa680b
Reviewed-by: Sami Shalayel &lt;sami.shalayel@qt.io&gt;
(cherry picked from commit 941445ba18c8003948dc9bb9e257114ca13e12fb)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since QVector is just an alias, let's finally do what we could have
done for Qt 6.0.

Change-Id: Ia9dbc8ecf4f099339cf7639acb22c14b24fa680b
Reviewed-by: Sami Shalayel &lt;sami.shalayel@qt.io&gt;
(cherry picked from commit 941445ba18c8003948dc9bb9e257114ca13e12fb)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Qml IR: add support for virtual and override keywords</title>
<updated>2025-12-04T20:01:19+00:00</updated>
<author>
<name>Dmitrii Akshintsev</name>
<email>dmitrii.akshintsev@qt.io</email>
</author>
<published>2025-10-28T14:34:45+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=d99c610674ada29c5280c07b45ebfab7bc4e3b11'/>
<id>d99c610674ada29c5280c07b45ebfab7bc4e3b11</id>
<content type='text'>
This patch adds two new fields, IsVirtual and IsOverride, to CompiledData::Property.
These fields will later be used to populate QQmlPropertyData and to handle
property override semantics.

At a high level, this change focuses on the data flow from the AST to the IR,
laying the groundwork for future semantic resolution.

Also moves test helper Syntax namespace to the quicktestutils

Task-number: QTBUG-98320
Change-Id: Ic2a2e28df08d53c8752c49304bd5f7ff46916d08
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds two new fields, IsVirtual and IsOverride, to CompiledData::Property.
These fields will later be used to populate QQmlPropertyData and to handle
property override semantics.

At a high level, this change focuses on the data flow from the AST to the IR,
laying the groundwork for future semantic resolution.

Also moves test helper Syntax namespace to the quicktestutils

Task-number: QTBUG-98320
Change-Id: Ic2a2e28df08d53c8752c49304bd5f7ff46916d08
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>qmllint: Also lint inner functions</title>
<updated>2025-11-05T12:43:51+00:00</updated>
<author>
<name>Olivier De Cannière</name>
<email>olivier.decanniere@qt.io</email>
</author>
<published>2025-09-18T13:12:24+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=a0a2a239dc8e1a486ae8bdf14ec7fd5db27311e1'/>
<id>a0a2a239dc8e1a486ae8bdf14ec7fd5db27311e1</id>
<content type='text'>
We were only collecting the 'QML' functions that would be passed to the
AOT compiler. Other function types were ignored.

Also collect those and pass them to the compiler but only use them when
linting. Defer invistigating whether it is a good idea to try to
compile JS functions as well to a later point.

Logic in a few places was adapted with this changing assumption.

[ChangeLog][QML][qmllint] qmllint will now lint inner functions,
defined in javascript, in addition to top-level functions and bindings.

Fixes: QTBUG-138845
Pick-to: 6.10 6.8 6.5
Change-Id: If6f62aeace8739442b6a1f355fad95ce19c0643c
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We were only collecting the 'QML' functions that would be passed to the
AOT compiler. Other function types were ignored.

Also collect those and pass them to the compiler but only use them when
linting. Defer invistigating whether it is a good idea to try to
compile JS functions as well to a later point.

Logic in a few places was adapted with this changing assumption.

[ChangeLog][QML][qmllint] qmllint will now lint inner functions,
defined in javascript, in addition to top-level functions and bindings.

Fixes: QTBUG-138845
Pick-to: 6.10 6.8 6.5
Change-Id: If6f62aeace8739442b6a1f355fad95ce19c0643c
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>IRBuilder: Drop pointless visit overrides</title>
<updated>2025-10-14T11:01:40+00:00</updated>
<author>
<name>Olivier De Cannière</name>
<email>olivier.decanniere@qt.io</email>
</author>
<published>2025-09-19T07:27:39+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=4b8116c44568a855e33fcbbe8ae349b4508fbf00'/>
<id>4b8116c44568a855e33fcbbe8ae349b4508fbf00</id>
<content type='text'>
Overriding the function only to then call the base implementation and
nothing else is not very productive.

Change-Id: Ib3cba0d38de652c94689b0bac5e878f629e35bd3
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Overriding the function only to then call the base implementation and
nothing else is not very productive.

Change-Id: Ib3cba0d38de652c94689b0bac5e878f629e35bd3
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve error message for invalid import qualifier</title>
<updated>2025-08-08T08:29:09+00:00</updated>
<author>
<name>Dheerendra Purohit</name>
<email>dheerendra@pthinks.com</email>
</author>
<published>2025-07-28T09:52:58+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=1224a1c89f07b1a1f42cc67aa707e4c7c0c862e5'/>
<id>1224a1c89f07b1a1f42cc67aa707e4c7c0c862e5</id>
<content type='text'>
Previously, the error message for an invalid import qualifier did not show the qualifier name or explain what was wrong.

This change adds the qualifier name to the message and says it must start with an uppercase letter.

Pick-to: 6.10
Fixes: QTBUG-133313
Change-Id: I0bd4bb143f7b4cdc3b26cae73ab42a4fb05977b1
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, the error message for an invalid import qualifier did not show the qualifier name or explain what was wrong.

This change adds the qualifier name to the message and says it must start with an uppercase letter.

Pick-to: 6.10
Fixes: QTBUG-133313
Change-Id: I0bd4bb143f7b4cdc3b26cae73ab42a4fb05977b1
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "QtQml: Remove dependency hashing"</title>
<updated>2025-05-15T21:34:19+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2025-05-14T14:15:09+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=b9a085b26f753d4f1317bb4caa16329ff6646f3b'/>
<id>b9a085b26f753d4f1317bb4caa16329ff6646f3b</id>
<content type='text'>
This reverts commit 18c421fe6159dc921643c72ae335cf189eb1cc3a.

Removing the dependency hashing is not safe because there are various
other bits covered by it, not only the alias target IDs.

Task-number: QTBUG-136806
Change-Id: I4a8a57d810203a47945ce67916ee5b54ee7a603d
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 18c421fe6159dc921643c72ae335cf189eb1cc3a.

Removing the dependency hashing is not safe because there are various
other bits covered by it, not only the alias target IDs.

Task-number: QTBUG-136806
Change-Id: I4a8a57d810203a47945ce67916ee5b54ee7a603d
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QtQml: Remove dependency hashing</title>
<updated>2025-05-13T16:07:10+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2025-04-17T12:12:04+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=18c421fe6159dc921643c72ae335cf189eb1cc3a'/>
<id>18c421fe6159dc921643c72ae335cf189eb1cc3a</id>
<content type='text'>
Since we don't store any property indices in the compilation units
anymore, we don't need to hash the dependencies anymore.

Task-number: QTBUG-135286
Change-Id: I2ea05c920475749f2a2d6cf309d0956a74d6c688
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since we don't store any property indices in the compilation units
anymore, we don't need to hash the dependencies anymore.

Task-number: QTBUG-135286
Change-Id: I2ea05c920475749f2a2d6cf309d0956a74d6c688
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</pre>
</div>
</content>
</entry>
</feed>
