Skip to content

feat: add container compiler for production optimization #358

feat: add container compiler for production optimization

feat: add container compiler for production optimization #358

Triggered via pull request February 13, 2026 10:38
Status Success
Total duration 1m 20s
Artifacts

mutation-testing.yml

on: pull_request
Mutation Tests
1m 5s
Mutation Tests
Fit to window
Zoom out
Zoom in

Annotations

10 warnings
Mutation Tests: src/Framework/Bootstrap/Setup/SetupMerger.php#L123
Escaped Mutant for Mutator "IfNegation": @@ @@ } private function mergeGacelaConfigsToExtend(SetupGacela $other): void { - if ($other->isPropertyChanged(SetupGacela::gacelaConfigsToExtend)) { + if (!$other->isPropertyChanged(SetupGacela::gacelaConfigsToExtend)) { $this->original->mergeGacelaConfigsToExtend($other->getGacelaConfigsToExtend()); } }
Mutation Tests: src/Framework/Bootstrap/Setup/SetupMerger.php#L91
Escaped Mutant for Mutator "CastArray": @@ @@ $eventDispatcher = new ConfigurableEventDispatcher(); } /** @var ConfigurableEventDispatcher $eventDispatcher */ - $eventDispatcher->registerGenericListeners((array) $other->getGenericListeners()); + $eventDispatcher->registerGenericListeners($other->getGenericListeners()); foreach ($other->getSpecificListeners() ?? [] as $event => $listeners) { foreach ($listeners as $callable) { $eventDispatcher->registerSpecificListener($event, $callable);
Mutation Tests: src/Framework/Bootstrap/Setup/SetupMerger.php#L37
Escaped Mutant for Mutator "MethodCallRemoval": @@ @@ $this->mergeAliases($other); $this->mergeContextualBindings($other); $this->mergePlugins($other); - $this->mergeGacelaConfigsToExtend($other); + return $this->original; } private function overrideResetInMemoryCache(SetupGacela $other): void
Mutation Tests: src/Framework/Bootstrap/Setup/PropertyMerger.php#L58
Escaped Mutant for Mutator "MethodCallRemoval": @@ @@ $current = $this->setup->getGacelaConfigsToExtend(); /** @var list<class-string> $merged */ $merged = array_values(array_unique(array_merge($current, $list))); - $this->setup->setGacelaConfigsToExtend($merged); + } /** * @param list<class-string|callable> $list
Mutation Tests: src/Framework/Bootstrap/Setup/PropertyMerger.php#L57
Escaped Mutant for Mutator "UnwrapArrayValues": @@ @@ { $current = $this->setup->getGacelaConfigsToExtend(); /** @var list<class-string> $merged */ - $merged = array_values(array_unique(array_merge($current, $list))); + $merged = array_unique(array_merge($current, $list)); $this->setup->setGacelaConfigsToExtend($merged); } /**
Mutation Tests: src/Framework/Bootstrap/Setup/PropertyMerger.php#L57
Escaped Mutant for Mutator "UnwrapArrayMerge": @@ @@ { $current = $this->setup->getGacelaConfigsToExtend(); /** @var list<class-string> $merged */ - $merged = array_values(array_unique(array_merge($current, $list))); + $merged = array_values(array_unique($list)); $this->setup->setGacelaConfigsToExtend($merged); } /**
Mutation Tests: src/Framework/Bootstrap/Setup/PropertyMerger.php#L57
Escaped Mutant for Mutator "UnwrapArrayMerge": @@ @@ { $current = $this->setup->getGacelaConfigsToExtend(); /** @var list<class-string> $merged */ - $merged = array_values(array_unique(array_merge($current, $list))); + $merged = array_values(array_unique($current)); $this->setup->setGacelaConfigsToExtend($merged); } /**
Mutation Tests: src/Framework/Bootstrap/Setup/PropertyChangeTracker.php#L24
Escaped Mutant for Mutator "FalseValue": @@ @@ } public function isChanged(string $propertyName): bool { - return $this->changedProperties[$propertyName] ?? false; + return $this->changedProperties[$propertyName] ?? true; } /** * @return array<string,bool>
Mutation Tests: src/Framework/Bootstrap/Setup/BuilderExecutor.php#L40
Escaped Mutant for Mutator "UnwrapArrayMerge": @@ @@ public function buildBindings(BindingsBuilder $parentBuilder, array $externalServices): BindingsBuilder { $builder = $this->properties->bindingsBuilder ?? $parentBuilder; - ($this->properties->bindingsFn)($builder, array_merge($this->properties->externalServices ?? [], $externalServices)); + ($this->properties->bindingsFn)($builder, $this->properties->externalServices ?? []); return $builder; } public function buildSuffixTypes(SuffixTypesBuilder $parentBuilder): SuffixTypesBuilder
Mutation Tests: src/Framework/AbstractFactory.php#L68
Escaped Mutant for Mutator "InstanceOf_": @@ @@ // Temporal solution to keep BC with the AbstractDependencyProvider $dpResolver = (new DependencyProviderResolver())->resolve($this); $dpResolver?->provideModuleDependencies($container); - if (!$resolver instanceof AbstractProvider && !$dpResolver instanceof AbstractProvider) { + if (!false && !$dpResolver instanceof AbstractProvider) { throw new ProviderNotFoundException(static::class); } }