-
Notifications
You must be signed in to change notification settings - Fork 659
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
Internal Psalm Error: Could not get class storage for <interface>
#10350
Comments
I found these snippets: https://psalm.dev/r/4c29e2bae8<?php
class Anything implements \JsonSerializable, \Stringable
{
public function jsonSerialize(): array { return []; }
public function __toString(): string { return ''; }
}
class Subject implements \JsonSerializable
{
// @hint Resolve the union type here to resolve the error:
// `Internal Psalm error on line 47 - /vendor/vimeo/psalm/src/Psalm/Internal/Provider/ClassLikeStorageProvider.php: Could not get class storage for jsonserializable`
private \JsonSerializable&\Stringable $property;
public function __construct()
{
$this->property = new Anything();
}
public function jsonSerialize(): array
{
return [];
}
}
|
This was referenced Feb 19, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Error Message using latest release
vimeo/psalm:5.15.0
This scenario occurred while analyzing
\Symfony\Component\HttpFoundation\Session\Storage\Handler\MigratingSessionHandler
.I've created a simplified version at https://psalm.dev/r/4c29e2bae8
The problem seems to be related to using intersection types in class property declarations. Resolving that results in the mentioned
Could not get class storage for <interface>
error.Relevant stack trace
→ I'm guessing, that the
TypeHintResolver
is causing this when resolving intersection typesThe text was updated successfully, but these errors were encountered: