message: Add reflector_verify for FC_REFLECT of symbol
diff: @@ -79,7 +79,7 @@ namespace eosio {
  auto prec_part = s.substr(0, comma_pos);
  uint8_t p = fc::to_int64(prec_part);
  string name_part = s.substr(comma_pos + 1);
  - FC_ASSERT( p <= max_precision, "precision should be <= 18");
  + FC_ASSERT( p <= max_precision, "precision ${p} should be <= 18", ("p", p));
  return symbol(string_to_symbol(p, name_part.c_str()));
  } FC_CAPTURE_LOG_AND_RETHROW((from))
  }
  @@ -97,6 +97,7 @@ namespace eosio {
  uint8_t decimals() const { return m_value & 0xFF; }
  uint64_t precision() const
  {
  + FC_ASSERT( decimals() <= max_precision, "precision ${p} should be <= 18", ("p", decimals()) );
  uint64_t p10 = 1;
  uint64_t p = decimals();
  while( p > 0 ) {
  @@ -136,6 +137,11 @@ namespace eosio {
  return ds << s.to_string();
  }
  + void reflector_verify()const {
  + FC_ASSERT( decimals() <= max_precision, "precision ${p} should be <= 18", ("p", decimals()) );
  + FC_ASSERT( valid_name(name()), "invalid symbol: ${name}", ("name",name()));
  + }
  +
  private:
  uint64_t m_value;
  friend struct fc::reflector<symbol>;
  