| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
without operator==()
The graph used an array of Node to represent edges, which is
suitable only for small classes that have operator==().
Change the internal representation to use indexes for edges instead of
the node classes and add an API for adding edges by index. Rewrite the
visit() algorithm to create an index list instead of a node list. Move
the Node from NodeEntry to a separate node list, which allows for
copying it directly from the node list passed in.
Task-number: PYSIDE-2946
Task-number: PYSIDE-454
Pick-to: 6.8
Change-Id: I7becd5caef226f50b77f5def2a62a2620d39ef8e
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
The warning was printed for each module including the class;
print it only when code is to be generated.
Amends c512b506b565578770c671b11afb78427ca8d012 .
Change-Id: Ie5e3683a646a9634caaaa0a5e90a6f147174485e
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Strip parameters of type Qt::Disambiguated_t similar to
QPrivateSignal (see qtbase/0a3ff697380555538a0d035b768ddf10f772b55a).
As this becomes more and more common, it saves
the work of declaring those functions.
Change-Id: I973b47ddcfa3ac40795885da0f4001a95ad108fd
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
Return a shared ptr to function from
AbstractMetaBuilderPrivate::traverseFunction(), avoiding
leaks when a function is not used.
Pick-to: 6.7
Change-Id: I2fd215a25301fa6773f589bb3f085cf4c1febdd7
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Set the correct parent entry on the smart pointer instantiation type entry.
This allows for removing a special case in the source generator and
namespaces will be correctly reflected. It is also the prerequisite
for a follow-up change making it possible to use global namespaces for
smart pointers in namespaces.
Also remove the setting of the enclosing class and the associated flag
InheritTemplateFlag::SetEnclosingClass from
AbstractMetaBuilderPrivate::inheritTemplate(). Instead, always set the
enclosing class in ApiExtractorPrivate::addInstantiatedSmartPointer()
instead, depending on the type of the parent entry.
Task-number: PYSIDE-2404
Task-number: PYSIDE-2768
Pick-to: 6.7
Change-Id: I921e255c2ceaeb9eaf84e5ac1c4953bcf7d09b57
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
|
|
|
| |
Change-Id: If7dafe4e23727f822e26307bedbb46bfaf9c0655
Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
template
Change qtbase/ab0b2a490eb98f3216403e87e4ea108a10fbeed2 removes
QObject inheritance from QSignalSpy, making the QList<QVariantList>
the first base class. Do not specialize this as it leads to errors
later on when determining the instantiated templates.
Split out the code for template parameters from inheritTemplate()
to a separate helper function inheritTemplateParameter() and add
error messages.
Task-number: PYSIDE-2620
Pick-to: 6.7
Change-Id: I6b45d0293036b7a9177fab4d26d3e7e79d5799e6
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Amends 5b8ce393310ed9b6ffa4b0add29d1bb164e37baa, which broke
a condition setting AbstractMetaClass::hasNonPrivateConstructor
which needs to take into account copy constructors.
Pick-to: 6.7
Task-number: PYSIDE-2602
Change-Id: Iba4a8070a984a5306fe5c73bf77bee0777719bb3
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
| |
Check the return value.
Pick-to: 6.7
Change-Id: Iccbdbc033e25ee997c3d0904d8af0903c0dc319e
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Extract attributes common to C++ functions from
AbstractMetaFunction's attributes to a flags type in
codemodel_enums.h for re-use in AbstractMetaFunction,
FunctionModelItem and AddedFunction.
A lot of boolean setters and getters can then be removed and
the flags easily transferred from code model to the meta
language code.
Task-number: PYSIDE-2602
Pick-to: 6.7
Change-Id: I9da1bb0d70051cd6bb3113290e8ccedfe4d13908
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Similar to the function attribute, it does not have any impact on the
generated code.
Its only usage was in AbstractMetaClass::functionsInTargetLang() which
is used by the documentation generator only, but it did not seem to
have any impact.
Pick-to: 6.7
Task-number: PYSIDE-2602
Change-Id: I0a27dc046ce7fbb147c8032cccbf63257157fc89
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The attribute does not have any impact on the generated code; it merely
causes some warnings to be printed when fixing the class functions
for rare cases. AbstractMetaFunction::isModifiedFinal() determines
the generation of virtual functions instead.
The function query flags FinalInTargetLangFunctions and
VirtualInTargetLangFunctions can be removed as well. They were
both used in AbstractMetaClass::functionsInTargetLang() which
is used by the documentation generator only.
Pick-to: 6.7
Task-number: PYSIDE-2602
Change-Id: Ib0f0de41008b655a84637ab28f1046aa3e098b76
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
|
|
|
|
|
|
|
| |
As a drive-by, fix the "public" modification flag to be 4.
Task-number: PYSIDE-2602
Pick-to: 6.7
Change-Id: I5bacc2bf17e5307df02b9e6d6adadc09d04a9ded
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
qtbase/9bbebb914422262b7b585b6d1dab9d21c4238c44 introduced support for
defining properties from member variables. These should be ignored as
Python properties are anyways generated for them.
Task-number: QTBUG-16852
Task-number: PYSIDE-2620
Change-Id: Ib05ad909c21416f13fefe53eae4cf706ba8557e0
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For signals like
QRemoteObjectRegistry.remoteObjectAdded(QRemoteObjectSourceLocation)
where
using QRemoteObjectSourceLocation =
std::pair<QString,QRemoteObjectSourceLocationInfo>
one needed to specify the fully qualified C++ name in @Slot()
for the metaobject system to work and the shiboken converter
to be found. Record the typedefs and register the container
converters under the typedef name, too.
Fixes: PYSIDE-2633
Change-Id: Ifc62f096277949a507957a0466adb47d082695c7
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
| |
Task-number: QTBUG-103757
Task-number: PYSIDE-2497
Change-Id: I1b0fd5b1cad908ee612ab33ca0aacffc55947d87
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
| |
|
|
|
|
| |
Pick-to: 6.6
Change-Id: Ibd4fd2da19811183fe8743b925ba2bf98b892541
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
| |
Task-number: PYSIDE-2537
Change-Id: Ie71b17eec385b31842d6693b3492db565d479fd0
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
| |
As a drive-by, replace some old find predicates by lambdas.
Task-number: PYSIDE-2537
Change-Id: I2fbb3f86f87a497f2aa7d22d666ae2d3aa641364
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
| |
Task-number: PYSIDE-2537
Change-Id: I7d9c160b4b8c46854b11722c05510da766dcc3f5
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When building Qt For Python using yocto, the Qt headers are in a
sysroot which libclang considers as system headers. Shiboken skips
processing system headers.
To ensure Qt headers are still processed, introduce a new
--force-process-system-include-paths option to shiboken and two new
CMake variables: PYSIDE_TREAT_QT_INCLUDE_DIRS_AS_NON_SYSTEM and
SHIBOKEN_FORCE_PROCESS_SYSTEM_INCLUDE_PATHS.
When PYSIDE_TREAT_QT_INCLUDE_DIRS_AS_NON_SYSTEM is set to true, the
build system will pass the Qt include dirs to
--force-process-system-include-paths to ensure the Qt headers are
processed and their types extracted.
Similarly SHIBOKEN_FORCE_PROCESS_SYSTEM_INCLUDE_PATHS can be passed a
list of extra dir paths when creating non-Qt related bindings.
Sysroots usually contain headers other than Qt headers, so there's a
chance that a non-Qt-related system header fails to be be parsed and
will fail the shiboken execution.
To avoid breaking setups that previously worked because of the issue
described above, the new options are opt-in rather than opt-out.
In case one such an issue is encountered, the solution would be to
copy / move the Qt headers into a separate location and specify the
new location as both an include path and a force process system include
path (in case the copied headers are still somewhere under the
sysroot).
Pick-to: 6.6
Task-number: PYSIDE-1958
Change-Id: I1733478e9c6057f84de7864940c6150b378749cf
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- narrowing conversion qsizetype->int
- Repeating return type for default-constructed values
- Make methods const
- Add missing references
- Use range-based for
- Use Q_DISABLE_COPY_MOVE where applicable
- Initialize variables
- Remove unused function parameters
Pick-to: 6.6 6.5
Change-Id: I65290fe2dab5283a5cbbf6f82c413c3cf294f1bd
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
ninja mixes stdout and stderr, causing stderr messages to be lost
in shiboken progress messages on stdout.
Change the progress messages to be output at the end
of the step with a time stamp in past tense.
[ChangeLog][shiboken6] The progress messages have been changed
to avoid losing warnings with ninja
Pick-to: 6.5
Change-Id: Ia33bd5a3af55d268f25d324f3ae496aebef8f7bb
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Factor out functions to handle the attributes from modify-function and
use them for <add-function>/<declare-function> and <function>.
This makes it possible to specify the "allow-thread",
"exception-handling" and "snake-case" for <declare-function> and
<function> as well.
The snake-case handling is removed from FunctionTypeEntry and handled
via modifications.
As a drive-by, fix docs on "exception-handling".
[ChangeLog][shiboken6] The attributes "allow-thread",
"exception-handling" and "snake-case" can now be specified on
<declare-function> and <function>.
Change-Id: I081ab4dfd922de563ac7b8c75d0c36609c43e0cd
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The amalgamation of old and new enums is slowly unraveling from the
inside. This meanwhile actually removes the old code.
Included a change by Friedemann to improve enum value handling.
After the signed/unsigned problem was fixed, there was only one case
left where Qt and Clang parser disagreed which could be fixed.
The final solution uses overloaded functions to generate all
necessary cases with minimal footprint in the executable.
Task-number: PYSIDE-1735
Change-Id: I3741ce8621e783a750f3c05241c916008f78f39b
Done-with: Friedemann.Kleint@qt.io (+2 squashed commits)
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
The EnumValue will then reflect the proper value.
Task-number: PYSIDE-2088
Task-number: PYSIDE-1735
Change-Id: I9543d71417b72c98c63a97f1a53443501097ef9a
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
| |
|
|
|
|
| |
Task-number: PYSIDE-1735
Change-Id: I7733c93baffa1396d5a43b68069e9e8848e9fe49
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
|
|
|
|
|
|
|
| |
Remove old string literals, qAsConst, use new Regex API.
Pick-to: 6.5
Change-Id: Iffdaa5217596e181c0766d161ce70c0a36ba37b5
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
| |
Add a new section to the rejected functions section
for operator where no base class can be found.
Pick-to: 6.5
Change-Id: Id8af7a1c73e49854d33f85d95c26710d4c8f026c
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce a struct with type signature, sortkey and reason for
rejected entries instead of using a QMap. This allows for sorting
rejected functions by function signature excluding return type such that
members of a class show up in a group.
Remove unused enum value "ApiIncompatible".
Pick-to: 6.5
Change-Id: I0ea29c8163c6eba2abba843355f9a9940e416d7c
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Occurs in Qt 6.6:
class QNativeIpcKey
{
enum class Type { SystemV = 0x51, PosixRealtime = 0x100, Windows };
static constexpr Type DefaultTypeForOs = Type::Windows
...
QNativeIpcKey(Type type = DefaultTypeForOs)
};
Pick-to: 6.5
Change-Id: Icf9abdd9ebe24eb4e1d145e65b27496545e327ef
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
| |
Pick-to: 6.5
Change-Id: I98acca609a219427a3da34bc63489cbd54c2c4a8
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
resolution
Add a flag to AbstractMetaBuilderPrivate::findTypeEntriesHelper()
to suppress the class scope look in case scope resolution.
Task-number: PYSIDE-2288
Pick-to: 6.5 5.15
Change-Id: I04a4810d03845fb48393c5efed3641220bd12d87
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
Remove all constant and enum value type entries found in the type lookup
unless it is looking for template arguments; where it may be a
non-type template argument.
Task-number: PYSIDE-2288
Pick-to: 6.5 5.15
Change-Id: If0609ce0d0223f551ed6dee1d1e0ea3ef49d6917
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
|
|
|
|
|
|
|
| |
Add missing header which does not show when using --unity.
Amends 1e3ec1ba2a29e59b580fbd9a5cf6e4e91c8994e2.
Task-number: QTBUG-109570
Change-Id: I05184216bb2d132de2ab33493aa0e86baab9de52
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Make it possible to use for example std::vector as a base type for a
function taking a std::span.
Extract a helper function to create the meta type and add a template
parameter count function to ContainerTypeEntry to be able to determine
the correct parameter.
Task-number: PYSIDE-2174
Change-Id: Ic1c4b7aead0480f568f5460f1b4de697ca5a85aa
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
| |
Task-number: QTBUG-109570
Change-Id: Iabdafb0a5ab211e32c1bbf7face78fd5102a49b9
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
| |
- Use a string literal for "::"
- Add a header for debug helpers
Change-Id: I605a00fea1b936032afa93d9be45b7da31d42473
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
| |
Change-Id: I101ca8ceea6ffa63ca8bd03e2e9adf7531cb8f80
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
| |
Preparing for the introduction of smart pointers for
AbstractMetaClass.
Change-Id: I74b1a4fc52319099dae39040179ffb197bac27a7
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Preparing for the introduction of smart pointers for
AbstractMetaClass.
Change-Id: Ie8cbf6bd8abbae4445c34611dd7193297611d48e
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
To be used for documentation purposes.
Task-number: PYSIDE-1106
Task-number: PYSIDE-1019
Pick-to: 6.4
Change-Id: I833193be0007dbdba2e3fde75c64dfc2a85a4ef7
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
TypeEntry instances were previously stored and passed as raw pointers,
which made it difficult to track ownership, particularly when
synthesized classes were added. Change it to use QSharedPointer.
Change-Id: I3612efbc5d467ebeac9aa5dda86c7439bbd03ddd
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Some query functions like TypeEntry::typeSystemTypeEntry() search in
the hierarchy, starting with "this". This cannot be ported to smart
pointers, so the functions are changed to be free functions where the
first element has to be passed in.
Change-Id: I3122b648ad499a2236577f6a101e8637a2f87d55
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
|
| |
|
|
|
|
|
|
|
| |
As a drive-by, introduce some auto and streamline the code.
Pick-to: 6.4
Change-Id: If84a3721a50b2e00b473ba78cba184f1a35d326b
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Split out Modifications/CustomConversions-related typedefs
to separate headers customconversion_typedefs.h,
modifications_typedefs.h
- Move forward declarations of TypeEntries from
typedatabase_typedefs.h to typesystem_typedefs.h
- Rename TypeEntries to TypeEntryCList and add "C" to other lists
containing const pointers following the shiboken convention.
Pick-to: 6.4
Change-Id: Ic31872405778d794d85694386990b50edf42beec
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Tismer <tismer@stackless.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
in the module header
- Add some helper functions to IncludeGroup.
- Collect the includes of classes declared to be primitive types
- Add more argument includes to classes and take return type
modifications into account.
Pick-to: 6.4
Task-number: PYSIDE-2099
Change-Id: I6c73a4e428d77b1af5ec128a3c9bc4876d44115e
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
This is important for generating forward declarations.
Pick-to: 6.4
Task-number: PYSIDE-2099
Change-Id: I68bebd8e1a0ab10525abc6784af9c375340e5871
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Amends 4d423bdbc774c3e375e9f31caa23a082024ff4a6.
Pick-to: 6.4
Task-number: PYSIDE-2076
Task-number: PYSIDE-1603
Change-Id: Ifeb5e44932dae9a694276efe841ac6b8d39214d2
Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Private signals (cannot be emitted by the user) were
previously rejected due to the trailing QPrivateSignal
parameter. Remove it and set a flag instead.
Pick-to: 6.4
Fixes: PYSIDE-2076
Task-number: PYSIDE-1603
Change-Id: I9bad43bf6bbce0483ec6fd01e3fbf7bd2f38a412
Reviewed-by: Christian Tismer <tismer@stackless.com>
|