Lines Matching refs:names
145 db.names.push_back(std::string(num, static_cast<std::size_t>(n))); in parse_floating_number()
170 db.names.push_back("(anonymous namespace)"); in parse_source_name()
172 db.names.push_back(std::move(r)); in parse_source_name()
198 db.names.push_back("std::allocator"); in parse_substitution()
202 db.names.push_back("std::basic_string"); in parse_substitution()
206 db.names.push_back("std::string"); in parse_substitution()
210 db.names.push_back("std::istream"); in parse_substitution()
214 db.names.push_back("std::ostream"); in parse_substitution()
218 db.names.push_back("std::iostream"); in parse_substitution()
224 db.names.push_back(n); in parse_substitution()
248 db.names.push_back(n); in parse_substitution()
297 db.names.push_back("void"); in parse_builtin_type()
301 db.names.push_back("wchar_t"); in parse_builtin_type()
305 db.names.push_back("bool"); in parse_builtin_type()
309 db.names.push_back("char"); in parse_builtin_type()
313 db.names.push_back("signed char"); in parse_builtin_type()
317 db.names.push_back("unsigned char"); in parse_builtin_type()
321 db.names.push_back("short"); in parse_builtin_type()
325 db.names.push_back("unsigned short"); in parse_builtin_type()
329 db.names.push_back("int"); in parse_builtin_type()
333 db.names.push_back("unsigned int"); in parse_builtin_type()
337 db.names.push_back("long"); in parse_builtin_type()
341 db.names.push_back("unsigned long"); in parse_builtin_type()
345 db.names.push_back("long long"); in parse_builtin_type()
349 db.names.push_back("unsigned long long"); in parse_builtin_type()
353 db.names.push_back("__int128"); in parse_builtin_type()
357 db.names.push_back("unsigned __int128"); in parse_builtin_type()
361 db.names.push_back("float"); in parse_builtin_type()
365 db.names.push_back("double"); in parse_builtin_type()
369 db.names.push_back("long double"); in parse_builtin_type()
373 db.names.push_back("__float128"); in parse_builtin_type()
377 db.names.push_back("..."); in parse_builtin_type()
389 db.names.push_back("decimal64"); in parse_builtin_type()
393 db.names.push_back("decimal128"); in parse_builtin_type()
397 db.names.push_back("decimal32"); in parse_builtin_type()
401 db.names.push_back("decimal16"); in parse_builtin_type()
405 db.names.push_back("char32_t"); in parse_builtin_type()
409 db.names.push_back("char16_t"); in parse_builtin_type()
413 db.names.push_back("auto"); in parse_builtin_type()
417 db.names.push_back("decltype(auto)"); in parse_builtin_type()
421 db.names.push_back("std::nullptr_t"); in parse_builtin_type()
467 db.names.push_back(t); in parse_template_param()
470 db.names.push_back("T_"); in parse_template_param()
486 db.names.push_back(temp); in parse_template_param()
489 db.names.push_back(std::string(first, t + 1)); in parse_template_param()
510 if (db.names.size() < 2) in parse_const_cast_expr()
512 auto expr = db.names.back().move_full(); in parse_const_cast_expr()
513 db.names.pop_back(); in parse_const_cast_expr()
514 if (db.names.empty()) in parse_const_cast_expr()
516 db.names.back() = in parse_const_cast_expr()
517 "const_cast<" + db.names.back().move_full() + ">(" + expr + ")"; in parse_const_cast_expr()
536 if (db.names.size() < 2) in parse_dynamic_cast_expr()
538 auto expr = db.names.back().move_full(); in parse_dynamic_cast_expr()
539 db.names.pop_back(); in parse_dynamic_cast_expr()
540 if (db.names.empty()) in parse_dynamic_cast_expr()
542 db.names.back() = in parse_dynamic_cast_expr()
543 "dynamic_cast<" + db.names.back().move_full() + ">(" + expr + ")"; in parse_dynamic_cast_expr()
562 if (db.names.size() < 2) in parse_reinterpret_cast_expr()
564 auto expr = db.names.back().move_full(); in parse_reinterpret_cast_expr()
565 db.names.pop_back(); in parse_reinterpret_cast_expr()
566 if (db.names.empty()) in parse_reinterpret_cast_expr()
568 db.names.back() = "reinterpret_cast<" + db.names.back().move_full() + in parse_reinterpret_cast_expr()
588 if (db.names.size() < 2) in parse_static_cast_expr()
590 auto expr = db.names.back().move_full(); in parse_static_cast_expr()
591 db.names.pop_back(); in parse_static_cast_expr()
592 db.names.back() = in parse_static_cast_expr()
593 "static_cast<" + db.names.back().move_full() + ">(" + expr + ")"; in parse_static_cast_expr()
622 if (db.names.empty()) in parse_sizeof_type_expr()
624 db.names.back() = "sizeof (" + db.names.back().move_full() + ")"; in parse_sizeof_type_expr()
639 if (db.names.empty()) in parse_sizeof_expr_expr()
641 db.names.back() = "sizeof (" + db.names.back().move_full() + ")"; in parse_sizeof_expr_expr()
656 size_t k0 = db.names.size(); in parse_sizeof_param_pack_expr()
658 size_t k1 = db.names.size(); in parse_sizeof_param_pack_expr()
663 tmp += db.names[k].move_full(); in parse_sizeof_param_pack_expr()
665 tmp += ", " + db.names[k].move_full(); in parse_sizeof_param_pack_expr()
669 db.names.pop_back(); in parse_sizeof_param_pack_expr()
670 db.names.push_back(std::move(tmp)); in parse_sizeof_param_pack_expr()
695 db.names.push_back("fp" + std::string(t, t1)); in parse_function_param()
706 db.names.push_back("fp" + std::string(t, t1)); in parse_function_param()
726 if (db.names.empty()) in parse_sizeof_function_param_pack_expr()
728 db.names.back() = "sizeof...(" + db.names.back().move_full() + ")"; in parse_sizeof_function_param_pack_expr()
749 if (db.names.empty()) in parse_typeid_expr()
751 db.names.back() = "typeid(" + db.names.back().move_full() + ")"; in parse_typeid_expr()
766 if (db.names.empty()) in parse_throw_expr()
768 db.names.back() = "throw " + db.names.back().move_full(); in parse_throw_expr()
785 if (db.names.size() < 2) in parse_dot_star_expr()
787 auto expr = db.names.back().move_full(); in parse_dot_star_expr()
788 db.names.pop_back(); in parse_dot_star_expr()
789 db.names.back().first += ".*" + expr; in parse_dot_star_expr()
806 if (db.names.size() < 2) in parse_simple_id()
808 auto args = db.names.back().move_full(); in parse_simple_id()
809 db.names.pop_back(); in parse_simple_id()
810 db.names.back().first += std::move(args); in parse_simple_id()
830 size_t k0 = db.names.size(); in parse_unresolved_type()
832 size_t k1 = db.names.size(); in parse_unresolved_type()
834 db.subs.push_back(typename C::sub_type(1, db.names.back())); in parse_unresolved_type()
838 db.names.pop_back(); in parse_unresolved_type()
845 if (db.names.empty()) in parse_unresolved_type()
847 db.subs.push_back(typename C::sub_type(1, db.names.back())); in parse_unresolved_type()
859 if (db.names.empty()) in parse_unresolved_type()
861 db.names.back().first.insert(0, "std::"); in parse_unresolved_type()
862 db.subs.push_back(typename C::sub_type(1, db.names.back())); in parse_unresolved_type()
886 if (db.names.empty()) in parse_destructor_name()
888 db.names.back().first.insert(0, "~"); in parse_destructor_name()
922 if (db.names.size() < 2) in parse_base_unresolved_name()
924 auto args = db.names.back().move_full(); in parse_base_unresolved_name()
925 db.names.pop_back(); in parse_base_unresolved_name()
926 db.names.back().first += std::move(args); in parse_base_unresolved_name()
941 if (db.names.size() < 2) in parse_base_unresolved_name()
943 auto args = db.names.back().move_full(); in parse_base_unresolved_name()
944 db.names.pop_back(); in parse_base_unresolved_name()
945 db.names.back().first += std::move(args); in parse_base_unresolved_name()
1000 if (db.names.empty()) in parse_unresolved_name()
1002 db.names.back().first.insert(0, "::"); in parse_unresolved_name()
1014 if (db.names.size() < 2) in parse_unresolved_name()
1016 auto args = db.names.back().move_full(); in parse_unresolved_name()
1017 db.names.pop_back(); in parse_unresolved_name()
1018 db.names.back().first += std::move(args); in parse_unresolved_name()
1021 db.names.pop_back(); in parse_unresolved_name()
1027 if (t1 == t || t1 == last || db.names.size() < 2) in parse_unresolved_name()
1029 auto s = db.names.back().move_full(); in parse_unresolved_name()
1030 db.names.pop_back(); in parse_unresolved_name()
1031 db.names.back().first += "::" + std::move(s); in parse_unresolved_name()
1037 if (!db.names.empty()) in parse_unresolved_name()
1038 db.names.pop_back(); in parse_unresolved_name()
1041 if (db.names.size() < 2) in parse_unresolved_name()
1043 auto s = db.names.back().move_full(); in parse_unresolved_name()
1044 db.names.pop_back(); in parse_unresolved_name()
1045 db.names.back().first += "::" + std::move(s); in parse_unresolved_name()
1054 if (db.names.size() < 2) in parse_unresolved_name()
1056 auto args = db.names.back().move_full(); in parse_unresolved_name()
1057 db.names.pop_back(); in parse_unresolved_name()
1058 db.names.back().first += std::move(args); in parse_unresolved_name()
1063 if (!db.names.empty()) in parse_unresolved_name()
1064 db.names.pop_back(); in parse_unresolved_name()
1067 if (db.names.size() < 2) in parse_unresolved_name()
1069 auto s = db.names.back().move_full(); in parse_unresolved_name()
1070 db.names.pop_back(); in parse_unresolved_name()
1071 db.names.back().first += "::" + std::move(s); in parse_unresolved_name()
1079 if (db.names.empty()) in parse_unresolved_name()
1081 db.names.back().first.insert(0, "::"); in parse_unresolved_name()
1085 if (t1 == t || t1 == last || db.names.size() < 2) in parse_unresolved_name()
1087 auto s = db.names.back().move_full(); in parse_unresolved_name()
1088 db.names.pop_back(); in parse_unresolved_name()
1089 db.names.back().first += "::" + std::move(s); in parse_unresolved_name()
1095 if (!db.names.empty()) in parse_unresolved_name()
1096 db.names.pop_back(); in parse_unresolved_name()
1099 if (db.names.size() < 2) in parse_unresolved_name()
1101 auto s = db.names.back().move_full(); in parse_unresolved_name()
1102 db.names.pop_back(); in parse_unresolved_name()
1103 db.names.back().first += "::" + std::move(s); in parse_unresolved_name()
1121 if (db.names.size() < 2) in parse_dot_expr()
1123 auto name = db.names.back().move_full(); in parse_dot_expr()
1124 db.names.pop_back(); in parse_dot_expr()
1125 if (db.names.empty()) in parse_dot_expr()
1127 db.names.back().first += "." + name; in parse_dot_expr()
1144 if (db.names.empty()) in parse_call_expr()
1146 db.names.back().first += db.names.back().second; in parse_call_expr()
1147 db.names.back().second = std::string(); in parse_call_expr()
1148 db.names.back().first.append("("); in parse_call_expr()
1154 if (db.names.empty()) in parse_call_expr()
1156 auto tmp = db.names.back().move_full(); in parse_call_expr()
1157 db.names.pop_back(); in parse_call_expr()
1159 if (db.names.empty()) in parse_call_expr()
1162 db.names.back().first.append(", "); in parse_call_expr()
1165 db.names.back().first.append(tmp); in parse_call_expr()
1170 if (db.names.empty()) in parse_call_expr()
1172 db.names.back().first.append(")"); in parse_call_expr()
1210 if (db.names.empty()) in parse_new_expr()
1212 auto tmp = db.names.back().move_full(); in parse_new_expr()
1213 db.names.pop_back(); in parse_new_expr()
1215 if (db.names.empty()) in parse_new_expr()
1217 db.names.back().first.append(", "); in parse_new_expr()
1218 db.names.back().first.append(tmp); in parse_new_expr()
1239 if (db.names.empty()) in parse_new_expr()
1241 auto tmp = db.names.back().move_full(); in parse_new_expr()
1242 db.names.pop_back(); in parse_new_expr()
1244 if (db.names.empty()) in parse_new_expr()
1246 db.names.back().first.append(", "); in parse_new_expr()
1247 db.names.back().first.append(tmp); in parse_new_expr()
1258 if (db.names.empty()) in parse_new_expr()
1260 init_list = db.names.back().move_full(); in parse_new_expr()
1261 db.names.pop_back(); in parse_new_expr()
1263 if (db.names.empty()) in parse_new_expr()
1265 auto type = db.names.back().move_full(); in parse_new_expr()
1266 db.names.pop_back(); in parse_new_expr()
1269 if (db.names.empty()) in parse_new_expr()
1271 expr_list = db.names.back().move_full(); in parse_new_expr()
1272 db.names.pop_back(); in parse_new_expr()
1286 db.names.push_back(std::move(r)); in parse_new_expr()
1317 db.names.emplace_back(); in parse_conversion_expr()
1325 if (db.names.empty()) in parse_conversion_expr()
1327 auto tmp = db.names.back().move_full(); in parse_conversion_expr()
1328 db.names.pop_back(); in parse_conversion_expr()
1330 if (db.names.empty()) in parse_conversion_expr()
1332 db.names.back().first.append(", "); in parse_conversion_expr()
1333 db.names.back().first.append(tmp); in parse_conversion_expr()
1342 if (db.names.size() < 2) in parse_conversion_expr()
1344 auto tmp = db.names.back().move_full(); in parse_conversion_expr()
1345 db.names.pop_back(); in parse_conversion_expr()
1346 db.names.back() = "(" + db.names.back().move_full() + ")(" + tmp + ")"; in parse_conversion_expr()
1363 if (db.names.size() < 2) in parse_arrow_expr()
1365 auto tmp = db.names.back().move_full(); in parse_arrow_expr()
1366 db.names.pop_back(); in parse_arrow_expr()
1367 db.names.back().first += "->"; in parse_arrow_expr()
1368 db.names.back().first += tmp; in parse_arrow_expr()
1399 db.names.pop_back(); in parse_function_type()
1420 size_t k0 = db.names.size(); in parse_function_type()
1422 size_t k1 = db.names.size(); in parse_function_type()
1428 sig += db.names[k].move_full(); in parse_function_type()
1431 db.names.pop_back(); in parse_function_type()
1443 if (db.names.empty()) in parse_function_type()
1445 db.names.back().first += " "; in parse_function_type()
1446 db.names.back().second.insert(0, sig); in parse_function_type()
1464 if (db.names.size() < 2) in parse_pointer_to_member_type()
1466 auto func = std::move(db.names.back()); in parse_pointer_to_member_type()
1467 db.names.pop_back(); in parse_pointer_to_member_type()
1468 auto class_type = std::move(db.names.back()); in parse_pointer_to_member_type()
1470 db.names.back().first = in parse_pointer_to_member_type()
1472 db.names.back().second = ")" + std::move(func.second); in parse_pointer_to_member_type()
1474 db.names.back().first = in parse_pointer_to_member_type()
1476 db.names.back().second = std::move(func.second); in parse_pointer_to_member_type()
1495 if (db.names.empty()) in parse_array_type()
1497 if (db.names.back().second.substr(0, 2) == " [") in parse_array_type()
1498 db.names.back().second.erase(0, 1); in parse_array_type()
1499 db.names.back().second.insert(0, " []"); in parse_array_type()
1507 if (db.names.empty()) in parse_array_type()
1509 if (db.names.back().second.substr(0, 2) == " [") in parse_array_type()
1510 db.names.back().second.erase(0, 1); in parse_array_type()
1511 db.names.back().second.insert(0, in parse_array_type()
1521 if (db.names.size() < 2) in parse_array_type()
1523 auto type = std::move(db.names.back()); in parse_array_type()
1524 db.names.pop_back(); in parse_array_type()
1525 auto expr = std::move(db.names.back()); in parse_array_type()
1526 db.names.back().first = std::move(type.first); in parse_array_type()
1529 db.names.back().second = in parse_array_type()
1551 if (db.names.empty()) in parse_decltype()
1553 db.names.back() = "decltype(" + db.names.back().move_full() + ")"; in parse_decltype()
1583 if (db.names.empty()) in parse_vector_type()
1585 db.names.back().first += " vector[" + std::string(num, sz) + "]"; in parse_vector_type()
1590 db.names.push_back("pixel vector[" + std::string(num, sz) + "]"); in parse_vector_type()
1600 if (db.names.empty()) in parse_vector_type()
1602 num = db.names.back().move_full(); in parse_vector_type()
1603 db.names.pop_back(); in parse_vector_type()
1610 if (db.names.empty()) in parse_vector_type()
1612 db.names.back().first += " vector[" + num + "]"; in parse_vector_type()
1657 size_t k0 = db.names.size(); in parse_type()
1659 size_t k1 = db.names.size(); in parse_type()
1666 size_t p = db.names[k].second.size(); in parse_type()
1667 if (db.names[k].second[p - 2] == '&') in parse_type()
1669 else if (db.names[k].second.back() == '&') in parse_type()
1672 db.names[k].second.insert(p, " const"); in parse_type()
1676 db.names[k].second.insert(p, " volatile"); in parse_type()
1680 db.names[k].second.insert(p, " restrict"); in parse_type()
1683 db.names[k].first.append(" const"); in parse_type()
1685 db.names[k].first.append(" volatile"); in parse_type()
1687 db.names[k].first.append(" restrict"); in parse_type()
1689 db.subs.back().push_back(db.names[k]); in parse_type()
1704 if (db.names.empty()) in parse_type()
1707 db.subs.push_back(typename C::sub_type(1, db.names.back())); in parse_type()
1713 if (db.names.empty()) in parse_type()
1715 db.names.back().first.append(" complex"); in parse_type()
1717 db.subs.push_back(typename C::sub_type(1, db.names.back())); in parse_type()
1723 if (db.names.empty()) in parse_type()
1726 db.subs.push_back(typename C::sub_type(1, db.names.back())); in parse_type()
1732 if (db.names.empty()) in parse_type()
1734 db.names.back().first.append(" imaginary"); in parse_type()
1736 db.subs.push_back(typename C::sub_type(1, db.names.back())); in parse_type()
1742 if (db.names.empty()) in parse_type()
1745 db.subs.push_back(typename C::sub_type(1, db.names.back())); in parse_type()
1749 size_t k0 = db.names.size(); in parse_type()
1751 size_t k1 = db.names.size(); in parse_type()
1755 if (db.names[k].second.substr(0, 2) == " [") { in parse_type()
1756 db.names[k].first += " ("; in parse_type()
1757 db.names[k].second.insert(0, ")"); in parse_type()
1758 } else if (!db.names[k].second.empty() && in parse_type()
1759 db.names[k].second.front() == '(') { in parse_type()
1760 db.names[k].first += "("; in parse_type()
1761 db.names[k].second.insert(0, ")"); in parse_type()
1763 db.names[k].first.append("&&"); in parse_type()
1764 db.subs.back().push_back(db.names[k]); in parse_type()
1771 size_t k0 = db.names.size(); in parse_type()
1773 size_t k1 = db.names.size(); in parse_type()
1777 if (db.names[k].second.substr(0, 2) == " [") { in parse_type()
1778 db.names[k].first += " ("; in parse_type()
1779 db.names[k].second.insert(0, ")"); in parse_type()
1780 } else if (!db.names[k].second.empty() && in parse_type()
1781 db.names[k].second.front() == '(') { in parse_type()
1782 db.names[k].first += "("; in parse_type()
1783 db.names[k].second.insert(0, ")"); in parse_type()
1786 db.names[k].first.substr(0, 12) != "objc_object<") { in parse_type()
1787 db.names[k].first.append("*"); in parse_type()
1789 db.names[k].first.replace(0, 11, "id"); in parse_type()
1791 db.subs.back().push_back(db.names[k]); in parse_type()
1798 size_t k0 = db.names.size(); in parse_type()
1800 size_t k1 = db.names.size(); in parse_type()
1804 if (db.names[k].second.substr(0, 2) == " [") { in parse_type()
1805 db.names[k].first += " ("; in parse_type()
1806 db.names[k].second.insert(0, ")"); in parse_type()
1807 } else if (!db.names[k].second.empty() && in parse_type()
1808 db.names[k].second.front() == '(') { in parse_type()
1809 db.names[k].first += "("; in parse_type()
1810 db.names[k].second.insert(0, ")"); in parse_type()
1812 db.names[k].first.append("&"); in parse_type()
1813 db.subs.back().push_back(db.names[k]); in parse_type()
1820 size_t k0 = db.names.size(); in parse_type()
1822 size_t k1 = db.names.size(); in parse_type()
1826 db.subs.back().push_back(db.names[k]); in parse_type()
1830 auto args = db.names.back().move_full(); in parse_type()
1831 db.names.pop_back(); in parse_type()
1832 db.names.back().first += std::move(args); in parse_type()
1833 db.subs.push_back(typename C::sub_type(1, db.names.back())); in parse_type()
1847 if (db.names.size() < 2) in parse_type()
1849 auto type = db.names.back().move_full(); in parse_type()
1850 db.names.pop_back(); in parse_type()
1851 if (db.names.back().first.substr(0, 9) != "objcproto") { in parse_type()
1852 db.names.back() = type + " " + db.names.back().move_full(); in parse_type()
1854 auto proto = db.names.back().move_full(); in parse_type()
1855 db.names.pop_back(); in parse_type()
1859 db.names.back() = in parse_type()
1860 type + "<" + db.names.back().move_full() + ">"; in parse_type()
1862 db.names.push_back(type + " " + proto); in parse_type()
1865 db.subs.push_back(typename C::sub_type(1, db.names.back())); in parse_type()
1875 if (db.names.empty()) in parse_type()
1877 db.subs.push_back(typename C::sub_type(1, db.names.back())); in parse_type()
1888 if (db.names.size() < 2) in parse_type()
1890 auto template_args = db.names.back().move_full(); in parse_type()
1891 db.names.pop_back(); in parse_type()
1892 db.names.back().first += template_args; in parse_type()
1895 db.subs.push_back(typename C::sub_type(1, db.names.back())); in parse_type()
1905 size_t k0 = db.names.size(); in parse_type()
1907 size_t k1 = db.names.size(); in parse_type()
1911 db.subs.back().push_back(db.names[k]); in parse_type()
1921 if (db.names.empty()) in parse_type()
1923 db.subs.push_back(typename C::sub_type(1, db.names.back())); in parse_type()
1931 if (db.names.empty()) in parse_type()
1933 db.subs.push_back(typename C::sub_type(1, db.names.back())); in parse_type()
1950 if (db.names.empty()) in parse_type()
1952 db.subs.push_back(typename C::sub_type(1, db.names.back())); in parse_type()
2027 db.names.push_back("operator&&"); in parse_operator_name()
2032 db.names.push_back("operator&"); in parse_operator_name()
2036 db.names.push_back("operator&="); in parse_operator_name()
2040 db.names.push_back("operator="); in parse_operator_name()
2048 db.names.push_back("operator()"); in parse_operator_name()
2052 db.names.push_back("operator,"); in parse_operator_name()
2056 db.names.push_back("operator~"); in parse_operator_name()
2065 if (db.names.empty()) in parse_operator_name()
2067 db.names.back().first.insert(0, "operator "); in parse_operator_name()
2077 db.names.push_back("operator delete[]"); in parse_operator_name()
2081 db.names.push_back("operator*"); in parse_operator_name()
2085 db.names.push_back("operator delete"); in parse_operator_name()
2089 db.names.push_back("operator/"); in parse_operator_name()
2093 db.names.push_back("operator/="); in parse_operator_name()
2101 db.names.push_back("operator^"); in parse_operator_name()
2105 db.names.push_back("operator^="); in parse_operator_name()
2109 db.names.push_back("operator=="); in parse_operator_name()
2117 db.names.push_back("operator>="); in parse_operator_name()
2121 db.names.push_back("operator>"); in parse_operator_name()
2128 db.names.push_back("operator[]"); in parse_operator_name()
2135 db.names.push_back("operator<="); in parse_operator_name()
2141 if (db.names.empty()) in parse_operator_name()
2143 db.names.back().first.insert(0, "operator\"\" "); in parse_operator_name()
2148 db.names.push_back("operator<<"); in parse_operator_name()
2152 db.names.push_back("operator<<="); in parse_operator_name()
2156 db.names.push_back("operator<"); in parse_operator_name()
2164 db.names.push_back("operator-"); in parse_operator_name()
2168 db.names.push_back("operator-="); in parse_operator_name()
2172 db.names.push_back("operator*"); in parse_operator_name()
2176 db.names.push_back("operator*="); in parse_operator_name()
2180 db.names.push_back("operator--"); in parse_operator_name()
2188 db.names.push_back("operator new[]"); in parse_operator_name()
2192 db.names.push_back("operator!="); in parse_operator_name()
2196 db.names.push_back("operator-"); in parse_operator_name()
2200 db.names.push_back("operator!"); in parse_operator_name()
2204 db.names.push_back("operator new"); in parse_operator_name()
2212 db.names.push_back("operator||"); in parse_operator_name()
2216 db.names.push_back("operator|"); in parse_operator_name()
2220 db.names.push_back("operator|="); in parse_operator_name()
2228 db.names.push_back("operator->*"); in parse_operator_name()
2232 db.names.push_back("operator+"); in parse_operator_name()
2236 db.names.push_back("operator+="); in parse_operator_name()
2240 db.names.push_back("operator++"); in parse_operator_name()
2244 db.names.push_back("operator+"); in parse_operator_name()
2248 db.names.push_back("operator->"); in parse_operator_name()
2255 db.names.push_back("operator?"); in parse_operator_name()
2262 db.names.push_back("operator%"); in parse_operator_name()
2266 db.names.push_back("operator%="); in parse_operator_name()
2270 db.names.push_back("operator>>"); in parse_operator_name()
2274 db.names.push_back("operator>>="); in parse_operator_name()
2283 if (db.names.empty()) in parse_operator_name()
2285 db.names.back().first.insert(0, "operator "); in parse_operator_name()
2301 db.names.push_back("(" + lit + ")"); in parse_integer_literal()
2303 db.names.emplace_back(); in parse_integer_literal()
2305 db.names.back().first += '-'; in parse_integer_literal()
2308 db.names.back().first.append(first, t); in parse_integer_literal()
2310 db.names.back().first += lit; in parse_integer_literal()
2343 db.names.push_back("false"); in parse_expr_primary()
2347 db.names.push_back("true"); in parse_expr_primary()
2456 if (db.names.empty()) in parse_expr_primary()
2458 db.names.back() = in parse_expr_primary()
2459 "(" + db.names.back().move_full() + ")" + std::string(t, n); in parse_expr_primary()
2534 if (last - first >= 2 && !db.names.empty()) { in parse_ctor_dtor_name()
2542 if (db.names.empty()) in parse_ctor_dtor_name()
2544 db.names.push_back(base_name(db.names.back().first)); in parse_ctor_dtor_name()
2556 if (db.names.empty()) in parse_ctor_dtor_name()
2558 db.names.push_back("~" + base_name(db.names.back().first)); in parse_ctor_dtor_name()
2584 db.names.push_back(std::string("'unnamed")); in parse_unnamed_type_name()
2587 db.names.pop_back(); in parse_unnamed_type_name()
2594 db.names.back().first.append(t0, t1); in parse_unnamed_type_name()
2597 db.names.back().first.push_back('\''); in parse_unnamed_type_name()
2599 db.names.pop_back(); in parse_unnamed_type_name()
2605 db.names.push_back(std::string("'lambda'(")); in parse_unnamed_type_name()
2608 db.names.back().first += ')'; in parse_unnamed_type_name()
2613 if (!db.names.empty()) in parse_unnamed_type_name()
2614 db.names.pop_back(); in parse_unnamed_type_name()
2617 if (db.names.size() < 2) in parse_unnamed_type_name()
2619 auto tmp = db.names.back().move_full(); in parse_unnamed_type_name()
2620 db.names.pop_back(); in parse_unnamed_type_name()
2621 db.names.back().first.append(tmp); in parse_unnamed_type_name()
2627 if (db.names.size() < 2) in parse_unnamed_type_name()
2629 tmp = db.names.back().move_full(); in parse_unnamed_type_name()
2630 db.names.pop_back(); in parse_unnamed_type_name()
2632 db.names.back().first.append(", "); in parse_unnamed_type_name()
2633 db.names.back().first.append(tmp); in parse_unnamed_type_name()
2637 if (db.names.empty()) in parse_unnamed_type_name()
2639 db.names.back().first.append(")"); in parse_unnamed_type_name()
2642 if (!db.names.empty()) in parse_unnamed_type_name()
2643 db.names.pop_back(); in parse_unnamed_type_name()
2648 if (!db.names.empty()) in parse_unnamed_type_name()
2649 db.names.pop_back(); in parse_unnamed_type_name()
2656 db.names.back().first.insert(db.names.back().first.begin() + 7, t0, t1); in parse_unnamed_type_name()
2660 if (!db.names.empty()) in parse_unnamed_type_name()
2661 db.names.pop_back(); in parse_unnamed_type_name()
2735 if (db.names.empty()) in parse_unscoped_name()
2737 db.names.back().first.insert(0, "std::"); in parse_unscoped_name()
2753 if (db.names.empty()) in parse_alignof_type()
2755 db.names.back().first = "alignof (" + db.names.back().move_full() + ")"; in parse_alignof_type()
2771 if (db.names.empty()) in parse_alignof_expr()
2773 db.names.back().first = "alignof (" + db.names.back().move_full() + ")"; in parse_alignof_expr()
2785 if (db.names.empty()) in parse_noexcept_expression()
2787 db.names.back().first = "noexcept (" + db.names.back().move_full() + ")"; in parse_noexcept_expression()
2799 if (db.names.empty()) in parse_prefix_expression()
2801 db.names.back().first = op + "(" + db.names.back().move_full() + ")"; in parse_prefix_expression()
2815 if (db.names.size() < 2) in parse_binary_expression()
2817 auto op2 = db.names.back().move_full(); in parse_binary_expression()
2818 db.names.pop_back(); in parse_binary_expression()
2819 auto op1 = db.names.back().move_full(); in parse_binary_expression()
2820 auto &nm = db.names.back().first; in parse_binary_expression()
2828 } else if (!db.names.empty()) in parse_binary_expression()
2829 db.names.pop_back(); in parse_binary_expression()
2997 if (db.names.empty()) in parse_expression()
2999 db.names.back().first = in parse_expression()
3001 db.names.back().move_full(); in parse_expression()
3016 if (db.names.empty()) in parse_expression()
3018 db.names.back().first = in parse_expression()
3020 db.names.back().move_full(); in parse_expression()
3083 if (db.names.size() < 2) in parse_expression()
3085 auto op2 = db.names.back().move_full(); in parse_expression()
3086 db.names.pop_back(); in parse_expression()
3087 auto op1 = db.names.back().move_full(); in parse_expression()
3088 db.names.back() = "(" + op1 + ")[" + op2 + "]"; in parse_expression()
3090 } else if (!db.names.empty()) in parse_expression()
3091 db.names.pop_back(); in parse_expression()
3149 if (db.names.empty()) in parse_expression()
3151 db.names.back() = "(" + db.names.back().move_full() + ")--"; in parse_expression()
3232 if (db.names.empty()) in parse_expression()
3234 db.names.back() = "(" + db.names.back().move_full() + ")++"; in parse_expression()
3257 if (db.names.size() < 3) in parse_expression()
3259 auto op3 = db.names.back().move_full(); in parse_expression()
3260 db.names.pop_back(); in parse_expression()
3261 auto op2 = db.names.back().move_full(); in parse_expression()
3262 db.names.pop_back(); in parse_expression()
3263 auto op1 = db.names.back().move_full(); in parse_expression()
3264 db.names.back() = "(" + op1 + ") ? (" + op2 + ") : (" + op3 + ")"; in parse_expression()
3267 if (db.names.size() < 2) in parse_expression()
3269 db.names.pop_back(); in parse_expression()
3270 db.names.pop_back(); in parse_expression()
3272 } else if (!db.names.empty()) in parse_expression()
3273 db.names.pop_back(); in parse_expression()
3341 db.names.push_back("throw"); in parse_expression()
3432 size_t k0 = db.names.size(); in parse_template_args()
3434 size_t k1 = db.names.size(); in parse_template_args()
3442 db.template_param.back().back().push_back(db.names[k]); in parse_template_args()
3447 args += db.names[k].move_full(); in parse_template_args()
3450 if (!db.names.empty()) in parse_template_args()
3451 db.names.pop_back(); in parse_template_args()
3459 db.names.push_back(std::move(args)); in parse_template_args()
3498 db.names.emplace_back(); in parse_nested_name()
3501 db.names.back().first = "std"; in parse_nested_name()
3504 db.names.pop_back(); in parse_nested_name()
3518 auto name = db.names.back().move_full(); in parse_nested_name()
3519 db.names.pop_back(); in parse_nested_name()
3520 if (db.names.empty()) in parse_nested_name()
3522 if (!db.names.back().first.empty()) { in parse_nested_name()
3523 db.names.back().first += "::" + name; in parse_nested_name()
3524 db.subs.push_back(typename C::sub_type(1, db.names.back())); in parse_nested_name()
3526 db.names.back().first = name; in parse_nested_name()
3535 auto name = db.names.back().move_full(); in parse_nested_name()
3536 db.names.pop_back(); in parse_nested_name()
3537 if (db.names.empty()) in parse_nested_name()
3539 if (!db.names.back().first.empty()) in parse_nested_name()
3540 db.names.back().first += "::" + name; in parse_nested_name()
3542 db.names.back().first = name; in parse_nested_name()
3543 db.subs.push_back(typename C::sub_type(1, db.names.back())); in parse_nested_name()
3554 auto name = db.names.back().move_full(); in parse_nested_name()
3555 db.names.pop_back(); in parse_nested_name()
3556 if (db.names.empty()) in parse_nested_name()
3558 if (!db.names.back().first.empty()) in parse_nested_name()
3559 db.names.back().first += "::" + name; in parse_nested_name()
3561 db.names.back().first = name; in parse_nested_name()
3562 db.subs.push_back(typename C::sub_type(1, db.names.back())); in parse_nested_name()
3571 auto name = db.names.back().move_full(); in parse_nested_name()
3572 db.names.pop_back(); in parse_nested_name()
3573 if (db.names.empty()) in parse_nested_name()
3575 db.names.back().first += name; in parse_nested_name()
3576 db.subs.push_back(typename C::sub_type(1, db.names.back())); in parse_nested_name()
3590 auto name = db.names.back().move_full(); in parse_nested_name()
3591 db.names.pop_back(); in parse_nested_name()
3592 if (db.names.empty()) in parse_nested_name()
3594 if (!db.names.back().first.empty()) in parse_nested_name()
3595 db.names.back().first += "::" + name; in parse_nested_name()
3597 db.names.back().first = name; in parse_nested_name()
3598 db.subs.push_back(typename C::sub_type(1, db.names.back())); in parse_nested_name()
3659 if (db.names.empty()) in parse_local_name()
3661 db.names.back().first.append("::string literal"); in parse_local_name()
3670 if (db.names.size() < 2) in parse_local_name()
3672 auto name = db.names.back().move_full(); in parse_local_name()
3673 db.names.pop_back(); in parse_local_name()
3674 if (db.names.empty()) in parse_local_name()
3676 db.names.back().first.append("::"); in parse_local_name()
3677 db.names.back().first.append(name); in parse_local_name()
3679 } else if (!db.names.empty()) in parse_local_name()
3680 db.names.pop_back(); in parse_local_name()
3689 if (db.names.size() < 2) in parse_local_name()
3691 auto name = db.names.back().move_full(); in parse_local_name()
3692 db.names.pop_back(); in parse_local_name()
3693 if (db.names.empty()) in parse_local_name()
3695 db.names.back().first.append("::"); in parse_local_name()
3696 db.names.back().first.append(name); in parse_local_name()
3697 } else if (!db.names.empty()) in parse_local_name()
3698 db.names.pop_back(); in parse_local_name()
3741 if (db.names.empty()) in parse_name()
3743 db.subs.push_back(typename C::sub_type(1, db.names.back())); in parse_name()
3747 if (db.names.size() < 2) in parse_name()
3749 auto tmp = db.names.back().move_full(); in parse_name()
3750 db.names.pop_back(); in parse_name()
3751 if (db.names.empty()) in parse_name()
3753 db.names.back().first += tmp; in parse_name()
3766 if (db.names.size() < 2) in parse_name()
3768 auto tmp = db.names.back().move_full(); in parse_name()
3769 db.names.pop_back(); in parse_name()
3770 if (db.names.empty()) in parse_name()
3772 db.names.back().first += tmp; in parse_name()
3845 if (db.names.empty()) in parse_special_name()
3847 db.names.back().first.insert(0, "vtable for "); in parse_special_name()
3855 if (db.names.empty()) in parse_special_name()
3857 db.names.back().first.insert(0, "VTT for "); in parse_special_name()
3865 if (db.names.empty()) in parse_special_name()
3867 db.names.back().first.insert(0, "typeinfo for "); in parse_special_name()
3875 if (db.names.empty()) in parse_special_name()
3877 db.names.back().first.insert(0, "typeinfo name for "); in parse_special_name()
3892 if (db.names.empty()) in parse_special_name()
3894 db.names.back().first.insert(0, "covariant return thunk to "); in parse_special_name()
3908 if (db.names.size() < 2) in parse_special_name()
3910 auto left = db.names.back().move_full(); in parse_special_name()
3911 db.names.pop_back(); in parse_special_name()
3912 if (db.names.empty()) in parse_special_name()
3914 db.names.back().first = "construction vtable for " + in parse_special_name()
3916 db.names.back().move_full(); in parse_special_name()
3930 if (db.names.empty()) in parse_special_name()
3933 db.names.back().first.insert(0, "virtual thunk to "); in parse_special_name()
3936 db.names.back().first.insert(0, "non-virtual thunk to "); in parse_special_name()
3950 if (db.names.empty()) in parse_special_name()
3952 db.names.back().first.insert(0, "guard variable for "); in parse_special_name()
3960 if (db.names.empty()) in parse_special_name()
3962 db.names.back().first.insert(0, "reference temporary for "); in parse_special_name()
4016 if (db.names.empty()) in parse_encoding()
4018 const std::string &nm = db.names.back().first; in parse_encoding()
4025 if (db.names.size() < 2) in parse_encoding()
4027 auto ret1 = std::move(db.names.back().first); in parse_encoding()
4028 ret2 = std::move(db.names.back().second); in parse_encoding()
4031 db.names.pop_back(); in parse_encoding()
4032 if (db.names.empty()) in parse_encoding()
4035 db.names.back().first.insert(0, ret1); in parse_encoding()
4038 db.names.back().first += '('; in parse_encoding()
4044 size_t k0 = db.names.size(); in parse_encoding()
4046 size_t k1 = db.names.size(); in parse_encoding()
4054 tmp += db.names[k].move_full(); in parse_encoding()
4057 if (db.names.empty()) in parse_encoding()
4059 db.names.pop_back(); in parse_encoding()
4062 if (db.names.empty()) in parse_encoding()
4065 db.names.back().first += ", "; in parse_encoding()
4068 db.names.back().first += tmp; in parse_encoding()
4074 if (db.names.empty()) in parse_encoding()
4076 db.names.back().first += ')'; in parse_encoding()
4078 db.names.back().first.append(" const"); in parse_encoding()
4080 db.names.back().first.append(" volatile"); in parse_encoding()
4082 db.names.back().first.append(" restrict"); in parse_encoding()
4084 db.names.back().first.append(" &"); in parse_encoding()
4086 db.names.back().first.append(" &&"); in parse_encoding()
4087 db.names.back().first += ret2; in parse_encoding()
4124 if (db.names.empty()) in parse_block_invoke()
4126 db.names.back().first.insert(0, "invocation function for block in "); in parse_block_invoke()
4139 if (db.names.empty()) in parse_dot_suffix()
4141 db.names.back().first += " (" + std::string(first, last) + ")"; in parse_dot_suffix()
4184 if (status == success && db.names.empty()) in demangle()
4206 sub_type names; member
4217 Db() : subs(0, names), template_param(0, subs) {} in Db()
4247 db.names.clear(); in itaniumDemangle()
4254 size_t sz = db.names.back().size() + 1; in itaniumDemangle()
4267 db.names.back().first += db.names.back().second; in itaniumDemangle()
4268 std::memcpy(buf, db.names.back().first.data(), sz - 1); in itaniumDemangle()