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
PhpParserCode
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);
}