| 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 |