diff options
| author | Ulf Hermann <ulf.hermann@qt.io> | 2023-04-18 15:54:49 +0200 |
|---|---|---|
| committer | Ulf Hermann <ulf.hermann@qt.io> | 2023-04-28 21:24:17 +0200 |
| commit | e84686415187455a7153d61ca82478053f13e3f9 (patch) | |
| tree | 3c6d6c123c0f8094a68efc67864437c43e093cc2 /tests/auto/qml/qmlcppcodegen/data/jsArrayMethods.qml | |
| parent | a63347100c74ea857d3595aa564d95e5e2416508 (diff) | |
QmlCompiler: Inline some array methods
So far we can only deal with methods that don't change the source array
and don't use iterators or functions as parameters. We also omit
concat() for now. However, indexOf(), lastIndexOf(), includes(),
join(), slice() and toString() are possible already now.
Task-number: QTBUG-112722
Change-Id: Id19c74e8ad25af876bc954c040c767823b7e3259
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'tests/auto/qml/qmlcppcodegen/data/jsArrayMethods.qml')
| -rw-r--r-- | tests/auto/qml/qmlcppcodegen/data/jsArrayMethods.qml | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/auto/qml/qmlcppcodegen/data/jsArrayMethods.qml b/tests/auto/qml/qmlcppcodegen/data/jsArrayMethods.qml new file mode 100644 index 0000000000..ff372bca45 --- /dev/null +++ b/tests/auto/qml/qmlcppcodegen/data/jsArrayMethods.qml @@ -0,0 +1,28 @@ +pragma Strict +import QML + +QtObject { + id: self + + property QtObject l1: QtObject { objectName: "klaus" } + property QtObject l2: QtObject { function toString(): string { return "teil" } } + property QtObject l3: QtObject { } + + function jsArray() : list<var> { return [l1, l2, l3, l1, l2, l3] } + property list<QtObject> listProperty: [l1, l2, l3, l1, l2, l3] + + property string jsArrayToString: jsArray().toString() + property string listPropertyToString: listProperty.toString() + + property bool listPropertyIncludes: listProperty.includes(l3) + property bool jsArrayIncludes: jsArray().includes(l3) + + property string listPropertyJoin: listProperty.join() + property string jsArrayJoin: jsArray().join() + + property int listPropertyIndexOf: listProperty.indexOf(l2) + property int jsArrayIndexOf: jsArray().indexOf(l2) + + property int listPropertyLastIndexOf: listProperty.lastIndexOf(l3) + property int jsArrayLastIndexOf: jsArray().lastIndexOf(l3) +} |
