mirror of
https://github.com/open-source-parsers/jsoncpp.git
synced 2024-12-12 10:03:51 +01:00
clang-tidy fixes again (#1155)
* [clang-tidy] remove redundant string initialization Found with readability-redundant-string-init Signed-off-by: Rosen Penev <rosenp@gmail.com> * [clang-tidy] switch to raw strings Easier to read. Found with modernize-raw-string-literal Signed-off-by: Rosen Penev <rosenp@gmail.com> * [clang-tidy] fix performance issues Found with performance* Signed-off-by: Rosen Penev <rosenp@gmail.com> * fix extra comma warnings Found with clang's -Wextra-semi-stmt Signed-off-by: Rosen Penev <rosenp@gmail.com> * remove JSONCPP_OP_EXPLICIT This codebase in C++11. No need for compatibility with C++98. Signed-off-by: Rosen Penev <rosenp@gmail.com> * remove JSONCPP_NOEXCEPT This codebase is C++11 now. No need for this macro. Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
parent
3beb37ea14
commit
90ca694e46
@ -21,19 +21,19 @@
|
||||
|
||||
// @todo <= add detail about condition in exception
|
||||
#define JSON_ASSERT(condition) \
|
||||
{ \
|
||||
do { \
|
||||
if (!(condition)) { \
|
||||
Json::throwLogicError("assert json failed"); \
|
||||
} \
|
||||
}
|
||||
} while (0)
|
||||
|
||||
#define JSON_FAIL_MESSAGE(message) \
|
||||
{ \
|
||||
do { \
|
||||
OStringStream oss; \
|
||||
oss << message; \
|
||||
Json::throwLogicError(oss.str()); \
|
||||
abort(); \
|
||||
}
|
||||
} while (0)
|
||||
|
||||
#else // JSON_USE_EXCEPTION
|
||||
|
||||
@ -52,8 +52,10 @@
|
||||
#endif
|
||||
|
||||
#define JSON_ASSERT_MESSAGE(condition, message) \
|
||||
if (!(condition)) { \
|
||||
JSON_FAIL_MESSAGE(message); \
|
||||
}
|
||||
do { \
|
||||
if (!(condition)) { \
|
||||
JSON_FAIL_MESSAGE(message); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#endif // JSON_ASSERTIONS_H_INCLUDED
|
||||
|
@ -74,20 +74,6 @@ extern JSON_API int msvc_pre1900_c99_snprintf(char* outBuf, size_t size,
|
||||
// C++11 should be used directly in JSONCPP.
|
||||
#define JSONCPP_OVERRIDE override
|
||||
|
||||
#if __cplusplus >= 201103L
|
||||
#define JSONCPP_NOEXCEPT noexcept
|
||||
#define JSONCPP_OP_EXPLICIT explicit
|
||||
#elif defined(_MSC_VER) && _MSC_VER < 1900
|
||||
#define JSONCPP_NOEXCEPT throw()
|
||||
#define JSONCPP_OP_EXPLICIT explicit
|
||||
#elif defined(_MSC_VER) && _MSC_VER >= 1900
|
||||
#define JSONCPP_NOEXCEPT noexcept
|
||||
#define JSONCPP_OP_EXPLICIT explicit
|
||||
#else
|
||||
#define JSONCPP_NOEXCEPT throw()
|
||||
#define JSONCPP_OP_EXPLICIT
|
||||
#endif
|
||||
|
||||
#ifdef __clang__
|
||||
#if __has_extension(attribute_deprecated_with_message)
|
||||
#define JSONCPP_DEPRECATED(message) __attribute__((deprecated(message)))
|
||||
|
@ -67,8 +67,8 @@ namespace Json {
|
||||
class JSON_API Exception : public std::exception {
|
||||
public:
|
||||
Exception(String msg);
|
||||
~Exception() JSONCPP_NOEXCEPT override;
|
||||
char const* what() const JSONCPP_NOEXCEPT override;
|
||||
~Exception() noexcept override;
|
||||
char const* what() const noexcept override;
|
||||
|
||||
protected:
|
||||
String msg_;
|
||||
@ -421,7 +421,7 @@ public:
|
||||
bool empty() const;
|
||||
|
||||
/// Return !isNull()
|
||||
JSONCPP_OP_EXPLICIT operator bool() const;
|
||||
explicit operator bool() const;
|
||||
|
||||
/// Remove all object members and array elements.
|
||||
/// \pre type() is arrayValue, objectValue, or nullValue
|
||||
|
@ -111,7 +111,7 @@ static void printValueTree(FILE* fout, Json::Value& value,
|
||||
Json::Value::Members members(value.getMemberNames());
|
||||
std::sort(members.begin(), members.end());
|
||||
Json::String suffix = *(path.end() - 1) == '.' ? "" : ".";
|
||||
for (auto name : members) {
|
||||
for (const auto& name : members) {
|
||||
printValueTree(fout, value[name], path + suffix + name);
|
||||
}
|
||||
} break;
|
||||
|
@ -200,8 +200,8 @@ namespace Json {
|
||||
|
||||
#if JSON_USE_EXCEPTION
|
||||
Exception::Exception(String msg) : msg_(std::move(msg)) {}
|
||||
Exception::~Exception() JSONCPP_NOEXCEPT = default;
|
||||
char const* Exception::what() const JSONCPP_NOEXCEPT { return msg_.c_str(); }
|
||||
Exception::~Exception() noexcept = default;
|
||||
char const* Exception::what() const noexcept { return msg_.c_str(); }
|
||||
RuntimeError::RuntimeError(String const& msg) : Exception(msg) {}
|
||||
LogicError::LogicError(String const& msg) : Exception(msg) {}
|
||||
JSONCPP_NORETURN void throwRuntimeError(String const& msg) {
|
||||
|
@ -207,7 +207,7 @@ TestResult& checkStringEqual(TestResult& result, const Json::String& expected,
|
||||
/// The predicate may do other assertions and be a member function of the
|
||||
/// fixture.
|
||||
#define JSONTEST_ASSERT_PRED(expr) \
|
||||
{ \
|
||||
do { \
|
||||
JsonTest::PredicateContext _minitest_Context = { \
|
||||
result_->predicateId_, __FILE__, __LINE__, #expr, NULL, NULL}; \
|
||||
result_->predicateStackTail_->next_ = &_minitest_Context; \
|
||||
@ -215,7 +215,7 @@ TestResult& checkStringEqual(TestResult& result, const Json::String& expected,
|
||||
result_->predicateStackTail_ = &_minitest_Context; \
|
||||
(expr); \
|
||||
result_->popPredicateContext(); \
|
||||
}
|
||||
} while (0)
|
||||
|
||||
/// \brief Asserts that two values are equals.
|
||||
#define JSONTEST_ASSERT_EQUAL(expected, actual) \
|
||||
@ -230,7 +230,7 @@ TestResult& checkStringEqual(TestResult& result, const Json::String& expected,
|
||||
|
||||
/// \brief Asserts that a given expression throws an exception
|
||||
#define JSONTEST_ASSERT_THROWS(expr) \
|
||||
{ \
|
||||
do { \
|
||||
bool _threw = false; \
|
||||
try { \
|
||||
expr; \
|
||||
@ -240,7 +240,7 @@ TestResult& checkStringEqual(TestResult& result, const Json::String& expected,
|
||||
if (!_threw) \
|
||||
result_->addFailure(__FILE__, __LINE__, \
|
||||
"expected exception thrown: " #expr); \
|
||||
}
|
||||
} while (0)
|
||||
|
||||
/// \brief Begin a fixture test case.
|
||||
#define JSONTEST_FIXTURE(FixtureType, name) \
|
||||
|
@ -1874,7 +1874,7 @@ JSONTEST_FIXTURE_LOCAL(ValueTest, CommentBefore) {
|
||||
Json::String result = Json::writeString(wbuilder, val);
|
||||
JSONTEST_ASSERT_STRING_EQUAL(expected, result);
|
||||
Json::String res2 = val.toStyledString();
|
||||
Json::String exp2 = "";
|
||||
Json::String exp2;
|
||||
exp2 += expected;
|
||||
exp2 += "\n";
|
||||
JSONTEST_ASSERT_STRING_EQUAL(exp2, res2);
|
||||
@ -2592,7 +2592,7 @@ JSONTEST_FIXTURE_LOCAL(StreamWriterTest, indentation) {
|
||||
JSONTEST_FIXTURE_LOCAL(StreamWriterTest, writeZeroes) {
|
||||
Json::String binary("hi", 3); // include trailing 0
|
||||
JSONTEST_ASSERT_EQUAL(3, binary.length());
|
||||
Json::String expected("\"hi\\u0000\""); // unicoded zero
|
||||
Json::String expected(R"("hi\u0000")"); // unicoded zero
|
||||
Json::StreamWriterBuilder b;
|
||||
{
|
||||
Json::Value root;
|
||||
@ -2866,7 +2866,7 @@ JSONTEST_FIXTURE_LOCAL(CharReaderTest, parseWithNoErrors) {
|
||||
CharReaderPtr reader(b.newCharReader());
|
||||
Json::String errs;
|
||||
Json::Value root;
|
||||
char const doc[] = "{ \"property\" : \"value\" }";
|
||||
char const doc[] = R"({ "property" : "value" })";
|
||||
bool ok = reader->parse(doc, doc + std::strlen(doc), &root, &errs);
|
||||
JSONTEST_ASSERT(ok);
|
||||
JSONTEST_ASSERT(errs.empty());
|
||||
@ -2914,14 +2914,14 @@ JSONTEST_FIXTURE_LOCAL(CharReaderTest, parseString) {
|
||||
JSONTEST_ASSERT_EQUAL("", root[0]);
|
||||
}
|
||||
{
|
||||
char const doc[] = "[\"\\u8A2a\"]";
|
||||
char const doc[] = R"(["\u8A2a"])";
|
||||
bool ok = reader->parse(doc, doc + std::strlen(doc), &root, &errs);
|
||||
JSONTEST_ASSERT(ok);
|
||||
JSONTEST_ASSERT(errs.empty());
|
||||
JSONTEST_ASSERT_EQUAL(u8"\u8A2a", root[0].asString()); // "訪"
|
||||
}
|
||||
{
|
||||
char const doc[] = "[ \"\\uD801\" ]";
|
||||
char const doc[] = R"([ "\uD801" ])";
|
||||
bool ok = reader->parse(doc, doc + std::strlen(doc), &root, &errs);
|
||||
JSONTEST_ASSERT(!ok);
|
||||
JSONTEST_ASSERT(errs == "* Line 1, Column 3\n"
|
||||
@ -2930,7 +2930,7 @@ JSONTEST_FIXTURE_LOCAL(CharReaderTest, parseString) {
|
||||
"See Line 1, Column 10 for detail.\n");
|
||||
}
|
||||
{
|
||||
char const doc[] = "[ \"\\uD801\\d1234\" ]";
|
||||
char const doc[] = R"([ "\uD801\d1234" ])";
|
||||
bool ok = reader->parse(doc, doc + std::strlen(doc), &root, &errs);
|
||||
JSONTEST_ASSERT(!ok);
|
||||
JSONTEST_ASSERT(errs == "* Line 1, Column 3\n"
|
||||
@ -2939,7 +2939,7 @@ JSONTEST_FIXTURE_LOCAL(CharReaderTest, parseString) {
|
||||
"See Line 1, Column 12 for detail.\n");
|
||||
}
|
||||
{
|
||||
char const doc[] = "[ \"\\ua3t@\" ]";
|
||||
char const doc[] = R"([ "\ua3t@" ])";
|
||||
bool ok = reader->parse(doc, doc + std::strlen(doc), &root, &errs);
|
||||
JSONTEST_ASSERT(!ok);
|
||||
JSONTEST_ASSERT(errs == "* Line 1, Column 3\n"
|
||||
@ -2948,7 +2948,7 @@ JSONTEST_FIXTURE_LOCAL(CharReaderTest, parseString) {
|
||||
"See Line 1, Column 9 for detail.\n");
|
||||
}
|
||||
{
|
||||
char const doc[] = "[ \"\\ua3t\" ]";
|
||||
char const doc[] = R"([ "\ua3t" ])";
|
||||
bool ok = reader->parse(doc, doc + std::strlen(doc), &root, &errs);
|
||||
JSONTEST_ASSERT(!ok);
|
||||
JSONTEST_ASSERT(
|
||||
@ -2960,7 +2960,7 @@ JSONTEST_FIXTURE_LOCAL(CharReaderTest, parseString) {
|
||||
{
|
||||
b.settings_["allowSingleQuotes"] = true;
|
||||
CharReaderPtr charreader(b.newCharReader());
|
||||
char const doc[] = "{'a': 'x\\ty', \"b\":'x\\\\y'}";
|
||||
char const doc[] = R"({'a': 'x\ty', "b":'x\\y'})";
|
||||
bool ok = charreader->parse(doc, doc + std::strlen(doc), &root, &errs);
|
||||
JSONTEST_ASSERT(ok);
|
||||
JSONTEST_ASSERT_STRING_EQUAL("", errs);
|
||||
@ -3007,7 +3007,7 @@ JSONTEST_FIXTURE_LOCAL(CharReaderTest, parseObjectWithErrors) {
|
||||
Json::Value root;
|
||||
Json::String errs;
|
||||
{
|
||||
char const doc[] = "{ \"property\" : \"value\" ";
|
||||
char const doc[] = R"({ "property" : "value" )";
|
||||
bool ok = reader->parse(doc, doc + std::strlen(doc), &root, &errs);
|
||||
JSONTEST_ASSERT(!ok);
|
||||
JSONTEST_ASSERT(errs == "* Line 1, Column 24\n"
|
||||
@ -3015,7 +3015,7 @@ JSONTEST_FIXTURE_LOCAL(CharReaderTest, parseObjectWithErrors) {
|
||||
JSONTEST_ASSERT_EQUAL("value", root["property"]);
|
||||
}
|
||||
{
|
||||
char const doc[] = "{ \"property\" : \"value\" ,";
|
||||
char const doc[] = R"({ "property" : "value" ,)";
|
||||
bool ok = reader->parse(doc, doc + std::strlen(doc), &root, &errs);
|
||||
JSONTEST_ASSERT(!ok);
|
||||
JSONTEST_ASSERT(errs == "* Line 1, Column 25\n"
|
||||
@ -3038,7 +3038,7 @@ JSONTEST_FIXTURE_LOCAL(CharReaderTest, parseArrayWithErrors) {
|
||||
JSONTEST_ASSERT_EQUAL("value", root[0]);
|
||||
}
|
||||
{
|
||||
char const doc[] = "[ \"value1\" \"value2\" ]";
|
||||
char const doc[] = R"([ "value1" "value2" ])";
|
||||
bool ok = reader->parse(doc, doc + std::strlen(doc), &root, &errs);
|
||||
JSONTEST_ASSERT(!ok);
|
||||
JSONTEST_ASSERT(errs == "* Line 1, Column 12\n"
|
||||
@ -3052,7 +3052,7 @@ JSONTEST_FIXTURE_LOCAL(CharReaderTest, parseWithOneError) {
|
||||
CharReaderPtr reader(b.newCharReader());
|
||||
Json::String errs;
|
||||
Json::Value root;
|
||||
char const doc[] = "{ \"property\" :: \"value\" }";
|
||||
char const doc[] = R"({ "property" :: "value" })";
|
||||
bool ok = reader->parse(doc, doc + std::strlen(doc), &root, &errs);
|
||||
JSONTEST_ASSERT(!ok);
|
||||
JSONTEST_ASSERT(errs ==
|
||||
@ -3078,7 +3078,7 @@ JSONTEST_FIXTURE_LOCAL(CharReaderTest, parseWithDetailError) {
|
||||
CharReaderPtr reader(b.newCharReader());
|
||||
Json::String errs;
|
||||
Json::Value root;
|
||||
char const doc[] = "{ \"property\" : \"v\\alue\" }";
|
||||
char const doc[] = R"({ "property" : "v\alue" })";
|
||||
bool ok = reader->parse(doc, doc + std::strlen(doc), &root, &errs);
|
||||
JSONTEST_ASSERT(!ok);
|
||||
JSONTEST_ASSERT(errs ==
|
||||
@ -3089,7 +3089,7 @@ JSONTEST_FIXTURE_LOCAL(CharReaderTest, parseWithDetailError) {
|
||||
JSONTEST_FIXTURE_LOCAL(CharReaderTest, parseWithStackLimit) {
|
||||
Json::CharReaderBuilder b;
|
||||
Json::Value root;
|
||||
char const doc[] = "{ \"property\" : \"value\" }";
|
||||
char const doc[] = R"({ "property" : "value" })";
|
||||
{
|
||||
b.settings_["stackLimit"] = 2;
|
||||
CharReaderPtr reader(b.newCharReader());
|
||||
@ -3109,7 +3109,7 @@ JSONTEST_FIXTURE_LOCAL(CharReaderTest, parseWithStackLimit) {
|
||||
}
|
||||
|
||||
JSONTEST_FIXTURE_LOCAL(CharReaderTest, testOperator) {
|
||||
const std::string styled = "{ \"property\" : \"value\" }";
|
||||
const std::string styled = R"({ "property" : "value" })";
|
||||
std::istringstream iss(styled);
|
||||
Json::Value root;
|
||||
iss >> root;
|
||||
@ -3122,7 +3122,7 @@ JSONTEST_FIXTURE_LOCAL(CharReaderStrictModeTest, dupKeys) {
|
||||
Json::CharReaderBuilder b;
|
||||
Json::Value root;
|
||||
char const doc[] =
|
||||
"{ \"property\" : \"value\", \"key\" : \"val1\", \"key\" : \"val2\" }";
|
||||
R"({ "property" : "value", "key" : "val1", "key" : "val2" })";
|
||||
{
|
||||
b.strictMode(&b.settings_);
|
||||
CharReaderPtr reader(b.newCharReader());
|
||||
@ -3141,7 +3141,7 @@ JSONTEST_FIXTURE_LOCAL(CharReaderFailIfExtraTest, issue164) {
|
||||
// This is interpreted as a string value followed by a colon.
|
||||
Json::CharReaderBuilder b;
|
||||
Json::Value root;
|
||||
char const doc[] = " \"property\" : \"value\" }";
|
||||
char const doc[] = R"( "property" : "value" })";
|
||||
{
|
||||
b.settings_["failIfExtra"] = false;
|
||||
CharReaderPtr reader(b.newCharReader());
|
||||
@ -3445,8 +3445,7 @@ JSONTEST_FIXTURE_LOCAL(CharReaderAllowSpecialFloatsTest, issue209) {
|
||||
Json::String errs;
|
||||
CharReaderPtr reader(b.newCharReader());
|
||||
{
|
||||
char const doc[] =
|
||||
"{\"a\":NaN,\"b\":Infinity,\"c\":-Infinity,\"d\":+Infinity}";
|
||||
char const doc[] = R"({"a":NaN,"b":Infinity,"c":-Infinity,"d":+Infinity})";
|
||||
bool ok = reader->parse(doc, doc + std::strlen(doc), &root, &errs);
|
||||
JSONTEST_ASSERT(ok);
|
||||
JSONTEST_ASSERT_STRING_EQUAL("", errs);
|
||||
@ -3497,7 +3496,7 @@ JSONTEST_FIXTURE_LOCAL(CharReaderAllowSpecialFloatsTest, issue209) {
|
||||
}
|
||||
|
||||
{
|
||||
char const doc[] = "{\"posInf\": +Infinity, \"NegInf\": -Infinity}";
|
||||
char const doc[] = R"({"posInf": +Infinity, "NegInf": -Infinity})";
|
||||
bool ok = reader->parse(doc, doc + std::strlen(doc), &root, &errs);
|
||||
JSONTEST_ASSERT(ok);
|
||||
JSONTEST_ASSERT_STRING_EQUAL("", errs);
|
||||
@ -3719,7 +3718,7 @@ JSONTEST_FIXTURE_LOCAL(IteratorTest, constness) {
|
||||
for (; iter != value.end(); ++iter) {
|
||||
out << *iter << ',';
|
||||
}
|
||||
Json::String expected = "\" 9\",\"10\",\"11\",";
|
||||
Json::String expected = R"(" 9","10","11",)";
|
||||
JSONTEST_ASSERT_STRING_EQUAL(expected, out.str());
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user