OpenCoverage

qv4arrayiterator_p.h

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/qml/jsruntime/qv4arrayiterator_p.h
Source codeSwitch to Preprocessed file
LineSourceCount
1/****************************************************************************-
2**-
3** Copyright (C) 2017 Crimson AS <info@crimson.no>-
4** Copyright (C) 2018 The Qt Company Ltd.-
5** Contact: https://www.qt.io/licensing/-
6**-
7** This file is part of the QtQml module of the Qt Toolkit.-
8**-
9** $QT_BEGIN_LICENSE:LGPL$-
10** Commercial License Usage-
11** Licensees holding valid commercial Qt licenses may use this file in-
12** accordance with the commercial license agreement provided with the-
13** Software or, alternatively, in accordance with the terms contained in-
14** a written agreement between you and The Qt Company. For licensing terms-
15** and conditions see https://www.qt.io/terms-conditions. For further-
16** information use the contact form at https://www.qt.io/contact-us.-
17**-
18** GNU Lesser General Public License Usage-
19** Alternatively, this file may be used under the terms of the GNU Lesser-
20** General Public License version 3 as published by the Free Software-
21** Foundation and appearing in the file LICENSE.LGPL3 included in the-
22** packaging of this file. Please review the following information to-
23** ensure the GNU Lesser General Public License version 3 requirements-
24** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.-
25**-
26** GNU General Public License Usage-
27** Alternatively, this file may be used under the terms of the GNU-
28** General Public License version 2.0 or (at your option) the GNU General-
29** Public license version 3 or any later version approved by the KDE Free-
30** Qt Foundation. The licenses are as published by the Free Software-
31** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3-
32** included in the packaging of this file. Please review the following-
33** information to ensure the GNU General Public License requirements will-
34** be met: https://www.gnu.org/licenses/gpl-2.0.html and-
35** https://www.gnu.org/licenses/gpl-3.0.html.-
36**-
37** $QT_END_LICENSE$-
38**-
39****************************************************************************/-
40-
41#ifndef QV4ARRAYITERATOR_P_H-
42#define QV4ARRAYITERATOR_P_H-
43-
44//-
45// W A R N I N G-
46// --------------
47//-
48// This file is not part of the Qt API. It exists purely as an-
49// implementation detail. This header file may change from version to-
50// version without notice, or even be removed.-
51//-
52// We mean it.-
53//-
54-
55#include "qv4object_p.h"-
56#include "qv4iterator_p.h"-
57#include "qv4arraydata_p.h"-
58-
59QT_BEGIN_NAMESPACE-
60-
61-
62namespace QV4 {-
63-
64namespace Heap {-
65-
66#define ArrayIteratorObjectMembers(class, Member) \-
67 Member(class, Pointer, Object *, iteratedObject) \-
68 Member(class, NoMark, IteratorKind, iterationKind) \-
69 Member(class, NoMark, quint32, nextIndex)-
70-
71DECLARE_HEAP_OBJECT(ArrayIteratorObject, Object) {-
72 DECLARE_MARKOBJECTS(ArrayIteratorObject);
never executed: end of block
never executed: o->iteratedObject.heapObject()->mark(stack);
o->iteratedObjectDescription
TRUEnever evaluated
FALSEnever evaluated
0
73 void init(Object *obj, QV4::ExecutionEngine *engine)-
74 {-
75 Object::init();-
76 this->iteratedObject.set(engine, obj);-
77 this->nextIndex = 0;-
78 }
executed 11030 times by 1 test: end of block
Executed by:
  • tst_ecmascripttests
11030
79};-
80-
81}-
82-
83struct ArrayIteratorPrototype : Object-
84{-
85 V4_PROTOTYPE(iteratorPrototype)
never executed: return e->iteratorPrototype();
0
86 void init(ExecutionEngine *engine);-
87-
88 static ReturnedValue method_next(const FunctionObject *b, const Value *thisObject, const Value *argv, int argc);-
89};-
90-
91struct ArrayIteratorObject : Object-
92{-
93 V4_OBJECT2(ArrayIteratorObject, Object)
executed 23219 times by 1 test: end of block
Executed by:
  • tst_ecmascripttests
never executed: end of block
executed 56299 times by 1 test: return &static_vtbl;
Executed by:
  • tst_ecmascripttests
executed 110695 times by 1 test: return static_cast<QV4::Heap::ArrayIteratorObject *>(m());
Executed by:
  • tst_ecmascripttests
executed 99794 times by 1 test: return dptr;
Executed by:
  • tst_ecmascripttests
0-110695
94 Q_MANAGED_TYPE(ArrayIteratorObject)-
95 V4_PROTOTYPE(arrayIteratorPrototype)
executed 11059 times by 1 test: return e->arrayIteratorPrototype();
Executed by:
  • tst_ecmascripttests
11059
96-
97 void init(ExecutionEngine *engine);-
98};-
99-
100-
101}-
102-
103QT_END_NAMESPACE-
104-
105#endif // QV4ARRAYITERATOR_P_H-
106-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.0