public function filter(\Closure $c) { $filtered = $this->expression->filter($c); if ($this->codeChunks !== null) { foreach ($this->codeChunks->getCodeChunks() as $codeChunk) { $filtered = array_merge($filtered, $codeChunk->filter($c)); } } return $filtered; }
public function filter(\Closure $c) { return array_merge($this->leftValue->filter($c), $this->rightValue->filter($c)); }
public function convertExpression(TES4Expression $expression, TES5CodeScope $codeScope, TES5GlobalScope $globalScope, TES5MultipleScriptsScope $multipleScriptsScope) { $operator = TES5ArithmeticExpressionOperator::memberByValueWithDefault($expression->getOperator()->value(), null); if ($operator === null) { $operator = TES5LogicalExpressionOperator::memberByValueWithDefault($expression->getOperator()->value(), null); if ($operator === null) { $operator = TES5BinaryExpressionOperator::memberByValueWithDefault($expression->getOperator()->value(), null); if ($operator === null) { throw new ConversionException("Unknown expression operator"); } return $this->expressionFactory->createBinaryExpression($this->createValue($expression->getLeftValue(), $codeScope, $globalScope, $multipleScriptsScope), $operator, $this->createValue($expression->getRightValue(), $codeScope, $globalScope, $multipleScriptsScope)); } return $this->expressionFactory->createLogicalExpression($this->createValue($expression->getLeftValue(), $codeScope, $globalScope, $multipleScriptsScope), $operator, $this->createValue($expression->getRightValue(), $codeScope, $globalScope, $multipleScriptsScope)); } return $this->convertArithmeticExpression($expression, $codeScope, $globalScope, $multipleScriptsScope); }