Classes

Bubble size = executable lines. Hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 50 100 150 200 Line Coverage (%) Cyclomatic Complexity Phpdftk\Pdf\Core\File\PdfFileWriter — Coverage: 90.1% | Lines: 577 | Complexity: 149 Phpdftk\Pdf\Core\File\PdfHydrator — Coverage: 75.9% | Lines: 423 | Complexity: 129 Phpdftk\Pdf\Core\File\IncrementalWriter — Coverage: 91.6% | Lines: 250 | Complexity: 86 Phpdftk\Pdf\Core\File\VersionRequirementResolver — Coverage: 100.0% | Lines: 57 | Complexity: 25 Phpdftk\Pdf\Core\File\BitWriter — Coverage: 96.2% | Lines: 26 | Complexity: 10 Phpdftk\Pdf\Core\File\TrailerDictionary — Coverage: 100.0% | Lines: 13 | Complexity: 6 Phpdftk\Pdf\Core\File\CrossReferenceTable — Coverage: 100.0% | Lines: 9 | Complexity: 4 Phpdftk\Pdf\Core\File\DeprecatedFeatureException — Coverage: 100.0% | Lines: 9 | Complexity: 2 Phpdftk\Pdf\Core\File\VersionRequirementException — Coverage: 100.0% | Lines: 9 | Complexity: 1 Phpdftk\Pdf\Core\File\CeilingVersionException — Coverage: 100.0% | Lines: 7 | Complexity: 1 Phpdftk\Pdf\Core\File\ObjectRegistry — Coverage: 100.0% | Lines: 7 | Complexity: 3

Methods

