Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/qml/jsruntime/qv4value.cpp |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | - | |||||||||||||
2 | - | |||||||||||||
3 | - | |||||||||||||
4 | - | |||||||||||||
5 | - | |||||||||||||
6 | - | |||||||||||||
7 | - | |||||||||||||
8 | - | |||||||||||||
9 | using namespace QV4; | - | ||||||||||||
10 | - | |||||||||||||
11 | int Value::toUInt16() const | - | ||||||||||||
12 | { | - | ||||||||||||
13 | if (integerCompatible()
| 0 | ||||||||||||
14 | return never executed: (ushort)(uint)integerValue();return (ushort)(uint)integerValue(); never executed: return (ushort)(uint)integerValue(); | 0 | ||||||||||||
15 | - | |||||||||||||
16 | double number = toNumber(); | - | ||||||||||||
17 | - | |||||||||||||
18 | double D16 = 65536.0; | - | ||||||||||||
19 | if ((number >= 0
| 0 | ||||||||||||
20 | return never executed: static_cast<ushort>(number);return static_cast<ushort>(number); never executed: return static_cast<ushort>(number); | 0 | ||||||||||||
21 | - | |||||||||||||
22 | if (!std::isfinite(number)
| 0 | ||||||||||||
23 | return never executed: +0;return +0; never executed: return +0; | 0 | ||||||||||||
24 | - | |||||||||||||
25 | double d = ::floor(::fabs(number)); | - | ||||||||||||
26 | if (std::signbit(number)
| 0 | ||||||||||||
27 | d = -d; never executed: d = -d; | 0 | ||||||||||||
28 | - | |||||||||||||
29 | number = ::fmod(d , D16); | - | ||||||||||||
30 | - | |||||||||||||
31 | if (number < 0
| 0 | ||||||||||||
32 | number += D16; never executed: number += D16; | 0 | ||||||||||||
33 | - | |||||||||||||
34 | return never executed: (unsigned short)number;return (unsigned short)number; never executed: return (unsigned short)number; | 0 | ||||||||||||
35 | } | - | ||||||||||||
36 | - | |||||||||||||
37 | bool Value::toBooleanImpl(Value val) | - | ||||||||||||
38 | { | - | ||||||||||||
39 | if (val.isManagedOrUndefined()
| 0 | ||||||||||||
40 | Heap::Base *b = val.m(); | - | ||||||||||||
41 | if (!b
| 0 | ||||||||||||
42 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||
43 | - | |||||||||||||
44 | QMessageLogger(__FILE__, 87, __PRETTY_FUNCTION__).warning("Unimplemented code."); | - | ||||||||||||
45 | - | |||||||||||||
46 | - | |||||||||||||
47 | - | |||||||||||||
48 | - | |||||||||||||
49 | return never executed: true;return true; never executed: return true; | 0 | ||||||||||||
50 | } | - | ||||||||||||
51 | - | |||||||||||||
52 | - | |||||||||||||
53 | double d = val.doubleValue(); | - | ||||||||||||
54 | return never executed: d && !std::isnan(d);return d && !std::isnan(d); never executed: return d && !std::isnan(d); | 0 | ||||||||||||
55 | } | - | ||||||||||||
56 | - | |||||||||||||
57 | double Value::toNumberImpl(Value val) | - | ||||||||||||
58 | { | - | ||||||||||||
59 | switch (val.type()) { | - | ||||||||||||
60 | case never executed: QV4::Value::Undefined_Type:case QV4::Value::Undefined_Type: never executed: case QV4::Value::Undefined_Type: | 0 | ||||||||||||
61 | return never executed: std::numeric_limits<double>::quiet_NaN();return std::numeric_limits<double>::quiet_NaN(); never executed: return std::numeric_limits<double>::quiet_NaN(); | 0 | ||||||||||||
62 | case never executed: QV4::Value::Managed_Type:case QV4::Value::Managed_Type: never executed: case QV4::Value::Managed_Type: | 0 | ||||||||||||
63 | - | |||||||||||||
64 | QMessageLogger(__FILE__, 107, __PRETTY_FUNCTION__).warning("Unimplemented code."); | - | ||||||||||||
65 | (void)0; | - | ||||||||||||
66 | case never executed: QV4::Value::Null_Type:case QV4::Value::Null_Type: never executed: case QV4::Value::Null_Type: code before this statement never executed: case QV4::Value::Null_Type: | 0 | ||||||||||||
67 | case never executed: QV4::Value::Boolean_Type:case QV4::Value::Boolean_Type: never executed: case QV4::Value::Boolean_Type: | 0 | ||||||||||||
68 | case never executed: QV4::Value::Integer_Type:case QV4::Value::Integer_Type: never executed: case QV4::Value::Integer_Type: | 0 | ||||||||||||
69 | return never executed: val.int_32();return val.int_32(); never executed: return val.int_32(); | 0 | ||||||||||||
70 | default never executed: :default: never executed: default: | 0 | ||||||||||||
71 | do { ((false) ? static_cast<void>(0) : qt_assert_x("Q_UNREACHABLE()", "Q_UNREACHABLE was reached", __FILE__, 132)); __builtin_unreachable(); } while (false); | - | ||||||||||||
72 | } never executed: end of block | 0 | ||||||||||||
73 | } | - | ||||||||||||
74 | bool Value::sameValue(Value other) const { | - | ||||||||||||
75 | if (_val == other._val
| 0 | ||||||||||||
76 | return never executed: true;return true; never executed: return true; | 0 | ||||||||||||
77 | String *s = stringValue(); | - | ||||||||||||
78 | String *os = other.stringValue(); | - | ||||||||||||
79 | if (s
| 0 | ||||||||||||
80 | return never executed: s->isEqualTo(os);return s->isEqualTo(os); never executed: return s->isEqualTo(os); | 0 | ||||||||||||
81 | if (isInteger()
| 0 | ||||||||||||
82 | return never executed: int_32() ? (double(int_32()) == other.doubleValue())return int_32() ? (double(int_32()) == other.doubleValue()) : (other.doubleValue() == 0 && !std::signbit(other.doubleValue())); never executed: return int_32() ? (double(int_32()) == other.doubleValue()) : (other.doubleValue() == 0 && !std::signbit(other.doubleValue())); | 0 | ||||||||||||
83 | : (other.doubleValue() == 0 && !std::signbit(other.doubleValue())); never executed: return int_32() ? (double(int_32()) == other.doubleValue()) : (other.doubleValue() == 0 && !std::signbit(other.doubleValue())); | 0 | ||||||||||||
84 | if (isDouble()
| 0 | ||||||||||||
85 | return never executed: other.int_32() ? (doubleValue() == double(other.int_32()))return other.int_32() ? (doubleValue() == double(other.int_32())) : (doubleValue() == 0 && !std::signbit(doubleValue())); never executed: return other.int_32() ? (doubleValue() == double(other.int_32())) : (doubleValue() == 0 && !std::signbit(doubleValue())); | 0 | ||||||||||||
86 | : (doubleValue() == 0 && !std::signbit(doubleValue())); never executed: return other.int_32() ? (doubleValue() == double(other.int_32())) : (doubleValue() == 0 && !std::signbit(doubleValue())); | 0 | ||||||||||||
87 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||
88 | } | - | ||||||||||||
89 | - | |||||||||||||
90 | bool Value::sameValueZero(Value other) const { | - | ||||||||||||
91 | if (_val == other._val
| 0 | ||||||||||||
92 | return never executed: true;return true; never executed: return true; | 0 | ||||||||||||
93 | String *s = stringValue(); | - | ||||||||||||
94 | String *os = other.stringValue(); | - | ||||||||||||
95 | if (s
| 0 | ||||||||||||
96 | return never executed: s->isEqualTo(os);return s->isEqualTo(os); never executed: return s->isEqualTo(os); | 0 | ||||||||||||
97 | if (isInteger()
| 0 | ||||||||||||
98 | return never executed: double(int_32()) == other.doubleValue();return double(int_32()) == other.doubleValue(); never executed: return double(int_32()) == other.doubleValue(); | 0 | ||||||||||||
99 | if (isDouble()
| 0 | ||||||||||||
100 | return never executed: other.int_32() == doubleValue();return other.int_32() == doubleValue(); never executed: return other.int_32() == doubleValue(); | 0 | ||||||||||||
101 | if (isDouble()
| 0 | ||||||||||||
102 | if (doubleValue() == 0
| 0 | ||||||||||||
103 | return never executed: true;return true; never executed: return true; | 0 | ||||||||||||
104 | } | - | ||||||||||||
105 | } never executed: end of block | 0 | ||||||||||||
106 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||
107 | } | - | ||||||||||||
Switch to Source code | Preprocessed file |