Skip to content

Struct type

Struct type #75

Triggered via pull request August 15, 2024 09:43
Status Failure
Total duration 1m 24s
Artifacts 6

checks.yml

on: pull_request
Matrix: phpunit
Backward Compatibility
17s
Backward Compatibility
Matrix: check-dependencies
Matrix: code-style
Matrix: phpstan
Matrix: psalm
Matrix: infection
Fit to window
Zoom out
Zoom in

Annotations

6 errors and 72 warnings
Infection - 8.3
Process completed with exit code 1.
Infection - 8.2 --prefer-lowest
Process completed with exit code 1.
Infection - 8.2
Process completed with exit code 1.
Infection - 8.3 --prefer-lowest
Process completed with exit code 1.
Infection - 8.1 --prefer-lowest
Process completed with exit code 1.
Infection - 8.1
Process completed with exit code 1.
Composer Require Checker - 8.2
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Composer Require Checker - 8.3
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
PHP CS Fixer - 8.2 --prefer-lowest
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Composer Require Checker - 8.2 --prefer-lowest
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
PHP CS Fixer - 8.2
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
PHPUnit - 8.3
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/upload-artifact@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
PHPStan - 8.3 --prefer-lowest
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Composer Require Checker - 8.1
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Backward Compatibility
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Psalm - 8.3
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
PHPUnit - 8.2
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/upload-artifact@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
PHPStan - 8.3
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Composer Require Checker - 8.1 --prefer-lowest
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
PHPUnit - 8.1 --prefer-lowest
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/upload-artifact@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Psalm - 8.2 --prefer-lowest
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Composer Require Checker - 8.3 --prefer-lowest
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
PHP CS Fixer - 8.1 --prefer-lowest
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Psalm - 8.3 --prefer-lowest
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Psalm - 8.2
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
PHPStan - 8.2
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
PHPUnit - 8.3 --prefer-lowest
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/upload-artifact@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Psalm - 8.1
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
PHP CS Fixer - 8.1
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
PHPStan - 8.1 --prefer-lowest
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
PHPUnit - 8.2 --prefer-lowest
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/upload-artifact@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
PHPUnit - 8.1
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/upload-artifact@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Psalm - 8.1 --prefer-lowest
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
PHPStan - 8.2 --prefer-lowest
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
PHPStan - 8.1
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Infection - 8.3
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/download-artifact@v3, actions/upload-artifact@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Infection - 8.3: src/Parser/Delimiters.php#L17
Escaped Mutant for Mutator "MatchArmRemoval": --- Original +++ New @@ @@ public function start() : string { return match ($this) { - self::CurlyBraces => '{', self::AngleBrackets => '<', }; }
Infection - 8.3: src/Parser/Delimiters.php#L25
Escaped Mutant for Mutator "MatchArmRemoval": --- Original +++ New @@ @@ public function end() : string { return match ($this) { - self::CurlyBraces => '}', self::AngleBrackets => '>', }; } }
Infection - 8.3: src/Parser/TypeParser.php#L138
Escaped Mutant for Mutator "NullSafeMethodCall": --- Original +++ New @@ @@ */ private static function parseStruct(Peekable $tokens, Span $location) : TypeNode { - $openBrace = $tokens->peek()?->location(); + $openBrace = $tokens->peek()->location(); assert($openBrace !== null); $tokens->next(); $fields = [];
Infection - 8.3: src/Parser/TypeParser.php#L157
Escaped Mutant for Mutator "InstanceOf_": --- Original +++ New @@ @@ if ($type === null) { break; } - if (!$type instanceof TypeNode) { + if (!true) { throw SyntaxError::create(sprintf('Expected type, got %s', Token::print($type->token)), $type->location()); } $fields[] = TypeNode::keyValue(new TypeNode($name, [], $nameToken->location()), $type);
Infection - 8.3: src/Parser/TypeParser.php#L169
Escaped Mutant for Mutator "Break_": --- Original +++ New @@ @@ break; } if ($token->token !== Token::Comma) { - break; + continue; } $tokens->next(); }
Infection - 8.3: src/Parser/Types.php#L203
Escaped Mutant for Mutator "InstanceOf_": --- Original +++ New @@ @@ assert(count($field->args) === 2); [$nameNode, $typeNode] = $field->args; $type = $this->resolve($typeNode); - if ($type instanceof TypeError) { + if (false) { return $type; } $fields[$nameNode->name] = $type;
Infection - 8.2 --prefer-lowest
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/download-artifact@v3, actions/upload-artifact@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Infection - 8.2 --prefer-lowest: src/Parser/Delimiters.php#L17
Escaped Mutant for Mutator "MatchArmRemoval": --- Original +++ New @@ @@ public function start() : string { return match ($this) { - self::CurlyBraces => '{', self::AngleBrackets => '<', }; }
Infection - 8.2 --prefer-lowest: src/Parser/Delimiters.php#L25
Escaped Mutant for Mutator "MatchArmRemoval": --- Original +++ New @@ @@ public function end() : string { return match ($this) { - self::CurlyBraces => '}', self::AngleBrackets => '>', }; } }
Infection - 8.2 --prefer-lowest: src/Parser/TypeParser.php#L138
Escaped Mutant for Mutator "NullSafeMethodCall": --- Original +++ New @@ @@ */ private static function parseStruct(Peekable $tokens, Span $location) : TypeNode { - $openBrace = $tokens->peek()?->location(); + $openBrace = $tokens->peek()->location(); assert($openBrace !== null); $tokens->next(); $fields = [];
Infection - 8.2 --prefer-lowest: src/Parser/TypeParser.php#L157
Escaped Mutant for Mutator "InstanceOf_": --- Original +++ New @@ @@ if ($type === null) { break; } - if (!$type instanceof TypeNode) { + if (!true) { throw SyntaxError::create(sprintf('Expected type, got %s', Token::print($type->token)), $type->location()); } $fields[] = TypeNode::keyValue(new TypeNode($name, [], $nameToken->location()), $type);
Infection - 8.2 --prefer-lowest: src/Parser/TypeParser.php#L169
Escaped Mutant for Mutator "Break_": --- Original +++ New @@ @@ break; } if ($token->token !== Token::Comma) { - break; + continue; } $tokens->next(); }
Infection - 8.2 --prefer-lowest: src/Parser/Types.php#L203
Escaped Mutant for Mutator "InstanceOf_": --- Original +++ New @@ @@ assert(count($field->args) === 2); [$nameNode, $typeNode] = $field->args; $type = $this->resolve($typeNode); - if ($type instanceof TypeError) { + if (false) { return $type; } $fields[$nameNode->name] = $type;
Infection - 8.2
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/download-artifact@v3, actions/upload-artifact@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Infection - 8.2: src/Parser/Delimiters.php#L17
Escaped Mutant for Mutator "MatchArmRemoval": --- Original +++ New @@ @@ public function start() : string { return match ($this) { - self::CurlyBraces => '{', self::AngleBrackets => '<', }; }
Infection - 8.2: src/Parser/Delimiters.php#L25
Escaped Mutant for Mutator "MatchArmRemoval": --- Original +++ New @@ @@ public function end() : string { return match ($this) { - self::CurlyBraces => '}', self::AngleBrackets => '>', }; } }
Infection - 8.2: src/Parser/TypeParser.php#L138
Escaped Mutant for Mutator "NullSafeMethodCall": --- Original +++ New @@ @@ */ private static function parseStruct(Peekable $tokens, Span $location) : TypeNode { - $openBrace = $tokens->peek()?->location(); + $openBrace = $tokens->peek()->location(); assert($openBrace !== null); $tokens->next(); $fields = [];
Infection - 8.2: src/Parser/TypeParser.php#L157
Escaped Mutant for Mutator "InstanceOf_": --- Original +++ New @@ @@ if ($type === null) { break; } - if (!$type instanceof TypeNode) { + if (!true) { throw SyntaxError::create(sprintf('Expected type, got %s', Token::print($type->token)), $type->location()); } $fields[] = TypeNode::keyValue(new TypeNode($name, [], $nameToken->location()), $type);
Infection - 8.2: src/Parser/TypeParser.php#L169
Escaped Mutant for Mutator "Break_": --- Original +++ New @@ @@ break; } if ($token->token !== Token::Comma) { - break; + continue; } $tokens->next(); }
Infection - 8.2: src/Parser/Types.php#L203
Escaped Mutant for Mutator "InstanceOf_": --- Original +++ New @@ @@ assert(count($field->args) === 2); [$nameNode, $typeNode] = $field->args; $type = $this->resolve($typeNode); - if ($type instanceof TypeError) { + if (false) { return $type; } $fields[$nameNode->name] = $type;
Infection - 8.3 --prefer-lowest
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/download-artifact@v3, actions/upload-artifact@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Infection - 8.3 --prefer-lowest: src/Parser/Delimiters.php#L17
Escaped Mutant for Mutator "MatchArmRemoval": --- Original +++ New @@ @@ public function start() : string { return match ($this) { - self::CurlyBraces => '{', self::AngleBrackets => '<', }; }
Infection - 8.3 --prefer-lowest: src/Parser/Delimiters.php#L25
Escaped Mutant for Mutator "MatchArmRemoval": --- Original +++ New @@ @@ public function end() : string { return match ($this) { - self::CurlyBraces => '}', self::AngleBrackets => '>', }; } }
Infection - 8.3 --prefer-lowest: src/Parser/TypeParser.php#L138
Escaped Mutant for Mutator "NullSafeMethodCall": --- Original +++ New @@ @@ */ private static function parseStruct(Peekable $tokens, Span $location) : TypeNode { - $openBrace = $tokens->peek()?->location(); + $openBrace = $tokens->peek()->location(); assert($openBrace !== null); $tokens->next(); $fields = [];
Infection - 8.3 --prefer-lowest: src/Parser/TypeParser.php#L157
Escaped Mutant for Mutator "InstanceOf_": --- Original +++ New @@ @@ if ($type === null) { break; } - if (!$type instanceof TypeNode) { + if (!true) { throw SyntaxError::create(sprintf('Expected type, got %s', Token::print($type->token)), $type->location()); } $fields[] = TypeNode::keyValue(new TypeNode($name, [], $nameToken->location()), $type);
Infection - 8.3 --prefer-lowest: src/Parser/TypeParser.php#L169
Escaped Mutant for Mutator "Break_": --- Original +++ New @@ @@ break; } if ($token->token !== Token::Comma) { - break; + continue; } $tokens->next(); }
Infection - 8.3 --prefer-lowest: src/Parser/Types.php#L203
Escaped Mutant for Mutator "InstanceOf_": --- Original +++ New @@ @@ assert(count($field->args) === 2); [$nameNode, $typeNode] = $field->args; $type = $this->resolve($typeNode); - if ($type instanceof TypeError) { + if (false) { return $type; } $fields[$nameNode->name] = $type;
Infection - 8.1 --prefer-lowest
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/download-artifact@v3, actions/upload-artifact@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Infection - 8.1 --prefer-lowest: src/Parser/Delimiters.php#L17
Escaped Mutant for Mutator "MatchArmRemoval": --- Original +++ New @@ @@ public function start() : string { return match ($this) { - self::CurlyBraces => '{', self::AngleBrackets => '<', }; }
Infection - 8.1 --prefer-lowest: src/Parser/Delimiters.php#L25
Escaped Mutant for Mutator "MatchArmRemoval": --- Original +++ New @@ @@ public function end() : string { return match ($this) { - self::CurlyBraces => '}', self::AngleBrackets => '>', }; } }
Infection - 8.1 --prefer-lowest: src/Parser/TypeParser.php#L138
Escaped Mutant for Mutator "NullSafeMethodCall": --- Original +++ New @@ @@ */ private static function parseStruct(Peekable $tokens, Span $location) : TypeNode { - $openBrace = $tokens->peek()?->location(); + $openBrace = $tokens->peek()->location(); assert($openBrace !== null); $tokens->next(); $fields = [];
Infection - 8.1 --prefer-lowest: src/Parser/TypeParser.php#L157
Escaped Mutant for Mutator "InstanceOf_": --- Original +++ New @@ @@ if ($type === null) { break; } - if (!$type instanceof TypeNode) { + if (!true) { throw SyntaxError::create(sprintf('Expected type, got %s', Token::print($type->token)), $type->location()); } $fields[] = TypeNode::keyValue(new TypeNode($name, [], $nameToken->location()), $type);
Infection - 8.1 --prefer-lowest: src/Parser/TypeParser.php#L169
Escaped Mutant for Mutator "Break_": --- Original +++ New @@ @@ break; } if ($token->token !== Token::Comma) { - break; + continue; } $tokens->next(); }
Infection - 8.1 --prefer-lowest: src/Parser/Types.php#L203
Escaped Mutant for Mutator "InstanceOf_": --- Original +++ New @@ @@ assert(count($field->args) === 2); [$nameNode, $typeNode] = $field->args; $type = $this->resolve($typeNode); - if ($type instanceof TypeError) { + if (false) { return $type; } $fields[$nameNode->name] = $type;
Infection - 8.1
The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/download-artifact@v3, actions/upload-artifact@v3. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
Infection - 8.1: src/Parser/Delimiters.php#L17
Escaped Mutant for Mutator "MatchArmRemoval": --- Original +++ New @@ @@ public function start() : string { return match ($this) { - self::CurlyBraces => '{', self::AngleBrackets => '<', }; }
Infection - 8.1: src/Parser/Delimiters.php#L25
Escaped Mutant for Mutator "MatchArmRemoval": --- Original +++ New @@ @@ public function end() : string { return match ($this) { - self::CurlyBraces => '}', self::AngleBrackets => '>', }; } }
Infection - 8.1: src/Parser/TypeParser.php#L138
Escaped Mutant for Mutator "NullSafeMethodCall": --- Original +++ New @@ @@ */ private static function parseStruct(Peekable $tokens, Span $location) : TypeNode { - $openBrace = $tokens->peek()?->location(); + $openBrace = $tokens->peek()->location(); assert($openBrace !== null); $tokens->next(); $fields = [];
Infection - 8.1: src/Parser/TypeParser.php#L157
Escaped Mutant for Mutator "InstanceOf_": --- Original +++ New @@ @@ if ($type === null) { break; } - if (!$type instanceof TypeNode) { + if (!true) { throw SyntaxError::create(sprintf('Expected type, got %s', Token::print($type->token)), $type->location()); } $fields[] = TypeNode::keyValue(new TypeNode($name, [], $nameToken->location()), $type);
Infection - 8.1: src/Parser/TypeParser.php#L169
Escaped Mutant for Mutator "Break_": --- Original +++ New @@ @@ break; } if ($token->token !== Token::Comma) { - break; + continue; } $tokens->next(); }
Infection - 8.1: src/Parser/Types.php#L203
Escaped Mutant for Mutator "InstanceOf_": --- Original +++ New @@ @@ assert(count($field->args) === 2); [$nameNode, $typeNode] = $field->args; $type = $this->resolve($typeNode); - if ($type instanceof TypeError) { + if (false) { return $type; } $fields[$nameNode->name] = $type;
Deprecation notice: v1, v2, and v3 of the artifact actions
The following artifacts were uploaded using a version of actions/upload-artifact that is scheduled for deprecation: "coverage-8.1", "coverage-8.2", "coverage-8.3", "infection-log-8.1.txt", "infection-log-8.2.txt", "infection-log-8.3.txt". Please update your workflow to use v4 of the artifact actions. Learn more: https://github.blog/changelog/2024-04-16-deprecation-notice-v3-of-the-artifact-actions/

Artifacts

Produced during runtime
Name Size
coverage-8.1
8.13 MB
coverage-8.2
8.76 MB
coverage-8.3
8.76 MB
infection-log-8.1.txt
6.11 KB
infection-log-8.2.txt
6.11 KB
infection-log-8.3.txt
6.11 KB