Bubble size = executable lines. Hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 10 20 30 40 50 Line Coverage (%) Cyclomatic Complexity Phpdftk\Pdf\Core\File\PdfFileWriter::generateLinearized — Coverage: 95.5% | Lines: 179 | Complexity: 23 Phpdftk\Pdf\Core\File\PdfHydrator::getOverrides — Coverage: 51.9% | Lines: 158 | Complexity: 34 Phpdftk\Pdf\Core\File\PdfFileWriter::generate — Coverage: 96.2% | Lines: 133 | Complexity: 42 Phpdftk\Pdf\Core\File\PdfHydrator::registerDefaults — Coverage: 100.0% | Lines: 126 | Complexity: 6 Phpdftk\Pdf\Core\File\IncrementalWriter::generate — Coverage: 95.7% | Lines: 117 | Complexity: 38 Phpdftk\Pdf\Core\File\PdfFileWriter::applySignature — Coverage: 73.9% | Lines: 46 | Complexity: 7 Phpdftk\Pdf\Core\File\PdfHydrator::extractConstructorArg — Coverage: 52.3% | Lines: 44 | Complexity: 36 Phpdftk\Pdf\Core\File\IncrementalWriter::checkVersionRequirements — Coverage: 72.5% | Lines: 40 | Complexity: 12 Phpdftk\Pdf\Core\File\PdfFileWriter::applyCeilingStripping — Coverage: 56.4% | Lines: 39 | Complexity: 14 Phpdftk\Pdf\Core\File\PdfFileWriter::checkVersionRequirements — Coverage: 70.3% | Lines: 37 | Complexity: 12 Phpdftk\Pdf\Core\File\IncrementalWriter::fromReader — Coverage: 92.6% | Lines: 27 | Complexity: 6 Phpdftk\Pdf\Core\File\IncrementalWriter::buildIncrementalXref — Coverage: 100.0% | Lines: 26 | Complexity: 9 Phpdftk\Pdf\Core\File\PdfHydrator::hydrate — Coverage: 100.0% | Lines: 25 | Complexity: 13 Phpdftk\Pdf\Core\File\PdfHydrator::construct — Coverage: 84.0% | Lines: 25 | Complexity: 10 Phpdftk\Pdf\Core\File\VersionRequirementResolver::getEffectiveRequirement — Coverage: 100.0% | Lines: 19 | Complexity: 8 Phpdftk\Pdf\Core\File\PdfHydrator::getKeyMap — Coverage: 100.0% | Lines: 17 | Complexity: 8 Phpdftk\Pdf\Core\File\PdfHydrator::coerce — Coverage: 93.8% | Lines: 16 | Complexity: 12 Phpdftk\Pdf\Core\File\PdfFileWriter::buildMinimalHintStream — Coverage: 100.0% | Lines: 14 | Complexity: 1 Phpdftk\Pdf\Core\File\PdfFileWriter::setSigner — Coverage: 100.0% | Lines: 13 | Complexity: 1 Phpdftk\Pdf\Core\File\PdfFileWriter::setTimestamper — Coverage: 100.0% | Lines: 13 | Complexity: 1 Phpdftk\Pdf\Core\File\TrailerDictionary::toPdf — Coverage: 100.0% | Lines: 12 | Complexity: 5 Phpdftk\Pdf\Core\File\VersionRequirementResolver::getClassRequirement — Coverage: 100.0% | Lines: 12 | Complexity: 6 Phpdftk\Pdf\Core\File\VersionRequirementResolver::getDeprecation — Coverage: 100.0% | Lines: 12 | Complexity: 5 Phpdftk\Pdf\Core\File\PdfFileWriter::emitPaddedLinearizationDict — Coverage: 100.0% | Lines: 11 | Complexity: 1 Phpdftk\Pdf\Core\File\VersionRequirementResolver::stripIncompatibleProperties — Coverage: 100.0% | Lines: 11 | Complexity: 5 Phpdftk\Pdf\Core\File\BitWriter::writeBits — Coverage: 90.0% | Lines: 10 | Complexity: 4 Phpdftk\Pdf\Core\File\DeprecatedFeatureException::__construct — Coverage: 100.0% | Lines: 9 | Complexity: 2 Phpdftk\Pdf\Core\File\IncrementalWriter::findStartxrefOffset — Coverage: 77.8% | Lines: 9 | Complexity: 3 Phpdftk\Pdf\Core\File\PdfFileWriter::writeTo — Coverage: 88.9% | Lines: 9 | Complexity: 3 Phpdftk\Pdf\Core\File\PdfFileWriter::applyStreamCompression — Coverage: 100.0% | Lines: 9 | Complexity: 5 Phpdftk\Pdf\Core\File\PdfFileWriter::applyVersionRequirement — Coverage: 100.0% | Lines: 9 | Complexity: 3 Phpdftk\Pdf\Core\File\VersionRequirementException::__construct — Coverage: 100.0% | Lines: 9 | Complexity: 1 Phpdftk\Pdf\Core\File\PdfFileWriter::setEncryption — Coverage: 100.0% | Lines: 8 | Complexity: 3 Phpdftk\Pdf\Core\File\CeilingVersionException::__construct — Coverage: 100.0% | Lines: 7 | Complexity: 1 Phpdftk\Pdf\Core\File\CrossReferenceTable::build — Coverage: 100.0% | Lines: 7 | Complexity: 2 Phpdftk\Pdf\Core\File\PdfFileWriter::__construct — Coverage: 100.0% | Lines: 7 | Complexity: 3 Phpdftk\Pdf\Core\File\PdfFileWriter::patchHintArray — Coverage: 85.7% | Lines: 7 | Complexity: 2 Phpdftk\Pdf\Core\File\BitWriter::getData — Coverage: 100.0% | Lines: 6 | Complexity: 2 Phpdftk\Pdf\Core\File\IncrementalWriter::addModifiedObject — Coverage: 100.0% | Lines: 6 | Complexity: 2 Phpdftk\Pdf\Core\File\IncrementalWriter::addNewObject — Coverage: 100.0% | Lines: 6 | Complexity: 1 Phpdftk\Pdf\Core\File\PdfFileWriter::enforceRemoval — Coverage: 83.3% | Lines: 6 | Complexity: 5 Phpdftk\Pdf\Core\File\BitWriter::alignToByte — Coverage: 100.0% | Lines: 5 | Complexity: 2 Phpdftk\Pdf\Core\File\ObjectRegistry::register — Coverage: 100.0% | Lines: 5 | Complexity: 1 Phpdftk\Pdf\Core\File\PdfFileWriter::patchPaddedNumber — Coverage: 80.0% | Lines: 5 | Complexity: 2 Phpdftk\Pdf\Core\File\PdfHydrator::resolveClass — Coverage: 100.0% | Lines: 5 | Complexity: 4 Phpdftk\Pdf\Core\File\BitWriter::writeUint32 — Coverage: 100.0% | Lines: 4 | Complexity: 1 Phpdftk\Pdf\Core\File\IncrementalWriter::__construct — Coverage: 100.0% | Lines: 4 | Complexity: 1 Phpdftk\Pdf\Core\File\IncrementalWriter::enforceRemoval — Coverage: 75.0% | Lines: 4 | Complexity: 4 Phpdftk\Pdf\Core\File\PdfFileWriter::setCeilingVersion — Coverage: 100.0% | Lines: 4 | Complexity: 2 Phpdftk\Pdf\Core\File\PdfFileWriter::setCatalog — Coverage: 100.0% | Lines: 4 | Complexity: 1 Phpdftk\Pdf\Core\File\PdfFileWriter::setInfo — Coverage: 100.0% | Lines: 4 | Complexity: 2 Phpdftk\Pdf\Core\File\PdfHydrator::resolveActionClass — Coverage: 100.0% | Lines: 4 | Complexity: 3 Phpdftk\Pdf\Core\File\IncrementalWriter::deleteObject — Coverage: 100.0% | Lines: 3 | Complexity: 2 Phpdftk\Pdf\Core\File\PdfFileWriter::setVersion — Coverage: 100.0% | Lines: 3 | Complexity: 2 Phpdftk\Pdf\Core\File\PdfFileWriter::register — Coverage: 100.0% | Lines: 3 | Complexity: 1 Phpdftk\Pdf\Core\File\VersionRequirementResolver::clearCache — Coverage: 100.0% | Lines: 3 | Complexity: 1 Phpdftk\Pdf\Core\File\PdfFileWriter::save — Coverage: 100.0% | Lines: 2 | Complexity: 1 Phpdftk\Pdf\Core\File\BitWriter::getBitPosition — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\File\CrossReferenceTable::add — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\File\CrossReferenceTable::getEntries — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\File\IncrementalWriter::setEncryption — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\File\IncrementalWriter::getPdfVersion — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\File\IncrementalWriter::wasVersionBumped — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\File\IncrementalWriter::setStrictVersionMode — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\File\IncrementalWriter::setDeprecationHandler — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\File\IncrementalWriter::setStrictDeprecation — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\File\IncrementalWriter::getVersionWarnings — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\File\IncrementalWriter::save — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\File\ObjectRegistry::getAll — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\File\ObjectRegistry::getSize — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\File\PdfFileWriter::setCompressStreams — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\File\PdfFileWriter::getRegistry — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\File\PdfFileWriter::getVersion — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\File\PdfFileWriter::getPdfVersion — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\File\PdfFileWriter::setStrictVersionMode — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\File\PdfFileWriter::setDeprecationHandler — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\File\PdfFileWriter::setStrictDeprecation — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\File\PdfFileWriter::getVersionWarnings — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\File\PdfFileWriter::getInfo — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\File\PdfFileWriter::setTsaClient — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\File\PdfFileWriter::buildSubsectionXref — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\File\PdfFileWriter::toBytes — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\File\PdfHydrator::registerType — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\File\PdfHydrator::registerSubtype — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\File\PdfHydrator::registerActionType — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\Pdf\Core\File\TrailerDictionary::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1

 

