| Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/src/qml/compiler/qv4compileddata.cpp |
| Switch to Source code | Preprocessed file |
| Line | Source | Count | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | - | |||||||||||||
| 2 | - | |||||||||||||
| 3 | - | |||||||||||||
| 4 | - | |||||||||||||
| 5 | - | |||||||||||||
| 6 | - | |||||||||||||
| 7 | - | |||||||||||||
| 8 | namespace QV4 { | - | ||||||||||||
| 9 | - | |||||||||||||
| 10 | namespace CompiledData { | - | ||||||||||||
| 11 | - | |||||||||||||
| 12 | static_assert(sizeof(Unit::libraryVersionHash) >= 40 + 1, "Compile hash length exceeds reserved size in data structure. Please adjust and bump the format version"); | - | ||||||||||||
| 13 | - | |||||||||||||
| 14 | CompilationUnit::CompilationUnit(const Unit *unitData) | - | ||||||||||||
| 15 | { | - | ||||||||||||
| 16 | data = unitData; | - | ||||||||||||
| 17 | } executed 2391957 times by 146 tests: end of blockExecuted by:
| 2391957 | ||||||||||||
| 18 | bool CompilationUnit::saveToDisk(const QString &outputFileName, QString *errorString) | - | ||||||||||||
| 19 | - | |||||||||||||
| 20 | - | |||||||||||||
| 21 | - | |||||||||||||
| 22 | { | - | ||||||||||||
| 23 | errorString->clear(); | - | ||||||||||||
| 24 | QSaveFile cacheFile(outputFileName); | - | ||||||||||||
| 25 | if (!cacheFile.open(QIODevice::WriteOnly | QIODevice::Truncate)
| 0-2726 | ||||||||||||
| 26 | *errorString = cacheFile.errorString(); | - | ||||||||||||
| 27 | return never executed: false;return false;never executed: return false; | 0 | ||||||||||||
| 28 | } | - | ||||||||||||
| 29 | - | |||||||||||||
| 30 | QByteArray modifiedUnit; | - | ||||||||||||
| 31 | modifiedUnit.resize(data->unitSize); | - | ||||||||||||
| 32 | memcpy(modifiedUnit.data(), data, data->unitSize); | - | ||||||||||||
| 33 | const char *dataPtr = modifiedUnit.data(); | - | ||||||||||||
| 34 | Unit *unitPtr; | - | ||||||||||||
| 35 | memcpy(&unitPtr, &dataPtr, sizeof(unitPtr)); | - | ||||||||||||
| 36 | unitPtr->flags |= Unit::StaticData; | - | ||||||||||||
| 37 | - | |||||||||||||
| 38 | qint64 headerWritten = cacheFile.write(modifiedUnit); | - | ||||||||||||
| 39 | if (headerWritten != modifiedUnit.size()
| 0-2726 | ||||||||||||
| 40 | *errorString = cacheFile.errorString(); | - | ||||||||||||
| 41 | return never executed: false;return false;never executed: return false; | 0 | ||||||||||||
| 42 | } | - | ||||||||||||
| 43 | - | |||||||||||||
| 44 | if (!cacheFile.commit()
| 0-2726 | ||||||||||||
| 45 | *errorString = cacheFile.errorString(); | - | ||||||||||||
| 46 | return never executed: false;return false;never executed: return false; | 0 | ||||||||||||
| 47 | } | - | ||||||||||||
| 48 | - | |||||||||||||
| 49 | return executed 2726 times by 125 tests: true;return true;Executed by:
executed 2726 times by 125 tests: return true;Executed by:
| 2726 | ||||||||||||
| 50 | - | |||||||||||||
| 51 | - | |||||||||||||
| 52 | - | |||||||||||||
| 53 | - | |||||||||||||
| 54 | - | |||||||||||||
| 55 | } | - | ||||||||||||
| 56 | - | |||||||||||||
| 57 | Unit *CompilationUnit::createUnitData(QmlIR::Document *irDocument) | - | ||||||||||||
| 58 | { | - | ||||||||||||
| 59 | if (!irDocument->javaScriptCompilationUnit->data
| 24-48529 | ||||||||||||
| 60 | return executed 48529 times by 141 tests: irDocument->jsGenerator.generateUnit(QV4::Compiler::JSUnitGenerator::GenerateWithoutStringTable);return irDocument->jsGenerator.generateUnit(QV4::Compiler::JSUnitGenerator::GenerateWithoutStringTable);Executed by:
executed 48529 times by 141 tests: return irDocument->jsGenerator.generateUnit(QV4::Compiler::JSUnitGenerator::GenerateWithoutStringTable);Executed by:
| 48529 | ||||||||||||
| 61 | - | |||||||||||||
| 62 | QQmlRefPointer<QV4::CompiledData::CompilationUnit> compilationUnit = irDocument->javaScriptCompilationUnit; | - | ||||||||||||
| 63 | QV4::CompiledData::Unit *jsUnit = const_cast<QV4::CompiledData::Unit*>(compilationUnit->data); | - | ||||||||||||
| 64 | auto ensureWritableUnit = [&jsUnit, &compilationUnit]() { | - | ||||||||||||
| 65 | if (jsUnit == compilationUnit->data
| 4-24 | ||||||||||||
| 66 | char *unitCopy = (char*)malloc(jsUnit->unitSize); | - | ||||||||||||
| 67 | memcpy(unitCopy, jsUnit, jsUnit->unitSize); | - | ||||||||||||
| 68 | jsUnit = reinterpret_cast<QV4::CompiledData::Unit*>(unitCopy); | - | ||||||||||||
| 69 | } executed 24 times by 1 test: end of blockExecuted by:
| 24 | ||||||||||||
| 70 | } executed 28 times by 1 test: ;end of blockExecuted by:
| 28 | ||||||||||||
| 71 | - | |||||||||||||
| 72 | QV4::Compiler::StringTableGenerator &stringTable = irDocument->jsGenerator.stringTable; | - | ||||||||||||
| 73 | - | |||||||||||||
| 74 | if (jsUnit->sourceFileIndex == quint32(0)
| 0-24 | ||||||||||||
| 75 | ensureWritableUnit(); | - | ||||||||||||
| 76 | jsUnit->sourceFileIndex = stringTable.registerString(irDocument->jsModule.fileName); | - | ||||||||||||
| 77 | jsUnit->finalUrlIndex = stringTable.registerString(irDocument->jsModule.finalUrl); | - | ||||||||||||
| 78 | } executed 24 times by 1 test: end of blockExecuted by:
| 24 | ||||||||||||
| 79 | - | |||||||||||||
| 80 | - | |||||||||||||
| 81 | - | |||||||||||||
| 82 | - | |||||||||||||
| 83 | QVector<quint32> changedSignals; | - | ||||||||||||
| 84 | QVector<QQmlJS::AST::FormalParameterList*> changedSignalParameters; | - | ||||||||||||
| 85 | for (QmlIR::Object *o: qAsConst(irDocument->objects)) { | - | ||||||||||||
| 86 | for (QmlIR::Binding *binding = o->firstBinding(); binding
| 38-62 | ||||||||||||
| 87 | if (!(binding->flags & QV4::CompiledData::Binding::IsSignalHandlerExpression)
| 10-52 | ||||||||||||
| 88 | continue; executed 52 times by 1 test: continue;Executed by:
| 52 | ||||||||||||
| 89 | - | |||||||||||||
| 90 | quint32 functionIndex = binding->value.compiledScriptIndex; | - | ||||||||||||
| 91 | QmlIR::CompiledFunctionOrExpression *foe = o->functionsAndExpressions->slowAt(functionIndex); | - | ||||||||||||
| 92 | if (!foe
| 0-10 | ||||||||||||
| 93 | continue; never executed: continue; | 0 | ||||||||||||
| 94 | - | |||||||||||||
| 95 | - | |||||||||||||
| 96 | changedSignals << o->runtimeFunctionIndices.at(functionIndex); | - | ||||||||||||
| 97 | - | |||||||||||||
| 98 | ((foe->node) ? static_cast<void>(0) : qt_assert("foe->node", __FILE__, 499)); | - | ||||||||||||
| 99 | ((QQmlJS::AST::cast<QQmlJS::AST::FunctionDeclaration*>(foe->node)) ? static_cast<void>(0) : qt_assert("QQmlJS::AST::cast<QQmlJS::AST::FunctionDeclaration*>(foe->node)", __FILE__, 500)); | - | ||||||||||||
| 100 | - | |||||||||||||
| 101 | QQmlJS::AST::FormalParameterList *parameters = QQmlJS::AST::cast<QQmlJS::AST::FunctionDeclaration*>(foe->node)->formals; | - | ||||||||||||
| 102 | changedSignalParameters << parameters; | - | ||||||||||||
| 103 | - | |||||||||||||
| 104 | if (parameters
| 4-6 | ||||||||||||
| 105 | const QStringList formals = parameters->formals(); | - | ||||||||||||
| 106 | for (const QString &arg : formals) | - | ||||||||||||
| 107 | stringTable.registerString(arg); executed 4 times by 1 test: stringTable.registerString(arg);Executed by:
| 4 | ||||||||||||
| 108 | } executed 4 times by 1 test: end of blockExecuted by:
| 4 | ||||||||||||
| 109 | } executed 10 times by 1 test: end of blockExecuted by:
| 10 | ||||||||||||
| 110 | } executed 38 times by 1 test: end of blockExecuted by:
| 38 | ||||||||||||
| 111 | - | |||||||||||||
| 112 | QVector<quint32> signalParameterNameTable; | - | ||||||||||||
| 113 | quint32 signalParameterNameTableOffset = jsUnit->unitSize; | - | ||||||||||||
| 114 | - | |||||||||||||
| 115 | - | |||||||||||||
| 116 | if (!changedSignals.isEmpty()
| 8-16 | ||||||||||||
| 117 | if (jsUnit == compilationUnit->data
| 0-8 | ||||||||||||
| 118 | char *unitCopy = (char*)malloc(jsUnit->unitSize); | - | ||||||||||||
| 119 | memcpy(unitCopy, jsUnit, jsUnit->unitSize); | - | ||||||||||||
| 120 | jsUnit = reinterpret_cast<QV4::CompiledData::Unit*>(unitCopy); | - | ||||||||||||
| 121 | } never executed: end of block | 0 | ||||||||||||
| 122 | - | |||||||||||||
| 123 | for (int i = 0; i < changedSignals.count()
| 8-10 | ||||||||||||
| 124 | const uint functionIndex = changedSignals.at(i); | - | ||||||||||||
| 125 | - | |||||||||||||
| 126 | QV4::CompiledData::Function *function = const_cast<QV4::CompiledData::Function *>(jsUnit->functionAt(functionIndex)); | - | ||||||||||||
| 127 | ((function->nFormals == quint32(0)) ? static_cast<void>(0) : qt_assert("function->nFormals == quint32(0)", __FILE__, 528)); | - | ||||||||||||
| 128 | - | |||||||||||||
| 129 | function->formalsOffset = signalParameterNameTableOffset - jsUnit->functionOffsetTable()[functionIndex]; | - | ||||||||||||
| 130 | - | |||||||||||||
| 131 | if (QQmlJS::AST::FormalParameterList *parameters = changedSignalParameters.at(i)
| 4-6 | ||||||||||||
| 132 | const QStringList formals = parameters->formals(); | - | ||||||||||||
| 133 | for (const QString &arg : formals) | - | ||||||||||||
| 134 | signalParameterNameTable.append(stringTable.getStringId(arg)); executed 4 times by 1 test: signalParameterNameTable.append(stringTable.getStringId(arg));Executed by:
| 4 | ||||||||||||
| 135 | - | |||||||||||||
| 136 | function->nFormals = formals.size(); | - | ||||||||||||
| 137 | } executed 4 times by 1 test: end of blockExecuted by:
| 4 | ||||||||||||
| 138 | function->length = function->nFormals; | - | ||||||||||||
| 139 | - | |||||||||||||
| 140 | signalParameterNameTableOffset += function->nFormals * sizeof(quint32); | - | ||||||||||||
| 141 | } executed 10 times by 1 test: end of blockExecuted by:
| 10 | ||||||||||||
| 142 | } executed 8 times by 1 test: end of blockExecuted by:
| 8 | ||||||||||||
| 143 | - | |||||||||||||
| 144 | if (!signalParameterNameTable.isEmpty()
| 4-20 | ||||||||||||
| 145 | ensureWritableUnit(); | - | ||||||||||||
| 146 | ((jsUnit != compilationUnit->data) ? static_cast<void>(0) : qt_assert("jsUnit != compilationUnit->data", __FILE__, 547)); | - | ||||||||||||
| 147 | const uint signalParameterTableSize = signalParameterNameTable.count() * sizeof(quint32); | - | ||||||||||||
| 148 | uint newSize = jsUnit->unitSize + signalParameterTableSize; | - | ||||||||||||
| 149 | const uint oldSize = jsUnit->unitSize; | - | ||||||||||||
| 150 | char *unitWithSignalParameters = (char*)realloc(jsUnit, newSize); | - | ||||||||||||
| 151 | memcpy(unitWithSignalParameters + oldSize, signalParameterNameTable.constData(), signalParameterTableSize); | - | ||||||||||||
| 152 | jsUnit = reinterpret_cast<QV4::CompiledData::Unit*>(unitWithSignalParameters); | - | ||||||||||||
| 153 | jsUnit->unitSize = newSize; | - | ||||||||||||
| 154 | } executed 4 times by 1 test: end of blockExecuted by:
| 4 | ||||||||||||
| 155 | - | |||||||||||||
| 156 | if (jsUnit != compilationUnit->data
| 0-24 | ||||||||||||
| 157 | jsUnit->flags &= ~QV4::CompiledData::Unit::StaticData; executed 24 times by 1 test: jsUnit->flags &= ~QV4::CompiledData::Unit::StaticData;Executed by:
| 24 | ||||||||||||
| 158 | - | |||||||||||||
| 159 | return executed 24 times by 1 test: jsUnit;return jsUnit;Executed by:
executed 24 times by 1 test: return jsUnit;Executed by:
| 24 | ||||||||||||
| 160 | } | - | ||||||||||||
| 161 | - | |||||||||||||
| 162 | QString Binding::valueAsString(const Unit *unit) const | - | ||||||||||||
| 163 | { | - | ||||||||||||
| 164 | switch (type) { | - | ||||||||||||
| 165 | case executed 4414 times by 19 tests: Type_Script:case Type_Script:Executed by:
executed 4414 times by 19 tests: case Type_Script:Executed by:
| 4414 | ||||||||||||
| 166 | case executed 272438 times by 118 tests: Type_String:case Type_String:Executed by:
executed 272438 times by 118 tests: case Type_String:Executed by:
| 272438 | ||||||||||||
| 167 | return executed 276852 times by 120 tests: unit->stringAt(stringIndex);return unit->stringAt(stringIndex);Executed by:
executed 276852 times by 120 tests: return unit->stringAt(stringIndex);Executed by:
| 276852 | ||||||||||||
| 168 | case never executed: Type_Boolean:case Type_Boolean:never executed: case Type_Boolean: | 0 | ||||||||||||
| 169 | return never executed: value.b ? ([]() noexcept -> QString { enum { Size = sizeof(u"" "true")/2 - 1 }; static const QStaticStringData<Size> qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" "true" }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); returnreturn value.b ? ([]() noexcept -> QString { enum { Size = sizeof(u"" "true")/2 - 1 }; static const QStaticStringData<Size> qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" "true" }; QStringDataPtr holder = { qstring_literal.data_p...static const QStaticStringData<Size> qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" "false" }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }());never executed: qstring_literal_temp;return qstring_literal_temp;never executed: }()) : ([]() noexcept -> QString { enum { Size = sizeof(u"" "false")/2 - 1 }; static const QStaticStringData<Size> qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" "false" }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); returnreturn qstring_literal_temp;never executed: qstring_literal_temp;return qstring_literal_temp;never executed: }());return qstring_literal_temp;never executed: return value.b ? ([]() noexcept -> QString { enum { Size = sizeof(u"" "true")/2 - 1 }; static const QStaticStringData<Size> qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" "true" }; QStringDataPtr holder = { qstring_literal.data_p...static const QStaticStringData<Size> qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" "false" }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }()); | 0 | ||||||||||||
| 170 | case executed 184 times by 4 tests: Type_Number:case Type_Number:Executed by:
executed 184 times by 4 tests: case Type_Number:Executed by:
| 184 | ||||||||||||
| 171 | return executed 184 times by 4 tests: QString::number(valueAsNumber());return QString::number(valueAsNumber());Executed by:
executed 184 times by 4 tests: return QString::number(valueAsNumber());Executed by:
| 184 | ||||||||||||
| 172 | case never executed: Type_Invalid:case Type_Invalid:never executed: case Type_Invalid: | 0 | ||||||||||||
| 173 | return never executed: QString();return QString();never executed: return QString(); | 0 | ||||||||||||
| 174 | - | |||||||||||||
| 175 | - | |||||||||||||
| 176 | - | |||||||||||||
| 177 | - | |||||||||||||
| 178 | - | |||||||||||||
| 179 | case executed 8 times by 3 tests: Type_TranslationById:case Type_TranslationById:Executed by:
executed 8 times by 3 tests: {case Type_TranslationById:Executed by:
| 8 | ||||||||||||
| 180 | QByteArray id = unit->stringAt(stringIndex).toUtf8(); | - | ||||||||||||
| 181 | return executed 8 times by 3 tests: qtTrId(id.constData(), value.translationData.number);return qtTrId(id.constData(), value.translationData.number);Executed by:
executed 8 times by 3 tests: return qtTrId(id.constData(), value.translationData.number);Executed by:
| 8 | ||||||||||||
| 182 | } | - | ||||||||||||
| 183 | case executed 42 times by 7 tests: Type_Translation:case Type_Translation:Executed by:
executed 42 times by 7 tests: {case Type_Translation:Executed by:
| 42 | ||||||||||||
| 184 | - | |||||||||||||
| 185 | const QString &path = unit->stringAt(unit->sourceFileIndex); | - | ||||||||||||
| 186 | int lastSlash = path.lastIndexOf(QLatin1Char('/')); | - | ||||||||||||
| 187 | QStringRef context = (
| 2-40 | ||||||||||||
| 188 | : QStringRef(); | - | ||||||||||||
| 189 | QByteArray contextUtf8 = context.toUtf8(); | - | ||||||||||||
| 190 | QByteArray comment = unit->stringAt(value.translationData.commentIndex).toUtf8(); | - | ||||||||||||
| 191 | QByteArray text = unit->stringAt(stringIndex).toUtf8(); | - | ||||||||||||
| 192 | return executed 42 times by 7 tests: QCoreApplication::translate(contextUtf8.constData(), text.constData(),return QCoreApplication::translate(contextUtf8.constData(), text.constData(), comment.constData(), value.translationData.number);Executed by:
executed 42 times by 7 tests: return QCoreApplication::translate(contextUtf8.constData(), text.constData(), comment.constData(), value.translationData.number);Executed by:
| 42 | ||||||||||||
| 193 | comment.constData(), value.translationData.number); executed 42 times by 7 tests: return QCoreApplication::translate(contextUtf8.constData(), text.constData(), comment.constData(), value.translationData.number);Executed by:
| 42 | ||||||||||||
| 194 | } | - | ||||||||||||
| 195 | - | |||||||||||||
| 196 | default never executed: :default:never executed: default: | 0 | ||||||||||||
| 197 | break; never executed: break; | 0 | ||||||||||||
| 198 | } | - | ||||||||||||
| 199 | return never executed: QString();return QString();never executed: return QString(); | 0 | ||||||||||||
| 200 | } | - | ||||||||||||
| 201 | - | |||||||||||||
| 202 | - | |||||||||||||
| 203 | QString Binding::escapedString(const QString &string) | - | ||||||||||||
| 204 | { | - | ||||||||||||
| 205 | QString tmp = QLatin1String("\""); | - | ||||||||||||
| 206 | for (int i = 0; i < string.length()
| 0 | ||||||||||||
| 207 | const QChar &c = string.at(i); | - | ||||||||||||
| 208 | switch (c.unicode()) { | - | ||||||||||||
| 209 | case never executed: 0x08:case 0x08:never executed: case 0x08: | 0 | ||||||||||||
| 210 | tmp += QLatin1String("\\b"); | - | ||||||||||||
| 211 | break; never executed: break; | 0 | ||||||||||||
| 212 | case never executed: 0x09:case 0x09:never executed: case 0x09: | 0 | ||||||||||||
| 213 | tmp += QLatin1String("\\t"); | - | ||||||||||||
| 214 | break; never executed: break; | 0 | ||||||||||||
| 215 | case never executed: 0x0A:case 0x0A:never executed: case 0x0A: | 0 | ||||||||||||
| 216 | tmp += QLatin1String("\\n"); | - | ||||||||||||
| 217 | break; never executed: break; | 0 | ||||||||||||
| 218 | case never executed: 0x0B:case 0x0B:never executed: case 0x0B: | 0 | ||||||||||||
| 219 | tmp += QLatin1String("\\v"); | - | ||||||||||||
| 220 | break; never executed: break; | 0 | ||||||||||||
| 221 | case never executed: 0x0C:case 0x0C:never executed: case 0x0C: | 0 | ||||||||||||
| 222 | tmp += QLatin1String("\\f"); | - | ||||||||||||
| 223 | break; never executed: break; | 0 | ||||||||||||
| 224 | case never executed: 0x0D:case 0x0D:never executed: case 0x0D: | 0 | ||||||||||||
| 225 | tmp += QLatin1String("\\r"); | - | ||||||||||||
| 226 | break; never executed: break; | 0 | ||||||||||||
| 227 | case never executed: 0x22:case 0x22:never executed: case 0x22: | 0 | ||||||||||||
| 228 | tmp += QLatin1String("\\\""); | - | ||||||||||||
| 229 | break; never executed: break; | 0 | ||||||||||||
| 230 | case never executed: 0x27:case 0x27:never executed: case 0x27: | 0 | ||||||||||||
| 231 | tmp += QLatin1String("\\\'"); | - | ||||||||||||
| 232 | break; never executed: break; | 0 | ||||||||||||
| 233 | case never executed: 0x5C:case 0x5C:never executed: case 0x5C: | 0 | ||||||||||||
| 234 | tmp += QLatin1String("\\\\"); | - | ||||||||||||
| 235 | break; never executed: break; | 0 | ||||||||||||
| 236 | default never executed: :default:never executed: default: | 0 | ||||||||||||
| 237 | tmp += c; | - | ||||||||||||
| 238 | break; never executed: break; | 0 | ||||||||||||
| 239 | } | - | ||||||||||||
| 240 | } | - | ||||||||||||
| 241 | tmp += QLatin1Char('\"'); | - | ||||||||||||
| 242 | return never executed: tmp;return tmp;never executed: return tmp; | 0 | ||||||||||||
| 243 | } | - | ||||||||||||
| 244 | - | |||||||||||||
| 245 | QString Binding::valueAsScriptString(const Unit *unit) const | - | ||||||||||||
| 246 | { | - | ||||||||||||
| 247 | if (type == Type_String
| 0-4532 | ||||||||||||
| 248 | return never executed: escapedString(unit->stringAt(stringIndex));return escapedString(unit->stringAt(stringIndex));never executed: return escapedString(unit->stringAt(stringIndex)); | 0 | ||||||||||||
| 249 | else | - | ||||||||||||
| 250 | return executed 4532 times by 14 tests: valueAsString(unit);return valueAsString(unit);Executed by:
executed 4532 times by 14 tests: return valueAsString(unit);Executed by:
| 4532 | ||||||||||||
| 251 | } | - | ||||||||||||
| 252 | void CompilationUnit::destroy() | - | ||||||||||||
| 253 | { | - | ||||||||||||
| 254 | - | |||||||||||||
| 255 | - | |||||||||||||
| 256 | - | |||||||||||||
| 257 | - | |||||||||||||
| 258 | - | |||||||||||||
| 259 | delete this; | - | ||||||||||||
| 260 | } executed 10 times by 1 test: end of blockExecuted by:
| 10 | ||||||||||||
| 261 | - | |||||||||||||
| 262 | - | |||||||||||||
| 263 | void Unit::generateChecksum() | - | ||||||||||||
| 264 | { | - | ||||||||||||
| 265 | memset(md5Checksum, 0, sizeof(md5Checksum)); | - | ||||||||||||
| 266 | - | |||||||||||||
| 267 | } executed 2383537 times by 146 tests: end of blockExecuted by:
| 2383537 | ||||||||||||
| 268 | - | |||||||||||||
| 269 | bool Unit::verifyHeader(QDateTime expectedSourceTimeStamp, QString *errorString) const | - | ||||||||||||
| 270 | { | - | ||||||||||||
| 271 | (void)expectedSourceTimeStamp; | - | ||||||||||||
| 272 | (void)errorString; | - | ||||||||||||
| 273 | return never executed: false;return false;never executed: return false; | 0 | ||||||||||||
| 274 | - | |||||||||||||
| 275 | } | - | ||||||||||||
| 276 | - | |||||||||||||
| 277 | } | - | ||||||||||||
| 278 | - | |||||||||||||
| 279 | } | - | ||||||||||||
| 280 | - | |||||||||||||
| 281 | - | |||||||||||||
| Switch to Source code | Preprocessed file |