#include "SimpleExpressionConditionalOperator.h" SimpleExpressionConditionalOperator::SimpleExpressionConditionalOperator() = default; SimpleExpressionConditionalOperator::SimpleExpressionConditionalOperator(std::unique_ptr condition, std::unique_ptr trueExpression, std::unique_ptr falseExpression) : m_condition(std::move(condition)), m_true_value(std::move(trueExpression)), m_false_value(std::move(falseExpression)) { } bool SimpleExpressionConditionalOperator::IsStatic() const { return m_condition->IsStatic() && m_true_value->IsStatic() && m_false_value->IsStatic(); } SimpleExpressionValue SimpleExpressionConditionalOperator::Evaluate() const { return m_condition->Evaluate().IsTruthy() ? m_true_value->Evaluate() : m_false_value->Evaluate(); }