CodeExplorer TempNameExpression example
final class ApplyTokenParser extends AbstractTokenParser
{ public function parse(Token
$token): Node
{ $lineno =
$token->
getLine();
$name =
$this->parser->
getVarName();
$ref =
new TempNameExpression($name,
$lineno);
$ref->
setAttribute('always_defined', true
);
$filter =
$this->parser->
getExpressionParser()->
parseFilterExpressionRaw($ref,
$this->
getTag());
$this->parser->
getStream()->
expect(Token::BLOCK_END_TYPE
);
$body =
$this->parser->
subparse([$this, 'decideApplyEnd'
], true
);
$this->parser->
getStream()->
expect(Token::BLOCK_END_TYPE
);
return new Node([ new SetNode(true,
$ref,
$body,
$lineno,
$this->
getTag()),
new PrintNode($filter,
$lineno,
$this->
getTag()),
]);