diff options
Diffstat (limited to 'src/qml/jsruntime/qv4memberdata_p.h')
-rw-r--r-- | src/qml/jsruntime/qv4memberdata_p.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/qml/jsruntime/qv4memberdata_p.h b/src/qml/jsruntime/qv4memberdata_p.h index 302553464e..dff7c09a4c 100644 --- a/src/qml/jsruntime/qv4memberdata_p.h +++ b/src/qml/jsruntime/qv4memberdata_p.h @@ -60,7 +60,7 @@ namespace QV4 { namespace Heap { #define MemberDataMembers(class, Member) \ - Member(class, ValueArray, ValueArray, values) + Member(class, ValueArray, HeapValueArray, values) DECLARE_HEAP_OBJECT(MemberData, Base) { DECLARE_MARK_TABLE(MemberData); @@ -85,9 +85,11 @@ struct MemberData : Managed bool isNull() const { return !memberData; } }; - Value &operator[] (uint idx) { return d()->values[idx]; } - const Value *data() const { return d()->values.v; } - Value *data() { return d()->values.v; } + const Value &operator[] (uint idx) const { return d()->values[idx]; } + const Value *data() const { return d()->values.data(); } + void set(ExecutionEngine *e, uint index, Value v) { d()->values.set(e, index, v); } + void set(ExecutionEngine *e, uint index, Heap::Base *b) { d()->values.set(e, index, b); } + inline uint size() const { return d()->values.size; } static Heap::MemberData *allocate(QV4::ExecutionEngine *e, uint n, Heap::MemberData *old = 0); |