From 71c772ac040af7f991f10351d1d6bd94de652b3b Mon Sep 17 00:00:00 2001 From: Bartek Kryza Date: Wed, 21 Dec 2022 18:14:13 +0100 Subject: [PATCH] Applied performance-for-range-copy clang-tidy fixes --- src/common/generators/plantuml/generator.h | 2 +- src/common/model/decorated_element.cc | 6 +-- src/common/visitor/comment/clang_visitor.cc | 49 ++++++++++++--------- 3 files changed, 31 insertions(+), 26 deletions(-) diff --git a/src/common/generators/plantuml/generator.h b/src/common/generators/plantuml/generator.h index 21ba58d8..9749b7df 100644 --- a/src/common/generators/plantuml/generator.h +++ b/src/common/generators/plantuml/generator.h @@ -287,7 +287,7 @@ template void generator::generate_notes( std::ostream &ostr, const model::element &e) const { - for (auto decorator : e.decorators()) { + for (const auto &decorator : e.decorators()) { auto note = std::dynamic_pointer_cast(decorator); if (note && note->applies_to_diagram(m_config.name)) { ostr << "note " << note->position << " of " << e.alias() << '\n' diff --git a/src/common/model/decorated_element.cc b/src/common/model/decorated_element.cc index 8ed6ca6f..f5a40d53 100644 --- a/src/common/model/decorated_element.cc +++ b/src/common/model/decorated_element.cc @@ -59,7 +59,7 @@ decorated_element::get_relationship() const std::string decorated_element::style_spec() const { - for (auto d : decorators_) + for (const auto &d : decorators_) if (std::dynamic_pointer_cast(d)) return std::dynamic_pointer_cast(d)->spec; @@ -75,14 +75,14 @@ decorated_element::decorators() const void decorated_element::add_decorators( const std::vector> &decorators) { - for (auto d : decorators) { + for (const auto &d : decorators) { decorators_.push_back(d); } } void decorated_element::append(const decorated_element &de) { - for (auto d : de.decorators()) { + for (const auto &d : de.decorators()) { decorators_.push_back(d); } } diff --git a/src/common/visitor/comment/clang_visitor.cc b/src/common/visitor/comment/clang_visitor.cc index d4a994eb..39d0b41e 100644 --- a/src/common/visitor/comment/clang_visitor.cc +++ b/src/common/visitor/comment/clang_visitor.cc @@ -87,29 +87,34 @@ void clang_visitor::visit( clang::dyn_cast(block), traits, cmt); } else if (block_kind == Comment::BlockCommandCommentKind) { - const auto *command = clang::dyn_cast(block); - const auto *command_info = - traits.getCommandInfo(command->getCommandID()); + if (const auto *command = + clang::dyn_cast(block); + command != nullptr) { + const auto *command_info = + traits.getCommandInfo(command->getCommandID()); - if (command_info->IsBlockCommand && command_info->NumArgs == 0u) { - // Visit block command with a single text argument, e.g.: - // \brief text - // \todo text - // ... - visit_block_command(command, traits, cmt); - } - else if (command_info->IsParamCommand) { - // Visit function param block: - // \param arg text - visit_param_command( - clang::dyn_cast(command), traits, cmt); - } - else if (command_info->IsTParamCommand) { - // Visit template param block: - // \tparam typename text - visit_tparam_command( - clang::dyn_cast(command), traits, - cmt); + if (command_info->IsBlockCommand && + command_info->NumArgs == 0u) { + // Visit block command with a single text argument, e.g.: + // \brief text + // \todo text + // ... + visit_block_command(command, traits, cmt); + } + else if (command_info->IsParamCommand) { + // Visit function param block: + // \param arg text + visit_param_command( + clang::dyn_cast(command), traits, + cmt); + } + else if (command_info->IsTParamCommand) { + // Visit template param block: + // \tparam typename text + visit_tparam_command( + clang::dyn_cast(command), traits, + cmt); + } } } }