Sorted by descending CRAP (Change Risk Anti-Patterns) index.

Method CRAP Coverage
Phpdftk\Pdf\Core\File\PdfHydrator::extractConstructorArg176.9052.3%
Phpdftk\Pdf\Core\File\PdfHydrator::getOverrides162.6651.9%
Phpdftk\Pdf\Core\File\PdfFileWriter::generate4296.2%
Phpdftk\Pdf\Core\File\IncrementalWriter::generate3895.7%
Phpdftk\Pdf\Core\File\PdfFileWriter::applyCeilingStripping30.2356.4%
Phpdftk\Pdf\Core\File\PdfFileWriter::generateLinearized2395.5%
Phpdftk\Pdf\Core\File\PdfFileWriter::checkVersionRequirements15.7870.3%
Phpdftk\Pdf\Core\File\IncrementalWriter::checkVersionRequirements14.9972.5%
Phpdftk\Pdf\Core\File\PdfHydrator::hydrate13100.0%
Phpdftk\Pdf\Core\File\PdfHydrator::coerce12.0493.8%
Phpdftk\Pdf\Core\File\PdfHydrator::construct10.4184.0%
Phpdftk\Pdf\Core\File\IncrementalWriter::buildIncrementalXref9100.0%
Phpdftk\Pdf\Core\File\PdfHydrator::getKeyMap8100.0%
Phpdftk\Pdf\Core\File\VersionRequirementResolver::getEffectiveRequirement8100.0%
Phpdftk\Pdf\Core\File\PdfFileWriter::applySignature7.8773.9%
Phpdftk\Pdf\Core\File\IncrementalWriter::fromReader6.0192.6%
Phpdftk\Pdf\Core\File\PdfHydrator::registerDefaults6100.0%
Phpdftk\Pdf\Core\File\VersionRequirementResolver::getClassRequirement6100.0%
Phpdftk\Pdf\Core\File\PdfFileWriter::enforceRemoval5.1283.3%
Phpdftk\Pdf\Core\File\PdfFileWriter::applyStreamCompression5100.0%
Phpdftk\Pdf\Core\File\TrailerDictionary::toPdf5100.0%
Phpdftk\Pdf\Core\File\VersionRequirementResolver::getDeprecation5100.0%
Phpdftk\Pdf\Core\File\VersionRequirementResolver::stripIncompatibleProperties5100.0%
Phpdftk\Pdf\Core\File\IncrementalWriter::enforceRemoval4.2575.0%
Phpdftk\Pdf\Core\File\BitWriter::writeBits4.0290.0%
Phpdftk\Pdf\Core\File\PdfHydrator::resolveClass4100.0%
Phpdftk\Pdf\Core\File\IncrementalWriter::findStartxrefOffset3.1077.8%
Phpdftk\Pdf\Core\File\PdfFileWriter::writeTo3.0188.9%
Phpdftk\Pdf\Core\File\PdfFileWriter::__construct3100.0%
Phpdftk\Pdf\Core\File\PdfFileWriter::setEncryption3100.0%
Phpdftk\Pdf\Core\File\PdfFileWriter::applyVersionRequirement3100.0%
Phpdftk\Pdf\Core\File\PdfHydrator::resolveActionClass3100.0%
Phpdftk\Pdf\Core\File\PdfFileWriter::patchPaddedNumber2.0380.0%
Phpdftk\Pdf\Core\File\PdfFileWriter::patchHintArray2.0185.7%
Phpdftk\Pdf\Core\File\BitWriter::alignToByte2100.0%
Phpdftk\Pdf\Core\File\BitWriter::getData2100.0%
Phpdftk\Pdf\Core\File\CrossReferenceTable::build2100.0%
Phpdftk\Pdf\Core\File\DeprecatedFeatureException::__construct2100.0%
Phpdftk\Pdf\Core\File\IncrementalWriter::addModifiedObject2100.0%
Phpdftk\Pdf\Core\File\IncrementalWriter::deleteObject2100.0%
Phpdftk\Pdf\Core\File\PdfFileWriter::setVersion2100.0%
Phpdftk\Pdf\Core\File\PdfFileWriter::setCeilingVersion2100.0%
Phpdftk\Pdf\Core\File\PdfFileWriter::setInfo2100.0%
Phpdftk\Pdf\Core\File\BitWriter::writeUint321100.0%
Phpdftk\Pdf\Core\File\BitWriter::getBitPosition1100.0%
Phpdftk\Pdf\Core\File\CeilingVersionException::__construct1100.0%
Phpdftk\Pdf\Core\File\CrossReferenceTable::add1100.0%
Phpdftk\Pdf\Core\File\CrossReferenceTable::getEntries1100.0%
Phpdftk\Pdf\Core\File\IncrementalWriter::__construct1100.0%
Phpdftk\Pdf\Core\File\IncrementalWriter::setEncryption1100.0%
Phpdftk\Pdf\Core\File\IncrementalWriter::getPdfVersion1100.0%
Phpdftk\Pdf\Core\File\IncrementalWriter::wasVersionBumped1100.0%
Phpdftk\Pdf\Core\File\IncrementalWriter::setStrictVersionMode1100.0%
Phpdftk\Pdf\Core\File\IncrementalWriter::setDeprecationHandler1100.0%
Phpdftk\Pdf\Core\File\IncrementalWriter::setStrictDeprecation1100.0%
Phpdftk\Pdf\Core\File\IncrementalWriter::getVersionWarnings1100.0%
Phpdftk\Pdf\Core\File\IncrementalWriter::addNewObject1100.0%
Phpdftk\Pdf\Core\File\IncrementalWriter::save1100.0%
Phpdftk\Pdf\Core\File\ObjectRegistry::register1100.0%
Phpdftk\Pdf\Core\File\ObjectRegistry::getAll1100.0%
Phpdftk\Pdf\Core\File\ObjectRegistry::getSize1100.0%
Phpdftk\Pdf\Core\File\PdfFileWriter::setCompressStreams1100.0%
Phpdftk\Pdf\Core\File\PdfFileWriter::getRegistry1100.0%
Phpdftk\Pdf\Core\File\PdfFileWriter::getVersion1100.0%
Phpdftk\Pdf\Core\File\PdfFileWriter::getPdfVersion1100.0%
Phpdftk\Pdf\Core\File\PdfFileWriter::setStrictVersionMode1100.0%
Phpdftk\Pdf\Core\File\PdfFileWriter::setDeprecationHandler1100.0%
Phpdftk\Pdf\Core\File\PdfFileWriter::setStrictDeprecation1100.0%
Phpdftk\Pdf\Core\File\PdfFileWriter::getVersionWarnings1100.0%
Phpdftk\Pdf\Core\File\PdfFileWriter::setCatalog1100.0%
Phpdftk\Pdf\Core\File\PdfFileWriter::getInfo1100.0%
Phpdftk\Pdf\Core\File\PdfFileWriter::register1100.0%
Phpdftk\Pdf\Core\File\PdfFileWriter::setSigner1100.0%
Phpdftk\Pdf\Core\File\PdfFileWriter::setTimestamper1100.0%
Phpdftk\Pdf\Core\File\PdfFileWriter::setTsaClient1100.0%
Phpdftk\Pdf\Core\File\PdfFileWriter::emitPaddedLinearizationDict1100.0%
Phpdftk\Pdf\Core\File\PdfFileWriter::buildMinimalHintStream1100.0%
Phpdftk\Pdf\Core\File\PdfFileWriter::buildSubsectionXref1100.0%
Phpdftk\Pdf\Core\File\PdfFileWriter::toBytes1100.0%
Phpdftk\Pdf\Core\File\PdfFileWriter::save1100.0%
Phpdftk\Pdf\Core\File\PdfHydrator::registerType1100.0%
Phpdftk\Pdf\Core\File\PdfHydrator::registerSubtype1100.0%
Phpdftk\Pdf\Core\File\PdfHydrator::registerActionType1100.0%
Phpdftk\Pdf\Core\File\TrailerDictionary::__construct1100.0%
Phpdftk\Pdf\Core\File\VersionRequirementException::__construct1100.0%
Phpdftk\Pdf\Core\File\VersionRequirementResolver::clearCache1100.0%