<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qt/qtdeclarative.git/src/qmlcompiler/qqmljsimporter.cpp, branch 6.5.5</title>
<subtitle>Qt Declarative (Quick 2)
</subtitle>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/'/>
<entry>
<title>Revert "Update commercial SPDX-License-Identifier"</title>
<updated>2025-06-09T09:05:15+00:00</updated>
<author>
<name>Tarja Sundqvist</name>
<email>tarja.sundqvist@qt.io</email>
</author>
<published>2025-05-30T09:58:32+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=1bdc78e942ff99f8cc8171a6d21237740a2ad9df'/>
<id>1bdc78e942ff99f8cc8171a6d21237740a2ad9df</id>
<content type='text'>
This reverts commit 6517e8df24d2381e951b9ec3e0cda2ae33edac37.

Commercial SPDX license identifiers need to be removed from
the opensource release.

Change-Id: I60f8c76ace400db6182e012c8aae050d13d262e9
Reviewed-by: Jani Heikkinen &lt;jani.heikkinen@qt.io&gt;
(cherry picked from commit ab97288de27970ba3cb0300158df757c01dabd77)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 6517e8df24d2381e951b9ec3e0cda2ae33edac37.

Commercial SPDX license identifiers need to be removed from
the opensource release.

Change-Id: I60f8c76ace400db6182e012c8aae050d13d262e9
Reviewed-by: Jani Heikkinen &lt;jani.heikkinen@qt.io&gt;
(cherry picked from commit ab97288de27970ba3cb0300158df757c01dabd77)
</pre>
</div>
</content>
</entry>
<entry>
<title>Update commercial SPDX-License-Identifier</title>
<updated>2023-12-13T16:58:36+00:00</updated>
<author>
<name>Tarja Sundqvist</name>
<email>tarja.sundqvist@qt.io</email>
</author>
<published>2023-12-08T15:16:30+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=6517e8df24d2381e951b9ec3e0cda2ae33edac37'/>
<id>6517e8df24d2381e951b9ec3e0cda2ae33edac37</id>
<content type='text'>
Some files in tqtc-qtdeclarative were missing the commercial
SPDX-License-Identifier. Build files, examples, tests, or
documentation are not updated.

Task-number: QTQAINFRA-5900
Change-Id: I2cad9a7a271b0b3f3af3074259614b890b266a91
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
(cherry picked from commit 132fe2df41fc5e69fec39440b35137d5f0d63f6e)
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>
Some files in tqtc-qtdeclarative were missing the commercial
SPDX-License-Identifier. Build files, examples, tests, or
documentation are not updated.

Task-number: QTQAINFRA-5900
Change-Id: I2cad9a7a271b0b3f3af3074259614b890b266a91
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
(cherry picked from commit 132fe2df41fc5e69fec39440b35137d5f0d63f6e)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QmlCompiler: Do not recurse when looking for builtins.qmltypes</title>
<updated>2023-06-20T06:50:50+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2023-06-16T11:50:40+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=4bdb572cbedcb1d0d7603fe68635d6583bf56dd3'/>
<id>4bdb572cbedcb1d0d7603fe68635d6583bf56dd3</id>
<content type='text'>
A builtins.qmltypes in some subdirectory is generally not something we
want to use.

Change-Id: Ic774800048917f6b61e3343fcb7d12b00bcee9bd
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
(cherry picked from commit 74fac24a2785af1fe7a3252b1c804c762ede400b)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A builtins.qmltypes in some subdirectory is generally not something we
want to use.

Change-Id: Ic774800048917f6b61e3343fcb7d12b00bcee9bd
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
(cherry picked from commit 74fac24a2785af1fe7a3252b1c804c762ede400b)
</pre>
</div>
</content>
</entry>
<entry>
<title>QmlCompiler: Fix version resolution for imports</title>
<updated>2023-01-31T22:01:41+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2023-01-24T13:08:50+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=5e66a8c4fd7a10074894fc3040f63610016f00b1'/>
<id>5e66a8c4fd7a10074894fc3040f63610016f00b1</id>
<content type='text'>
Partially versioned imports should not be sorted useing the generic
comparison operators. We have to check each component individually.

