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

Breadcrumb

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

function Parser::parsePrimaryExpression

Parses a primary expression

Return value

Node\Node|null

1 call to Parser::parsePrimaryExpression()
Parser::parseLeftHandSideExpression in vendor/mck89/peast/lib/Peast/Syntax/Parser.php
Parses a left hand side expression

File

vendor/mck89/peast/lib/Peast/Syntax/Parser.php, line 3683

Class

Parser
Parser class

Namespace

Peast\Syntax

Code

protected function parsePrimaryExpression() {
    if ($token = $this->scanner
        ->consume("this")) {
        $node = $this->createNode("ThisExpression", $token);
        return $this->completeNode($node);
    }
    elseif ($exp = $this->parseFunctionOrGeneratorExpression()) {
        return $exp;
    }
    elseif ($exp = $this->parseClassExpression()) {
        return $exp;
    }
    elseif ($exp = $this->parseIdentifier(static::$identifierReference)) {
        return $exp;
    }
    elseif ($exp = $this->parseLiteral()) {
        return $exp;
    }
    elseif ($exp = $this->parseArrayLiteral()) {
        return $exp;
    }
    elseif ($exp = $this->parseObjectLiteral()) {
        return $exp;
    }
    elseif ($exp = $this->parseRegularExpressionLiteral()) {
        return $exp;
    }
    elseif ($exp = $this->parseTemplateLiteral()) {
        return $exp;
    }
    elseif ($this->jsx && ($exp = $this->parseJSXFragment())) {
        return $exp;
    }
    elseif ($this->jsx && ($exp = $this->parseJSXElement())) {
        return $exp;
    }
    elseif ($token = $this->scanner
        ->consume("(")) {
        if (($exp = $this->isolateContext(array(
            "allowIn" => true,
        ), "parseExpression")) && $this->scanner
            ->consume(")")) {
            $node = $this->createNode("ParenthesizedExpression", $token);
            $node->setExpression($exp);
            return $this->completeNode($node);
        }
        $this->error();
    }
    return null;
}

API Navigation

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