Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. AssertRuleHelper.php

class AssertRuleHelper

Hierarchy

  • class \PHPStan\Rules\PHPUnit\AssertRuleHelper

Expanded class hierarchy of AssertRuleHelper

File

vendor/phpstan/phpstan-phpunit/src/Rules/PHPUnit/AssertRuleHelper.php, line 11

Namespace

PHPStan\Rules\PHPUnit
View source
class AssertRuleHelper {
    
    /**
     * @phpstan-assert-if-true Node\Expr\MethodCall|Node\Expr\StaticCall $node
     */
    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();
    }

}

Members

Title Sort descending Modifiers Object type Summary
AssertRuleHelper::isMethodOrStaticCallOnAssert public static function * @phpstan-assert-if-true Node\Expr\MethodCall|Node\Expr\StaticCall $node
RSS feed
Powered by Drupal