/** * @param Expression $expression * @param Configuration $configuration * * @return Clause */ private function transformExpression(Expression $expression, Configuration $configuration) { if (!isset($this->expressionTransformers[$expression->getExp()])) { throw new \InvalidArgumentException(sprintf('Unknown or unsupported expression type "%s"', $expression->getExp())); } return call_user_func($this->expressionTransformers[$expression->getExp()], $this, $expression, $configuration); }
/** * @param Expression $expression * @param mixed $element * @param Configuration $config * * @return mixed */ private function resolveExpression(Expression $expression, $element, Configuration $config) { if (!isset($this->resolvers[$expression->getExp()])) { throw new \InvalidArgumentException(sprintf('Unknown or unsupported expression type "%s"', get_class($expression))); } return call_user_func($this->resolvers[$expression->getExp()], $this, $expression, $element, $config); }