Phan\AST\Visitor\Element::acceptMagicFlagVisitor PHP Method

acceptMagicFlagVisitor() public method

Accepts a visitor that differentiates on the flag value of the AST node.
public acceptMagicFlagVisitor ( Phan\AST\Visitor\FlagVisitor $visitor )
$visitor Phan\AST\Visitor\FlagVisitor
    public function acceptMagicFlagVisitor(FlagVisitor $visitor)
    {
        switch ($this->node->flags) {
            case \ast\flags\MAGIC_CLASS:
                return $visitor->visitMagicClass($this->node);
            case \ast\flags\MAGIC_DIR:
                return $visitor->visitMagicDir($this->node);
            case \ast\flags\MAGIC_FILE:
                return $visitor->visitMagicFile($this->node);
            case \ast\flags\MAGIC_FUNCTION:
                return $visitor->visitMagicFunction($this->node);
            case \ast\flags\MAGIC_LINE:
                return $visitor->visitMagicLine($this->node);
            case \ast\flags\MAGIC_METHOD:
                return $visitor->visitMagicMethod($this->node);
            case \ast\flags\MAGIC_NAMESPACE:
                return $visitor->visitMagicNamespace($this->node);
            case \ast\flags\MAGIC_TRAIT:
                return $visitor->visitMagicTrait($this->node);
            default:
                assert(false, "All flags must match. Found " . Debug::astFlagDescription($this->node->flags ?? 0));
                break;
        }
    }