protected final function visitOffsetGet(O\Expression $expression)
{
$requestId = $this->getId('offset-get');
$indexId = $this->getId('offset-get-index');
if ($expression instanceof O\MethodCallExpression) {
$this->interpretation->interpretOffsetGet($requestId, $indexId, $this->getArgumentValueAt(0, $expression));
} elseif ($expression instanceof O\IndexExpression) {
$this->interpretation->interpretOffsetGet($requestId, $indexId, $this->getValue($expression->getIndex()));
} else {
throw new PinqException('Cannot interpret offset get request: invalid expression type, expecting %s, %s given', O\MethodCallExpression::getType() . ' or ' . O\IndexExpression::getType(), $expression->getType());
}
$this->interpretSourceAsScope($expression);
}