Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. YieldNotReadyNodeVisitor.php

function YieldNotReadyNodeVisitor::enterNode

Overrides NodeVisitorInterface::enterNode

File

vendor/twig/twig/src/NodeVisitor/YieldNotReadyNodeVisitor.php, line 31

Class

YieldNotReadyNodeVisitor
@internal to be removed in Twig 4

Namespace

Twig\NodeVisitor

Code

public function enterNode(Node $node, Environment $env) : Node {
    $class = \get_class($node);
    if ($node instanceof AbstractExpression || isset($this->yieldReadyNodes[$class])) {
        return $node;
    }
    if (!($this->yieldReadyNodes[$class] = (bool) (new \ReflectionClass($class))->getAttributes(YieldReady::class))) {
        if ($this->useYield) {
            throw new \LogicException(\sprintf('You cannot enable the "use_yield" option of Twig as node "%s" is not marked as ready for it; please make it ready and then flag it with the #[\\Twig\\Attribute\\YieldReady] attribute.', $class));
        }
        trigger_deprecation('twig/twig', '3.9', 'Twig node "%s" is not marked as ready for using "yield" instead of "echo"; please make it ready and then flag it with the #[\\Twig\\Attribute\\YieldReady] attribute.', $class);
    }
    return $node;
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal