function AssertRuleHelper::isMethodOrStaticCallOnAssert
* @phpstan-assert-if-true Node\Expr\MethodCall|Node\Expr\StaticCall $node
3 calls to AssertRuleHelper::isMethodOrStaticCallOnAssert()
- AssertSameBooleanExpectedRule::processNode in vendor/
phpstan/ phpstan-phpunit/ src/ Rules/ PHPUnit/ AssertSameBooleanExpectedRule.php - AssertSameNullExpectedRule::processNode in vendor/
phpstan/ phpstan-phpunit/ src/ Rules/ PHPUnit/ AssertSameNullExpectedRule.php - AssertSameWithCountRule::processNode in vendor/
phpstan/ phpstan-phpunit/ src/ Rules/ PHPUnit/ AssertSameWithCountRule.php
File
-
vendor/
phpstan/ phpstan-phpunit/ src/ Rules/ PHPUnit/ AssertRuleHelper.php, line 17
Class
Namespace
PHPStan\Rules\PHPUnitCode
public static function isMethodOrStaticCallOnAssert(Node $node, Scope $scope) : bool {
if ($node instanceof Node\Expr\MethodCall) {
$calledOnType = $scope->getType($node->var);
}
elseif ($node instanceof Node\Expr\StaticCall) {
if ($node->class instanceof Node\Name) {
$class = (string) $node->class;
if ($scope->isInClass() && in_array(strtolower($class), [
'self',
'static',
'parent',
], true)) {
$calledOnType = new ObjectType($scope->getClassReflection()
->getName());
}
else {
$calledOnType = new ObjectType($class);
}
}
else {
$calledOnType = $scope->getType($node->class);
}
}
else {
return false;
}
$testCaseType = new ObjectType('PHPUnit\\Framework\\Assert');
return $testCaseType->isSuperTypeOf($calledOnType)
->yes();
}