-
-
Notifications
You must be signed in to change notification settings - Fork 9.7k
Fixed bugs found by psalm #40610
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixed bugs found by psalm #40610
Conversation
| } | ||
|
|
||
| private function renderException(OutputInterface $output, string $template, Error $exception, string $file = null) | ||
| private function renderException(SymfonyStyle $output, string $template, Error $exception, string $file = null) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a minor. We pass a SymfonyStyle and we use the $object as a SymfonyStyle.
| public function setPriority(int $priority): self | ||
| { | ||
| $this->message->setPriority($priority); | ||
| $this->message->priority($priority); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is no function called setPriority. However, the Email::priority() exists.
Im not sure if I should rename WrappedTemplatedEmail::setPriority() to priority() too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the class is internal, no need to care about renaming, it won't improve anything
| public function getETags() | ||
| { | ||
| return preg_split('/\s*,\s*/', $this->headers->get('if_none_match'), null, \PREG_SPLIT_NO_EMPTY); | ||
| return preg_split('/\s*,\s*/', $this->headers->get('if_none_match'), -1, \PREG_SPLIT_NO_EMPTY); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
preg_split's third argument supports null in PHP 7. However, in PHP 8 it is required to be an int.
From PHPStorm's stubs:
If specified, then only substrings up to limit are returned with the rest of the string being placed in the last substring. A limit of -1, 0 or NULL means "no limit" and, as is standard across PHP, you can use NULL to skip to the flags parameter.
From the docs (PHP 8 ready):
If specified, then only substrings up to limit are returned with the rest of the string being placed in the last substring. A limit of -1 or 0 means "no limit".
| $descriptor->describe($io, $data, $context, $clientId); | ||
| }); | ||
|
|
||
| return 0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a command that does not return an int.
|
|
||
| if (!\is_array($properties = $value->__serialize())) { | ||
| throw new \Typerror($class.'::__serialize() must return an array'); | ||
| throw new \TypeError($class.'::__serialize() must return an array'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Typo
|
|
||
| if (self::class === $method->getDeclaringClass()->name && ($returnType = $method->getReturnType()) && !$returnType->isBuiltin()) { | ||
| $services[self::class.'::'.$method->name] = '?'.($returnType instanceof \ReflectionNamedType ? $returnType->getName() : $type); | ||
| $services[self::class.'::'.$method->name] = '?'.($returnType instanceof \ReflectionNamedType ? $returnType->getName() : $returnType); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The variable $type is never defined in this class. I assume we mean $returnType.
| * Sets a factory. | ||
| * | ||
| * @param string|array|Reference $factory A PHP function, reference or an array containing a class/Reference and a method to call | ||
| * @param string|array|Reference|null $factory A PHP function, reference or an array containing a class/Reference and a method to call |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is also a minor.
The SessionPass is passing "null" as parameter to this method to reset the factory.
|
|
||
| // Stream context created to allow files overwrite when using FTP stream wrapper - disabled by default | ||
| if (false === $target = @fopen($targetFile, 'w', null, stream_context_create(['ftp' => ['overwrite' => true]]))) { | ||
| if (false === $target = @fopen($targetFile, 'w', false, stream_context_create(['ftp' => ['overwrite' => true]]))) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Third parameter to fopen bust be a boolean. Default is `false´.
From the docs:
The optional third use_include_path parameter can be set to '1' or true if you want to search for the file in the include_path, too.
Please very this extra carefully.
d6a3a84 to
0a0cd7a
Compare
|
Thank you @Nyholm. |
When running psalm for branch 4.4, we get around 1500 errors. I browsed though them all and here is a small PR with the actual bugs I think should be fixed.
I'll make review comments about them below.