File indexing completed on 2024-04-28 05:38:32
0001 /* 0002 SPDX-FileCopyrightText: 2015 Klarälvdalens Datakonsult AB a KDAB Group company info@kdab.com 0003 SPDX-FileContributor: Sérgio Martins <sergio.martins@kdab.com> 0004 0005 SPDX-FileCopyrightText: 2015 Sergio Martins <smartins@kde.org> 0006 0007 SPDX-License-Identifier: LGPL-2.0-or-later 0008 */ 0009 0010 #ifndef DETACHING_MEMBER_H 0011 #define DETACHING_MEMBER_H 0012 0013 #include "checks/detachingbase.h" 0014 0015 #include <string> 0016 0017 class ClazyContext; 0018 namespace clang 0019 { 0020 class Stmt; 0021 } // namespace clang 0022 0023 /** 0024 * Finds places where you're calling non-const member functions on member containers. 0025 * 0026 * For example m_list.first(), which would detach if the container is shared. 0027 * See README-deatching-member for more information 0028 */ 0029 class DetachingMember : public DetachingBase 0030 { 0031 public: 0032 explicit DetachingMember(const std::string &name, ClazyContext *context); 0033 void VisitStmt(clang::Stmt *stm) override; 0034 }; 0035 0036 #endif