protected final function visitApply(O\MethodCallExpression $expression)
{
$sourceExpression = $expression->getValue();
//Determine whether this was a join/groupJoin apply operation
if ($sourceExpression instanceof O\MethodCallExpression) {
$methodName = $this->getMethodName($sourceExpression);
if (in_array(strtolower($methodName), ['withdefault', 'on', 'onequality', 'join', 'groupjoin'], true)) {
$this->visitJoinApply($expression);
return;
}
}
$this->interpretation->interpretApply('apply', $this->getFunctionAt('apply-function', 0, $expression));
$this->interpretSourceAsScope($expression);
}