aboutsummaryrefslogtreecommitdiffstats
path: root/src/qmltyperegistrar/qmltypesclassdescription.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Preserve access semantics in qmltypesUlf Hermann2020-05-181-2/+8
| | | | | | | | gadget types are accessed with value semantics, object types are accessed with reference semantics, and namespaces are not accessed. Change-Id: I5eb8f132d729416f28bf94e651f877fc4a9a5c77 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Register value types declarativelyUlf Hermann2020-04-281-0/+5
| | | | | | | | | For now this has the effect of adding them to the .qmltypes files. In the future, the registration shall actually add additional value types you can declare as properties in QML. Change-Id: Ifee5a8ec054f35cc7bd07eb992a136730be68da7 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-04-171-5/+18
|\ | | | | | | | | | | | | | | Conflicts: src/qmltyperegistrar/qmltypesclassdescription.cpp src/quick/items/qquickrendertarget.h Change-Id: I9e24d2252a35b8e74af89ad72af796df658167ca
| * qmltyperegistrar: Correctly handle foreign and super classesUlf Hermann2020-04-161-5/+18
| | | | | | | | | | | | | | | | | | | | | | Previously, if there were multiple super classes, revisions were only collected for the first one. Also, properties and enums declared in the type itself were ignored when QML.Foreign was specified. Finally, we would previously re-set resolvedClass and re-sort the revisions on each super and attached type. Change-Id: Iccb939cae66a5c4e2e5c312359e389463df80b4e Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-04-091-0/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/jsruntime/qv4executablecompilationunit.cpp src/qml/jsruntime/qv4executablecompilationunit_p.h src/qml/qml/qqmlobjectcreator.cpp src/qml/qml/qqmlpropertycachecreator_p.h src/qml/qml/qqmltypecompiler.cpp src/qml/qml/qqmltypedata.cpp tests/auto/qml/qmlformat/tst_qmlformat.cpp tools/qmllint/scopetree.cpp src/qml/qml/qqmlapplicationengine_p.h Adjusted tools/qmllint/findunqualified.cpp to use newer API Change-Id: Ibfb4678ca39d626d47527265e3c96e43313873d4
| * qmltyperegistrar: Follow the private includes setting in qmltypesUlf Hermann2020-04-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | If the file names need to be prepended with "private/" in order to be usable, that also holds for other tools that want to use them. Therefore, also add the prefix to the qmltypes files. We won't have a chance to figure this out again at a later point. Furthermore, don't add file entries for types we cannot register anyway. Change-Id: If04297db419e364f472b8ec627c599c0cbb4ffd9 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
| * qmltyperegistrar: Record header file names in qmltypes filesUlf Hermann2020-03-301-0/+2
| | | | | | | | | | | | | | We will need them to find the types in C++ code. Change-Id: Id00c6d855adbb767a0be8a9469fbe47447ccec8b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-03-091-23/+35
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/compiler/qqmlirbuilder_p.h src/qml/qml/qqmlpropertycachecreator_p.h src/qmltyperegistrar/qmltypesclassdescription.cpp src/qmltyperegistrar/qmltypesclassdescription.h src/qmltyperegistrar/qmltypescreator.cpp src/quick/items/qquicktext_p.h src/quick/util/qquickvaluetypes_p.h Change-Id: Ic209741592e7b85820bf3845722023a190ebc1c5
| * qmltyperegistrar: Mark non-QObject types as uncreatableUlf Hermann2020-03-021-0/+3
| | | | | | | | | | | | | | | | | | | | qmlplugindump does so, and in fact they are uncreatable. Also, make qmlTypeRegistrationMode() more robust. Each classDef should really either be an object, a gadget, or a namespace. Change-Id: If39bbbf6f9a4fdb269d095ca10d60ad5d87ca62d Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * qmltyperegistrar: Correctly collect attached typesUlf Hermann2020-02-251-23/+30
| | | | | | | | | | | | | | Their revisions were missing from the qmltypes. Change-Id: Iec7a5ad1c56135c761f6a1fe66904cf25d039850 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | Process major versions as part of Q_REVISIONUlf Hermann2020-02-131-9/+11
| | | | | | | | | | | | | | | | Retrieve the major version from the meta object revisions and use them to register types and generate qmltypes files. Change-Id: I35da8963457660d1a49ba9063574e1a68057a7ba Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | Use QTypeRevision for all versions and revisionsUlf Hermann2020-02-031-9/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In many places we carry major and minor versions or revisions that are loosely coupled to minor versions. As the Qt minor version resets now, we need to handle these things more systematically. In particular, we need to add a "major" part to revisions. QTypeRevision can express the current major/minor pairs more efficiently and can also be used to add a major version to revisions. This change does not change the semantics, yet, but only replaces the types. Change-Id: Ie58ba8114d7e4c6427f0f28716deee71995c0d24 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* | qmltyperegistrar: Sort revisions numerically in qmltypesUlf Hermann2020-01-171-2/+1
|/ | | | | Change-Id: I6d4a1c81a7ebad6a97cc2960f6a2eee6a1b4f3c6 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Move qmltyperegistrar into srcUlf Hermann2019-11-081-0/+161
We want it to be available early in the build process. qmltyperegistrar will be required to build qml, quick, and various imports. Change-Id: I15b827cd4b322a2bcea2780eeedb8dbe132aa59a Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>