Fixes: QTBUG-110320
Change-Id: Id75ab73ff6a4b5b040b9fcbb426e6bcf893d3d8b
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
(cherry picked from commit 07185214ddc593f460b053acd89bbd96b62a2ba5)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Partially versioned imports should not be sorted useing the generic
comparison operators. We have to check each component individually.

Fixes: QTBUG-110320
Change-Id: Id75ab73ff6a4b5b040b9fcbb426e6bcf893d3d8b
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
(cherry picked from commit 07185214ddc593f460b053acd89bbd96b62a2ba5)
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove redundant std::move() detected by GCC 13</title>
<updated>2023-01-11T21:17:54+00:00</updated>
<author>
<name>Thiago Macieira</name>
<email>thiago.macieira@intel.com</email>
</author>
<published>2023-01-11T14:59:17+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=56eac631815ba57360a3c542d6783d45b7f219a5'/>
<id>56eac631815ba57360a3c542d6783d45b7f219a5</id>
<content type='text'>
QQmlJSScope::ContextualTypes::types() returns a QHash by const-
reference, which can't be made rvalue.

qqmljsimporter.cpp:581:71: warning: redundant move in initialization [-Wredundant-move]

Change-Id: Ide4dbd0777a44ed0870efffd17394924871c28c6
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
(cherry picked from commit 89ee6026ff5637c0e75d3234af1069846ed1c875)
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>
QQmlJSScope::ContextualTypes::types() returns a QHash by const-
reference, which can't be made rvalue.

qqmljsimporter.cpp:581:71: warning: redundant move in initialization [-Wredundant-move]

Change-Id: Ide4dbd0777a44ed0870efffd17394924871c28c6
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
(cherry picked from commit 89ee6026ff5637c0e75d3234af1069846ed1c875)
Reviewed-by: Qt Cherry-pick Bot &lt;cherrypick_bot@qt-project.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Mark the module free of qAsConst()</title>
<updated>2022-12-05T19:46:21+00:00</updated>
<author>
<name>Marc Mutz</name>
<email>marc.mutz@qt.io</email>
</author>
<published>2022-11-21T10:40:33+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=afc2abdebf6efa50eaaed0b1e33bc39bde60352e'/>
<id>afc2abdebf6efa50eaaed0b1e33bc39bde60352e</id>
<content type='text'>
Change-Id: I914ccc09297ac6283d7cf24d5afc96ebdaf294d0
Reviewed-by: Volker Hilsheimer &lt;volker.hilsheimer@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>
Change-Id: I914ccc09297ac6283d7cf24d5afc96ebdaf294d0
Reviewed-by: Volker Hilsheimer &lt;volker.hilsheimer@qt.io&gt;
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QmlCompiler: Check return code when opening qmltypes files</title>
<updated>2022-11-29T11:32:27+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2022-11-28T08:18:36+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=4f8485796dc96af91dadeb9c266451528e6520b7'/>
<id>4f8485796dc96af91dadeb9c266451528e6520b7</id>
<content type='text'>
Coverity-Id: 403059
Change-Id: Ic45f749602f4230e8319d0c3d4c262043d2cdad4
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
Reviewed-by: Sami Shalayel &lt;sami.shalayel@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Coverity-Id: 403059
Change-Id: Ic45f749602f4230e8319d0c3d4c262043d2cdad4
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
Reviewed-by: Sami Shalayel &lt;sami.shalayel@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QmlCompiler: Store imported types in a QList</title>
<updated>2022-11-24T23:04:02+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2022-11-23T16:20:47+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=6e640a0218b9860f7af79494d87b64690805a1ed'/>
<id>6e640a0218b9860f7af79494d87b64690805a1ed</id>
<content type='text'>
The same type can be exported multiple times with different attributes,
even in the same module.

