diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2021-10-20 16:57:12 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2021-10-21 15:41:01 +0200 |
commit | 5888236a23f277e1f795052d5ed93a0430d834a4 (patch) | |
tree | 23429afe21ecad268ebdebf8e955aa6e5fc414c6 /sources/pyside6/doc | |
parent | e70fbd8d91af1fa9813bc1df7dfad44b1665957e (diff) |
shiboken6: Improve fixing of enum default values of function arguments
shiboken needs to fully qualify default arguments of functions so that
they can be used outside the respective's class scope. This happens in
AbstractMetaBuilderPrivate::fixDefaultValue() and
ShibokenGenerator::guessScopeForDefaultValue(). This was confusing
particularly for enums and flags, where
AbstractMetaBuilderPrivate::fixDefaultValue() was doing a simple
expansion and further cases were handled in
ShibokenGenerator::guessScopeForDefaultFlagsValue().
To improve this and get it tested, move the enum/flags code completely
over to AbstractMetaBuilder, restructure it, rewrite the helpers
in terms of QStringView and make it a bit smarter:
- Check for hex numbers as well.
- No longer add a cast when constructing QFlags from a number(saves
the need to observe the protected hack).
- Expand expressions "A | B" as was before and additionally
within a type cast "Options(A | B)".
- Add a test.
Task-number: PYSIDE-1691
Pick-to: 6.2
Change-Id: I198995508e8ed01710a44708c425c31308908445
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'sources/pyside6/doc')
0 files changed, 0 insertions, 0 deletions