PHPStan\Type\Type::accepts PHP Method

accepts() public method

public accepts ( PHPStan\Type\Type $type ) : boolean
$type PHPStan\Type\Type
return boolean
    public function accepts(Type $type) : bool;

Usage Example

 /**
  * @param \PHPStan\Analyser\Scope $scope
  * @param \PHPStan\Type\Type $returnType
  * @param \PhpParser\Node\Expr|null $returnValue
  * @param string $emptyReturnStatementMessage
  * @param string $voidMessage
  * @param string $typeMismatchMessage
  * @return string[]
  */
 public function checkReturnType(Scope $scope, Type $returnType, Expr $returnValue = null, string $emptyReturnStatementMessage, string $voidMessage, string $typeMismatchMessage) : array
 {
     if ($returnValue === null) {
         if ($returnType instanceof VoidType || $returnType instanceof MixedType) {
             return [];
         }
         return [sprintf($emptyReturnStatementMessage, $returnType->describe())];
     }
     $returnValueType = $scope->getType($returnValue);
     if ($returnType instanceof VoidType) {
         return [sprintf($voidMessage, $returnValueType->describe())];
     }
     if (!$returnType->accepts($returnValueType)) {
         return [sprintf($typeMismatchMessage, $returnType->describe(), $returnValueType->describe())];
     }
     return [];
 }