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

acceptAnyFlagVisitor() public method

Accepts a visitor that differentiates on the flag value of the AST node.
public acceptAnyFlagVisitor ( Phan\AST\Visitor\FlagVisitor $visitor )
$visitor Phan\AST\Visitor\FlagVisitor
    public function acceptAnyFlagVisitor(FlagVisitor $visitor)
    {
        switch ($this->node->flags) {
            case \ast\flags\ASSIGN_ADD:
                return $visitor->visitAssignAdd($this->node);
            case \ast\flags\ASSIGN_BITWISE_AND:
                return $visitor->visitAssignBitwiseAnd($this->node);
            case \ast\flags\ASSIGN_BITWISE_OR:
                return $visitor->visitAssignBitwiseOr($this->node);
            case \ast\flags\ASSIGN_BITWISE_XOR:
                return $visitor->visitAssignBitwiseXor($this->node);
            case \ast\flags\ASSIGN_CONCAT:
                return $visitor->visitAssignConcat($this->node);
            case \ast\flags\ASSIGN_DIV:
                return $visitor->visitAssignDiv($this->node);
            case \ast\flags\ASSIGN_MOD:
                return $visitor->visitAssignMod($this->node);
            case \ast\flags\ASSIGN_MUL:
                return $visitor->visitAssignMul($this->node);
            case \ast\flags\ASSIGN_POW:
                return $visitor->visitAssignPow($this->node);
            case \ast\flags\ASSIGN_SHIFT_LEFT:
                return $visitor->visitAssignShiftLeft($this->node);
            case \ast\flags\ASSIGN_SHIFT_RIGHT:
                return $visitor->visitAssignShiftRight($this->node);
            case \ast\flags\ASSIGN_SUB:
                return $visitor->visitAssignSub($this->node);
            case \ast\flags\BINARY_ADD:
                return $visitor->visitBinaryAdd($this->node);
            case \ast\flags\BINARY_BITWISE_AND:
                return $visitor->visitBinaryBitwiseAnd($this->node);
            case \ast\flags\BINARY_BITWISE_OR:
                return $visitor->visitBinaryBitwiseOr($this->node);
            case \ast\flags\BINARY_BITWISE_XOR:
                return $visitor->visitBinaryBitwiseXor($this->node);
            case \ast\flags\BINARY_BOOL_XOR:
                return $visitor->visitBinaryBoolXor($this->node);
            case \ast\flags\BINARY_CONCAT:
                return $visitor->visitBinaryConcat($this->node);
            case \ast\flags\BINARY_DIV:
                return $visitor->visitBinaryDiv($this->node);
            case \ast\flags\BINARY_IS_EQUAL:
                return $visitor->visitBinaryIsEqual($this->node);
            case \ast\flags\BINARY_IS_IDENTICAL:
                return $visitor->visitBinaryIsIdentical($this->node);
            case \ast\flags\BINARY_IS_NOT_EQUAL:
                return $visitor->visitBinaryIsNotEqual($this->node);
            case \ast\flags\BINARY_IS_NOT_IDENTICAL:
                return $visitor->visitBinaryIsNotIdentical($this->node);
            case \ast\flags\BINARY_IS_SMALLER:
                return $visitor->visitBinaryIsSmaller($this->node);
            case \ast\flags\BINARY_IS_SMALLER_OR_EQUAL:
                return $visitor->visitBinaryIsSmallerOrEqual($this->node);
            case \ast\flags\BINARY_MOD:
                return $visitor->visitBinaryMod($this->node);
            case \ast\flags\BINARY_MUL:
                return $visitor->visitBinaryMul($this->node);
            case \ast\flags\BINARY_POW:
                return $visitor->visitBinaryPow($this->node);
            case \ast\flags\BINARY_SHIFT_LEFT:
                return $visitor->visitBinaryShiftLeft($this->node);
            case \ast\flags\BINARY_SHIFT_RIGHT:
                return $visitor->visitBinaryShiftRight($this->node);
            case \ast\flags\BINARY_SPACESHIP:
                return $visitor->visitBinarySpaceship($this->node);
            case \ast\flags\BINARY_SUB:
                return $visitor->visitBinarySub($this->node);
            case \ast\flags\CLASS_ABSTRACT:
                return $visitor->visitClassAbstract($this->node);
            case \ast\flags\CLASS_FINAL:
                return $visitor->visitClassFinal($this->node);
            case \ast\flags\CLASS_INTERFACE:
                return $visitor->visitClassInterface($this->node);
            case \ast\flags\CLASS_TRAIT:
                return $visitor->visitClassTrait($this->node);
            case \ast\flags\MODIFIER_ABSTRACT:
                return $visitor->visitModifierAbstract($this->node);
            case \ast\flags\MODIFIER_FINAL:
                return $visitor->visitModifierFinal($this->node);
            case \ast\flags\MODIFIER_PRIVATE:
                return $visitor->visitModifierPrivate($this->node);
            case \ast\flags\MODIFIER_PROTECTED:
                return $visitor->visitModifierProtected($this->node);
            case \ast\flags\MODIFIER_PUBLIC:
                return $visitor->visitModifierPublic($this->node);
            case \ast\flags\MODIFIER_STATIC:
                return $visitor->visitModifierStatic($this->node);
            case \ast\flags\NAME_FQ:
                return $visitor->visitNameFq($this->node);
            case \ast\flags\NAME_NOT_FQ:
                return $visitor->visitNameNotFq($this->node);
            case \ast\flags\NAME_RELATIVE:
                return $visitor->visitNameRelative($this->node);
            case \ast\flags\PARAM_REF:
                return $visitor->visitParamRef($this->node);
            case \ast\flags\PARAM_VARIADIC:
                return $visitor->visitParamVariadic($this->node);
            case \ast\flags\RETURNS_REF:
                return $visitor->visitReturnsRef($this->node);
            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);
            case \ast\flags\UNARY_BITWISE_NOT:
                return $visitor->visitUnaryBitwiseNot($this->node);
            case \ast\flags\UNARY_BOOL_NOT:
                return $visitor->visitUnaryBoolNot($this->node);
            case \ast\flags\BINARY_BOOL_AND:
                return $visitor->visitBinaryBoolAnd($this->node);
            case \ast\flags\BINARY_BOOL_OR:
                return $visitor->visitBinaryBoolOr($this->node);
            case \ast\flags\BINARY_IS_GREATER:
                return $visitor->visitBinaryIsGreater($this->node);
            case \ast\flags\BINARY_IS_GREATER_OR_EQUAL:
                return $visitor->visitBinaryIsGreaterOrEqual($this->node);
            case \ast\flags\CLASS_ANONYMOUS:
                return $visitor->visitClassAnonymous($this->node);
            case \ast\flags\EXEC_EVAL:
                return $visitor->visitExecEval($this->node);
            case \ast\flags\EXEC_INCLUDE:
                return $visitor->visitExecInclude($this->node);
            case \ast\flags\EXEC_INCLUDE_ONCE:
                return $visitor->visitExecIncludeOnce($this->node);
            case \ast\flags\EXEC_REQUIRE:
                return $visitor->visitExecRequire($this->node);
            case \ast\flags\EXEC_REQUIRE_ONCE:
                return $visitor->visitExecRequireOnce($this->node);
            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);
            case \ast\flags\UNARY_MINUS:
                return $visitor->visitUnaryMinus($this->node);
            case \ast\flags\UNARY_PLUS:
                return $visitor->visitUnaryPlus($this->node);
            case \ast\flags\UNARY_SILENCE:
                return $visitor->visitUnarySilence($this->node);
            case \ast\flags\USE_CONST:
                return $visitor->visitUseConst($this->node);
            case \ast\flags\USE_FUNCTION:
                return $visitor->visitUseFunction($this->node);
            case \ast\flags\USE_NORMAL:
                return $visitor->visitUseNormal($this->node);
            default:
                assert(false, "All flags must match. Found " . Debug::astFlagDescription($this->node->flags ?? 0));
                break;
        }
    }