55 lines
794 B
C++
55 lines
794 B
C++
#include <code/query/query.hxx>
|
|
|
|
namespace code::query
|
|
{
|
|
|
|
query_t::
|
|
query_t(optional<expression_t> e,
|
|
vector<warning_t> warnings,
|
|
vector<error_t> errors)
|
|
: expr_{move(e)},
|
|
warnings_{move(warnings)},
|
|
errors_{move(errors)}
|
|
{}
|
|
|
|
optional<expression_t> const&
|
|
query_t::
|
|
expr() const
|
|
{
|
|
return expr_;
|
|
}
|
|
|
|
vector<warning_t> const&
|
|
query_t::
|
|
warnings() const
|
|
{
|
|
return warnings_;
|
|
}
|
|
|
|
vector<error_t> const&
|
|
query_t::
|
|
errors() const
|
|
{
|
|
return errors_;
|
|
}
|
|
|
|
void
|
|
accept(query_t const& q, visitor_t& v)
|
|
{
|
|
if (q.expr()) {
|
|
accept(*q.expr(), v);
|
|
}
|
|
}
|
|
|
|
string
|
|
to_string(query_t const& q)
|
|
{
|
|
if (q.expr()) {
|
|
return to_string(*q.expr());
|
|
}
|
|
|
|
return string{};
|
|
}
|
|
|
|
} // namespace code::query
|