Decouple PHPStan Type to function resolver logic#2742
Decouple PHPStan Type to function resolver logic#2742TomasVotruba merged 1 commit intorectorphp:masterfrom Lctrs:decouple
Conversation
|
Any update on this? Looks like stale |
|
Yeah sorry. Didn't had much time lately. Will try to finish this tomorrow. |
|
@TomasVotruba Done. |
| /** | ||
| * @param ClosureType $type | ||
| */ | ||
| public function resolve(Type $type, ClassMemberAccessAnswerer $classMemberAccessAnswerer) |
There was a problem hiding this comment.
There should be return type, in interface and it's implementations
| /** | ||
| * @param ClosureType $type | ||
| */ | ||
| public function resolve(Type $type, ClassMemberAccessAnswerer $classMemberAccessAnswerer) |
There was a problem hiding this comment.
There should be return type, in interface and it's implementations
| /** | ||
| * @return FunctionReflection|MethodReflection|null | ||
| */ | ||
| public function resolve(Type $type, ClassMemberAccessAnswerer $classMemberAccessAnswerer); |
There was a problem hiding this comment.
| public function resolve(Type $type, ClassMemberAccessAnswerer $classMemberAccessAnswerer); | |
| public function resolve(Type $type, ClassMemberAccessAnswerer $classMemberAccessAnswerer): ?\ReflectionFunctionAbstract` |
There was a problem hiding this comment.
Won't work. We're not returning a core reflection instance, but an instance of PHPStan's reflection (or null). A return type is not possible here.
There was a problem hiding this comment.
Do they have any common parent?
There was a problem hiding this comment.
I checked and no. FunctionReflection and MethodReflection are two independant interfaces.
| /** | ||
| * @return FunctionReflection|MethodReflection|null | ||
| */ | ||
| public function resolve(Type $type, ClassMemberAccessAnswerer $classMemberAccessAnswerer) |
There was a problem hiding this comment.
| public function resolve(Type $type, ClassMemberAccessAnswerer $classMemberAccessAnswerer) | |
| public function resolve(Type $type, ClassMemberAccessAnswerer $classMemberAccessAnswerer): ?\ReflectionFunctionAbstract |
|
CI needs fixing |
|
@TomasVotruba It's green 🎉 |
No description provided.