Classes

Line coverage against cyclomatic complexity. Bubble size is the number of executable lines; hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 10 20 30 40 50 Line Coverage (%) Cyclomatic Complexity Stewart\Codegen\Snapshot\SnapshotCodec — Coverage: 100.0% | Lines: 81 | Complexity: 27 Stewart\Codegen\Emitter\Entity\EntityHandleEmitter — Coverage: 97.4% | Lines: 76 | Complexity: 9 Stewart\Codegen\Console\GenerateCommand — Coverage: 100.0% | Lines: 68 | Complexity: 28 Stewart\Codegen\Model\GenerationModelFactory — Coverage: 98.4% | Lines: 62 | Complexity: 13 Stewart\Codegen\Output\OutputDirectory — Coverage: 90.9% | Lines: 55 | Complexity: 38 Stewart\Codegen\Emitter\Service\ServiceMethodEmitter — Coverage: 100.0% | Lines: 49 | Complexity: 29 Stewart\Codegen\Emitter\PhpStormMetaEmitter — Coverage: 97.6% | Lines: 42 | Complexity: 7 Stewart\Codegen\Service\ServiceCatalogParser — Coverage: 100.0% | Lines: 42 | Complexity: 9 Stewart\Codegen\Emitter\Entity\EntityStateEmitter — Coverage: 100.0% | Lines: 37 | Complexity: 8 Stewart\Codegen\Emitter\Service\DomainServicesEmitter — Coverage: 96.7% | Lines: 30 | Complexity: 15 Stewart\Codegen\Service\ServiceSelector — Coverage: 100.0% | Lines: 25 | Complexity: 15 Stewart\Codegen\Snapshot\RawMap — Coverage: 79.2% | Lines: 24 | Complexity: 21 Stewart\Codegen\Emitter\Entity\DomainEntitiesEmitter — Coverage: 100.0% | Lines: 21 | Complexity: 2 Stewart\Codegen\Attribute\AttributeKind — Coverage: 100.0% | Lines: 19 | Complexity: 21 Stewart\Codegen\Emitter\ManifestEmitter — Coverage: 100.0% | Lines: 19 | Complexity: 1 Stewart\Codegen\Emitter\RootEmitter — Coverage: 100.0% | Lines: 18 | Complexity: 4 Stewart\Codegen\Generator — Coverage: 100.0% | Lines: 17 | Complexity: 3 Stewart\Codegen\Snapshot\HaClientSnapshotFetcher — Coverage: 100.0% | Lines: 17 | Complexity: 5 Stewart\Codegen\Attribute\AttributeSelector — Coverage: 100.0% | Lines: 16 | Complexity: 10 Stewart\Codegen\Php\Identifier — Coverage: 93.8% | Lines: 16 | Complexity: 12 Stewart\Codegen\Output\GenerationReport — Coverage: 0.0% | Lines: 14 | Complexity: 2 Stewart\Codegen\Service\ServiceTargetSpec — Coverage: 92.9% | Lines: 14 | Complexity: 10 Stewart\Codegen\Php\IdentifierAllocator — Coverage: 100.0% | Lines: 13 | Complexity: 9 Stewart\Codegen\Snapshot\Snapshot — Coverage: 100.0% | Lines: 13 | Complexity: 2 Stewart\Codegen\Php\PhpType — Coverage: 100.0% | Lines: 12 | Complexity: 11 Stewart\Codegen\Service\FieldModel — Coverage: 0.0% | Lines: 12 | Complexity: 13 Stewart\Codegen\Emitter\EmitContext — Coverage: 100.0% | Lines: 11 | Complexity: 7 Stewart\Codegen\Emitter\SourceTree — Coverage: 90.9% | Lines: 11 | Complexity: 6 Stewart\Codegen\Attribute\AttributeKindInference — Coverage: 100.0% | Lines: 10 | Complexity: 5 Stewart\Codegen\Exception\CodegenError — Coverage: 0.0% | Lines: 10 | Complexity: 10 Stewart\Codegen\Entity\EntitySelector — Coverage: 100.0% | Lines: 9 | Complexity: 7 Stewart\Codegen\Model\DomainModel — Coverage: 0.0% | Lines: 9 | Complexity: 9 Stewart\Codegen\Console\GenerationOptionsFactory — Coverage: 0.0% | Lines: 8 | Complexity: 3 Stewart\Codegen\Entity\EntityInclusionRules — Coverage: 100.0% | Lines: 7 | Complexity: 7 Stewart\Codegen\Emitter\GeneratedCodePrinter — Coverage: 100.0% | Lines: 6 | Complexity: 4 Stewart\Codegen\Model\GenerationModel — Coverage: 0.0% | Lines: 6 | Complexity: 6 Stewart\Codegen\Attribute\KeyPatterns — Coverage: 100.0% | Lines: 5 | Complexity: 3 Stewart\Codegen\Emitter\EntitiesRootEmitter — Coverage: 100.0% | Lines: 5 | Complexity: 5 Stewart\Codegen\Emitter\ServicesRootEmitter — Coverage: 100.0% | Lines: 5 | Complexity: 5 Stewart\Codegen\Output\Collection\FileChangeCollection — Coverage: 100.0% | Lines: 5 | Complexity: 5 Stewart\Codegen\Php\MemberReservations — Coverage: 100.0% | Lines: 5 | Complexity: 3 Stewart\Codegen\Php\MemberScope — Coverage: 100.0% | Lines: 5 | Complexity: 5 Stewart\Codegen\Snapshot\SnapshotFileReader — Coverage: 100.0% | Lines: 5 | Complexity: 4 Stewart\Codegen\Model\DomainCatalog — Coverage: 100.0% | Lines: 4 | Complexity: 1 Stewart\Codegen\Service\ServiceCatalog — Coverage: 100.0% | Lines: 4 | Complexity: 4 Stewart\Codegen\Attribute\AttributeFilter — Coverage: 100.0% | Lines: 3 | Complexity: 3 Stewart\Codegen\GenerationOptions — Coverage: 100.0% | Lines: 3 | Complexity: 2 Stewart\Codegen\Model\Collection\DomainModelCollection — Coverage: 0.0% | Lines: 3 | Complexity: 3 Stewart\Codegen\Output\CheckResult — Coverage: 100.0% | Lines: 3 | Complexity: 3 Stewart\Codegen\Snapshot\SnapshotFileWriter — Coverage: 100.0% | Lines: 3 | Complexity: 3 Stewart\Codegen\Attribute\AttributeCatalog — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Codegen\Attribute\Collection\AttributeFilterCollection — Coverage: 0.0% | Lines: 2 | Complexity: 2 Stewart\Codegen\Attribute\UnseenAttribute — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Codegen\Entity\EntitySelection — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Codegen\Entity\UnmatchedEntitySelector — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Codegen\GenerationTarget — Coverage: 0.0% | Lines: 2 | Complexity: 2 Stewart\Codegen\Output\GeneratedFile — Coverage: 50.0% | Lines: 2 | Complexity: 2 Stewart\Codegen\Service\ServiceDefinition — Coverage: 100.0% | Lines: 2 | Complexity: 3 Stewart\Codegen\Attribute\AttributeModel — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Attribute\AttributeSelection — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Exception\CodegenException — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Model\DomainTraits — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Output\FileChange — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Output\FileOutcome — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Service\Collection\ServiceDefinitionCollection — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Service\ServiceField — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Service\ServiceModel — Coverage: 0.0% | Lines: 1 | Complexity: 1

