| 1 | <?php |
||
| 21 | abstract class TwigVisitor extends BaseVisitor |
||
| 22 | { |
||
| 23 | /** |
||
| 24 | * @var Worker |
||
| 25 | */ |
||
| 26 | private $worker; |
||
| 27 | |||
| 28 | /** |
||
| 29 | * @param Worker|null $worker |
||
| 30 | */ |
||
| 31 | 6 | public function __construct(Worker $worker = null) |
|
| 32 | { |
||
| 33 | 6 | if (null === $worker) { |
|
| 34 | 6 | $worker = new Worker(); |
|
| 35 | } |
||
| 36 | |||
| 37 | 6 | $this->worker = $worker; |
|
| 38 | 6 | } |
|
| 39 | |||
| 40 | /** |
||
| 41 | * @return Twig1Visitor|Twig2Visitor |
||
| 42 | * |
||
| 43 | * @deprecated since 1.2. Will be removed in 2.0. Use TwigVisitorFactory instead. |
||
| 44 | */ |
||
| 45 | public static function create() |
||
| 46 | { |
||
| 47 | if (-1 === version_compare(\Twig_Environment::VERSION, '2.0')) { |
||
| 48 | return new Twig1Visitor(); |
||
| 49 | } |
||
| 50 | |||
| 51 | return new Twig2Visitor(); |
||
| 52 | } |
||
| 53 | |||
| 54 | /** |
||
| 55 | * @param \Twig_Node|\Twig_NodeInterface $node |
||
| 56 | * |
||
| 57 | * @return \Twig_Node|\Twig_NodeInterface |
||
| 58 | */ |
||
| 59 | protected function doEnterNode($node) |
||
| 65 | } |
||
| 66 |