aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/v8/qjsvalueiterator_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml/qml/v8/qjsvalueiterator_p.h')
-rw-r--r--src/qml/qml/v8/qjsvalueiterator_p.h42
1 files changed, 14 insertions, 28 deletions
diff --git a/src/qml/qml/v8/qjsvalueiterator_p.h b/src/qml/qml/v8/qjsvalueiterator_p.h
index 2d36ac3ca5..999003b41c 100644
--- a/src/qml/qml/v8/qjsvalueiterator_p.h
+++ b/src/qml/qml/v8/qjsvalueiterator_p.h
@@ -42,10 +42,8 @@
#ifndef QJSVALUEITERATOR_P_H
#define QJSVALUEITERATOR_P_H
-#include <private/qintrusivelist_p.h>
-#include "qjsvalue_p.h"
-
-#include <private/qv8_p.h>
+#include "qjsvalue.h"
+#include "private/qv4objectiterator_p.h"
QT_BEGIN_NAMESPACE
@@ -54,30 +52,18 @@ class QV8Engine;
class QJSValueIteratorPrivate
{
public:
- inline QJSValueIteratorPrivate(const QJSValuePrivate* value);
- inline ~QJSValueIteratorPrivate();
-
- inline bool hasNext() const;
- inline bool next();
-
- inline QString name() const;
-
- inline QScriptPassPointer<QJSValuePrivate> value() const;
-
- inline bool isValid() const;
- inline QV8Engine* engine() const;
-
- inline void invalidate();
-private:
- Q_DISABLE_COPY(QJSValueIteratorPrivate)
-
- QIntrusiveListNode m_node;
- QScriptSharedDataPointer<QJSValuePrivate> m_object;
- v8::Persistent<v8::Array> m_names;
- uint32_t m_index;
- uint32_t m_count;
-
- friend class QV8Engine;
+ QJSValueIteratorPrivate(const QJSValue &v);
+
+ QJSValue value;
+ QV4::ObjectIterator iterator;
+ QV4::Property *currentValue;
+ QV4::PropertyAttributes currentAttributes;
+ QV4::String *currentName;
+ uint currentIndex;
+ QV4::Property *nextValue;
+ QV4::PropertyAttributes nextAttributes;
+ QV4::String *nextName;
+ uint nextIndex;
};