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

acceptTypeFlagVisitor() public method

Accepts a visitor that differentiates on the flag value of the AST node.
public acceptTypeFlagVisitor ( Phan\AST\Visitor\FlagVisitor $visitor )
$visitor Phan\AST\Visitor\FlagVisitor
    public function acceptTypeFlagVisitor(FlagVisitor $visitor)
    {
        switch ($this->node->flags) {
            case \ast\flags\TYPE_ARRAY:
                return $visitor->visitUnionTypeArray($this->node);
            case \ast\flags\TYPE_BOOL:
                return $visitor->visitUnionTypeBool($this->node);
            case \ast\flags\TYPE_CALLABLE:
                return $visitor->visitUnionTypeCallable($this->node);
            case \ast\flags\TYPE_DOUBLE:
                return $visitor->visitUnionTypeDouble($this->node);
            case \ast\flags\TYPE_LONG:
                return $visitor->visitUnionTypeLong($this->node);
            case \ast\flags\TYPE_NULL:
                return $visitor->visitUnionTypeNull($this->node);
            case \ast\flags\TYPE_OBJECT:
                return $visitor->visitUnionTypeObject($this->node);
            case \ast\flags\TYPE_STRING:
                return $visitor->visitUnionTypeString($this->node);
            default:
                assert(false, "All flags must match. Found " . Debug::astFlagDescription($this->node->flags ?? 0));
                break;
        }
    }