Commit c180526d authored by Marcin Siodelski's avatar Marcin Siodelski

[3408] Addressed review comments.

parent 51720f50
......@@ -218,19 +218,34 @@ Element::create(const long long int i, const Position& pos) {
return (ElementPtr(new IntElement(static_cast<int64_t>(i), pos)));
}
ElementPtr
Element::create(const int i, const Position& pos) {
return (create(static_cast<long long int>(i), pos));
};
ElementPtr
Element::create(const long int i, const Position& pos) {
return (create(static_cast<long long int>(i), pos));
};
ElementPtr
Element::create(const double d, const Position& pos) {
return (ElementPtr(new DoubleElement(d, pos)));
}
ElementPtr
Element::create(const bool b, const Position& pos) {
return (ElementPtr(new BoolElement(b, pos)));
}
ElementPtr
Element::create(const std::string& s, const Position& pos) {
return (ElementPtr(new StringElement(s, pos)));
}
ElementPtr
Element::create(const bool b, const Position& pos) {
return (ElementPtr(new BoolElement(b, pos)));
Element::create(const char *s, const Position& pos) {
return (create(std::string(s), pos));
}
ElementPtr
......@@ -412,7 +427,8 @@ fromStringstreamNumber(std::istream& in, const std::string& file,
return (Element::create(boost::lexical_cast<double>(number),
Element::Position(line, start_pos)));
} catch (const boost::bad_lexical_cast&) {
isc_throw(JSONError, std::string("Number overflow: ") + number);
throwJSONError(std::string("Number overflow: ") + number,
file, line, start_pos);
}
} else {
try {
......
......@@ -351,16 +351,11 @@ public:
static ElementPtr create(const long long int i,
const Position& pos = ZERO_POSITION());
static ElementPtr create(const int i,
const Position& pos = ZERO_POSITION()) {
return (create(static_cast<long long int>(i), pos));
};
const Position& pos = ZERO_POSITION());
static ElementPtr create(const long int i,
const Position& pos = ZERO_POSITION()) {
return (create(static_cast<long long int>(i), pos));
};
const Position& pos = ZERO_POSITION());
static ElementPtr create(const double d,
const Position& pos = ZERO_POSITION());
static ElementPtr create(const bool b,
const Position& pos = ZERO_POSITION());
static ElementPtr create(const std::string& s,
......@@ -368,9 +363,7 @@ public:
// need both std:string and char *, since c++ will match
// bool before std::string when you pass it a char *
static ElementPtr create(const char *s,
const Position& pos = ZERO_POSITION()) {
return (create(std::string(s), pos));
}
const Position& pos = ZERO_POSITION());
/// \brief Creates an empty ListElement type ElementPtr.
///
......@@ -474,7 +467,7 @@ public:
/// (C++ tries to convert integer type values and reference/pointer
/// if value types do not match exactly)
/// We decided the storage as int64_t,
/// three (long long, long, int) override function defintions
/// three (long long, long, int) override function definitions
/// and cast int/long/long long to int64_t via long long.
/// Therefore, call by value methods (create, setValue) have three
/// (int,long,long long) definitions. Others use int64_t.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment