fix: load needed information only during interface inferring #1041
Annotations
5 warnings
Mutation tests
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v3, actions/cache@v3, actions/[email protected]. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
|
Mutation tests:
src/Mapper/Tree/Builder/ObjectImplementations.php#L50
Escaped Mutant for Mutator "AssignCoalesce":
--- Original
+++ New
@@ @@
*/
public function implementation(string $name, array $arguments) : ClassType
{
- $this->implementations[$name] ??= $this->implementations($name);
+ $this->implementations[$name] = $this->implementations($name);
$class = $this->call($name, $arguments);
return $this->implementations[$name][$class] ?? throw new ObjectImplementationNotRegistered($class, $name, $this->implementations[$name]);
}
|
Mutation tests:
src/Mapper/Tree/Builder/ObjectImplementations.php#L85
Escaped Mutant for Mutator "InstanceOf_":
--- Original
+++ New
@@ @@
{
$function = $this->functions->get($name)->definition;
$type = $this->typeParser->parse($name);
- assert($type instanceof InterfaceType || $type instanceof ClassType);
+ assert(true || $type instanceof ClassType);
$classes = $this->implementationsByReturnSignature($name, $function);
if ($classes === []) {
throw new MissingObjectImplementationRegistration($name, $function);
|
Mutation tests:
src/Mapper/Tree/Builder/ObjectImplementations.php#L85
Escaped Mutant for Mutator "InstanceOf_":
--- Original
+++ New
@@ @@
{
$function = $this->functions->get($name)->definition;
$type = $this->typeParser->parse($name);
- assert($type instanceof InterfaceType || $type instanceof ClassType);
+ assert($type instanceof InterfaceType || true);
$classes = $this->implementationsByReturnSignature($name, $function);
if ($classes === []) {
throw new MissingObjectImplementationRegistration($name, $function);
|
Mutation tests:
src/Mapper/Tree/Builder/ObjectImplementations.php#L85
Escaped Mutant for Mutator "LogicalOrAllSubExprNegation":
--- Original
+++ New
@@ @@
{
$function = $this->functions->get($name)->definition;
$type = $this->typeParser->parse($name);
- assert($type instanceof InterfaceType || $type instanceof ClassType);
+ assert(!$type instanceof InterfaceType || !$type instanceof ClassType);
$classes = $this->implementationsByReturnSignature($name, $function);
if ($classes === []) {
throw new MissingObjectImplementationRegistration($name, $function);
|