aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4arraydata_p.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2014-11-17 11:45:24 +0100
committerSimon Hausmann <simon.hausmann@digia.com>2014-11-22 07:58:36 +0100
commit544ea314b6a3be4c7d766b737ee9dddf21cdee08 (patch)
tree4c44be2ae164aeb20d209f0ebe7e914713b48da2 /src/qml/jsruntime/qv4arraydata_p.h
parent6d2904ce547757fa554cdab6724a088c80abf5ac (diff)
Move the indexing methods from SimpleArrayData to Heap::SimpleArrayData
Change-Id: I7d126999fb813bd9c0f224f7229d66854079f793 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4arraydata_p.h')
-rw-r--r--src/qml/jsruntime/qv4arraydata_p.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/qml/jsruntime/qv4arraydata_p.h b/src/qml/jsruntime/qv4arraydata_p.h
index 1b0589ed95..606a34effd 100644
--- a/src/qml/jsruntime/qv4arraydata_p.h
+++ b/src/qml/jsruntime/qv4arraydata_p.h
@@ -102,6 +102,10 @@ struct SimpleArrayData : public ArrayData {
SimpleArrayData(ExecutionEngine *engine)
: ArrayData(engine->simpleArrayDataClass)
{}
+
+ uint mappedIndex(uint index) const { return (index + offset) % alloc; }
+ Value data(uint index) const { return arrayData[mappedIndex(index)]; }
+ Value &data(uint index) { return arrayData[mappedIndex(index)]; }
};
struct SparseArrayData : public ArrayData {
@@ -162,9 +166,9 @@ struct Q_QML_EXPORT SimpleArrayData : public ArrayData
{
V4_ARRAYDATA(SimpleArrayData)
- uint mappedIndex(uint index) const { return (index + d()->offset) % d()->alloc; }
- Value data(uint index) const { return d()->arrayData[mappedIndex(index)]; }
- Value &data(uint index) { return d()->arrayData[mappedIndex(index)]; }
+ uint mappedIndex(uint index) const { return d()->mappedIndex(index); }
+ Value data(uint index) const { return d()->data(index); }
+ Value &data(uint index) { return d()->data(index); }
Property *getProperty(uint index) {
if (index >= len())