Sorted by descending CRAP index.

Class CRAP Coverage
Stewart\Codegen\Service\FieldModel1820.0%
Stewart\Codegen\Exception\CodegenError1100.0%
Stewart\Codegen\Model\DomainModel900.0%
Stewart\Codegen\Model\GenerationModel420.0%
Stewart\Codegen\Output\OutputDirectory39.0890.9%
Stewart\Codegen\Emitter\Service\ServiceMethodEmitter29100.0%
Stewart\Codegen\Console\GenerateCommand28100.0%
Stewart\Codegen\Snapshot\SnapshotCodec27100.0%
Stewart\Codegen\Snapshot\RawMap24.9979.2%
Stewart\Codegen\Attribute\AttributeKind21100.0%
Stewart\Codegen\Emitter\Service\DomainServicesEmitter1596.7%
Stewart\Codegen\Service\ServiceSelector15100.0%
Stewart\Codegen\Model\GenerationModelFactory1398.4%
Stewart\Codegen\Php\Identifier12.0493.8%
Stewart\Codegen\Console\GenerationOptionsFactory120.0%
Stewart\Codegen\Model\Collection\DomainModelCollection120.0%
Stewart\Codegen\Php\PhpType11100.0%
Stewart\Codegen\Service\ServiceTargetSpec10.0492.9%
Stewart\Codegen\Attribute\AttributeSelector10100.0%
Stewart\Codegen\Emitter\Entity\EntityHandleEmitter997.4%
Stewart\Codegen\Php\IdentifierAllocator9100.0%
Stewart\Codegen\Service\ServiceCatalogParser9100.0%
Stewart\Codegen\Emitter\Entity\EntityStateEmitter8100.0%
Stewart\Codegen\Emitter\EmitContext7100.0%
Stewart\Codegen\Emitter\PhpStormMetaEmitter797.6%
Stewart\Codegen\Entity\EntityInclusionRules7100.0%
Stewart\Codegen\Entity\EntitySelector7100.0%
Stewart\Codegen\Emitter\SourceTree6.0390.9%
Stewart\Codegen\Attribute\Collection\AttributeFilterCollection60.0%
Stewart\Codegen\GenerationTarget60.0%
Stewart\Codegen\Output\GenerationReport60.0%
Stewart\Codegen\Attribute\AttributeKindInference5100.0%
Stewart\Codegen\Emitter\EntitiesRootEmitter5100.0%
Stewart\Codegen\Emitter\ServicesRootEmitter5100.0%
Stewart\Codegen\Output\Collection\FileChangeCollection5100.0%
Stewart\Codegen\Php\MemberScope5100.0%
Stewart\Codegen\Snapshot\HaClientSnapshotFetcher5100.0%
Stewart\Codegen\Emitter\GeneratedCodePrinter4100.0%
Stewart\Codegen\Emitter\RootEmitter4100.0%
Stewart\Codegen\Service\ServiceCatalog4100.0%
Stewart\Codegen\Snapshot\SnapshotFileReader4100.0%
Stewart\Codegen\Attribute\AttributeFilter3100.0%
Stewart\Codegen\Attribute\KeyPatterns3100.0%
Stewart\Codegen\Generator3100.0%
Stewart\Codegen\Output\CheckResult3100.0%
Stewart\Codegen\Php\MemberReservations3100.0%
Stewart\Codegen\Service\ServiceDefinition3100.0%
Stewart\Codegen\Snapshot\SnapshotFileWriter3100.0%
Stewart\Codegen\Output\GeneratedFile2.5050.0%
Stewart\Codegen\Attribute\AttributeCatalog2100.0%
Stewart\Codegen\Attribute\AttributeModel20.0%
Stewart\Codegen\Attribute\AttributeSelection20.0%
Stewart\Codegen\Attribute\UnseenAttribute2100.0%
Stewart\Codegen\Emitter\Entity\DomainEntitiesEmitter2100.0%
Stewart\Codegen\Entity\EntitySelection2100.0%
Stewart\Codegen\Entity\UnmatchedEntitySelector2100.0%
Stewart\Codegen\Exception\CodegenException20.0%
Stewart\Codegen\GenerationOptions2100.0%
Stewart\Codegen\Service\Collection\ServiceDefinitionCollection20.0%
Stewart\Codegen\Service\ServiceModel20.0%
Stewart\Codegen\Snapshot\Snapshot2100.0%
Stewart\Codegen\Emitter\ManifestEmitter1100.0%
Stewart\Codegen\Model\DomainCatalog1100.0%
Stewart\Codegen\Model\DomainTraits1100.0%
Stewart\Codegen\Output\FileChange1100.0%
Stewart\Codegen\Output\FileOutcome1100.0%
Stewart\Codegen\Service\ServiceField1100.0%
Stewart\Codegen\Output\ShrinkPolicy0100.0%

Methods

