*/ #[YieldReady] class PrintNode extends Node implements NodeOutputInterface { public function __construct(AbstractExpression $expr, int $lineno, ?string $tag = null) { parent::__construct(['expr' => $expr], [], $lineno, $tag); } public function compile(Compiler $compiler): void { /** @var AbstractExpression */ $expr = $this->getNode('expr'); $compiler ->addDebugInfo($this) ->write($expr->isGenerator() ? 'yield from ' : 'yield ') ->subcompile($expr) ->raw(";\n") ; } }