From ed155a5040873da9b34261a58c3f15c042d62443 Mon Sep 17 00:00:00 2001 From: ToruNiina Date: Sun, 9 Dec 2018 21:54:47 +0900 Subject: [PATCH] remove help msgs in parse_value because the error message becomes too long --- toml/parser.hpp | 33 +++++++++++---------------------- 1 file changed, 11 insertions(+), 22 deletions(-) diff --git a/toml/parser.hpp b/toml/parser.hpp index 63a4080..3689b85 100644 --- a/toml/parser.hpp +++ b/toml/parser.hpp @@ -1082,30 +1082,19 @@ result parse_value(location& loc) const auto first = loc.iter(); if(first == loc.end()) { - return err(std::string("toml::parse_value: input is empty")); + return err(std::string("[error] toml::parse_value: input is empty")); } + if(auto r = parse_string (loc)) {return ok(value(std::move(r.unwrap())));} + if(auto r = parse_array (loc)) {return ok(value(std::move(r.unwrap())));} + if(auto r = parse_inline_table (loc)) {return ok(value(std::move(r.unwrap())));} + if(auto r = parse_boolean (loc)) {return ok(value(std::move(r.unwrap())));} + if(auto r = parse_offset_datetime(loc)) {return ok(value(std::move(r.unwrap())));} + if(auto r = parse_local_datetime (loc)) {return ok(value(std::move(r.unwrap())));} + if(auto r = parse_local_date (loc)) {return ok(value(std::move(r.unwrap())));} + if(auto r = parse_local_time (loc)) {return ok(value(std::move(r.unwrap())));} + if(auto r = parse_floating (loc)) {return ok(value(std::move(r.unwrap())));} + if(auto r = parse_integer (loc)) {return ok(value(std::move(r.unwrap())));} - std::vector helps; - if(auto r = parse_string(loc)) {return ok(value(r.unwrap()));} - else {helps.push_back(r.unwrap_err());} - if(auto r = parse_array(loc)) {return ok(value(r.unwrap()));} - else {helps.push_back(r.unwrap_err());} - if(auto r = parse_inline_table(loc)) {return ok(value(r.unwrap()));} - else {helps.push_back(r.unwrap_err());} - if(auto r = parse_boolean(loc)) {return ok(value(r.unwrap()));} - else {helps.push_back(r.unwrap_err());} - if(auto r = parse_offset_datetime(loc)) {return ok(value(r.unwrap()));} - else {helps.push_back(r.unwrap_err());} - if(auto r = parse_local_datetime(loc)) {return ok(value(r.unwrap()));} - else {helps.push_back(r.unwrap_err());} - if(auto r = parse_local_date(loc)) {return ok(value(r.unwrap()));} - else {helps.push_back(r.unwrap_err());} - if(auto r = parse_local_time(loc)) {return ok(value(r.unwrap()));} - else {helps.push_back(r.unwrap_err());} - if(auto r = parse_floating(loc)) {return ok(value(r.unwrap()));} - else {helps.push_back(r.unwrap_err());} - if(auto r = parse_integer(loc)) {return ok(value(r.unwrap()));} - else {helps.push_back(r.unwrap_err());} const auto msg = format_underline("[error] toml::parse_value: " "unknown token appeared", loc, "unknown", std::move(helps)); loc.iter() = first;