Storm\Drivers\Fluent\Object\Functional\Implementation\PHPParser\Visitors\AccessorBuilderVisitor::leaveNode PHP Метод

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

public leaveNode ( PHPParser_Node $Node )
$Node PHPParser_Node
    public function leaveNode(\PHPParser_Node $Node)
    {
        switch (true) {
            //Field
            case $Node instanceof \PHPParser_Node_Expr_PropertyFetch:
                $Name = AST::VerifyNameNode($Node->name);
                $this->AccessorBuilder->{$Name};
                break;
                //Method
            //Method
            case $Node instanceof \PHPParser_Node_Expr_MethodCall:
                $Name = AST::VerifyNameNode($Node->name);
                $this->AccessorBuilder->{$Name}();
                break;
                //Indexor
            //Indexor
            case $Node instanceof \PHPParser_Node_Expr_ArrayDimFetch:
                if (!$Node->dim instanceof PHPParserConstantValueNode) {
                    throw new \Storm\Drivers\Fluent\Object\Functional\ASTException('Property indexor must be a constant value');
                }
                $this->AccessorBuilder[$this->GetNodeValue($Node->dim)];
                break;
                //Invocation
            //Invocation
            case $Node instanceof \PHPParser_Node_Expr_FuncCall:
                if ($Node->name instanceof \PHPParser_Node_Expr_Variable && $Node->name->name === $this->EntityVariableName) {
                    $this->AccessorBuilder();
                }
                break;
            default:
                return;
        }
    }