From 44a5103e1ce9f968df02ac6e1f86fcf9415a1983 Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Sun, 13 Jun 2010 03:54:36 -0400 Subject: Moved value_t::label() to value.cc --- src/value.cc | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'src/value.cc') diff --git a/src/value.cc b/src/value.cc index f03b4017..fd49e85c 100644 --- a/src/value.cc +++ b/src/value.cc @@ -1700,6 +1700,45 @@ value_t value_t::strip_annotations(const keep_details_t& what_to_keep) const return NULL_VALUE; } +string value_t::label(optional the_type) const +{ + switch (the_type ? *the_type : type()) { + case VOID: + return _("an uninitialized value"); + case BOOLEAN: + return _("a boolean"); + case DATETIME: + return _("a date/time"); + case DATE: + return _("a date"); + case INTEGER: + return _("an integer"); + case AMOUNT: + return _("an amount"); + case BALANCE: + return _("a balance"); + case STRING: + return _("a string"); + case MASK: + return _("a regexp"); + case SEQUENCE: + return _("a sequence"); + case SCOPE: + return _("a scope"); + case ANY: + if (as_any().type() == typeid(expr_t::ptr_op_t)) + return _("an expr"); + else + return _("an object"); + break; + default: + assert(false); + break; + } + assert(false); + return _(""); +} + void value_t::print(std::ostream& out, const int first_width, const int latter_width, -- cgit v1.2.3