Lines Matching refs:names
60 for (auto& s : db.names) in print_stack()
207 db.names.push_back(typename C::String(num, static_cast<std::size_t>(n))); in parse_floating_number()
237 db.names.push_back("(anonymous namespace)"); in parse_source_name()
239 db.names.push_back(std::move(r)); in parse_source_name()
269 db.names.push_back("std::allocator"); in parse_substitution()
273 db.names.push_back("std::basic_string"); in parse_substitution()
277 db.names.push_back("std::string"); in parse_substitution()
281 db.names.push_back("std::istream"); in parse_substitution()
285 db.names.push_back("std::ostream"); in parse_substitution()
289 db.names.push_back("std::iostream"); in parse_substitution()
296 db.names.push_back(n); in parse_substitution()
323 db.names.push_back(n); in parse_substitution()
375 db.names.push_back("void"); in parse_builtin_type()
379 db.names.push_back("wchar_t"); in parse_builtin_type()
383 db.names.push_back("bool"); in parse_builtin_type()
387 db.names.push_back("char"); in parse_builtin_type()
391 db.names.push_back("signed char"); in parse_builtin_type()
395 db.names.push_back("unsigned char"); in parse_builtin_type()
399 db.names.push_back("short"); in parse_builtin_type()
403 db.names.push_back("unsigned short"); in parse_builtin_type()
407 db.names.push_back("int"); in parse_builtin_type()
411 db.names.push_back("unsigned int"); in parse_builtin_type()
415 db.names.push_back("long"); in parse_builtin_type()
419 db.names.push_back("unsigned long"); in parse_builtin_type()
423 db.names.push_back("long long"); in parse_builtin_type()
427 db.names.push_back("unsigned long long"); in parse_builtin_type()
431 db.names.push_back("__int128"); in parse_builtin_type()
435 db.names.push_back("unsigned __int128"); in parse_builtin_type()
439 db.names.push_back("float"); in parse_builtin_type()
443 db.names.push_back("double"); in parse_builtin_type()
447 db.names.push_back("long double"); in parse_builtin_type()
451 db.names.push_back("__float128"); in parse_builtin_type()
455 db.names.push_back("..."); in parse_builtin_type()
471 db.names.push_back("decimal64"); in parse_builtin_type()
475 db.names.push_back("decimal128"); in parse_builtin_type()
479 db.names.push_back("decimal32"); in parse_builtin_type()
483 db.names.push_back("decimal16"); in parse_builtin_type()
487 db.names.push_back("char32_t"); in parse_builtin_type()
491 db.names.push_back("char16_t"); in parse_builtin_type()
495 db.names.push_back("auto"); in parse_builtin_type()
499 db.names.push_back("decltype(auto)"); in parse_builtin_type()
503 db.names.push_back("std::nullptr_t"); in parse_builtin_type()
559 db.names.push_back(t); in parse_template_param()
564 db.names.push_back("T_"); in parse_template_param()
584 db.names.push_back(temp); in parse_template_param()
589 db.names.push_back(typename C::String(first, t+1)); in parse_template_param()
613 if (db.names.size() < 2) in parse_const_cast_expr()
615 auto expr = db.names.back().move_full(); in parse_const_cast_expr()
616 db.names.pop_back(); in parse_const_cast_expr()
617 db.names.back() = "const_cast<" + db.names.back().move_full() + ">(" + expr + ")"; in parse_const_cast_expr()
639 if (db.names.size() < 2) in parse_dynamic_cast_expr()
641 auto expr = db.names.back().move_full(); in parse_dynamic_cast_expr()
642 db.names.pop_back(); in parse_dynamic_cast_expr()
643 db.names.back() = "dynamic_cast<" + db.names.back().move_full() + ">(" + expr + ")"; in parse_dynamic_cast_expr()
665 if (db.names.size() < 2) in parse_reinterpret_cast_expr()
667 auto expr = db.names.back().move_full(); in parse_reinterpret_cast_expr()
668 db.names.pop_back(); in parse_reinterpret_cast_expr()
669 … db.names.back() = "reinterpret_cast<" + db.names.back().move_full() + ">(" + expr + ")"; in parse_reinterpret_cast_expr()
691 if (db.names.size() < 2) in parse_static_cast_expr()
693 auto expr = db.names.back().move_full(); in parse_static_cast_expr()
694 db.names.pop_back(); in parse_static_cast_expr()
695 db.names.back() = "static_cast<" + db.names.back().move_full() + ">(" + expr + ")"; in parse_static_cast_expr()
729 if (db.names.empty()) in parse_sizeof_type_expr()
731 db.names.back() = "sizeof (" + db.names.back().move_full() + ")"; in parse_sizeof_type_expr()
749 if (db.names.empty()) in parse_sizeof_expr_expr()
751 db.names.back() = "sizeof (" + db.names.back().move_full() + ")"; in parse_sizeof_expr_expr()
766 size_t k0 = db.names.size(); in parse_sizeof_param_pack_expr()
768 size_t k1 = db.names.size(); in parse_sizeof_param_pack_expr()
775 tmp += db.names[k].move_full(); in parse_sizeof_param_pack_expr()
777 tmp += ", " + db.names[k].move_full(); in parse_sizeof_param_pack_expr()
781 db.names.pop_back(); in parse_sizeof_param_pack_expr()
782 db.names.push_back(std::move(tmp)); in parse_sizeof_param_pack_expr()
807 db.names.push_back("fp" + typename C::String(t, t1)); in parse_function_param()
822 db.names.push_back("fp" + typename C::String(t, t1)); in parse_function_param()
842 if (db.names.empty()) in parse_sizeof_function_param_pack_expr()
844 db.names.back() = "sizeof...(" + db.names.back().move_full() + ")"; in parse_sizeof_function_param_pack_expr()
867 if (db.names.empty()) in parse_typeid_expr()
869 db.names.back() = "typeid(" + db.names.back().move_full() + ")"; in parse_typeid_expr()
887 if (db.names.empty()) in parse_throw_expr()
889 db.names.back() = "throw " + db.names.back().move_full(); in parse_throw_expr()
910 if (db.names.size() < 2) in parse_dot_star_expr()
912 auto expr = db.names.back().move_full(); in parse_dot_star_expr()
913 db.names.pop_back(); in parse_dot_star_expr()
914 db.names.back().first += ".*" + expr; in parse_dot_star_expr()
936 if (db.names.size() < 2) in parse_simple_id()
938 auto args = db.names.back().move_full(); in parse_simple_id()
939 db.names.pop_back(); in parse_simple_id()
940 db.names.back().first += std::move(args); in parse_simple_id()
965 size_t k0 = db.names.size(); in parse_unresolved_type()
967 size_t k1 = db.names.size(); in parse_unresolved_type()
970 … db.subs.push_back(typename C::sub_type(1, db.names.back(), db.names.get_allocator())); in parse_unresolved_type()
976 db.names.pop_back(); in parse_unresolved_type()
984 if (db.names.empty()) in parse_unresolved_type()
986 … db.subs.push_back(typename C::sub_type(1, db.names.back(), db.names.get_allocator())); in parse_unresolved_type()
1001 if (db.names.empty()) in parse_unresolved_type()
1003 db.names.back().first.insert(0, "std::"); in parse_unresolved_type()
1004 … db.subs.push_back(typename C::sub_type(1, db.names.back(), db.names.get_allocator())); in parse_unresolved_type()
1029 if (db.names.empty()) in parse_destructor_name()
1031 db.names.back().first.insert(0, "~"); in parse_destructor_name()
1062 if (db.names.size() < 2) in parse_base_unresolved_name()
1064 auto args = db.names.back().move_full(); in parse_base_unresolved_name()
1065 db.names.pop_back(); in parse_base_unresolved_name()
1066 db.names.back().first += std::move(args); in parse_base_unresolved_name()
1088 if (db.names.size() < 2) in parse_base_unresolved_name()
1090 auto args = db.names.back().move_full(); in parse_base_unresolved_name()
1091 db.names.pop_back(); in parse_base_unresolved_name()
1092 db.names.back().first += std::move(args); in parse_base_unresolved_name()
1140 if (db.names.empty()) in parse_unresolved_name()
1142 db.names.back().first.insert(0, "::"); in parse_unresolved_name()
1158 if (db.names.size() < 2) in parse_unresolved_name()
1160 auto args = db.names.back().move_full(); in parse_unresolved_name()
1161 db.names.pop_back(); in parse_unresolved_name()
1162 db.names.back().first += std::move(args); in parse_unresolved_name()
1166 db.names.pop_back(); in parse_unresolved_name()
1173 if (t1 == t || t1 == last || db.names.size() < 2) in parse_unresolved_name()
1175 auto s = db.names.back().move_full(); in parse_unresolved_name()
1176 db.names.pop_back(); in parse_unresolved_name()
1177 db.names.back().first += "::" + std::move(s); in parse_unresolved_name()
1184 if (!db.names.empty()) in parse_unresolved_name()
1185 db.names.pop_back(); in parse_unresolved_name()
1188 if (db.names.size() < 2) in parse_unresolved_name()
1190 auto s = db.names.back().move_full(); in parse_unresolved_name()
1191 db.names.pop_back(); in parse_unresolved_name()
1192 db.names.back().first += "::" + std::move(s); in parse_unresolved_name()
1205 if (db.names.size() < 2) in parse_unresolved_name()
1207 auto args = db.names.back().move_full(); in parse_unresolved_name()
1208 db.names.pop_back(); in parse_unresolved_name()
1209 db.names.back().first += std::move(args); in parse_unresolved_name()
1215 if (!db.names.empty()) in parse_unresolved_name()
1216 db.names.pop_back(); in parse_unresolved_name()
1219 if (db.names.size() < 2) in parse_unresolved_name()
1221 auto s = db.names.back().move_full(); in parse_unresolved_name()
1222 db.names.pop_back(); in parse_unresolved_name()
1223 db.names.back().first += "::" + std::move(s); in parse_unresolved_name()
1234 if (db.names.empty()) in parse_unresolved_name()
1236 db.names.back().first.insert(0, "::"); in parse_unresolved_name()
1241 if (t1 == t || t1 == last || db.names.size() < 2) in parse_unresolved_name()
1243 auto s = db.names.back().move_full(); in parse_unresolved_name()
1244 db.names.pop_back(); in parse_unresolved_name()
1245 db.names.back().first += "::" + std::move(s); in parse_unresolved_name()
1252 if (!db.names.empty()) in parse_unresolved_name()
1253 db.names.pop_back(); in parse_unresolved_name()
1256 if (db.names.size() < 2) in parse_unresolved_name()
1258 auto s = db.names.back().move_full(); in parse_unresolved_name()
1259 db.names.pop_back(); in parse_unresolved_name()
1260 db.names.back().first += "::" + std::move(s); in parse_unresolved_name()
1283 if (db.names.size() < 2) in parse_dot_expr()
1285 auto name = db.names.back().move_full(); in parse_dot_expr()
1286 db.names.pop_back(); in parse_dot_expr()
1287 db.names.back().first += "." + name; in parse_dot_expr()
1308 if (db.names.empty()) in parse_call_expr()
1310 db.names.back().first += db.names.back().second; in parse_call_expr()
1311 db.names.back().second = typename C::String(); in parse_call_expr()
1312 db.names.back().first.append("("); in parse_call_expr()
1319 if (db.names.empty()) in parse_call_expr()
1321 auto tmp = db.names.back().move_full(); in parse_call_expr()
1322 db.names.pop_back(); in parse_call_expr()
1325 if (db.names.empty()) in parse_call_expr()
1329 db.names.back().first.append(", "); in parse_call_expr()
1332 db.names.back().first.append(tmp); in parse_call_expr()
1337 if (db.names.empty()) in parse_call_expr()
1339 db.names.back().first.append(")"); in parse_call_expr()
1381 if (db.names.empty()) in parse_new_expr()
1383 auto tmp = db.names.back().move_full(); in parse_new_expr()
1384 db.names.pop_back(); in parse_new_expr()
1387 if (db.names.empty()) in parse_new_expr()
1389 db.names.back().first.append(", "); in parse_new_expr()
1390 db.names.back().first.append(tmp); in parse_new_expr()
1414 if (db.names.empty()) in parse_new_expr()
1416 auto tmp = db.names.back().move_full(); in parse_new_expr()
1417 db.names.pop_back(); in parse_new_expr()
1420 if (db.names.empty()) in parse_new_expr()
1422 db.names.back().first.append(", "); in parse_new_expr()
1423 db.names.back().first.append(tmp); in parse_new_expr()
1435 if (db.names.empty()) in parse_new_expr()
1437 init_list = db.names.back().move_full(); in parse_new_expr()
1438 db.names.pop_back(); in parse_new_expr()
1440 if (db.names.empty()) in parse_new_expr()
1442 auto type = db.names.back().move_full(); in parse_new_expr()
1443 db.names.pop_back(); in parse_new_expr()
1447 if (db.names.empty()) in parse_new_expr()
1449 expr_list = db.names.back().move_full(); in parse_new_expr()
1450 db.names.pop_back(); in parse_new_expr()
1464 db.names.push_back(std::move(r)); in parse_new_expr()
1499 db.names.emplace_back(); in parse_conversion_expr()
1510 if (db.names.empty()) in parse_conversion_expr()
1512 auto tmp = db.names.back().move_full(); in parse_conversion_expr()
1513 db.names.pop_back(); in parse_conversion_expr()
1516 if (db.names.empty()) in parse_conversion_expr()
1518 db.names.back().first.append(", "); in parse_conversion_expr()
1519 db.names.back().first.append(tmp); in parse_conversion_expr()
1528 if (db.names.size() < 2) in parse_conversion_expr()
1530 auto tmp = db.names.back().move_full(); in parse_conversion_expr()
1531 db.names.pop_back(); in parse_conversion_expr()
1532 db.names.back() = "(" + db.names.back().move_full() + ")(" + tmp + ")"; in parse_conversion_expr()
1553 if (db.names.size() < 2) in parse_arrow_expr()
1555 auto tmp = db.names.back().move_full(); in parse_arrow_expr()
1556 db.names.pop_back(); in parse_arrow_expr()
1557 db.names.back().first += "->"; in parse_arrow_expr()
1558 db.names.back().first += tmp; in parse_arrow_expr()
1596 db.names.pop_back(); in parse_function_type()
1621 size_t k0 = db.names.size(); in parse_function_type()
1623 size_t k1 = db.names.size(); in parse_function_type()
1630 sig += db.names[k].move_full(); in parse_function_type()
1633 db.names.pop_back(); in parse_function_type()
1646 if (db.names.empty()) in parse_function_type()
1648 db.names.back().first += " "; in parse_function_type()
1649 db.names.back().second.insert(0, sig); in parse_function_type()
1671 if (db.names.size() < 2) in parse_pointer_to_member_type()
1673 auto func = std::move(db.names.back()); in parse_pointer_to_member_type()
1674 db.names.pop_back(); in parse_pointer_to_member_type()
1675 auto class_type = std::move(db.names.back()); in parse_pointer_to_member_type()
1678 … db.names.back().first = std::move(func.first) + "(" + class_type.move_full() + "::*"; in parse_pointer_to_member_type()
1679 db.names.back().second = ")" + std::move(func.second); in parse_pointer_to_member_type()
1683 … db.names.back().first = std::move(func.first) + " " + class_type.move_full() + "::*"; in parse_pointer_to_member_type()
1684 db.names.back().second = std::move(func.second); in parse_pointer_to_member_type()
1707 if (db.names.empty()) in parse_array_type()
1709 if (db.names.back().second.substr(0, 2) == " [") in parse_array_type()
1710 db.names.back().second.erase(0, 1); in parse_array_type()
1711 db.names.back().second.insert(0, " []"); in parse_array_type()
1723 if (db.names.empty()) in parse_array_type()
1725 if (db.names.back().second.substr(0, 2) == " [") in parse_array_type()
1726 db.names.back().second.erase(0, 1); in parse_array_type()
1727 db.names.back().second.insert(0, " [" + typename C::String(first+1, t) + "]"); in parse_array_type()
1740 if (db.names.size() < 2) in parse_array_type()
1742 auto type = std::move(db.names.back()); in parse_array_type()
1743 db.names.pop_back(); in parse_array_type()
1744 auto expr = std::move(db.names.back()); in parse_array_type()
1745 db.names.back().first = std::move(type.first); in parse_array_type()
1748 db.names.back().second = " [" + expr.move_full() + "]" + std::move(type.second); in parse_array_type()
1774 if (db.names.empty()) in parse_decltype()
1776 db.names.back() = "decltype(" + db.names.back().move_full() + ")"; in parse_decltype()
1813 if (db.names.empty()) in parse_vector_type()
1815 db.names.back().first += " vector[" + typename C::String(num, sz) + "]"; in parse_vector_type()
1822 db.names.push_back("pixel vector[" + typename C::String(num, sz) + "]"); in parse_vector_type()
1836 if (db.names.empty()) in parse_vector_type()
1838 num = db.names.back().move_full(); in parse_vector_type()
1839 db.names.pop_back(); in parse_vector_type()
1848 if (db.names.empty()) in parse_vector_type()
1850 db.names.back().first += " vector[" + num + "]"; in parse_vector_type()
1899 size_t k0 = db.names.size(); in parse_type()
1901 size_t k1 = db.names.size(); in parse_type()
1906 db.subs.emplace_back(db.names.get_allocator()); in parse_type()
1911 size_t p = db.names[k].second.size(); in parse_type()
1912 if (db.names[k].second[p-2] == '&') in parse_type()
1914 else if (db.names[k].second.back() == '&') in parse_type()
1918 db.names[k].second.insert(p, " const"); in parse_type()
1923 db.names[k].second.insert(p, " volatile"); in parse_type()
1927 db.names[k].second.insert(p, " restrict"); in parse_type()
1932 db.names[k].first.append(" const"); in parse_type()
1934 db.names[k].first.append(" volatile"); in parse_type()
1936 db.names[k].first.append(" restrict"); in parse_type()
1938 db.subs.back().push_back(db.names[k]); in parse_type()
1960 if (db.names.empty()) in parse_type()
1963 … db.subs.push_back(typename C::sub_type(1, db.names.back(), db.names.get_allocator())); in parse_type()
1970 if (db.names.empty()) in parse_type()
1972 db.names.back().first.append(" complex"); in parse_type()
1974 … db.subs.push_back(typename C::sub_type(1, db.names.back(), db.names.get_allocator())); in parse_type()
1981 if (db.names.empty()) in parse_type()
1984 … db.subs.push_back(typename C::sub_type(1, db.names.back(), db.names.get_allocator())); in parse_type()
1991 if (db.names.empty()) in parse_type()
1993 db.names.back().first.append(" imaginary"); in parse_type()
1995 … db.subs.push_back(typename C::sub_type(1, db.names.back(), db.names.get_allocator())); in parse_type()
2002 if (db.names.empty()) in parse_type()
2005 … db.subs.push_back(typename C::sub_type(1, db.names.back(), db.names.get_allocator())); in parse_type()
2010 size_t k0 = db.names.size(); in parse_type()
2012 size_t k1 = db.names.size(); in parse_type()
2015 db.subs.emplace_back(db.names.get_allocator()); in parse_type()
2018 if (db.names[k].second.substr(0, 2) == " [") in parse_type()
2020 db.names[k].first += " ("; in parse_type()
2021 db.names[k].second.insert(0, ")"); in parse_type()
2023 else if (!db.names[k].second.empty() && in parse_type()
2024 db.names[k].second.front() == '(') in parse_type()
2026 db.names[k].first += "("; in parse_type()
2027 db.names[k].second.insert(0, ")"); in parse_type()
2029 db.names[k].first.append("&&"); in parse_type()
2030 db.subs.back().push_back(db.names[k]); in parse_type()
2038 size_t k0 = db.names.size(); in parse_type()
2040 size_t k1 = db.names.size(); in parse_type()
2043 db.subs.emplace_back(db.names.get_allocator()); in parse_type()
2046 if (db.names[k].second.substr(0, 2) == " [") in parse_type()
2048 db.names[k].first += " ("; in parse_type()
2049 db.names[k].second.insert(0, ")"); in parse_type()
2051 else if (!db.names[k].second.empty() && in parse_type()
2052 db.names[k].second.front() == '(') in parse_type()
2054 db.names[k].first += "("; in parse_type()
2055 db.names[k].second.insert(0, ")"); in parse_type()
2057 … if (first[1] != 'U' || db.names[k].first.substr(0, 12) != "objc_object<") in parse_type()
2059 db.names[k].first.append("*"); in parse_type()
2063 db.names[k].first.replace(0, 11, "id"); in parse_type()
2065 db.subs.back().push_back(db.names[k]); in parse_type()
2073 size_t k0 = db.names.size(); in parse_type()
2075 size_t k1 = db.names.size(); in parse_type()
2078 db.subs.emplace_back(db.names.get_allocator()); in parse_type()
2081 if (db.names[k].second.substr(0, 2) == " [") in parse_type()
2083 db.names[k].first += " ("; in parse_type()
2084 db.names[k].second.insert(0, ")"); in parse_type()
2086 else if (!db.names[k].second.empty() && in parse_type()
2087 db.names[k].second.front() == '(') in parse_type()
2089 db.names[k].first += "("; in parse_type()
2090 db.names[k].second.insert(0, ")"); in parse_type()
2092 db.names[k].first.append("&"); in parse_type()
2093 db.subs.back().push_back(db.names[k]); in parse_type()
2101 size_t k0 = db.names.size(); in parse_type()
2103 size_t k1 = db.names.size(); in parse_type()
2106 db.subs.emplace_back(db.names.get_allocator()); in parse_type()
2108 db.subs.back().push_back(db.names[k]); in parse_type()
2114 auto args = db.names.back().move_full(); in parse_type()
2115 db.names.pop_back(); in parse_type()
2116 db.names.back().first += std::move(args); in parse_type()
2117 … db.subs.push_back(typename C::sub_type(1, db.names.back(), db.names.get_allocator())); in parse_type()
2134 if (db.names.size() < 2) in parse_type()
2136 auto type = db.names.back().move_full(); in parse_type()
2137 db.names.pop_back(); in parse_type()
2138 if (db.names.back().first.substr(0, 9) != "objcproto") in parse_type()
2140 db.names.back() = type + " " + db.names.back().move_full(); in parse_type()
2144 auto proto = db.names.back().move_full(); in parse_type()
2145 db.names.pop_back(); in parse_type()
2149 … db.names.back() = type + "<" + db.names.back().move_full() + ">"; in parse_type()
2153 db.names.push_back(type + " " + proto); in parse_type()
2156 … db.subs.push_back(typename C::sub_type(1, db.names.back(), db.names.get_allocator())); in parse_type()
2168 if (db.names.empty()) in parse_type()
2170 … db.subs.push_back(typename C::sub_type(1, db.names.back(), db.names.get_allocator())); in parse_type()
2185 if (db.names.size() < 2) in parse_type()
2187 auto template_args = db.names.back().move_full(); in parse_type()
2188 db.names.pop_back(); in parse_type()
2189 db.names.back().first += template_args; in parse_type()
2191 … db.subs.push_back(typename C::sub_type(1, db.names.back(), db.names.get_allocator())); in parse_type()
2204 size_t k0 = db.names.size(); in parse_type()
2206 size_t k1 = db.names.size(); in parse_type()
2209 db.subs.emplace_back(db.names.get_allocator()); in parse_type()
2211 db.subs.back().push_back(db.names[k]); in parse_type()
2222 if (db.names.empty()) in parse_type()
2224 … db.subs.push_back(typename C::sub_type(1, db.names.back(), db.names.get_allocator())); in parse_type()
2233 if (db.names.empty()) in parse_type()
2235 … db.subs.push_back(typename C::sub_type(1, db.names.back(), db.names.get_allocator())); in parse_type()
2256 if (db.names.empty()) in parse_type()
2258 … db.subs.push_back(typename C::sub_type(1, db.names.back(), db.names.get_allocator())); in parse_type()
2336 db.names.push_back("operator&&"); in parse_operator_name()
2341 db.names.push_back("operator&"); in parse_operator_name()
2345 db.names.push_back("operator&="); in parse_operator_name()
2349 db.names.push_back("operator="); in parse_operator_name()
2358 db.names.push_back("operator()"); in parse_operator_name()
2362 db.names.push_back("operator,"); in parse_operator_name()
2366 db.names.push_back("operator~"); in parse_operator_name()
2377 if (db.names.empty()) in parse_operator_name()
2379 db.names.back().first.insert(0, "operator "); in parse_operator_name()
2391 db.names.push_back("operator delete[]"); in parse_operator_name()
2395 db.names.push_back("operator*"); in parse_operator_name()
2399 db.names.push_back("operator delete"); in parse_operator_name()
2403 db.names.push_back("operator/"); in parse_operator_name()
2407 db.names.push_back("operator/="); in parse_operator_name()
2416 db.names.push_back("operator^"); in parse_operator_name()
2420 db.names.push_back("operator^="); in parse_operator_name()
2424 db.names.push_back("operator=="); in parse_operator_name()
2433 db.names.push_back("operator>="); in parse_operator_name()
2437 db.names.push_back("operator>"); in parse_operator_name()
2445 db.names.push_back("operator[]"); in parse_operator_name()
2453 db.names.push_back("operator<="); in parse_operator_name()
2461 if (db.names.empty()) in parse_operator_name()
2463 db.names.back().first.insert(0, "operator\"\" "); in parse_operator_name()
2469 db.names.push_back("operator<<"); in parse_operator_name()
2473 db.names.push_back("operator<<="); in parse_operator_name()
2477 db.names.push_back("operator<"); in parse_operator_name()
2486 db.names.push_back("operator-"); in parse_operator_name()
2490 db.names.push_back("operator-="); in parse_operator_name()
2494 db.names.push_back("operator*"); in parse_operator_name()
2498 db.names.push_back("operator*="); in parse_operator_name()
2502 db.names.push_back("operator--"); in parse_operator_name()
2511 db.names.push_back("operator new[]"); in parse_operator_name()
2515 db.names.push_back("operator!="); in parse_operator_name()
2519 db.names.push_back("operator-"); in parse_operator_name()
2523 db.names.push_back("operator!"); in parse_operator_name()
2527 db.names.push_back("operator new"); in parse_operator_name()
2536 db.names.push_back("operator||"); in parse_operator_name()
2540 db.names.push_back("operator|"); in parse_operator_name()
2544 db.names.push_back("operator|="); in parse_operator_name()
2553 db.names.push_back("operator->*"); in parse_operator_name()
2557 db.names.push_back("operator+"); in parse_operator_name()
2561 db.names.push_back("operator+="); in parse_operator_name()
2565 db.names.push_back("operator++"); in parse_operator_name()
2569 db.names.push_back("operator+"); in parse_operator_name()
2573 db.names.push_back("operator->"); in parse_operator_name()
2581 db.names.push_back("operator?"); in parse_operator_name()
2589 db.names.push_back("operator%"); in parse_operator_name()
2593 db.names.push_back("operator%="); in parse_operator_name()
2597 db.names.push_back("operator>>"); in parse_operator_name()
2601 db.names.push_back("operator>>="); in parse_operator_name()
2612 if (db.names.empty()) in parse_operator_name()
2614 db.names.back().first.insert(0, "operator "); in parse_operator_name()
2632 db.names.push_back("(" + lit + ")"); in parse_integer_literal()
2634 db.names.emplace_back(); in parse_integer_literal()
2637 db.names.back().first += '-'; in parse_integer_literal()
2640 db.names.back().first.append(first, t); in parse_integer_literal()
2642 db.names.back().first += lit; in parse_integer_literal()
2676 db.names.push_back("false"); in parse_expr_primary()
2680 db.names.push_back("true"); in parse_expr_primary()
2823 if (db.names.empty()) in parse_expr_primary()
2825 … db.names.back() = "(" + db.names.back().move_full() + ")" + typename C::String(t, n); in parse_expr_primary()
2914 if (last-first >= 2 && !db.names.empty()) in parse_ctor_dtor_name()
2925 if (db.names.empty()) in parse_ctor_dtor_name()
2927 db.names.push_back(base_name(db.names.back().first)); in parse_ctor_dtor_name()
2940 if (db.names.empty()) in parse_ctor_dtor_name()
2942 db.names.push_back("~" + base_name(db.names.back().first)); in parse_ctor_dtor_name()
2971 db.names.push_back(typename C::String("'unnamed")); in parse_unnamed_type_name()
2975 db.names.pop_back(); in parse_unnamed_type_name()
2983 db.names.back().first.append(t0, t1); in parse_unnamed_type_name()
2986 db.names.back().first.push_back('\''); in parse_unnamed_type_name()
2989 db.names.pop_back(); in parse_unnamed_type_name()
2997 db.names.push_back(typename C::String("'lambda'(")); in parse_unnamed_type_name()
3001 db.names.back().first += ')'; in parse_unnamed_type_name()
3009 db.names.pop_back(); in parse_unnamed_type_name()
3012 if (db.names.size() < 2) in parse_unnamed_type_name()
3014 auto tmp = db.names.back().move_full(); in parse_unnamed_type_name()
3015 db.names.pop_back(); in parse_unnamed_type_name()
3016 db.names.back().first.append(tmp); in parse_unnamed_type_name()
3023 if (db.names.size() < 2) in parse_unnamed_type_name()
3025 tmp = db.names.back().move_full(); in parse_unnamed_type_name()
3026 db.names.pop_back(); in parse_unnamed_type_name()
3029 db.names.back().first.append(", "); in parse_unnamed_type_name()
3030 db.names.back().first.append(tmp); in parse_unnamed_type_name()
3034 db.names.back().first.append(")"); in parse_unnamed_type_name()
3038 db.names.pop_back(); in parse_unnamed_type_name()
3044 db.names.pop_back(); in parse_unnamed_type_name()
3052 db.names.back().first.insert(db.names.back().first.begin()+7, t0, t1); in parse_unnamed_type_name()
3057 db.names.pop_back(); in parse_unnamed_type_name()
3140 if (db.names.empty()) in parse_unscoped_name()
3142 db.names.back().first.insert(0, "std::"); in parse_unscoped_name()
3161 if (db.names.empty()) in parse_alignof_type()
3163 db.names.back().first = "alignof (" + db.names.back().move_full() + ")"; in parse_alignof_type()
3181 if (db.names.empty()) in parse_alignof_expr()
3183 db.names.back().first = "alignof (" + db.names.back().move_full() + ")"; in parse_alignof_expr()
3197 if (db.names.empty()) in parse_noexcept_expression()
3199 db.names.back().first = "noexcept (" + db.names.back().move_full() + ")"; in parse_noexcept_expression()
3212 if (db.names.empty()) in parse_prefix_expression()
3214 db.names.back().first = op + "(" + db.names.back().move_full() + ")"; in parse_prefix_expression()
3230 if (db.names.size() < 2) in parse_binary_expression()
3232 auto op2 = db.names.back().move_full(); in parse_binary_expression()
3233 db.names.pop_back(); in parse_binary_expression()
3234 auto op1 = db.names.back().move_full(); in parse_binary_expression()
3235 auto& nm = db.names.back().first; in parse_binary_expression()
3245 db.names.pop_back(); in parse_binary_expression()
3382 if (db.names.empty()) in parse_expression()
3384 … db.names.back().first = (parsed_gs ? typename C::String("::") : typename C::String()) + in parse_expression()
3385 "delete[] " + db.names.back().move_full(); in parse_expression()
3403 if (db.names.empty()) in parse_expression()
3405 … db.names.back().first = (parsed_gs ? typename C::String("::") : typename C::String()) + in parse_expression()
3406 "delete " + db.names.back().move_full(); in parse_expression()
3475 if (db.names.size() < 2) in parse_expression()
3477 auto op2 = db.names.back().move_full(); in parse_expression()
3478 db.names.pop_back(); in parse_expression()
3479 auto op1 = db.names.back().move_full(); in parse_expression()
3480 db.names.back() = "(" + op1 + ")[" + op2 + "]"; in parse_expression()
3484 db.names.pop_back(); in parse_expression()
3548 if (db.names.empty()) in parse_expression()
3550 db.names.back() = "(" + db.names.back().move_full() + ")--"; in parse_expression()
3638 if (db.names.empty()) in parse_expression()
3640 db.names.back() = "(" + db.names.back().move_full() + ")++"; in parse_expression()
3667 if (db.names.size() < 3) in parse_expression()
3669 auto op3 = db.names.back().move_full(); in parse_expression()
3670 db.names.pop_back(); in parse_expression()
3671 auto op2 = db.names.back().move_full(); in parse_expression()
3672 db.names.pop_back(); in parse_expression()
3673 auto op1 = db.names.back().move_full(); in parse_expression()
3674 db.names.back() = "(" + op1 + ") ? (" + op2 + ") : (" + op3 + ")"; in parse_expression()
3679 db.names.pop_back(); in parse_expression()
3680 db.names.pop_back(); in parse_expression()
3684 db.names.pop_back(); in parse_expression()
3757 db.names.push_back("throw"); in parse_expression()
3852 db.template_param.emplace_back(db.names.get_allocator()); in parse_template_args()
3853 size_t k0 = db.names.size(); in parse_template_args()
3855 size_t k1 = db.names.size(); in parse_template_args()
3862 db.template_param.back().emplace_back(db.names.get_allocator()); in parse_template_args()
3864 db.template_param.back().back().push_back(db.names[k]); in parse_template_args()
3870 args += db.names[k].move_full(); in parse_template_args()
3873 db.names.pop_back(); in parse_template_args()
3881 db.names.push_back(std::move(args)); in parse_template_args()
3925 db.names.emplace_back(); in parse_nested_name()
3929 db.names.back().first = "std"; in parse_nested_name()
3933 db.names.pop_back(); in parse_nested_name()
3950 auto name = db.names.back().move_full(); in parse_nested_name()
3951 db.names.pop_back(); in parse_nested_name()
3952 if (!db.names.back().first.empty()) in parse_nested_name()
3954 db.names.back().first += "::" + name; in parse_nested_name()
3955 … db.subs.push_back(typename C::sub_type(1, db.names.back(), db.names.get_allocator())); in parse_nested_name()
3958 db.names.back().first = name; in parse_nested_name()
3969 auto name = db.names.back().move_full(); in parse_nested_name()
3970 db.names.pop_back(); in parse_nested_name()
3971 if (!db.names.back().first.empty()) in parse_nested_name()
3972 db.names.back().first += "::" + name; in parse_nested_name()
3974 db.names.back().first = name; in parse_nested_name()
3975 … db.subs.push_back(typename C::sub_type(1, db.names.back(), db.names.get_allocator())); in parse_nested_name()
3988 auto name = db.names.back().move_full(); in parse_nested_name()
3989 db.names.pop_back(); in parse_nested_name()
3990 if (!db.names.back().first.empty()) in parse_nested_name()
3991 db.names.back().first += "::" + name; in parse_nested_name()
3993 db.names.back().first = name; in parse_nested_name()
3994 … db.subs.push_back(typename C::sub_type(1, db.names.back(), db.names.get_allocator())); in parse_nested_name()
4005 auto name = db.names.back().move_full(); in parse_nested_name()
4006 db.names.pop_back(); in parse_nested_name()
4007 db.names.back().first += name; in parse_nested_name()
4008 … db.subs.push_back(typename C::sub_type(1, db.names.back(), db.names.get_allocator())); in parse_nested_name()
4024 auto name = db.names.back().move_full(); in parse_nested_name()
4025 db.names.pop_back(); in parse_nested_name()
4026 if (!db.names.back().first.empty()) in parse_nested_name()
4027 db.names.back().first += "::" + name; in parse_nested_name()
4029 db.names.back().first = name; in parse_nested_name()
4030 … db.subs.push_back(typename C::sub_type(1, db.names.back(), db.names.get_allocator())); in parse_nested_name()
4103 if (db.names.empty()) in parse_local_name()
4105 db.names.back().first.append("::string literal"); in parse_local_name()
4118 if (db.names.size() < 2) in parse_local_name()
4120 auto name = db.names.back().move_full(); in parse_local_name()
4121 db.names.pop_back(); in parse_local_name()
4122 db.names.back().first.append("::"); in parse_local_name()
4123 db.names.back().first.append(name); in parse_local_name()
4127 db.names.pop_back(); in parse_local_name()
4139 if (db.names.size() < 2) in parse_local_name()
4141 auto name = db.names.back().move_full(); in parse_local_name()
4142 db.names.pop_back(); in parse_local_name()
4143 db.names.back().first.append("::"); in parse_local_name()
4144 db.names.back().first.append(name); in parse_local_name()
4147 db.names.pop_back(); in parse_local_name()
4200 if (db.names.empty()) in parse_name()
4202 … db.subs.push_back(typename C::sub_type(1, db.names.back(), db.names.get_allocator())); in parse_name()
4207 if (db.names.size() < 2) in parse_name()
4209 auto tmp = db.names.back().move_full(); in parse_name()
4210 db.names.pop_back(); in parse_name()
4211 db.names.back().first += tmp; in parse_name()
4229 if (db.names.size() < 2) in parse_name()
4231 auto tmp = db.names.back().move_full(); in parse_name()
4232 db.names.pop_back(); in parse_name()
4233 db.names.back().first += tmp; in parse_name()
4318 if (db.names.empty()) in parse_special_name()
4320 db.names.back().first.insert(0, "vtable for "); in parse_special_name()
4329 if (db.names.empty()) in parse_special_name()
4331 db.names.back().first.insert(0, "VTT for "); in parse_special_name()
4340 if (db.names.empty()) in parse_special_name()
4342 db.names.back().first.insert(0, "typeinfo for "); in parse_special_name()
4351 if (db.names.empty()) in parse_special_name()
4353 db.names.back().first.insert(0, "typeinfo name for "); in parse_special_name()
4369 if (db.names.empty()) in parse_special_name()
4371 db.names.back().first.insert(0, "covariant return thunk to "); in parse_special_name()
4387 if (db.names.size() < 2) in parse_special_name()
4389 auto left = db.names.back().move_full(); in parse_special_name()
4390 db.names.pop_back(); in parse_special_name()
4391 db.names.back().first = "construction vtable for " + in parse_special_name()
4393 db.names.back().move_full(); in parse_special_name()
4408 if (db.names.empty()) in parse_special_name()
4412 db.names.back().first.insert(0, "virtual thunk to "); in parse_special_name()
4417 db.names.back().first.insert(0, "non-virtual thunk to "); in parse_special_name()
4433 if (db.names.empty()) in parse_special_name()
4435 db.names.back().first.insert(0, "guard variable for "); in parse_special_name()
4444 if (db.names.empty()) in parse_special_name()
4446 db.names.back().first.insert(0, "reference temporary for "); in parse_special_name()
4513 if (db.names.empty()) in parse_encoding()
4515 const typename C::String& nm = db.names.back().first; in parse_encoding()
4523 if (db.names.size() < 2) in parse_encoding()
4525 auto ret1 = std::move(db.names.back().first); in parse_encoding()
4526 ret2 = std::move(db.names.back().second); in parse_encoding()
4529 db.names.pop_back(); in parse_encoding()
4530 db.names.back().first.insert(0, ret1); in parse_encoding()
4533 db.names.back().first += '('; in parse_encoding()
4543 size_t k0 = db.names.size(); in parse_encoding()
4545 size_t k1 = db.names.size(); in parse_encoding()
4555 tmp += db.names[k].move_full(); in parse_encoding()
4558 db.names.pop_back(); in parse_encoding()
4561 if (db.names.empty()) in parse_encoding()
4564 db.names.back().first += ", "; in parse_encoding()
4567 db.names.back().first += tmp; in parse_encoding()
4573 if (db.names.empty()) in parse_encoding()
4575 db.names.back().first += ')'; in parse_encoding()
4577 db.names.back().first.append(" const"); in parse_encoding()
4579 db.names.back().first.append(" volatile"); in parse_encoding()
4581 db.names.back().first.append(" restrict"); in parse_encoding()
4583 db.names.back().first.append(" &"); in parse_encoding()
4585 db.names.back().first.append(" &&"); in parse_encoding()
4586 db.names.back().first += ret2; in parse_encoding()
4629 if (db.names.empty()) in parse_block_invoke()
4631 db.names.back().first.insert(0, "invocation function for block in "); in parse_block_invoke()
4646 if (db.names.empty()) in parse_dot_suffix()
4648 db.names.back().first += " (" + typename C::String(first, last) + ")"; in parse_dot_suffix()
4705 if (status == success && db.names.empty()) in demangle()
4879 sub_type names; member
4892 names(ar), in Db()
4893 subs(0, names, ar), in Db()
4931 db.names.clear(); in __cxa_demangle()
4939 size_t sz = db.names.back().size() + 1; in __cxa_demangle()
4957 db.names.back().first += db.names.back().second; in __cxa_demangle()
4958 std::memcpy(buf, db.names.back().first.data(), sz-1); in __cxa_demangle()