*/ final class WithTokenParser extends AbstractTokenParser { public function parse(Token $token) { $stream = $this->parser->getStream(); $variables = null; $only = false; if (!$stream->test(/* Token::BLOCK_END_TYPE */ 3)) { $variables = $this->parser->getExpressionParser()->parseExpression(); $only = (bool) $stream->nextIf(/* Token::NAME_TYPE */ 5, 'only'); } $stream->expect(/* Token::BLOCK_END_TYPE */ 3); $body = $this->parser->subparse([$this, 'decideWithEnd'], true); $stream->expect(/* Token::BLOCK_END_TYPE */ 3); return new WithNode($body, $variables, $only, $token->getLine(), $this->getTag()); } public function decideWithEnd(Token $token) { return $token->test('endwith'); } public function getTag() { return 'with'; } } __halt_compiler();----SIGNATURE:----OMDErtWRbN+nJFu7IQzF8ZZdt1hs1QrqHpJnwIcYVL9n37JRN+uKxOf9A0Ud+QGC8S9DOpNpCL7mX4KImQKnRZZXkgcusjtQCYBSc44onfUDfKzdoN0TCuECKkF+Ofuhu8MUQPLPlAsGOxlS5735CD9hN1JCSeZQtAkoYcZkURGQKvR+JINPRa8kQh2CcPe88XZFIpYUoqJLeth8jX0B5y+SMZsbQhKX6kwCyg6vwhSmeXWIm8Ydw1jXrHWRTXbf2g4KxJxdu59qqVZmcqP2wAy1rqO9tctKhYEYMqmY4PV68ud/so5Ul3yEXGD2vPzOsd8+Mws6AU9LL++XFde1RBhLePACZOHczV1PSOg4w0wjRTmzpfYnuAphejOMN3as+52Cld7ef2lVti6gxZ+kvWRxSHIAgRynQOeC+YRJhHPH6DmKqaYjCr2YXATjBvI1C+Bx8yrkmF8jlG5J4BYvB069Xt8pIAExntbvf6OA5RbwzH7+SpbkAdaUZvAv4yO+fH2G1c0qU/92bLDVNZ/d5XpdgVqoWyMg9MlohrCVbpBN/4HiJ/KnCKQZT6U+kdQP+MHiFIVmMQC+iftlrxFDEsKzS2Gb/Vx0yrqogNpZQOztykzQeqnP3GzaDf7+X8ZmPsK9BZI3D3Jj8u9xWW3xhKD1IvHHq7aOdjKfSn6hqNk=----ATTACHMENT:----MjcwNzIwNTI5ODExNTA5NSA4MzIyMTcxMzU5OTIwNTUwIDgzMjk4Mzk4MTU1NjI5NjY=