Line coverage against cyclomatic complexity. Bubble size is the number of executable lines; hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 5 10 15 Line Coverage (%) Cyclomatic Complexity Stewart\Codegen\Emitter\Entity\EntityHandleEmitter::emitFile — Coverage: 98.6% | Lines: 73 | Complexity: 5 Stewart\Codegen\Emitter\Entity\EntityStateEmitter::emitFile — Coverage: 100.0% | Lines: 35 | Complexity: 5 Stewart\Codegen\Model\GenerationModelFactory::buildModelFromSnapshot — Coverage: 100.0% | Lines: 35 | Complexity: 2 Stewart\Codegen\Emitter\PhpStormMetaEmitter::emitFile — Coverage: 100.0% | Lines: 32 | Complexity: 2 Stewart\Codegen\Emitter\Entity\DomainEntitiesEmitter::emitFile — Coverage: 100.0% | Lines: 20 | Complexity: 1 Stewart\Codegen\Emitter\ManifestEmitter::emitFile — Coverage: 100.0% | Lines: 19 | Complexity: 1 Stewart\Codegen\Emitter\Service\DomainServicesEmitter::emitFile — Coverage: 100.0% | Lines: 19 | Complexity: 5 Stewart\Codegen\Emitter\RootEmitter::emitFile — Coverage: 100.0% | Lines: 17 | Complexity: 2 Stewart\Codegen\Attribute\AttributeSelector::selectAttributes — Coverage: 100.0% | Lines: 14 | Complexity: 6 Stewart\Codegen\Output\OutputDirectory::writeChanges — Coverage: 100.0% | Lines: 14 | Complexity: 7 Stewart\Codegen\Emitter\Service\ServiceMethodEmitter::buildDocblock — Coverage: 100.0% | Lines: 13 | Complexity: 9 Stewart\Codegen\Output\GenerationReport::summary — Coverage: 0.0% | Lines: 13 | Complexity: 1 Stewart\Codegen\Snapshot\HaClientSnapshotFetcher::fetchSnapshot — Coverage: 100.0% | Lines: 13 | Complexity: 1 Stewart\Codegen\Console\GenerateCommand::describeAutoloadMismatch — Coverage: 100.0% | Lines: 12 | Complexity: 3 Stewart\Codegen\Emitter\Service\ServiceMethodEmitter::addDomainServiceMethod — Coverage: 100.0% | Lines: 12 | Complexity: 5 Stewart\Codegen\Service\ServiceCatalogParser::parseField — Coverage: 100.0% | Lines: 12 | Complexity: 1 Stewart\Codegen\Snapshot\Snapshot::fromParts — Coverage: 100.0% | Lines: 12 | Complexity: 1 Stewart\Codegen\Snapshot\SnapshotCodec::buildSnapshotFromDecodedJson — Coverage: 100.0% | Lines: 12 | Complexity: 4 Stewart\Codegen\Console\GenerateCommand::printCheckResult — Coverage: 100.0% | Lines: 11 | Complexity: 3 Stewart\Codegen\Generator::writeFiles — Coverage: 100.0% | Lines: 11 | Complexity: 1 Stewart\Codegen\Service\ServiceCatalogParser::parseServicesResponse — Coverage: 100.0% | Lines: 11 | Complexity: 3 Stewart\Codegen\Service\ServiceTargetSpec::fromRaw — Coverage: 90.9% | Lines: 11 | Complexity: 5 Stewart\Codegen\Snapshot\SnapshotCodec::decodeEntriesSkippingInvalidIds — Coverage: 100.0% | Lines: 11 | Complexity: 6 Stewart\Codegen\Attribute\AttributeKindInference::inferKindsByAttributeName — Coverage: 100.0% | Lines: 10 | Complexity: 5 Stewart\Codegen\Console\GenerateCommand::execute — Coverage: 100.0% | Lines: 10 | Complexity: 3 Stewart\Codegen\Emitter\SourceTree::renderFiles — Coverage: 100.0% | Lines: 10 | Complexity: 5 Stewart\Codegen\Exception\CodegenError::messageTemplate — Coverage: 0.0% | Lines: 10 | Complexity: 10 Stewart\Codegen\Output\OutputDirectory::orphanedGeneratedFiles — Coverage: 100.0% | Lines: 10 | Complexity: 9 Stewart\Codegen\Model\GenerationModelFactory::buildServiceModels — Coverage: 100.0% | Lines: 9 | Complexity: 2 Stewart\Codegen\Service\ServiceCatalogParser::parseDefinition — Coverage: 100.0% | Lines: 9 | Complexity: 1 Stewart\Codegen\Snapshot\SnapshotCodec::buildSnapshotArray — Coverage: 100.0% | Lines: 9 | Complexity: 1 Stewart\Codegen\Snapshot\SnapshotCodec::buildEntityStateArray — Coverage: 100.0% | Lines: 9 | Complexity: 2 Stewart\Codegen\Emitter\Service\ServiceMethodEmitter::addHandleMethod — Coverage: 100.0% | Lines: 8 | Complexity: 3 Stewart\Codegen\Entity\EntitySelector::selectEntities — Coverage: 100.0% | Lines: 8 | Complexity: 4 Stewart\Codegen\Output\OutputDirectory::planChanges — Coverage: 100.0% | Lines: 8 | Complexity: 3 Stewart\Codegen\Service\FieldModel::boundsNote — Coverage: 0.0% | Lines: 8 | Complexity: 8 Stewart\Codegen\Service\ServiceCatalogParser::flattenFields — Coverage: 100.0% | Lines: 8 | Complexity: 3 Stewart\Codegen\Snapshot\SnapshotCodec::buildAreaArray — Coverage: 100.0% | Lines: 8 | Complexity: 1 Stewart\Codegen\Console\GenerateCommand::normalizePath — Coverage: 100.0% | Lines: 7 | Complexity: 5 Stewart\Codegen\Output\OutputDirectory::outcomeFor — Coverage: 100.0% | Lines: 7 | Complexity: 5 Stewart\Codegen\Php\IdentifierAllocator::claim — Coverage: 100.0% | Lines: 7 | Complexity: 3 Stewart\Codegen\Service\ServiceSelector::selectOptionValues — Coverage: 100.0% | Lines: 7 | Complexity: 2 Stewart\Codegen\Snapshot\SnapshotCodec::buildFloorArray — Coverage: 100.0% | Lines: 7 | Complexity: 1 Stewart\Codegen\Snapshot\SnapshotCodec::buildLabelArray — Coverage: 100.0% | Lines: 7 | Complexity: 1 Stewart\Codegen\Attribute\AttributeKind::ofValue — Coverage: 100.0% | Lines: 6 | Complexity: 7 Stewart\Codegen\Attribute\AttributeKind::getReaderMethodName — Coverage: 100.0% | Lines: 6 | Complexity: 6 Stewart\Codegen\Attribute\AttributeKind::getPhpType — Coverage: 100.0% | Lines: 6 | Complexity: 6 Stewart\Codegen\Console\GenerateCommand::configure — Coverage: 100.0% | Lines: 6 | Complexity: 1 Stewart\Codegen\Emitter\EmitContext::importClass — Coverage: 100.0% | Lines: 6 | Complexity: 2 Stewart\Codegen\Emitter\PhpStormMetaEmitter::buildRegistryIdCompletion — Coverage: 83.3% | Lines: 6 | Complexity: 2 Stewart\Codegen\Model\GenerationModelFactory::buildAttributeModels — Coverage: 100.0% | Lines: 6 | Complexity: 2 Stewart\Codegen\Php\Identifier::convertToCamelCase — Coverage: 100.0% | Lines: 6 | Complexity: 3 Stewart\Codegen\Php\PhpType::nullable — Coverage: 100.0% | Lines: 6 | Complexity: 5 Stewart\Codegen\Service\ServiceSelector::phpTypeForKind — Coverage: 100.0% | Lines: 6 | Complexity: 4 Stewart\Codegen\Snapshot\RawMap::listMaps — Coverage: 83.3% | Lines: 6 | Complexity: 3 Stewart\Codegen\Snapshot\RawMap::listStrings — Coverage: 83.3% | Lines: 6 | Complexity: 3 Stewart\Codegen\Snapshot\SnapshotCodec::decodeSnapshot — Coverage: 100.0% | Lines: 6 | Complexity: 4 Stewart\Codegen\Snapshot\SnapshotCodec::decodeRegistryRows — Coverage: 100.0% | Lines: 6 | Complexity: 5 Stewart\Codegen\Console\GenerateCommand::generateFromSnapshot — Coverage: 100.0% | Lines: 5 | Complexity: 2 Stewart\Codegen\Console\GenerateCommand::loadSnapshot — Coverage: 100.0% | Lines: 5 | Complexity: 2 Stewart\Codegen\Emitter\Service\ServiceMethodEmitter::declareMethod — Coverage: 100.0% | Lines: 5 | Complexity: 3 Stewart\Codegen\Generator::checkAgainstSnapshot — Coverage: 100.0% | Lines: 5 | Complexity: 1 Stewart\Codegen\Model\GenerationModelFactory::buildFieldModels — Coverage: 100.0% | Lines: 5 | Complexity: 2 Stewart\Codegen\Output\OutputDirectory::writeFileAtomically — Coverage: 40.0% | Lines: 5 | Complexity: 4 Stewart\Codegen\Php\MemberScope::getCollisionSuffix — Coverage: 100.0% | Lines: 5 | Complexity: 5 Stewart\Codegen\Snapshot\SnapshotCodec::encodeSnapshot — Coverage: 100.0% | Lines: 5 | Complexity: 1 Stewart\Codegen\Console\GenerationOptionsFactory::createFromCodegenConfig — Coverage: 0.0% | Lines: 4 | Complexity: 1 Stewart\Codegen\Console\GenerationOptionsFactory::buildAttributeFilters — Coverage: 0.0% | Lines: 4 | Complexity: 2 Stewart\Codegen\Emitter\Service\DomainServicesEmitter::anyTargetable — Coverage: 100.0% | Lines: 4 | Complexity: 3 Stewart\Codegen\Emitter\Service\DomainServicesEmitter::anyReturnsResponse — Coverage: 100.0% | Lines: 4 | Complexity: 3 Stewart\Codegen\Emitter\Service\ServiceMethodEmitter::addFieldParameters — Coverage: 100.0% | Lines: 4 | Complexity: 3 Stewart\Codegen\Emitter\Service\ServiceMethodEmitter::buildPayload — Coverage: 100.0% | Lines: 4 | Complexity: 2 Stewart\Codegen\Model\DomainCatalog::getTraitsForDomain — Coverage: 100.0% | Lines: 4 | Complexity: 1 Stewart\Codegen\Output\OutputDirectory::refuseLargeShrink — Coverage: 100.0% | Lines: 4 | Complexity: 2 Stewart\Codegen\Output\OutputDirectory::ensureDirectory — Coverage: 75.0% | Lines: 4 | Complexity: 4 Stewart\Codegen\Php\Identifier::convertToPascalCase — Coverage: 100.0% | Lines: 4 | Complexity: 3 Stewart\Codegen\Php\MemberReservations::createAllocatorFor — Coverage: 100.0% | Lines: 4 | Complexity: 2 Stewart\Codegen\Service\ServiceSelector::resolvePhpType — Coverage: 100.0% | Lines: 4 | Complexity: 3 Stewart\Codegen\Service\ServiceSelector::phpTypeForSelect — Coverage: 100.0% | Lines: 4 | Complexity: 3 Stewart\Codegen\Snapshot\SnapshotFileReader::readSnapshot — Coverage: 100.0% | Lines: 4 | Complexity: 3 Stewart\Codegen\Attribute\KeyPatterns::exactEntries — Coverage: 100.0% | Lines: 3 | Complexity: 1 Stewart\Codegen\Console\GenerateCommand::copySnapshotIfRequested — Coverage: 100.0% | Lines: 3 | Complexity: 2 Stewart\Codegen\Console\GenerateCommand::printGenerationSummary — Coverage: 100.0% | Lines: 3 | Complexity: 1 Stewart\Codegen\Emitter\GeneratedCodePrinter::printGenerated — Coverage: 100.0% | Lines: 3 | Complexity: 1 Stewart\Codegen\Emitter\Service\ServiceMethodEmitter::listReservedMemberNames — Coverage: 100.0% | Lines: 3 | Complexity: 4 Stewart\Codegen\Entity\EntityInclusionRules::allows — Coverage: 100.0% | Lines: 3 | Complexity: 3 Stewart\Codegen\Model\GenerationModelFactory::sortedDomainNames — Coverage: 100.0% | Lines: 3 | Complexity: 1 Stewart\Codegen\Model\GenerationModelFactory::selectParameterScope — Coverage: 100.0% | Lines: 3 | Complexity: 3 Stewart\Codegen\Php\IdentifierAllocator::claimExactly — Coverage: 100.0% | Lines: 3 | Complexity: 3 Stewart\Codegen\Snapshot\HaClientSnapshotFetcher::refuseUnlessRunning — Coverage: 100.0% | Lines: 3 | Complexity: 3 Stewart\Codegen\Console\GenerateCommand::printWarnings — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Codegen\Console\GenerateCommand::printFailure — Coverage: 100.0% | Lines: 2 | Complexity: 1 Stewart\Codegen\Emitter\PhpStormMetaEmitter::buildSetRegistration — Coverage: 100.0% | Lines: 2 | Complexity: 1 Stewart\Codegen\GenerationOptions::__construct — Coverage: 100.0% | Lines: 2 | Complexity: 1 Stewart\Codegen\Output\OutputDirectory::removeFile — Coverage: 50.0% | Lines: 2 | Complexity: 3 Stewart\Codegen\Php\Identifier::startsWithLetter — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Codegen\Php\Identifier::splitIntoAsciiWords — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Codegen\Service\FieldModel::summary — Coverage: 0.0% | Lines: 2 | Complexity: 2 Stewart\Codegen\Service\ServiceCatalogParser::sortRequiredFirstThenByName — Coverage: 100.0% | Lines: 2 | Complexity: 1 Stewart\Codegen\Service\ServiceSelector::__construct — Coverage: 100.0% | Lines: 2 | Complexity: 1 Stewart\Codegen\Service\ServiceSelector::phpTypeForConstant — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Codegen\Snapshot\RawMap::readString — Coverage: 100.0% | Lines: 2 | Complexity: 3 Stewart\Codegen\Snapshot\RawMap::readScalar — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Codegen\Snapshot\RawMap::readNumber — Coverage: 0.0% | Lines: 2 | Complexity: 3 Stewart\Codegen\Snapshot\SnapshotFileWriter::writeSnapshot — Coverage: 100.0% | Lines: 2 | Complexity: 2 Stewart\Codegen\Attribute\AttributeCatalog::listKindsForDomain — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Attribute\AttributeCatalog::findKind — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Attribute\AttributeFilter::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Attribute\AttributeFilter::excludes — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Attribute\AttributeFilter::includes — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Attribute\AttributeKind::widen — Coverage: 100.0% | Lines: 1 | Complexity: 2 Stewart\Codegen\Attribute\AttributeModel::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Attribute\AttributeSelection::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Attribute\AttributeSelector::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Attribute\AttributeSelector::isTypeable — Coverage: 100.0% | Lines: 1 | Complexity: 3 Stewart\Codegen\Attribute\Collection\AttributeFilterCollection::keyedByDomain — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Attribute\Collection\AttributeFilterCollection::find — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Attribute\KeyPatterns::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Attribute\KeyPatterns::matches — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Attribute\UnseenAttribute::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Attribute\UnseenAttribute::describeWarning — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Console\GenerateCommand::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Console\GenerateCommand::selectShrinkPolicy — Coverage: 100.0% | Lines: 1 | Complexity: 2 Stewart\Codegen\Emitter\EmitContext::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Emitter\EmitContext::createNamespace — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Emitter\EmitContext::resolveClassName — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Emitter\EmitContext::printFile — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Emitter\EmitContext::printStatements — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Emitter\EntitiesRootEmitter::getClassName — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Emitter\EntitiesRootEmitter::getClassComment — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Emitter\EntitiesRootEmitter::listDomains — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Emitter\EntitiesRootEmitter::getDomainClassName — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Emitter\EntitiesRootEmitter::buildPropertyComment — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Emitter\Entity\DomainEntitiesEmitter::supportsDomain — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Emitter\Entity\EntityHandleEmitter::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Emitter\Entity\EntityHandleEmitter::supportsDomain — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Emitter\Entity\EntityHandleEmitter::listReservedMemberNames — Coverage: 100.0% | Lines: 1 | Complexity: 2 Stewart\Codegen\Emitter\Entity\EntityStateEmitter::supportsDomain — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Emitter\Entity\EntityStateEmitter::listReservedMemberNames — Coverage: 100.0% | Lines: 1 | Complexity: 2 Stewart\Codegen\Emitter\GeneratedCodePrinter::buildHeaderComment — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Emitter\GeneratedCodePrinter::isGenerated — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Emitter\GeneratedCodePrinter::printGeneratedStatements — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Emitter\PhpStormMetaEmitter::buildDomainSetName — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Emitter\PhpStormMetaEmitter::buildExpectation — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Emitter\RootEmitter::listReservedMemberNames — Coverage: 100.0% | Lines: 1 | Complexity: 2 Stewart\Codegen\Emitter\Service\DomainServicesEmitter::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Emitter\Service\DomainServicesEmitter::supportsDomain — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Emitter\Service\DomainServicesEmitter::listReservedMemberNames — Coverage: 100.0% | Lines: 1 | Complexity: 2 Stewart\Codegen\Emitter\ServicesRootEmitter::getClassName — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Emitter\ServicesRootEmitter::getClassComment — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Emitter\ServicesRootEmitter::listDomains — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Emitter\ServicesRootEmitter::getDomainClassName — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Emitter\ServicesRootEmitter::buildPropertyComment — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Emitter\SourceTree::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Entity\EntityInclusionRules::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Entity\EntityInclusionRules::fromPatterns — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Entity\EntityInclusionRules::allowingEverything — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Entity\EntityInclusionRules::listUnmatchedIncludes — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Entity\EntitySelection::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Entity\EntitySelection::listEntityIds — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Entity\EntitySelector::isHiddenAway — Coverage: 100.0% | Lines: 1 | Complexity: 3 Stewart\Codegen\Entity\UnmatchedEntitySelector::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Entity\UnmatchedEntitySelector::describeWarning — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Exception\CodegenException::fileNotWritable — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\GenerationOptions::attributesFor — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\GenerationTarget::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\GenerationTarget::classFor — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Generator::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Model\Collection\DomainModelCollection::havingEntities — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Model\Collection\DomainModelCollection::havingServices — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Model\Collection\DomainModelCollection::countAttributes — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Model\DomainModel::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Model\DomainModel::getEntitiesClass — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Model\DomainModel::getHandleClass — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Model\DomainModel::getStateClass — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Model\DomainModel::getServicesClass — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Model\DomainModel::isOnOff — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Model\DomainModel::isNumeric — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Model\DomainModel::hasEntities — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Model\DomainModel::hasServices — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Model\DomainTraits::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Model\GenerationModel::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Model\GenerationModel::listEntityDomains — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Model\GenerationModel::listServiceDomains — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Model\GenerationModel::countEntities — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Model\GenerationModel::countAttributes — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Model\GenerationModel::countServices — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Model\GenerationModelFactory::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Output\CheckResult::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Output\CheckResult::listStaleFiles — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Output\CheckResult::isClean — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Output\Collection\FileChangeCollection::fromChangesSortedByPath — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Output\Collection\FileChangeCollection::filterStale — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Output\Collection\FileChangeCollection::countWithOutcome — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Output\Collection\FileChangeCollection::countExistingFiles — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Output\Collection\FileChangeCollection::isClean — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Output\FileChange::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Output\FileOutcome::isChange — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Output\GeneratedFile::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Output\GeneratedFile::forClass — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Output\GenerationReport::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Output\OutputDirectory::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Php\Identifier::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Php\Identifier::capitalizeWord — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Php\IdentifierAllocator::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Php\IdentifierAllocator::isReserved — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Php\IdentifierAllocator::isTaken — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Php\MemberReservations::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Php\PhpType::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Php\PhpType::fromNative — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Php\PhpType::mixed — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Php\PhpType::listOf — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Php\PhpType::isPlain — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Php\PhpType::needsDocblock — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Service\Collection\ServiceDefinitionCollection::forEntityHandle — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Service\FieldModel::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Service\FieldModel::type — Coverage: 0.0% | Lines: 1 | Complexity: 2 Stewart\Codegen\Service\ServiceCatalog::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Service\ServiceCatalog::listDomains — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Service\ServiceCatalog::forDomain — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Service\ServiceCatalog::forEntityHandle — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Service\ServiceDefinition::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Service\ServiceDefinition::belongsOnHandle — Coverage: 100.0% | Lines: 1 | Complexity: 2 Stewart\Codegen\Service\ServiceField::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Service\ServiceModel::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Service\ServiceTargetSpec::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Service\ServiceTargetSpec::none — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Service\ServiceTargetSpec::acceptsDomain — Coverage: 100.0% | Lines: 1 | Complexity: 3 Stewart\Codegen\Snapshot\HaClientSnapshotFetcher::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Snapshot\RawMap::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Snapshot\RawMap::fromValue — Coverage: 100.0% | Lines: 1 | Complexity: 2 Stewart\Codegen\Snapshot\RawMap::hasKey — Coverage: 0.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Snapshot\RawMap::listKeys — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Snapshot\RawMap::readBool — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Snapshot\RawMap::readMap — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Snapshot\Snapshot::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Snapshot\SnapshotCodec::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Snapshot\SnapshotFileReader::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Stewart\Codegen\Snapshot\SnapshotFileWriter::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1

