| Line | Source | Count | 
| 1 |  | - | 
| 2 |  | - | 
| 3 |  | - | 
| 4 |  | - | 
| 5 |  | - | 
| 6 |  | - | 
| 7 |  | - | 
| 8 |  | - | 
| 9 |  | - | 
| 10 |  | - | 
| 11 |  | - | 
| 12 |  | - | 
| 13 |  | - | 
| 14 |  | - | 
| 15 |  | - | 
| 16 |  | - | 
| 17 |  | - | 
| 18 |  | - | 
| 19 |  | - | 
| 20 |  | - | 
| 21 |  | - | 
| 22 |  | - | 
| 23 |  | - | 
| 24 |  | - | 
| 25 |  | - | 
| 26 |  | - | 
| 27 |  | - | 
| 28 |  | - | 
| 29 |  | - | 
| 30 |  | - | 
| 31 |  | - | 
| 32 |  | - | 
| 33 |  | - | 
| 34 |  | - | 
| 35 |  | - | 
| 36 |  | - | 
| 37 |  | - | 
| 38 |  | - | 
| 39 | #ifndef QV4STRING_H | - | 
| 40 | #define QV4STRING_H | - | 
| 41 |  | - | 
| 42 |  | - | 
| 43 |  | - | 
| 44 |  | - | 
| 45 |  | - | 
| 46 |  | - | 
| 47 |  | - | 
| 48 |  | - | 
| 49 |  | - | 
| 50 |  | - | 
| 51 |  | - | 
| 52 |  | - | 
| 53 | #include <QtCore/qstring.h> | - | 
| 54 | #include "qv4managed_p.h" | - | 
| 55 | #include <QtCore/private/qnumeric_p.h> | - | 
| 56 | #include "qv4enginebase_p.h" | - | 
| 57 |  | - | 
| 58 | QT_BEGIN_NAMESPACE | - | 
| 59 |  | - | 
| 60 | namespace QV4 { | - | 
| 61 |  | - | 
| 62 | struct ExecutionEngine; | - | 
| 63 | struct PropertyKey; | - | 
| 64 |  | - | 
| 65 | namespace Heap { | - | 
| 66 |  | - | 
| 67 | struct Q_QML_PRIVATE_EXPORT StringOrSymbol : Base | - | 
| 68 | { | - | 
| 69 |     enum StringType { | - | 
| 70 |         StringType_Symbol, | - | 
| 71 |         StringType_Regular, | - | 
| 72 |         StringType_ArrayIndex, | - | 
| 73 |         StringType_Unknown, | - | 
| 74 |         StringType_AddedString, | - | 
| 75 |         StringType_SubString, | - | 
| 76 |         StringType_Complex = StringType_AddedString | - | 
| 77 |     }; | - | 
| 78 |  | - | 
| 79 |     mutable QStringData *text; | - | 
| 80 |     mutable PropertyKey identifier; | - | 
| 81 |     mutable uint subtype; | - | 
| 82 |     mutable uint stringHash; | - | 
| 83 |  | - | 
| 84 |     static void markObjects(Heap::Base *that, MarkStack *markStack); | - | 
| 85 |     void destroy(); | - | 
| 86 |  | - | 
| 87 |     inline QString toQString() const { | - | 
| 88 |         if (!text)| TRUE | never evaluated |  | FALSE | evaluated 17546264 times by 154 testsEvaluated by:- tst_bindingdependencyapi
 - tst_drawingmodes
 - tst_ecmascripttests
 - tst_examples
 - tst_flickableinterop
 - tst_multipointtoucharea_interop
 - tst_parserstress
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qmlcachegen
 - tst_qmldiskcache
 - tst_qqmlapplicationengine
 - tst_qqmlbinding
 - tst_qqmlcomponent
 - tst_qqmlconnections
 - tst_qqmlconsole
 - tst_qqmlcontext
 - tst_qqmldebugclient
 - tst_qqmldebugjs
 - tst_qqmldebuglocal
 - tst_qqmldebugservice
 - tst_qqmlecmascript
 - tst_qqmlenginecleanup
 - ...
 
   |  
  | 0-17546264 | 
| 89 |             return QString(); never executed: return QString();  | 0 | 
| 90 |         QStringDataPtr ptr = { text }; | - | 
| 91 |         text->ref.ref(); | - | 
| 92 |         return QString(ptr);executed 17546531 times by 154 tests:  return QString(ptr);Executed by:- tst_bindingdependencyapi
 - tst_drawingmodes
 - tst_ecmascripttests
 - tst_examples
 - tst_flickableinterop
 - tst_multipointtoucharea_interop
 - tst_parserstress
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qmlcachegen
 - tst_qmldiskcache
 - tst_qqmlapplicationengine
 - tst_qqmlbinding
 - tst_qqmlcomponent
 - tst_qqmlconnections
 - tst_qqmlconsole
 - tst_qqmlcontext
 - tst_qqmldebugclient
 - tst_qqmldebugjs
 - tst_qqmldebuglocal
 - tst_qqmldebugservice
 - tst_qqmlecmascript
 - tst_qqmlenginecleanup
 - ...
 
    | 17546531 | 
| 93 |     } | - | 
| 94 |     void createHashValue() const; | - | 
| 95 |     inline unsigned hashValue() const { | - | 
| 96 |         if (subtype >= StringType_Unknown)| TRUE | evaluated 72667769 times by 154 testsEvaluated by:- tst_bindingdependencyapi
 - tst_drawingmodes
 - tst_ecmascripttests
 - tst_examples
 - tst_flickableinterop
 - tst_multipointtoucharea_interop
 - tst_parserstress
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qmlcachegen
 - tst_qmldiskcache
 - tst_qqmlapplicationengine
 - tst_qqmlbinding
 - tst_qqmlcomponent
 - tst_qqmlconnections
 - tst_qqmlconsole
 - tst_qqmlcontext
 - tst_qqmldebugclient
 - tst_qqmldebugjs
 - tst_qqmldebuglocal
 - tst_qqmldebugservice
 - tst_qqmlecmascript
 - tst_qqmlenginecleanup
 - ...
 
   |  | FALSE | evaluated 101448314 times by 154 testsEvaluated by:- tst_bindingdependencyapi
 - tst_drawingmodes
 - tst_ecmascripttests
 - tst_examples
 - tst_flickableinterop
 - tst_multipointtoucharea_interop
 - tst_parserstress
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qmlcachegen
 - tst_qmldiskcache
 - tst_qqmlapplicationengine
 - tst_qqmlbinding
 - tst_qqmlcomponent
 - tst_qqmlconnections
 - tst_qqmlconsole
 - tst_qqmlcontext
 - tst_qqmldebugclient
 - tst_qqmldebugjs
 - tst_qqmldebuglocal
 - tst_qqmldebugservice
 - tst_qqmlecmascript
 - tst_qqmlenginecleanup
 - ...
 
   |  
  | 72667769-101448314 | 
| 97 |             createHashValue();executed 72672843 times by 154 tests:  createHashValue();Executed by:- tst_bindingdependencyapi
 - tst_drawingmodes
 - tst_ecmascripttests
 - tst_examples
 - tst_flickableinterop
 - tst_multipointtoucharea_interop
 - tst_parserstress
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qmlcachegen
 - tst_qmldiskcache
 - tst_qqmlapplicationengine
 - tst_qqmlbinding
 - tst_qqmlcomponent
 - tst_qqmlconnections
 - tst_qqmlconsole
 - tst_qqmlcontext
 - tst_qqmldebugclient
 - tst_qqmldebugjs
 - tst_qqmldebuglocal
 - tst_qqmldebugservice
 - tst_qqmlecmascript
 - tst_qqmlenginecleanup
 - ...
 
    | 72672843 | 
| 98 |         Q_ASSERT(subtype < StringType_Complex); | - | 
| 99 |  | - | 
| 100 |         return stringHash;executed 174088444 times by 154 tests:  return stringHash;Executed by:- tst_bindingdependencyapi
 - tst_drawingmodes
 - tst_ecmascripttests
 - tst_examples
 - tst_flickableinterop
 - tst_multipointtoucharea_interop
 - tst_parserstress
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qmlcachegen
 - tst_qmldiskcache
 - tst_qqmlapplicationengine
 - tst_qqmlbinding
 - tst_qqmlcomponent
 - tst_qqmlconnections
 - tst_qqmlconsole
 - tst_qqmlcontext
 - tst_qqmldebugclient
 - tst_qqmldebugjs
 - tst_qqmldebuglocal
 - tst_qqmldebugservice
 - tst_qqmlecmascript
 - tst_qqmlenginecleanup
 - ...
 
    | 174088444 | 
| 101 |     } | - | 
| 102 | }; | - | 
| 103 |  | - | 
| 104 | struct Q_QML_PRIVATE_EXPORT String : StringOrSymbol { | - | 
| 105 |     static void markObjects(Heap::Base *that, MarkStack *markStack); | - | 
| 106 |  | - | 
| 107 | #ifndef V4_BOOTSTRAP | - | 
| 108 |     const VTable *vtable() const { | - | 
| 109 |         return internalClass->vtable; | - | 
| 110 |     } | - | 
| 111 |  | - | 
| 112 |     void init(const QString &text); | - | 
| 113 |     void simplifyString() const; | - | 
| 114 |     int length() const; | - | 
| 115 |     std::size_t retainedTextSize() const { | - | 
| 116 |         return subtype >= StringType_Complex ? 0 : (std::size_t(text->size) * sizeof(QChar)); | - | 
| 117 |     } | - | 
| 118 |     inline QString toQString() const { | - | 
| 119 |         if (subtype >= StringType_Complex) | - | 
| 120 |             simplifyString(); | - | 
| 121 |         QStringDataPtr ptr = { text }; | - | 
| 122 |         text->ref.ref(); | - | 
| 123 |         return QString(ptr); | - | 
| 124 |     } | - | 
| 125 |     inline bool isEqualTo(const String *other) const { | - | 
| 126 |         if (this == other) | - | 
| 127 |             return true; | - | 
| 128 |         if (hashValue() != other->hashValue()) | - | 
| 129 |             return false; | - | 
| 130 |         Q_ASSERT(subtype < StringType_Complex); | - | 
| 131 |         if (identifier.isValid() && identifier == other->identifier) | - | 
| 132 |             return true; | - | 
| 133 |         if (subtype == Heap::String::StringType_ArrayIndex && other->subtype == Heap::String::StringType_ArrayIndex) | - | 
| 134 |             return true; | - | 
| 135 |  | - | 
| 136 |         return toQString() == other->toQString(); | - | 
| 137 |     } | - | 
| 138 |  | - | 
| 139 |     bool startsWithUpper() const; | - | 
| 140 |  | - | 
| 141 | private: | - | 
| 142 |     static void append(const String *data, QChar *ch); | - | 
| 143 | #endif | - | 
| 144 | }; | - | 
| 145 | Q_STATIC_ASSERT(std::is_trivial< String >::value); | - | 
| 146 |  | - | 
| 147 | #ifndef V4_BOOTSTRAP | - | 
| 148 | struct ComplexString : String { | - | 
| 149 |     void init(String *l, String *n); | - | 
| 150 |     void init(String *ref, int from, int len); | - | 
| 151 |     mutable String *left; | - | 
| 152 |     mutable String *right; | - | 
| 153 |     union { | - | 
| 154 |         mutable int largestSubLength; | - | 
| 155 |         int from; | - | 
| 156 |     }; | - | 
| 157 |     int len; | - | 
| 158 | }; | - | 
| 159 | Q_STATIC_ASSERT(std::is_trivial< ComplexString >::value); | - | 
| 160 |  | - | 
| 161 | inline | - | 
| 162 | int String::length() const { | - | 
| 163 |     return text ? text->size : static_cast<const ComplexString *>(this)->len; | - | 
| 164 | } | - | 
| 165 | #endif | - | 
| 166 |  | - | 
| 167 | } | - | 
| 168 |  | - | 
| 169 | struct Q_QML_PRIVATE_EXPORT StringOrSymbol : public Managed { | - | 
| 170 | #ifndef V4_BOOTSTRAP | - | 
| 171 |     V4_MANAGED(StringOrSymbol, Managed) | - | 
| 172 |     enum { | - | 
| 173 |         IsStringOrSymbol = true | - | 
| 174 |     }; | - | 
| 175 |  | - | 
| 176 | private: | - | 
| 177 |     inline void createPropertyKey() const; | - | 
| 178 | public: | - | 
| 179 |     PropertyKey propertyKey() const { Q_ASSERT(d()->identifier.isValid()); return d()->identifier; } | - | 
| 180 |     PropertyKey toPropertyKey() const; | - | 
| 181 |  | - | 
| 182 |  | - | 
| 183 |     inline QString toQString() const { | - | 
| 184 |         return d()->toQString(); | - | 
| 185 |     } | - | 
| 186 | #endif | - | 
| 187 | }; | - | 
| 188 |  | - | 
| 189 | struct Q_QML_PRIVATE_EXPORT String : public StringOrSymbol { | - | 
| 190 | #ifndef V4_BOOTSTRAP | - | 
| 191 |     V4_MANAGED(String, StringOrSymbol) | - | 
| 192 |     Q_MANAGED_TYPE(String) | - | 
| 193 |     V4_INTERNALCLASS(String) | - | 
| 194 |     V4_NEEDS_DESTROY | - | 
| 195 |     enum { | - | 
| 196 |         IsString = true | - | 
| 197 |     }; | - | 
| 198 |  | - | 
| 199 |     uchar subtype() const { return d()->subtype; } | - | 
| 200 |     void setSubtype(uchar subtype) const { d()->subtype = subtype; } | - | 
| 201 |  | - | 
| 202 |     bool equals(String *other) const { | - | 
| 203 |         return d()->isEqualTo(other->d()); | - | 
| 204 |     } | - | 
| 205 |     inline bool isEqualTo(const String *other) const { | - | 
| 206 |         return d()->isEqualTo(other->d()); | - | 
| 207 |     } | - | 
| 208 |  | - | 
| 209 |     inline bool compare(const String *other) { | - | 
| 210 |         return toQString() < other->toQString(); | - | 
| 211 |     } | - | 
| 212 |  | - | 
| 213 |     inline QString toQString() const { | - | 
| 214 |         return d()->toQString(); | - | 
| 215 |     } | - | 
| 216 |  | - | 
| 217 |     inline unsigned hashValue() const { | - | 
| 218 |         return d()->hashValue(); | - | 
| 219 |     } | - | 
| 220 |     uint toUInt(bool *ok) const; | - | 
| 221 |  | - | 
| 222 |      | - | 
| 223 |     Q_NEVER_INLINE void createPropertyKeyImpl() const; | - | 
| 224 |  | - | 
| 225 |     static uint createHashValue(const QChar *ch, int length, uint *subtype) | - | 
| 226 |     { | - | 
| 227 |         const QChar *end = ch + length; | - | 
| 228 |         return calculateHashValue(ch, end, subtype); | - | 
| 229 |     } | - | 
| 230 |  | - | 
| 231 |     static uint createHashValue(const char *ch, int length, uint *subtype) | - | 
| 232 |     { | - | 
| 233 |         const char *end = ch + length; | - | 
| 234 |         return calculateHashValue(ch, end, subtype); | - | 
| 235 |     } | - | 
| 236 |  | - | 
| 237 |     bool startsWithUpper() const { return d()->startsWithUpper(); } | - | 
| 238 |  | - | 
| 239 | protected: | - | 
| 240 |     static bool virtualIsEqualTo(Managed *that, Managed *o); | - | 
| 241 |     static qint64 virtualGetLength(const Managed *m); | - | 
| 242 | #endif | - | 
| 243 |  | - | 
| 244 | public: | - | 
| 245 |     static uint toArrayIndex(const QString &str); | - | 
| 246 |  | - | 
| 247 | private: | - | 
| 248 |     static inline uint toUInt(const QChar *ch) { return ch->unicode(); }executed 636079988 times by 154 tests:  return ch->unicode();Executed by:- tst_bindingdependencyapi
 - tst_drawingmodes
 - tst_ecmascripttests
 - tst_examples
 - tst_flickableinterop
 - tst_multipointtoucharea_interop
 - tst_parserstress
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qmlcachegen
 - tst_qmldiskcache
 - tst_qqmlapplicationengine
 - tst_qqmlbinding
 - tst_qqmlcomponent
 - tst_qqmlconnections
 - tst_qqmlconsole
 - tst_qqmlcontext
 - tst_qqmldebugclient
 - tst_qqmldebugjs
 - tst_qqmldebuglocal
 - tst_qqmldebugservice
 - tst_qqmlecmascript
 - tst_qqmlenginecleanup
 - ...
 
    | 636079988 | 
| 249 |     static inline uint toUInt(const char *ch) { return static_cast<unsigned char>(*ch); }executed 5431336 times by 146 tests:  return static_cast<unsigned char>(*ch);Executed by:- tst_bindingdependencyapi
 - tst_drawingmodes
 - tst_examples
 - tst_flickableinterop
 - tst_multipointtoucharea_interop
 - tst_parserstress
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qmlcachegen
 - tst_qmldiskcache
 - tst_qqmlapplicationengine
 - tst_qqmlbinding
 - tst_qqmlcomponent
 - tst_qqmlconnections
 - tst_qqmlconsole
 - tst_qqmlcontext
 - tst_qqmldebugjs
 - tst_qqmlecmascript
 - tst_qqmlenginecleanup
 - tst_qqmlenginedebugservice
 - tst_qqmlexpression
 - tst_qqmlfileselector
 - tst_qqmlimport
 - tst_qqmlincubator
 - ...
 
    | 5431336 | 
| 250 |  | - | 
| 251 |     template <typename T> | - | 
| 252 |     static inline uint toArrayIndex(const T *ch, const T *end) | - | 
| 253 |     { | - | 
| 254 |         uint i = toUInt(ch) - '0'; | - | 
| 255 |         if (i > 9)| TRUE | evaluated 74541620 times by 154 testsEvaluated by:- tst_bindingdependencyapi
 - tst_drawingmodes
 - tst_ecmascripttests
 - tst_examples
 - tst_flickableinterop
 - tst_multipointtoucharea_interop
 - tst_parserstress
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qmlcachegen
 - tst_qmldiskcache
 - tst_qqmlapplicationengine
 - tst_qqmlbinding
 - tst_qqmlcomponent
 - tst_qqmlconnections
 - tst_qqmlconsole
 - tst_qqmlcontext
 - tst_qqmldebugclient
 - tst_qqmldebugjs
 - tst_qqmldebuglocal
 - tst_qqmldebugservice
 - tst_qqmlecmascript
 - tst_qqmlenginecleanup
 - ...
 
   |  | FALSE | evaluated 315528 times by 154 testsEvaluated by:- tst_bindingdependencyapi
 - tst_drawingmodes
 - tst_ecmascripttests
 - tst_examples
 - tst_flickableinterop
 - tst_multipointtoucharea_interop
 - tst_parserstress
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qmlcachegen
 - tst_qmldiskcache
 - tst_qqmlapplicationengine
 - tst_qqmlbinding
 - tst_qqmlcomponent
 - tst_qqmlconnections
 - tst_qqmlconsole
 - tst_qqmlcontext
 - tst_qqmldebugclient
 - tst_qqmldebugjs
 - tst_qqmldebuglocal
 - tst_qqmldebugservice
 - tst_qqmlecmascript
 - tst_qqmlenginecleanup
 - ...
 
   |  
  | 315528-74541620 | 
| 256 |             return UINT_MAX;executed 74620909 times by 154 tests:  return (0x7fffffff * 2U + 1U) ;Executed by:- tst_bindingdependencyapi
 - tst_drawingmodes
 - tst_ecmascripttests
 - tst_examples
 - tst_flickableinterop
 - tst_multipointtoucharea_interop
 - tst_parserstress
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qmlcachegen
 - tst_qmldiskcache
 - tst_qqmlapplicationengine
 - tst_qqmlbinding
 - tst_qqmlcomponent
 - tst_qqmlconnections
 - tst_qqmlconsole
 - tst_qqmlcontext
 - tst_qqmldebugclient
 - tst_qqmldebugjs
 - tst_qqmldebuglocal
 - tst_qqmldebugservice
 - tst_qqmlecmascript
 - tst_qqmlenginecleanup
 - ...
 
    | 74620909 | 
| 257 |         ++ch; | - | 
| 258 |          | - | 
| 259 |         if (i == 0 && ch != end)| TRUE | evaluated 27761 times by 15 testsEvaluated by:- tst_ecmascripttests
 - tst_examples
 - tst_parserstress
 - tst_qjsengine
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qqmlconsole
 - tst_qqmlecmascript
 - tst_qqmllistmodel
 - tst_qqmllistmodelworkerscript
 - tst_qquickanimationcontroller
 - tst_qquicklayouts
 - tst_qquicklistview
 - tst_qtqmlmodules
 - tst_testfiltering
 
   |  | FALSE | evaluated 287645 times by 154 testsEvaluated by:- tst_bindingdependencyapi
 - tst_drawingmodes
 - tst_ecmascripttests
 - tst_examples
 - tst_flickableinterop
 - tst_multipointtoucharea_interop
 - tst_parserstress
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qmlcachegen
 - tst_qmldiskcache
 - tst_qqmlapplicationengine
 - tst_qqmlbinding
 - tst_qqmlcomponent
 - tst_qqmlconnections
 - tst_qqmlconsole
 - tst_qqmlcontext
 - tst_qqmldebugclient
 - tst_qqmldebugjs
 - tst_qqmldebuglocal
 - tst_qqmldebugservice
 - tst_qqmlecmascript
 - tst_qqmlenginecleanup
 - ...
 
   |  
 | TRUE | evaluated 17752 times by 3 testsEvaluated by:- tst_ecmascripttests
 - tst_qjsvalue
 - tst_qqmlecmascript
 
   |  | FALSE | evaluated 10003 times by 15 testsEvaluated by:- tst_ecmascripttests
 - tst_examples
 - tst_parserstress
 - tst_qjsengine
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qqmlconsole
 - tst_qqmlecmascript
 - tst_qqmllistmodel
 - tst_qqmllistmodelworkerscript
 - tst_qquickanimationcontroller
 - tst_qquicklayouts
 - tst_qquicklistview
 - tst_qtqmlmodules
 - tst_testfiltering
 
   |  
  | 10003-287645 | 
| 260 |             return UINT_MAX;executed 17752 times by 3 tests:  return (0x7fffffff * 2U + 1U) ;Executed by:- tst_ecmascripttests
 - tst_qjsvalue
 - tst_qqmlecmascript
 
    | 17752 | 
| 261 |  | - | 
| 262 |         while (ch < end) {| TRUE | evaluated 1223418 times by 154 testsEvaluated by:- tst_bindingdependencyapi
 - tst_drawingmodes
 - tst_ecmascripttests
 - tst_examples
 - tst_flickableinterop
 - tst_multipointtoucharea_interop
 - tst_parserstress
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qmlcachegen
 - tst_qmldiskcache
 - tst_qqmlapplicationengine
 - tst_qqmlbinding
 - tst_qqmlcomponent
 - tst_qqmlconnections
 - tst_qqmlconsole
 - tst_qqmlcontext
 - tst_qqmldebugclient
 - tst_qqmldebugjs
 - tst_qqmldebuglocal
 - tst_qqmldebugservice
 - tst_qqmlecmascript
 - tst_qqmlenginecleanup
 - ...
 
   |  | FALSE | evaluated 182961 times by 154 testsEvaluated by:- tst_bindingdependencyapi
 - tst_drawingmodes
 - tst_ecmascripttests
 - tst_examples
 - tst_flickableinterop
 - tst_multipointtoucharea_interop
 - tst_parserstress
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qmlcachegen
 - tst_qmldiskcache
 - tst_qqmlapplicationengine
 - tst_qqmlbinding
 - tst_qqmlcomponent
 - tst_qqmlconnections
 - tst_qqmlconsole
 - tst_qqmlcontext
 - tst_qqmldebugclient
 - tst_qqmldebugjs
 - tst_qqmldebuglocal
 - tst_qqmldebugservice
 - tst_qqmlecmascript
 - tst_qqmlenginecleanup
 - ...
 
   |  
  | 182961-1223418 | 
| 263 |             uint x = toUInt(ch) - '0'; | - | 
| 264 |             if (x > 9)| TRUE | evaluated 114051 times by 10 testsEvaluated by:- tst_ecmascripttests
 - tst_parserstress
 - tst_qjsonbinding
 - tst_qqmlcomponent
 - tst_qqmlecmascript
 - tst_qqmllocale
 - tst_qqmlqt
 - tst_qqmlsqldatabase
 - tst_qqmlxmlhttprequest
 - tst_qquickloader
 
   |  | FALSE | evaluated 1109369 times by 154 testsEvaluated by:- tst_bindingdependencyapi
 - tst_drawingmodes
 - tst_ecmascripttests
 - tst_examples
 - tst_flickableinterop
 - tst_multipointtoucharea_interop
 - tst_parserstress
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qmlcachegen
 - tst_qmldiskcache
 - tst_qqmlapplicationengine
 - tst_qqmlbinding
 - tst_qqmlcomponent
 - tst_qqmlconnections
 - tst_qqmlconsole
 - tst_qqmlcontext
 - tst_qqmldebugclient
 - tst_qqmldebugjs
 - tst_qqmldebuglocal
 - tst_qqmldebugservice
 - tst_qqmlecmascript
 - tst_qqmlenginecleanup
 - ...
 
   |  
  | 114051-1109369 | 
| 265 |                 return UINT_MAX;executed 114055 times by 10 tests:  return (0x7fffffff * 2U + 1U) ;Executed by:- tst_ecmascripttests
 - tst_parserstress
 - tst_qjsonbinding
 - tst_qqmlcomponent
 - tst_qqmlecmascript
 - tst_qqmllocale
 - tst_qqmlqt
 - tst_qqmlsqldatabase
 - tst_qqmlxmlhttprequest
 - tst_qquickloader
 
    | 114055 | 
| 266 |             if (mul_overflow(i, uint(10), &i) || add_overflow(i, x, &i)) | TRUE | evaluated 580 times by 3 testsEvaluated by:- tst_ecmascripttests
 - tst_parserstress
 - tst_qjsvalue
 
   |  | FALSE | evaluated 1108590 times by 154 testsEvaluated by:- tst_bindingdependencyapi
 - tst_drawingmodes
 - tst_ecmascripttests
 - tst_examples
 - tst_flickableinterop
 - tst_multipointtoucharea_interop
 - tst_parserstress
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qmlcachegen
 - tst_qmldiskcache
 - tst_qqmlapplicationengine
 - tst_qqmlbinding
 - tst_qqmlcomponent
 - tst_qqmlconnections
 - tst_qqmlconsole
 - tst_qqmlcontext
 - tst_qqmldebugclient
 - tst_qqmldebugjs
 - tst_qqmldebuglocal
 - tst_qqmldebugservice
 - tst_qqmlecmascript
 - tst_qqmlenginecleanup
 - ...
 
   |  
 | TRUE | evaluated 148 times by 1 test |  | FALSE | evaluated 1108780 times by 154 testsEvaluated by:- tst_bindingdependencyapi
 - tst_drawingmodes
 - tst_ecmascripttests
 - tst_examples
 - tst_flickableinterop
 - tst_multipointtoucharea_interop
 - tst_parserstress
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qmlcachegen
 - tst_qmldiskcache
 - tst_qqmlapplicationengine
 - tst_qqmlbinding
 - tst_qqmlcomponent
 - tst_qqmlconnections
 - tst_qqmlconsole
 - tst_qqmlcontext
 - tst_qqmldebugclient
 - tst_qqmldebugjs
 - tst_qqmldebuglocal
 - tst_qqmldebugservice
 - tst_qqmlecmascript
 - tst_qqmlenginecleanup
 - ...
 
   |  
  | 148-1108780 | 
| 267 |                 return UINT_MAX;executed 728 times by 3 tests:  return (0x7fffffff * 2U + 1U) ;Executed by:- tst_ecmascripttests
 - tst_parserstress
 - tst_qjsvalue
 
    | 728 | 
| 268 |             ++ch; | - | 
| 269 |         }executed 1108666 times by 154 tests:  end of blockExecuted by:- tst_bindingdependencyapi
 - tst_drawingmodes
 - tst_ecmascripttests
 - tst_examples
 - tst_flickableinterop
 - tst_multipointtoucharea_interop
 - tst_parserstress
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qmlcachegen
 - tst_qmldiskcache
 - tst_qqmlapplicationengine
 - tst_qqmlbinding
 - tst_qqmlcomponent
 - tst_qqmlconnections
 - tst_qqmlconsole
 - tst_qqmlcontext
 - tst_qqmldebugclient
 - tst_qqmldebugjs
 - tst_qqmldebuglocal
 - tst_qqmldebugservice
 - tst_qqmlecmascript
 - tst_qqmlenginecleanup
 - ...
 
    | 1108666 | 
| 270 |         return i;executed 182999 times by 154 tests:  return i;Executed by:- tst_bindingdependencyapi
 - tst_drawingmodes
 - tst_ecmascripttests
 - tst_examples
 - tst_flickableinterop
 - tst_multipointtoucharea_interop
 - tst_parserstress
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qmlcachegen
 - tst_qmldiskcache
 - tst_qqmlapplicationengine
 - tst_qqmlbinding
 - tst_qqmlcomponent
 - tst_qqmlconnections
 - tst_qqmlconsole
 - tst_qqmlcontext
 - tst_qqmldebugclient
 - tst_qqmldebugjs
 - tst_qqmldebuglocal
 - tst_qqmldebugservice
 - tst_qqmlecmascript
 - tst_qqmlenginecleanup
 - ...
 
    | 182999 | 
| 271 |     } | - | 
| 272 |  | - | 
| 273 | public: | - | 
| 274 |     template <typename T> | - | 
| 275 |     static inline uint calculateHashValue(const T *ch, const T* end, uint *subtype) | - | 
| 276 |     { | - | 
| 277 |          | - | 
| 278 |         uint h = toArrayIndex(ch, end); | - | 
| 279 |         if (h != UINT_MAX) {| TRUE | evaluated 80140 times by 19 testsEvaluated by:- tst_ecmascripttests
 - tst_examples
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qqmlcomponent
 - tst_qqmlconsole
 - tst_qqmlecmascript
 - tst_qqmllistmodel
 - tst_qqmllistmodelworkerscript
 - tst_qqmlqt
 - tst_qquickanimationcontroller
 - tst_qquickgridview
 - tst_qquicklayouts
 - tst_qquicklistview
 - tst_qquickloader
 - tst_qtqmlmodules
 - tst_testfiltering
 
   |  | FALSE | evaluated 74761424 times by 154 testsEvaluated by:- tst_bindingdependencyapi
 - tst_drawingmodes
 - tst_ecmascripttests
 - tst_examples
 - tst_flickableinterop
 - tst_multipointtoucharea_interop
 - tst_parserstress
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qmlcachegen
 - tst_qmldiskcache
 - tst_qqmlapplicationengine
 - tst_qqmlbinding
 - tst_qqmlcomponent
 - tst_qqmlconnections
 - tst_qqmlconsole
 - tst_qqmlcontext
 - tst_qqmldebugclient
 - tst_qqmldebugjs
 - tst_qqmldebuglocal
 - tst_qqmldebugservice
 - tst_qqmlecmascript
 - tst_qqmlenginecleanup
 - ...
 
   |  
  | 80140-74761424 | 
| 280 |             if (subtype)| TRUE | evaluated 80088 times by 19 testsEvaluated by:- tst_ecmascripttests
 - tst_examples
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qqmlcomponent
 - tst_qqmlconsole
 - tst_qqmlecmascript
 - tst_qqmllistmodel
 - tst_qqmllistmodelworkerscript
 - tst_qqmlqt
 - tst_qquickanimationcontroller
 - tst_qquickgridview
 - tst_qquicklayouts
 - tst_qquicklistview
 - tst_qquickloader
 - tst_qtqmlmodules
 - tst_testfiltering
 
   |  | FALSE | evaluated 90 times by 2 testsEvaluated by:- tst_qqmllistmodel
 - tst_qqmllistmodelworkerscript
 
   |  
  | 90-80088 | 
| 281 |                 *subtype = Heap::StringOrSymbol::StringType_ArrayIndex;executed 80085 times by 19 tests:  *subtype = Heap::StringOrSymbol::StringType_ArrayIndex;Executed by:- tst_ecmascripttests
 - tst_examples
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qqmlcomponent
 - tst_qqmlconsole
 - tst_qqmlecmascript
 - tst_qqmllistmodel
 - tst_qqmllistmodelworkerscript
 - tst_qqmlqt
 - tst_qquickanimationcontroller
 - tst_qquickgridview
 - tst_qquicklayouts
 - tst_qquicklistview
 - tst_qquickloader
 - tst_qtqmlmodules
 - tst_testfiltering
 
    | 80085 | 
| 282 |             return h;executed 80174 times by 19 tests:  return h;Executed by:- tst_ecmascripttests
 - tst_examples
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qqmlcomponent
 - tst_qqmlconsole
 - tst_qqmlecmascript
 - tst_qqmllistmodel
 - tst_qqmllistmodelworkerscript
 - tst_qqmlqt
 - tst_qquickanimationcontroller
 - tst_qquickgridview
 - tst_qquicklayouts
 - tst_qquicklistview
 - tst_qquickloader
 - tst_qtqmlmodules
 - tst_testfiltering
 
    | 80174 | 
| 283 |         } | - | 
| 284 |  | - | 
| 285 |         while (ch < end) {| TRUE | evaluated 494029316 times by 154 testsEvaluated by:- tst_bindingdependencyapi
 - tst_drawingmodes
 - tst_ecmascripttests
 - tst_examples
 - tst_flickableinterop
 - tst_multipointtoucharea_interop
 - tst_parserstress
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qmlcachegen
 - tst_qmldiskcache
 - tst_qqmlapplicationengine
 - tst_qqmlbinding
 - tst_qqmlcomponent
 - tst_qqmlconnections
 - tst_qqmlconsole
 - tst_qqmlcontext
 - tst_qqmldebugclient
 - tst_qqmldebugjs
 - tst_qqmldebuglocal
 - tst_qqmldebugservice
 - tst_qqmlecmascript
 - tst_qqmlenginecleanup
 - ...
 
   |  | FALSE | evaluated 74926578 times by 154 testsEvaluated by:- tst_bindingdependencyapi
 - tst_drawingmodes
 - tst_ecmascripttests
 - tst_examples
 - tst_flickableinterop
 - tst_multipointtoucharea_interop
 - tst_parserstress
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qmlcachegen
 - tst_qmldiskcache
 - tst_qqmlapplicationengine
 - tst_qqmlbinding
 - tst_qqmlcomponent
 - tst_qqmlconnections
 - tst_qqmlconsole
 - tst_qqmlcontext
 - tst_qqmldebugclient
 - tst_qqmldebugjs
 - tst_qqmldebuglocal
 - tst_qqmldebugservice
 - tst_qqmlecmascript
 - tst_qqmlenginecleanup
 - ...
 
   |  
  | 74926578-494029316 | 
| 286 |             h = 31 * h + toUInt(ch); | - | 
| 287 |             ++ch; | - | 
| 288 |         }executed 494232754 times by 154 tests:  end of blockExecuted by:- tst_bindingdependencyapi
 - tst_drawingmodes
 - tst_ecmascripttests
 - tst_examples
 - tst_flickableinterop
 - tst_multipointtoucharea_interop
 - tst_parserstress
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qmlcachegen
 - tst_qmldiskcache
 - tst_qqmlapplicationengine
 - tst_qqmlbinding
 - tst_qqmlcomponent
 - tst_qqmlconnections
 - tst_qqmlconsole
 - tst_qqmlcontext
 - tst_qqmldebugclient
 - tst_qqmldebugjs
 - tst_qqmldebuglocal
 - tst_qqmldebugservice
 - tst_qqmlecmascript
 - tst_qqmlenginecleanup
 - ...
 
    | 494232754 | 
| 289 |  | - | 
| 290 |         if (subtype)| TRUE | evaluated 72887442 times by 154 testsEvaluated by:- tst_bindingdependencyapi
 - tst_drawingmodes
 - tst_ecmascripttests
 - tst_examples
 - tst_flickableinterop
 - tst_multipointtoucharea_interop
 - tst_parserstress
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qmlcachegen
 - tst_qmldiskcache
 - tst_qqmlapplicationengine
 - tst_qqmlbinding
 - tst_qqmlcomponent
 - tst_qqmlconnections
 - tst_qqmlconsole
 - tst_qqmlcontext
 - tst_qqmldebugclient
 - tst_qqmldebugjs
 - tst_qqmldebuglocal
 - tst_qqmldebugservice
 - tst_qqmlecmascript
 - tst_qqmlenginecleanup
 - ...
 
   |  | FALSE | evaluated 2050859 times by 146 testsEvaluated by:- tst_bindingdependencyapi
 - tst_drawingmodes
 - tst_examples
 - tst_flickableinterop
 - tst_multipointtoucharea_interop
 - tst_parserstress
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qmlcachegen
 - tst_qmldiskcache
 - tst_qqmlapplicationengine
 - tst_qqmlbinding
 - tst_qqmlcomponent
 - tst_qqmlconnections
 - tst_qqmlconsole
 - tst_qqmlcontext
 - tst_qqmldebugjs
 - tst_qqmlecmascript
 - tst_qqmlenginecleanup
 - tst_qqmlenginedebugservice
 - tst_qqmlexpression
 - tst_qqmlfileselector
 - tst_qqmlimport
 - tst_qqmlincubator
 - ...
 
   |  
  | 2050859-72887442 | 
| 291 |             *subtype = (toUInt(ch) == '@') ? Heap::StringOrSymbol::StringType_Symbol : Heap::StringOrSymbol::StringType_Regular;executed 72884453 times by 154 tests:  *subtype = (toUInt(ch) == '@') ? Heap::StringOrSymbol::StringType_Symbol : Heap::StringOrSymbol::StringType_Regular;Executed by:- tst_bindingdependencyapi
 - tst_drawingmodes
 - tst_ecmascripttests
 - tst_examples
 - tst_flickableinterop
 - tst_multipointtoucharea_interop
 - tst_parserstress
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qmlcachegen
 - tst_qmldiskcache
 - tst_qqmlapplicationengine
 - tst_qqmlbinding
 - tst_qqmlcomponent
 - tst_qqmlconnections
 - tst_qqmlconsole
 - tst_qqmlcontext
 - tst_qqmldebugclient
 - tst_qqmldebugjs
 - tst_qqmldebuglocal
 - tst_qqmldebugservice
 - tst_qqmlecmascript
 - tst_qqmlenginecleanup
 - ...
 
   | TRUE | never evaluated |  | FALSE | evaluated 72885660 times by 154 testsEvaluated by:- tst_bindingdependencyapi
 - tst_drawingmodes
 - tst_ecmascripttests
 - tst_examples
 - tst_flickableinterop
 - tst_multipointtoucharea_interop
 - tst_parserstress
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qmlcachegen
 - tst_qmldiskcache
 - tst_qqmlapplicationengine
 - tst_qqmlbinding
 - tst_qqmlcomponent
 - tst_qqmlconnections
 - tst_qqmlconsole
 - tst_qqmlcontext
 - tst_qqmldebugclient
 - tst_qqmldebugjs
 - tst_qqmldebuglocal
 - tst_qqmldebugservice
 - tst_qqmlecmascript
 - tst_qqmlenginecleanup
 - ...
 
   |  
  | 0-72885660 | 
| 292 |         return h;executed 74941598 times by 154 tests:  return h;Executed by:- tst_bindingdependencyapi
 - tst_drawingmodes
 - tst_ecmascripttests
 - tst_examples
 - tst_flickableinterop
 - tst_multipointtoucharea_interop
 - tst_parserstress
 - tst_qjsengine
 - tst_qjsonbinding
 - tst_qjsvalue
 - tst_qjsvalueiterator
 - tst_qmlcachegen
 - tst_qmldiskcache
 - tst_qqmlapplicationengine
 - tst_qqmlbinding
 - tst_qqmlcomponent
 - tst_qqmlconnections
 - tst_qqmlconsole
 - tst_qqmlcontext
 - tst_qqmldebugclient
 - tst_qqmldebugjs
 - tst_qqmldebuglocal
 - tst_qqmldebugservice
 - tst_qqmlecmascript
 - tst_qqmlenginecleanup
 - ...
 
    | 74941598 | 
| 293 |     } | - | 
| 294 | }; | - | 
| 295 |  | - | 
| 296 | #ifndef V4_BOOTSTRAP | - | 
| 297 | struct ComplexString : String { | - | 
| 298 |     typedef QV4::Heap::ComplexString Data; | - | 
| 299 |     QV4::Heap::ComplexString *d_unchecked() const { return static_cast<QV4::Heap::ComplexString *>(m()); } | - | 
| 300 |     QV4::Heap::ComplexString *d() const { | - | 
| 301 |         QV4::Heap::ComplexString *dptr = d_unchecked(); | - | 
| 302 |         dptr->_checkIsInitialized(); | - | 
| 303 |         return dptr; | - | 
| 304 |     } | - | 
| 305 | }; | - | 
| 306 |  | - | 
| 307 | inline | - | 
| 308 | void StringOrSymbol::createPropertyKey() const { | - | 
| 309 |     if (d()->identifier.isValid()) | - | 
| 310 |         return; | - | 
| 311 |     Q_ASSERT(isString()); | - | 
| 312 |     static_cast<const String *>(this)->createPropertyKeyImpl(); | - | 
| 313 | } | - | 
| 314 |  | - | 
| 315 | template<> | - | 
| 316 | inline const StringOrSymbol *Value::as() const { | - | 
| 317 |     return isManaged() && m()->internalClass->vtable->isStringOrSymbol ? static_cast<const String *>(this) : nullptr; | - | 
| 318 | } | - | 
| 319 |  | - | 
| 320 | template<> | - | 
| 321 | inline const String *Value::as() const { | - | 
| 322 |     return isManaged() && m()->internalClass->vtable->isString ? static_cast<const String *>(this) : nullptr; | - | 
| 323 | } | - | 
| 324 |  | - | 
| 325 | template<> | - | 
| 326 | inline ReturnedValue value_convert<String>(ExecutionEngine *e, const Value &v) | - | 
| 327 | { | - | 
| 328 |     return v.toString(e)->asReturnedValue(); | - | 
| 329 | } | - | 
| 330 | #endif | - | 
| 331 |  | - | 
| 332 |  | - | 
| 333 | } | - | 
| 334 |  | - | 
| 335 | QT_END_NAMESPACE | - | 
| 336 |  | - | 
| 337 | #endif | - | 
 |  |  |