public function setPresenter(Presenter $presenter)
    {
        $this->presenter = clone $presenter;
        $this->presenter->addCasters([
            'PhpParser\Node' => function (Node $node, array $a) {
                $a = [
                    Caster::PREFIX_VIRTUAL . 'type'       => $node->getType(),
                    Caster::PREFIX_VIRTUAL . 'attributes' => $node->getAttributes(),
                ];

                foreach ($node->getSubNodeNames() as $name) {
                    $a[Caster::PREFIX_VIRTUAL . $name] = $node->$name;
                }

                return $a;
            },
        ]);
    }
public function setPresenter(Presenter $presenter)
    {
        $this->presenter = clone $presenter;
        $this->presenter->addCasters([
            'PhpParser\Node' => function (Node $node, array $a) {
                $a = [
                    Caster::PREFIX_VIRTUAL . 'type'       => $node->getType(),
                    Caster::PREFIX_VIRTUAL . 'attributes' => $node->getAttributes(),
                ];

                foreach ($node->getSubNodeNames() as $name) {
                    $a[Caster::PREFIX_VIRTUAL . $name] = $node->$name;
                }

                return $a;
            },
        ]);
    }
public function setPresenter ( Presenter $ presenter ) { $ this -> presenter = clone $ presenter ; $ this -> presenter -> addCasters ( [ 'PhpParser\Node' => function ( Node $ node , array $ a ) { $ a = [ Caster :: PREFIX_VIRTUAL . 'type' => $ node -> getType ( ) , Caster :: PREFIX_VIRTUAL . 'attributes' => $ node -> getAttributes ( ) , ] ; foreach ( $ node -> getSubNodeNames ( ) as $ name ) { $ a [ Caster :: PREFIX_VIRTUAL . $ name ] = $ node -> $ name ; } return $ a ; } , ] ) ; }
PresenterAware interface.

@param Presenter $presenter
PresenterAware interface .