/opt/cpanel/ea-wappspector/vendor/rector/rector/src/NodeAnalyzer
Edit: /opt/cpanel/ea-wappspector/vendor/rector/rector/src/NodeAnalyzer/PropertyAnalyzer.php (1697B)
nodeTypeResolver = $nodeTypeResolver;
}
public function hasForbiddenType(Property $property) : bool
{
$propertyType = $this->nodeTypeResolver->getType($property);
if ($propertyType instanceof NullType) {
return \true;
}
if ($this->isForbiddenType($propertyType)) {
return \true;
}
if (!$propertyType instanceof UnionType) {
return \false;
}
$types = $propertyType->getTypes();
foreach ($types as $type) {
if ($this->isForbiddenType($type)) {
return \true;
}
}
return \false;
}
private function isForbiddenType(Type $type) : bool
{
if ($type instanceof NonExistingObjectType) {
return \true;
}
return $this->isCallableType($type);
}
private function isCallableType(Type $type) : bool
{
if ($type instanceof TypeWithClassName && $type->getClassName() === 'Closure') {
return \false;
}
return $type instanceof CallableType;
}
}