Skip to content

Commit

Permalink
[AVRO-3945] Added missing explicit (#2761)
Browse files Browse the repository at this point in the history
This issue is reported by `cppcheck`:

    impl/json/JsonDom.hh:79:5: style: Class 'Entity' has a constructor with 1 argument that is not explicit. [noExplicitConstructor]
        Entity(Bool v, size_t line = 0) : type_(EntityType::Bool), value_(v), line_(line) {}
        ^
    impl/json/JsonDom.hh:82:5: style: Class 'Entity' has a constructor with 1 argument that is not explicit. [noExplicitConstructor]
        Entity(Long v, size_t line = 0) : type_(EntityType::Long), value_(v), line_(line) {}
        ^
    impl/json/JsonDom.hh:85:5: style: Class 'Entity' has a constructor with 1 argument that is not explicit. [noExplicitConstructor]
        Entity(Double v, size_t line = 0) : type_(EntityType::Double), value_(v), line_(line) {}
        ^
    impl/json/JsonDom.hh:88:5: style: Class 'Entity' has a constructor with 1 argument that is not explicit. [noExplicitConstructor]
        Entity(const std::shared_ptr<String> &v, size_t line = 0) : type_(EntityType::String), value_(v), line_(line) {}
        ^
    impl/json/JsonDom.hh:91:5: style: Class 'Entity' has a constructor with 1 argument that is not explicit. [noExplicitConstructor]
        Entity(const std::shared_ptr<Array> &v, size_t line = 0) : type_(EntityType::Arr), value_(v), line_(line) {}
        ^
    impl/json/JsonDom.hh:94:5: style: Class 'Entity' has a constructor with 1 argument that is not explicit. [noExplicitConstructor]
        Entity(const std::shared_ptr<Object> &v, size_t line = 0) : type_(EntityType::Obj), value_(v), line_(line) {}
        ^
    impl/FileStream.cc:52:5: style: Struct 'FileBufferCopyIn' has a constructor with 1 argument that is not explicit. [noExplicitConstructor]
        FileBufferCopyIn(const char *filename) : h_(::CreateFileA(filename, GENERIC_READ, 0, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL)) {
        ^
    impl/FileStream.cc:235:5: style: Struct 'FileBufferCopyOut' has a constructor with 1 argument that is not explicit. [noExplicitConstructor]
        FileBufferCopyOut(const char *filename) : h_(::CreateFileA(filename, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL)) {
        ^
  • Loading branch information
mkmkme authored Feb 23, 2024
1 parent a462498 commit f1f3415
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 8 deletions.
4 changes: 2 additions & 2 deletions lang/c++/impl/FileStream.cc
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ struct BufferCopyIn {
struct FileBufferCopyIn : public BufferCopyIn {
#ifdef _WIN32
HANDLE h_;
FileBufferCopyIn(const char *filename) : h_(::CreateFileA(filename, GENERIC_READ, 0, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL)) {
explicit FileBufferCopyIn(const char *filename) : h_(::CreateFileA(filename, GENERIC_READ, 0, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL)) {
if (h_ == INVALID_HANDLE_VALUE) {
throw Exception(boost::format("Cannot open file: %1%") % ::GetLastError());
}
Expand Down Expand Up @@ -232,7 +232,7 @@ struct BufferCopyOut {
struct FileBufferCopyOut : public BufferCopyOut {
#ifdef _WIN32
HANDLE h_;
FileBufferCopyOut(const char *filename) : h_(::CreateFileA(filename, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL)) {
explicit FileBufferCopyOut(const char *filename) : h_(::CreateFileA(filename, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL)) {
if (h_ == INVALID_HANDLE_VALUE) {
throw Exception(boost::format("Cannot open file: %1%") % ::GetLastError());
}
Expand Down
12 changes: 6 additions & 6 deletions lang/c++/impl/json/JsonDom.hh
Original file line number Diff line number Diff line change
Expand Up @@ -76,22 +76,22 @@ public:
explicit Entity(size_t line = 0) : type_(EntityType::Null), line_(line) {}
// Not explicit because do want implicit conversion
// NOLINTNEXTLINE(google-explicit-constructor)
Entity(Bool v, size_t line = 0) : type_(EntityType::Bool), value_(v), line_(line) {}
explicit Entity(Bool v, size_t line = 0) : type_(EntityType::Bool), value_(v), line_(line) {}
// Not explicit because do want implicit conversion
// NOLINTNEXTLINE(google-explicit-constructor)
Entity(Long v, size_t line = 0) : type_(EntityType::Long), value_(v), line_(line) {}
explicit Entity(Long v, size_t line = 0) : type_(EntityType::Long), value_(v), line_(line) {}
// Not explicit because do want implicit conversion
// NOLINTNEXTLINE(google-explicit-constructor)
Entity(Double v, size_t line = 0) : type_(EntityType::Double), value_(v), line_(line) {}
explicit Entity(Double v, size_t line = 0) : type_(EntityType::Double), value_(v), line_(line) {}
// Not explicit because do want implicit conversion
// NOLINTNEXTLINE(google-explicit-constructor)
Entity(const std::shared_ptr<String> &v, size_t line = 0) : type_(EntityType::String), value_(v), line_(line) {}
explicit Entity(const std::shared_ptr<String> &v, size_t line = 0) : type_(EntityType::String), value_(v), line_(line) {}
// Not explicit because do want implicit conversion
// NOLINTNEXTLINE(google-explicit-constructor)
Entity(const std::shared_ptr<Array> &v, size_t line = 0) : type_(EntityType::Arr), value_(v), line_(line) {}
explicit Entity(const std::shared_ptr<Array> &v, size_t line = 0) : type_(EntityType::Arr), value_(v), line_(line) {}
// Not explicit because do want implicit conversion
// NOLINTNEXTLINE(google-explicit-constructor)
Entity(const std::shared_ptr<Object> &v, size_t line = 0) : type_(EntityType::Obj), value_(v), line_(line) {}
explicit Entity(const std::shared_ptr<Object> &v, size_t line = 0) : type_(EntityType::Obj), value_(v), line_(line) {}

EntityType type() const { return type_; }

Expand Down

0 comments on commit f1f3415

Please sign in to comment.