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

Breadcrumb

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

function ConstExprEvaluator::evaluate

Return value

mixed

5 calls to ConstExprEvaluator::evaluate()
ConstExprEvaluator::evaluateArray in vendor/nikic/php-parser/lib/PhpParser/ConstExprEvaluator.php
ConstExprEvaluator::evaluateBinaryOp in vendor/nikic/php-parser/lib/PhpParser/ConstExprEvaluator.php
ConstExprEvaluator::evaluateDirectly in vendor/nikic/php-parser/lib/PhpParser/ConstExprEvaluator.php
Directly evaluates a constant expression into a PHP value.
ConstExprEvaluator::evaluateSilently in vendor/nikic/php-parser/lib/PhpParser/ConstExprEvaluator.php
Silently evaluates a constant expression into a PHP value.
ConstExprEvaluator::evaluateTernary in vendor/nikic/php-parser/lib/PhpParser/ConstExprEvaluator.php

File

vendor/nikic/php-parser/lib/PhpParser/ConstExprEvaluator.php, line 106

Class

ConstExprEvaluator
Evaluates constant expressions.

Namespace

PhpParser

Code

private function evaluate(Expr $expr) {
    if ($expr instanceof Scalar\Int_ || $expr instanceof Scalar\Float_ || $expr instanceof Scalar\String_) {
        return $expr->value;
    }
    if ($expr instanceof Expr\Array_) {
        return $this->evaluateArray($expr);
    }
    // Unary operators
    if ($expr instanceof Expr\UnaryPlus) {
        return +$this->evaluate($expr->expr);
    }
    if ($expr instanceof Expr\UnaryMinus) {
        return -$this->evaluate($expr->expr);
    }
    if ($expr instanceof Expr\BooleanNot) {
        return !$this->evaluate($expr->expr);
    }
    if ($expr instanceof Expr\BitwiseNot) {
        return ~$this->evaluate($expr->expr);
    }
    if ($expr instanceof Expr\BinaryOp) {
        return $this->evaluateBinaryOp($expr);
    }
    if ($expr instanceof Expr\Ternary) {
        return $this->evaluateTernary($expr);
    }
    if ($expr instanceof Expr\ArrayDimFetch && null !== $expr->dim) {
        return $this->evaluate($expr->var)[$this->evaluate($expr->dim)];
    }
    if ($expr instanceof Expr\ConstFetch) {
        return $this->evaluateConstFetch($expr);
    }
    return ($this->fallbackEvaluator)($expr);
}

API Navigation

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