#pragma once
#include <optional>
#include "binder/expression/expression.h"
#include "common/types/value/value.h"
namespace lbug {
namespace evaluator {
struct ExpressionEvaluatorUtils {
static constexpr uint64_t MAX_FOLDED_NESTED_VALUES = 8192;
static std::optional<common::Value> tryEvaluateConstantExpression(
std::shared_ptr<binder::Expression> expression, main::ClientContext* clientContext);
static LBUG_API common::Value evaluateConstantExpression(
std::shared_ptr<binder::Expression> expression, main::ClientContext* clientContext);
};
} }