forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/2.6'
Conflicts: share/share.qbs tests/auto/icheckbuild/icheckbuild.pro Change-Id: I13bc737c981aaeb615ab1a3571cc8a18f60a7cd6
This commit is contained in:
@@ -930,4 +930,43 @@ void CppToolsPlugin::test_completion_cyclic_inheritance_data()
|
||||
QTest::newRow("case: indirect cyclic inheritance with templates")
|
||||
<< code << completions;
|
||||
|
||||
completions.clear();
|
||||
code = "\n"
|
||||
"namespace NS\n"
|
||||
"{\n"
|
||||
"template <typename T> struct SuperClass\n"
|
||||
"{\n"
|
||||
" typedef T Type;\n"
|
||||
" Type super_class_type;\n"
|
||||
"};\n"
|
||||
"}\n"
|
||||
"\n"
|
||||
"template <typename T>\n"
|
||||
"struct Class;\n"
|
||||
"\n"
|
||||
"template <typename T, typename S>\n"
|
||||
"struct ClassRecurse : Class<S>\n"
|
||||
"{\n"
|
||||
" T class_recurse_t;\n"
|
||||
" S class_recurse_s;\n"
|
||||
"};\n"
|
||||
"\n"
|
||||
"template <typename T>\n"
|
||||
"struct Class : ClassRecurse< T, typename ::NS::SuperClass<T>::Type >\n"
|
||||
"{\n"
|
||||
" T class_t;\n"
|
||||
"};\n"
|
||||
"\n"
|
||||
"Class<int> c;\n"
|
||||
"c.\n"
|
||||
"@\n"
|
||||
;
|
||||
completions.append("Class");
|
||||
completions.append("ClassRecurse");
|
||||
completions.append("class_t");
|
||||
completions.append("class_recurse_s");
|
||||
completions.append("class_recurse_t");
|
||||
QTest::newRow("case: direct cyclic inheritance with templates, more complex situation")
|
||||
<< code << completions;
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user