Sorted by descending CRAP index.

Method CRAP Coverage
Stewart\Codegen\Exception\CodegenError::messageTemplate1100.0%
Stewart\Codegen\Service\FieldModel::boundsNote720.0%
Stewart\Codegen\Snapshot\RawMap::readNumber120.0%
Stewart\Codegen\Emitter\Service\ServiceMethodEmitter::buildDocblock9100.0%
Stewart\Codegen\Output\OutputDirectory::orphanedGeneratedFiles9100.0%
Stewart\Codegen\Output\OutputDirectory::writeFileAtomically7.4640.0%
Stewart\Codegen\Attribute\AttributeKind::ofValue7100.0%
Stewart\Codegen\Output\OutputDirectory::writeChanges7100.0%
Stewart\Codegen\Attribute\AttributeKind::getReaderMethodName6100.0%
Stewart\Codegen\Attribute\AttributeKind::getPhpType6100.0%
Stewart\Codegen\Attribute\AttributeSelector::selectAttributes6100.0%
Stewart\Codegen\Console\GenerationOptionsFactory::buildAttributeFilters60.0%
Stewart\Codegen\Service\FieldModel::type60.0%
Stewart\Codegen\Service\FieldModel::summary60.0%
Stewart\Codegen\Snapshot\SnapshotCodec::decodeEntriesSkippingInvalidIds6100.0%
Stewart\Codegen\Service\ServiceTargetSpec::fromRaw5.0290.9%
Stewart\Codegen\Attribute\AttributeKindInference::inferKindsByAttributeName5100.0%
Stewart\Codegen\Console\GenerateCommand::normalizePath5100.0%
Stewart\Codegen\Emitter\Entity\EntityHandleEmitter::emitFile598.6%
Stewart\Codegen\Emitter\Entity\EntityStateEmitter::emitFile5100.0%
Stewart\Codegen\Emitter\Service\DomainServicesEmitter::emitFile5100.0%
Stewart\Codegen\Emitter\Service\ServiceMethodEmitter::addDomainServiceMethod5100.0%
Stewart\Codegen\Emitter\SourceTree::renderFiles5100.0%
Stewart\Codegen\Output\OutputDirectory::outcomeFor5100.0%
Stewart\Codegen\Php\MemberScope::getCollisionSuffix5100.0%
Stewart\Codegen\Php\PhpType::nullable5100.0%
Stewart\Codegen\Snapshot\SnapshotCodec::decodeRegistryRows5100.0%
Stewart\Codegen\Output\OutputDirectory::ensureDirectory4.2575.0%
Stewart\Codegen\Output\OutputDirectory::removeFile4.1250.0%
Stewart\Codegen\Emitter\Service\ServiceMethodEmitter::listReservedMemberNames4100.0%
Stewart\Codegen\Entity\EntitySelector::selectEntities4100.0%
Stewart\Codegen\Service\ServiceSelector::phpTypeForKind4100.0%
Stewart\Codegen\Snapshot\SnapshotCodec::decodeSnapshot4100.0%
Stewart\Codegen\Snapshot\SnapshotCodec::buildSnapshotFromDecodedJson4100.0%
Stewart\Codegen\Snapshot\RawMap::listMaps3.0483.3%
Stewart\Codegen\Snapshot\RawMap::listStrings3.0483.3%
Stewart\Codegen\Attribute\AttributeSelector::isTypeable3100.0%
Stewart\Codegen\Console\GenerateCommand::execute3100.0%
Stewart\Codegen\Console\GenerateCommand::describeAutoloadMismatch3100.0%
Stewart\Codegen\Console\GenerateCommand::printCheckResult3100.0%
Stewart\Codegen\Emitter\Service\DomainServicesEmitter::anyTargetable3100.0%
Stewart\Codegen\Emitter\Service\DomainServicesEmitter::anyReturnsResponse3100.0%
Stewart\Codegen\Emitter\Service\ServiceMethodEmitter::addHandleMethod3100.0%
Stewart\Codegen\Emitter\Service\ServiceMethodEmitter::declareMethod3100.0%
Stewart\Codegen\Emitter\Service\ServiceMethodEmitter::addFieldParameters3100.0%
Stewart\Codegen\Entity\EntityInclusionRules::allows3100.0%
Stewart\Codegen\Entity\EntitySelector::isHiddenAway3100.0%
Stewart\Codegen\Model\GenerationModelFactory::selectParameterScope3100.0%
Stewart\Codegen\Output\OutputDirectory::planChanges3100.0%
Stewart\Codegen\Php\Identifier::convertToCamelCase3100.0%
Stewart\Codegen\Php\Identifier::convertToPascalCase3100.0%
Stewart\Codegen\Php\IdentifierAllocator::claim3100.0%
Stewart\Codegen\Php\IdentifierAllocator::claimExactly3100.0%
Stewart\Codegen\Service\ServiceCatalogParser::parseServicesResponse3100.0%
Stewart\Codegen\Service\ServiceCatalogParser::flattenFields3100.0%
Stewart\Codegen\Service\ServiceSelector::resolvePhpType3100.0%
Stewart\Codegen\Service\ServiceSelector::phpTypeForSelect3100.0%
Stewart\Codegen\Service\ServiceTargetSpec::acceptsDomain3100.0%
Stewart\Codegen\Snapshot\HaClientSnapshotFetcher::refuseUnlessRunning3100.0%
Stewart\Codegen\Snapshot\RawMap::readString3100.0%
Stewart\Codegen\Snapshot\SnapshotFileReader::readSnapshot3100.0%
Stewart\Codegen\Emitter\PhpStormMetaEmitter::buildRegistryIdCompletion2.0283.3%
Stewart\Codegen\Attribute\AttributeKind::widen2100.0%
Stewart\Codegen\Attribute\AttributeModel::__construct20.0%
Stewart\Codegen\Attribute\AttributeSelection::__construct20.0%
Stewart\Codegen\Attribute\Collection\AttributeFilterCollection::keyedByDomain20.0%
Stewart\Codegen\Attribute\Collection\AttributeFilterCollection::find20.0%
Stewart\Codegen\Console\GenerateCommand::copySnapshotIfRequested2100.0%
Stewart\Codegen\Console\GenerateCommand::generateFromSnapshot2100.0%
Stewart\Codegen\Console\GenerateCommand::selectShrinkPolicy2100.0%
Stewart\Codegen\Console\GenerateCommand::loadSnapshot2100.0%
Stewart\Codegen\Console\GenerateCommand::printWarnings2100.0%
Stewart\Codegen\Console\GenerationOptionsFactory::createFromCodegenConfig20.0%
Stewart\Codegen\Emitter\EmitContext::importClass2100.0%
Stewart\Codegen\Emitter\Entity\EntityHandleEmitter::__construct20.0%
Stewart\Codegen\Emitter\Entity\EntityHandleEmitter::listReservedMemberNames2100.0%
Stewart\Codegen\Emitter\Entity\EntityStateEmitter::listReservedMemberNames2100.0%
Stewart\Codegen\Emitter\PhpStormMetaEmitter::emitFile2100.0%
Stewart\Codegen\Emitter\RootEmitter::emitFile2100.0%
Stewart\Codegen\Emitter\RootEmitter::listReservedMemberNames2100.0%
Stewart\Codegen\Emitter\Service\DomainServicesEmitter::__construct20.0%
Stewart\Codegen\Emitter\Service\DomainServicesEmitter::listReservedMemberNames2100.0%
Stewart\Codegen\Emitter\Service\ServiceMethodEmitter::buildPayload2100.0%
Stewart\Codegen\Emitter\SourceTree::__construct20.0%
Stewart\Codegen\Exception\CodegenException::fileNotWritable20.0%
Stewart\Codegen\GenerationTarget::__construct20.0%
Stewart\Codegen\GenerationTarget::classFor20.0%
Stewart\Codegen\Model\Collection\DomainModelCollection::havingEntities20.0%
Stewart\Codegen\Model\Collection\DomainModelCollection::havingServices20.0%
Stewart\Codegen\Model\Collection\DomainModelCollection::countAttributes20.0%
Stewart\Codegen\Model\DomainModel::__construct20.0%
Stewart\Codegen\Model\DomainModel::getEntitiesClass20.0%
Stewart\Codegen\Model\DomainModel::getHandleClass20.0%
Stewart\Codegen\Model\DomainModel::getStateClass20.0%
Stewart\Codegen\Model\DomainModel::getServicesClass20.0%
Stewart\Codegen\Model\DomainModel::isOnOff20.0%
Stewart\Codegen\Model\DomainModel::isNumeric20.0%
Stewart\Codegen\Model\DomainModel::hasEntities20.0%
Stewart\Codegen\Model\DomainModel::hasServices20.0%
Stewart\Codegen\Model\GenerationModel::__construct20.0%
Stewart\Codegen\Model\GenerationModel::listEntityDomains20.0%
Stewart\Codegen\Model\GenerationModel::listServiceDomains20.0%
Stewart\Codegen\Model\GenerationModel::countEntities20.0%
Stewart\Codegen\Model\GenerationModel::countAttributes20.0%
Stewart\Codegen\Model\GenerationModel::countServices20.0%
Stewart\Codegen\Model\GenerationModelFactory::__construct20.0%
Stewart\Codegen\Model\GenerationModelFactory::buildModelFromSnapshot2100.0%
Stewart\Codegen\Model\GenerationModelFactory::buildAttributeModels2100.0%
Stewart\Codegen\Model\GenerationModelFactory::buildServiceModels2100.0%
Stewart\Codegen\Model\GenerationModelFactory::buildFieldModels2100.0%
Stewart\Codegen\Output\GeneratedFile::forClass20.0%
Stewart\Codegen\Output\GenerationReport::__construct20.0%
Stewart\Codegen\Output\GenerationReport::summary20.0%
Stewart\Codegen\Output\OutputDirectory::refuseLargeShrink2100.0%
Stewart\Codegen\Php\Identifier::__construct20.0%
Stewart\Codegen\Php\Identifier::startsWithLetter2100.0%
Stewart\Codegen\Php\Identifier::splitIntoAsciiWords2100.0%
Stewart\Codegen\Php\MemberReservations::createAllocatorFor2100.0%
Stewart\Codegen\Service\Collection\ServiceDefinitionCollection::forEntityHandle20.0%
Stewart\Codegen\Service\FieldModel::__construct20.0%
Stewart\Codegen\Service\ServiceDefinition::belongsOnHandle2100.0%
Stewart\Codegen\Service\ServiceModel::__construct20.0%
Stewart\Codegen\Service\ServiceSelector::phpTypeForConstant2100.0%
Stewart\Codegen\Service\ServiceSelector::selectOptionValues2100.0%
Stewart\Codegen\Snapshot\RawMap::fromValue2100.0%
Stewart\Codegen\Snapshot\RawMap::hasKey20.0%
Stewart\Codegen\Snapshot\RawMap::readScalar2100.0%
Stewart\Codegen\Snapshot\SnapshotCodec::buildEntityStateArray2100.0%
Stewart\Codegen\Snapshot\SnapshotFileWriter::writeSnapshot2100.0%
Stewart\Codegen\Attribute\AttributeCatalog::listKindsForDomain1100.0%
Stewart\Codegen\Attribute\AttributeCatalog::findKind1100.0%
Stewart\Codegen\Attribute\AttributeFilter::__construct1100.0%
Stewart\Codegen\Attribute\AttributeFilter::excludes1100.0%
Stewart\Codegen\Attribute\AttributeFilter::includes1100.0%
Stewart\Codegen\Attribute\AttributeSelector::__construct1100.0%
Stewart\Codegen\Attribute\KeyPatterns::__construct1100.0%
Stewart\Codegen\Attribute\KeyPatterns::matches1100.0%
Stewart\Codegen\Attribute\KeyPatterns::exactEntries1100.0%
Stewart\Codegen\Attribute\UnseenAttribute::__construct1100.0%
Stewart\Codegen\Attribute\UnseenAttribute::describeWarning1100.0%
Stewart\Codegen\Console\GenerateCommand::__construct1100.0%
Stewart\Codegen\Console\GenerateCommand::configure1100.0%
Stewart\Codegen\Console\GenerateCommand::printGenerationSummary1100.0%
Stewart\Codegen\Console\GenerateCommand::printFailure1100.0%
Stewart\Codegen\Emitter\EmitContext::__construct1100.0%
Stewart\Codegen\Emitter\EmitContext::createNamespace1100.0%
Stewart\Codegen\Emitter\EmitContext::resolveClassName1100.0%
Stewart\Codegen\Emitter\EmitContext::printFile1100.0%
Stewart\Codegen\Emitter\EmitContext::printStatements1100.0%
Stewart\Codegen\Emitter\EntitiesRootEmitter::getClassName1100.0%
Stewart\Codegen\Emitter\EntitiesRootEmitter::getClassComment1100.0%
Stewart\Codegen\Emitter\EntitiesRootEmitter::listDomains1100.0%
Stewart\Codegen\Emitter\EntitiesRootEmitter::getDomainClassName1100.0%
Stewart\Codegen\Emitter\EntitiesRootEmitter::buildPropertyComment1100.0%
Stewart\Codegen\Emitter\Entity\DomainEntitiesEmitter::supportsDomain1100.0%
Stewart\Codegen\Emitter\Entity\DomainEntitiesEmitter::emitFile1100.0%
Stewart\Codegen\Emitter\Entity\EntityHandleEmitter::supportsDomain1100.0%
Stewart\Codegen\Emitter\Entity\EntityStateEmitter::supportsDomain1100.0%
Stewart\Codegen\Emitter\GeneratedCodePrinter::buildHeaderComment1100.0%
Stewart\Codegen\Emitter\GeneratedCodePrinter::isGenerated1100.0%
Stewart\Codegen\Emitter\GeneratedCodePrinter::printGenerated1100.0%
Stewart\Codegen\Emitter\GeneratedCodePrinter::printGeneratedStatements1100.0%
Stewart\Codegen\Emitter\ManifestEmitter::emitFile1100.0%
Stewart\Codegen\Emitter\PhpStormMetaEmitter::buildDomainSetName1100.0%
Stewart\Codegen\Emitter\PhpStormMetaEmitter::buildSetRegistration1100.0%
Stewart\Codegen\Emitter\PhpStormMetaEmitter::buildExpectation1100.0%
Stewart\Codegen\Emitter\Service\DomainServicesEmitter::supportsDomain1100.0%
Stewart\Codegen\Emitter\ServicesRootEmitter::getClassName1100.0%
Stewart\Codegen\Emitter\ServicesRootEmitter::getClassComment1100.0%
Stewart\Codegen\Emitter\ServicesRootEmitter::listDomains1100.0%
Stewart\Codegen\Emitter\ServicesRootEmitter::getDomainClassName1100.0%
Stewart\Codegen\Emitter\ServicesRootEmitter::buildPropertyComment1100.0%
Stewart\Codegen\Entity\EntityInclusionRules::__construct1100.0%
Stewart\Codegen\Entity\EntityInclusionRules::fromPatterns1100.0%
Stewart\Codegen\Entity\EntityInclusionRules::allowingEverything1100.0%
Stewart\Codegen\Entity\EntityInclusionRules::listUnmatchedIncludes1100.0%
Stewart\Codegen\Entity\EntitySelection::__construct1100.0%
Stewart\Codegen\Entity\EntitySelection::listEntityIds1100.0%
Stewart\Codegen\Entity\UnmatchedEntitySelector::__construct1100.0%
Stewart\Codegen\Entity\UnmatchedEntitySelector::describeWarning1100.0%
Stewart\Codegen\GenerationOptions::__construct1100.0%
Stewart\Codegen\GenerationOptions::attributesFor1100.0%
Stewart\Codegen\Generator::__construct1100.0%
Stewart\Codegen\Generator::writeFiles1100.0%
Stewart\Codegen\Generator::checkAgainstSnapshot1100.0%
Stewart\Codegen\Model\DomainCatalog::getTraitsForDomain1100.0%
Stewart\Codegen\Model\DomainTraits::__construct1100.0%
Stewart\Codegen\Model\GenerationModelFactory::sortedDomainNames1100.0%
Stewart\Codegen\Output\CheckResult::__construct1100.0%
Stewart\Codegen\Output\CheckResult::listStaleFiles1100.0%
Stewart\Codegen\Output\CheckResult::isClean1100.0%
Stewart\Codegen\Output\Collection\FileChangeCollection::fromChangesSortedByPath1100.0%
Stewart\Codegen\Output\Collection\FileChangeCollection::filterStale1100.0%
Stewart\Codegen\Output\Collection\FileChangeCollection::countWithOutcome1100.0%
Stewart\Codegen\Output\Collection\FileChangeCollection::countExistingFiles1100.0%
Stewart\Codegen\Output\Collection\FileChangeCollection::isClean1100.0%
Stewart\Codegen\Output\FileChange::__construct1100.0%
Stewart\Codegen\Output\FileOutcome::isChange1100.0%
Stewart\Codegen\Output\GeneratedFile::__construct1100.0%
Stewart\Codegen\Output\OutputDirectory::__construct1100.0%
Stewart\Codegen\Php\Identifier::capitalizeWord1100.0%
Stewart\Codegen\Php\IdentifierAllocator::__construct1100.0%
Stewart\Codegen\Php\IdentifierAllocator::isReserved1100.0%
Stewart\Codegen\Php\IdentifierAllocator::isTaken1100.0%
Stewart\Codegen\Php\MemberReservations::__construct1100.0%
Stewart\Codegen\Php\PhpType::__construct1100.0%
Stewart\Codegen\Php\PhpType::fromNative1100.0%
Stewart\Codegen\Php\PhpType::mixed1100.0%
Stewart\Codegen\Php\PhpType::listOf1100.0%
Stewart\Codegen\Php\PhpType::isPlain1100.0%
Stewart\Codegen\Php\PhpType::needsDocblock1100.0%
Stewart\Codegen\Service\ServiceCatalog::__construct1100.0%
Stewart\Codegen\Service\ServiceCatalog::listDomains1100.0%
Stewart\Codegen\Service\ServiceCatalog::forDomain1100.0%
Stewart\Codegen\Service\ServiceCatalog::forEntityHandle1100.0%
Stewart\Codegen\Service\ServiceCatalogParser::parseDefinition1100.0%
Stewart\Codegen\Service\ServiceCatalogParser::parseField1100.0%
Stewart\Codegen\Service\ServiceCatalogParser::sortRequiredFirstThenByName1100.0%
Stewart\Codegen\Service\ServiceDefinition::__construct1100.0%
Stewart\Codegen\Service\ServiceField::__construct1100.0%
Stewart\Codegen\Service\ServiceSelector::__construct1100.0%
Stewart\Codegen\Service\ServiceTargetSpec::__construct1100.0%
Stewart\Codegen\Service\ServiceTargetSpec::none1100.0%
Stewart\Codegen\Snapshot\HaClientSnapshotFetcher::__construct1100.0%
Stewart\Codegen\Snapshot\HaClientSnapshotFetcher::fetchSnapshot1100.0%
Stewart\Codegen\Snapshot\RawMap::__construct1100.0%
Stewart\Codegen\Snapshot\RawMap::listKeys1100.0%
Stewart\Codegen\Snapshot\RawMap::readBool1100.0%
Stewart\Codegen\Snapshot\RawMap::readMap1100.0%
Stewart\Codegen\Snapshot\Snapshot::__construct1100.0%
Stewart\Codegen\Snapshot\Snapshot::fromParts1100.0%
Stewart\Codegen\Snapshot\SnapshotCodec::__construct1100.0%
Stewart\Codegen\Snapshot\SnapshotCodec::encodeSnapshot1100.0%
Stewart\Codegen\Snapshot\SnapshotCodec::buildSnapshotArray1100.0%
Stewart\Codegen\Snapshot\SnapshotCodec::buildAreaArray1100.0%
Stewart\Codegen\Snapshot\SnapshotCodec::buildFloorArray1100.0%
Stewart\Codegen\Snapshot\SnapshotCodec::buildLabelArray1100.0%
Stewart\Codegen\Snapshot\SnapshotFileReader::__construct1100.0%
Stewart\Codegen\Snapshot\SnapshotFileWriter::__construct1100.0%
Stewart\Codegen\Emitter\RootEmitter::getClassName0100.0%
Stewart\Codegen\Emitter\RootEmitter::getClassComment0100.0%
Stewart\Codegen\Emitter\RootEmitter::listDomains0100.0%
Stewart\Codegen\Emitter\RootEmitter::getDomainClassName0100.0%
Stewart\Codegen\Emitter\RootEmitter::buildPropertyComment0100.0%