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

Breadcrumb

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

function ExtendsTokenParser::parse

Overrides TokenParserInterface::parse

File

vendor/twig/twig/src/TokenParser/ExtendsTokenParser.php, line 29

Class

ExtendsTokenParser
Extends a template by another one.

Namespace

Twig\TokenParser

Code

public function parse(Token $token) : Node {
    $stream = $this->parser
        ->getStream();
    if ($this->parser
        ->peekBlockStack()) {
        throw new SyntaxError('Cannot use "extend" in a block.', $token->getLine(), $stream->getSourceContext());
    }
    elseif (!$this->parser
        ->isMainScope()) {
        throw new SyntaxError('Cannot use "extend" in a macro.', $token->getLine(), $stream->getSourceContext());
    }
    $this->parser
        ->setParent($this->parser
        ->getExpressionParser()
        ->parseExpression());
    $stream->expect(Token::BLOCK_END_TYPE);
    return new EmptyNode($token->getLine());
}

API Navigation

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