This requires us to fix directory imports as qmllint otherwise complains
about SegFault.bad.qml and SegFault.qml being the same type (which they
obviously aren't).

Task-number: QTCREATORBUG-27590
Change-Id: I295d927b9a07acbb715055a6883ac44b50129c2d
Reviewed-by: Sami Shalayel &lt;sami.shalayel@qt.io&gt;
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
Reviewed-by: Qt CI Bot &lt;qt_ci_bot@qt-project.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The same type can be exported multiple times with different attributes,
even in the same module.

This requires us to fix directory imports as qmllint otherwise complains
about SegFault.bad.qml and SegFault.qml being the same type (which they
obviously aren't).

Task-number: QTCREATORBUG-27590
Change-Id: I295d927b9a07acbb715055a6883ac44b50129c2d
Reviewed-by: Sami Shalayel &lt;sami.shalayel@qt.io&gt;
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
Reviewed-by: Qt CI Bot &lt;qt_ci_bot@qt-project.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QmlCompiler: Allow lists as arguments to methods</title>
<updated>2022-11-10T14:00:11+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2022-10-19T12:35:24+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=91c6d455595d245445f28d6d1c27c4f2710ef3c3'/>
<id>91c6d455595d245445f28d6d1c27c4f2710ef3c3</id>
<content type='text'>
Since lists are allowed as property types, you should be able to pass
them as arguments to methods, too. For now we only handle QML-defined
methods, implemented by adding JavaScript functions to your QML
elements. The usual type coercion rules apply if you pass JavaScript
arrays to such methods. That is, it usually works.

We now resolve properties with the "list" flag to their actual types
(QQmlListProperty or QList) already when populating the QQmlJSScope, and
store the list types as members of QQmlJSScope rather than as a special
map in QQmlJSTypeResolver. This allows us to do the same to lists passed
as arguments and simplifies some of the type analysis.

Fixes: QTBUG-107171
Change-Id: Idf71ccdc1d59f472c17084a36b5d7879c4d959c0
Reviewed-by: Qt CI Bot &lt;qt_ci_bot@qt-project.org&gt;
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since lists are allowed as property types, you should be able to pass
them as arguments to methods, too. For now we only handle QML-defined
methods, implemented by adding JavaScript functions to your QML
elements. The usual type coercion rules apply if you pass JavaScript
arrays to such methods. That is, it usually works.

We now resolve properties with the "list" flag to their actual types
(QQmlListProperty or QList) already when populating the QQmlJSScope, and
store the list types as members of QQmlJSScope rather than as a special
map in QQmlJSTypeResolver. This allows us to do the same to lists passed
as arguments and simplifies some of the type analysis.

Fixes: QTBUG-107171
Change-Id: Idf71ccdc1d59f472c17084a36b5d7879c4d959c0
Reviewed-by: Qt CI Bot &lt;qt_ci_bot@qt-project.org&gt;
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>QmlCompiler: Enforce consistency of ContextualTypes</title>
<updated>2022-11-02T08:51:14+00:00</updated>
<author>
<name>Ulf Hermann</name>
<email>ulf.hermann@qt.io</email>
</author>
<published>2022-10-19T11:07:56+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=b7fd5774f69e6b9bef0a6f31d3e01d974eccc3a0'/>
<id>b7fd5774f69e6b9bef0a6f31d3e01d974eccc3a0</id>
<content type='text'>
An instance of ContextualTypes can only either hold QML types or
internal types. We always need an integer and an array type, though.

Previously, "int" was always added to the used types when it was looked
up for potentially resolving enums. This prevented the builtins from
being reported as unused import. Since we pass "int" as a separate
member now, prevent the builtins from being recorded as import location
in the first place.

Task-number: QTBUG-107171
Change-Id: I288b6e070c2039d4ac85073886c9929a2eed3998
Reviewed-by: Fabian Kosmale &lt;fabian.kosmale@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
An instance of ContextualTypes can only either hold QML types or
internal types. We always need an integer and an array type, though.

Previously, "int" was always added to the used types when it was looked
up for potentially resolving enums. This prevented the builtins from
being reported as unused import. Since we pass "int" as a separate
member now, prevent the builtins from being recorded as import location
in the first place.

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