Warning, /sdk/clazy/tests/range-loop-detach/main.cpp.fixed.expected is written in an unsupported language. File is not indexed.
0001 #include <QtCore/QList> 0002 #include <vector> 0003 #include <QtCore/QMap> 0004 #include <QtCore/QString> 0005 0006 void receivingList(QList<int>); 0007 void receivingMap(QMultiMap<int,int>); 0008 0009 using namespace std; 0010 0011 QList<int> getQtList() 0012 { 0013 return {}; // dummy, not important 0014 } 0015 0016 const QList<int> getConstQtList() 0017 { 0018 return {}; // dummy, not important 0019 } 0020 0021 const QList<int> & getConstRefQtList() 0022 { 0023 static QList<int> foo; 0024 return foo; 0025 } 0026 0027 void testQtContainer() 0028 { 0029 QList<int> qt_container; 0030 receivingList(qt_container); 0031 for (int i : qAsConst(qt_container)) { // Warning 0032 } 0033 0034 const QList<int> const_qt_container; 0035 for (int i : const_qt_container) { // OK 0036 } 0037 0038 for (int i : getQtList()) { // Warning 0039 } 0040 0041 for (int i : qAsConst(qt_container)) { } // Warning 0042 for (const int &i : qAsConst(qt_container)) { } // Warning 0043 for (int &i : qt_container) { } // OK 0044 0045 0046 0047 0048 for (int i : getConstQtList()) { // OK 0049 } 0050 0051 for (int i : getConstRefQtList()) { // OK 0052 } 0053 0054 vector<int> stl_container; 0055 for (int i : stl_container) { // OK 0056 } 0057 } 0058 0059 class A { 0060 public: 0061 void foo() 0062 { 0063 for (int a : m_stlVec) {} // OK 0064 } 0065 0066 std::vector<int> m_stlVec; 0067 }; 0068 0069 void testQMultiMapDetach() 0070 { 0071 QMultiMap<int,int> m; 0072 receivingMap(m); 0073 for (int i : qAsConst(m)) { 0074 } 0075 } 0076 0077 void testBug367485() 0078 { 0079 QList<int> list; 0080 for (auto a : list) {} // OK 0081 0082 QList<int> list2; 0083 receivingList(list2); 0084 for (auto a : qAsConst(list2)) {} // Warning 0085 0086 QList<int> list3; 0087 for (auto a : list3) {} // OK 0088 receivingList(list3); 0089 0090 QList<int> list4; 0091 foreach (auto a, list4) {} // OK 0092 receivingList(list4); 0093 } 0094 0095 struct SomeStruct 0096 { 0097 QStringList m_list; 0098 void test_add_qasconst_fixits() 0099 { 0100 for (const auto &s : qAsConst(m_list)) {} // Warn 0101 } 0102 0103 QStringList getList(); 0104 }; 0105 0106 0107 void test_add_qasconst_fixits() 0108 { 0109 SomeStruct f; 0110 for (const auto &s : qAsConst(f.m_list)) {} // Warn 0111 0112 SomeStruct *f2; 0113 for (const auto &s : qAsConst(f2->m_list)) {} // Warn 0114 0115 QStringList locallist = f.getList(); 0116 for (const auto &s : qAsConst(locallist)) {} // Warn 0117 0118 for (const auto &s : getQtList()) {} // Warn 0119 0120 for (const auto &s : f.getList()) {} // Warn 0121 }