Use enum for builtin types
This commit is contained in:
parent
a3143debdb
commit
c44e0b512e
13 changed files with 278 additions and 121 deletions
|
|
@ -12,6 +12,67 @@
|
|||
|
||||
using namespace cppast;
|
||||
|
||||
const char* cppast::to_string(cpp_builtin_type_kind kind) noexcept
|
||||
{
|
||||
switch (kind)
|
||||
{
|
||||
case cpp_void:
|
||||
return "void";
|
||||
|
||||
case cpp_bool:
|
||||
return "bool";
|
||||
|
||||
case cpp_uchar:
|
||||
return "unsigned char";
|
||||
case cpp_ushort:
|
||||
return "unsigned short";
|
||||
case cpp_uint:
|
||||
return "unsigned int";
|
||||
case cpp_ulong:
|
||||
return "unsigned long";
|
||||
case cpp_ulonglong:
|
||||
return "unsigned long long";
|
||||
case cpp_uint128:
|
||||
return "unsigned __int128";
|
||||
|
||||
case cpp_schar:
|
||||
return "signed char";
|
||||
case cpp_short:
|
||||
return "short";
|
||||
case cpp_int:
|
||||
return "int";
|
||||
case cpp_long:
|
||||
return "long";
|
||||
case cpp_longlong:
|
||||
return "long long";
|
||||
case cpp_int128:
|
||||
return "__int128";
|
||||
|
||||
case cpp_float:
|
||||
return "float";
|
||||
case cpp_double:
|
||||
return "double";
|
||||
case cpp_longdouble:
|
||||
return "long double";
|
||||
case cpp_float128:
|
||||
return "__float128";
|
||||
|
||||
case cpp_char:
|
||||
return "char";
|
||||
case cpp_wchar:
|
||||
return "wchar_t";
|
||||
case cpp_char16:
|
||||
return "char16_t";
|
||||
case cpp_char32:
|
||||
return "char32_t";
|
||||
|
||||
case cpp_nullptr:
|
||||
return "std::nullptr_t";
|
||||
}
|
||||
DEBUG_UNREACHABLE(detail::assert_handler{});
|
||||
return "__ups";
|
||||
}
|
||||
|
||||
bool detail::cpp_type_ref_predicate::operator()(const cpp_entity& e)
|
||||
{
|
||||
return is_type(e.kind());
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue