public function MapCastExpression($CastType, CoreExpression $CastValueExpression) { switch ($CastType) { case O\Cast::Boolean: return Expression::Conditional($CastValueExpression, Expression::Constant(1), Expression::Constant(0)); case O\Cast::Double: return Expression::BinaryOperation($CastValueExpression, O\Binary::Addition, Expression::Literal('0.0')); default: return Expression::Cast($CastType, $CastValueExpression); } }