Sstalle\php7cc\NodeVisitor\ReservedClassNameVisitor::enterNode PHP Метод

enterNode() публичный Метод

public enterNode ( PhpParser\Node $node )
$node PhpParser\Node
    public function enterNode(Node $node)
    {
        $checkedName = '';
        $usagePatternName = null;
        if ($node instanceof Node\Stmt\ClassLike) {
            $checkedName = $node->name;
            $usagePatternName = 'as a class, interface or trait name';
        } elseif ($this->functionAnalyzer->isFunctionCallByStaticName($node, 'class_alias')) {
            /** @var Node\Expr\FuncCall $node */
            $secondArgument = isset($node->args[1]) ? $node->args[1] : null;
            if (!$secondArgument || !$secondArgument->value instanceof Node\Scalar\String_) {
                return;
            }
            $checkedName = $secondArgument->value->value;
            $usagePatternName = 'as a class alias';
        } elseif ($node instanceof Node\Stmt\UseUse) {
            $checkedName = $node->alias;
            $usagePatternName = 'as a use statement alias';
        }
        $checkedName = strtolower($checkedName);
        if ($checkedName && isset($this->reservedNamesToMessagesMap[$checkedName])) {
            $this->addContextMessage(sprintf($this->reservedNamesToMessagesMap[$checkedName], $checkedName, $usagePatternName), $node);
        }
    }
ReservedClassNameVisitor