public function walkVariable(VariableExpression $expression) { $name = $expression->getName(); if ($name instanceof O\ValueExpression) { return $expression->update(O\Expression::value($this->prefix . $name->getValue())); } return $expression->update(O\Expression::binaryOperation(O\Expression::value($this->prefix), O\Operators\Binary::CONCATENATION, $name)); }
public function visitVariable(O\VariableExpression $expression) { $nameExpression = $expression->getName(); $this->walk($nameExpression); $type = $this->analysisContext->getExpressionType($expression); if ($type === null) { throw new TypeException('Invalid variable expression: \'%s\' type is unknown', $nameExpression->compileDebug()); } $this->analysis[$expression] = $type; }