diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2021-10-19 16:54:01 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2021-10-21 13:03:07 +0200 |
commit | c0beb9f29f36ea3bc8be26675a05253cc5584fe4 (patch) | |
tree | 38e2c5b7e3d1167a701061c82940fc5f80a3ab38 /sources/shiboken6/tests/minimalbinding | |
parent | be8980798ad04a5c8a6cd32962349734ac6d223c (diff) |
shiboken6: Implement opaque containers for getters (non-const)
Extract helpers from the opaque containers generation for fields
and use them for function returns if the type is modified accordingly.
[ChangeLog][shiboken6] Getters returning containers by reference can
now be modified to return an opaque container by modifying the return
type accordingly.
Pick-to: 6.2
Task-number: PYSIDE-1605
Change-Id: Ieaf5eb92d248d3a23e511222e5f61823e85540c0
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'sources/shiboken6/tests/minimalbinding')
-rw-r--r-- | sources/shiboken6/tests/minimalbinding/listuser_test.py | 6 | ||||
-rw-r--r-- | sources/shiboken6/tests/minimalbinding/typesystem_minimal.xml | 5 |
2 files changed, 11 insertions, 0 deletions
diff --git a/sources/shiboken6/tests/minimalbinding/listuser_test.py b/sources/shiboken6/tests/minimalbinding/listuser_test.py index 1a11ccfbf..7bb65d359 100644 --- a/sources/shiboken6/tests/minimalbinding/listuser_test.py +++ b/sources/shiboken6/tests/minimalbinding/listuser_test.py @@ -345,6 +345,12 @@ class ListOfIntListConversionTest(unittest.TestCase): self.assertEqual(len(lu.m_stdIntList), 3) self.assertEqual(lu.m_stdIntList[2], 5) + # Access list via getter + l = lu.getIntList() + l.append(6) + self.assertEqual(len(lu.m_stdIntList), 4) + self.assertEqual(lu.m_stdIntList[3], 6) + if __name__ == '__main__': unittest.main() diff --git a/sources/shiboken6/tests/minimalbinding/typesystem_minimal.xml b/sources/shiboken6/tests/minimalbinding/typesystem_minimal.xml index 40973fa5f..94ec4a649 100644 --- a/sources/shiboken6/tests/minimalbinding/typesystem_minimal.xml +++ b/sources/shiboken6/tests/minimalbinding/typesystem_minimal.xml @@ -48,6 +48,11 @@ </value-type> <value-type name="ListUser"> <modify-field name="m_stdIntList" opaque-container="yes"/> + <modify-function signature="getIntList()"> + <modify-argument index="return"> + <replace-type modified-type="StdIntList"/> + </modify-argument> + </modify-function> </value-type> <value-type name="MinBoolUser"/> |