/** * {@inheritDoc} */ public function walkCompositeExpression(CompositeExpression $expr) { $expressionList = array(); foreach ($expr->getExpressionList() as $child) { $expressionList[] = $this->dispatch($child); } switch ($expr->getType()) { case CompositeExpression::TYPE_AND: return $this->andExpressions($expressionList); case CompositeExpression::TYPE_OR: return $this->orExpressions($expressionList); default: throw new \RuntimeException("Unknown composite " . $expr->getType()); } }
/** * __construct * * @param array $parts * @param mixed $type * @access public * @return void */ public function __construct(array $parts = array(), $type = self::TYPE_AND) { parent::__construct($parts); $this->type = $type; }