28#include "clang/Basic/Traits.inc"
31 assert(
T <= TT_Last &&
"invalid enum value!");
32 return TypeTraitNames[
T];
36 assert(
T <= ATT_Last &&
"invalid enum value!");
37 return ArrayTypeTraitNames[
T];
41 assert(
T <= UETT_Last &&
"invalid enum value!");
42 return UnaryExprOrTypeTraitNames[
T];
46 assert(
T <= ET_Last &&
"invalid enum value!");
47 return ExpressionTraitNames[
T];
51 assert(
T <= TT_Last &&
"invalid enum value!");
52 if (
T == BTT_IsDeducible) {
58 assert(std::strlen(TypeTraitSpellings[
T]) == 0);
59 return "__is_deducible";
61 return TypeTraitSpellings[
T];
65 assert(
T <= ATT_Last &&
"invalid enum value!");
66 return ArrayTypeTraitSpellings[
T];
70 assert(
T <= UETT_Last &&
"invalid enum value!");
71 return UnaryExprOrTypeTraitSpellings[
T];
75 assert(
T <= TT_Last &&
"invalid enum value!");
76 return TypeTraitArities[
T];
80 assert(
T <= ET_Last &&
"invalid enum value!");
81 return ExpressionTraitSpellings[
T];
Defines enumerations for traits support.
The JSON file list parser is used to communicate input to InstallAPI.
const char * getTraitSpelling(TypeTrait T) LLVM_READONLY
Return the spelling of the trait T. Never null.
const char * getTraitName(TypeTrait T) LLVM_READONLY
Return the internal name of the trait T. Never null.
unsigned getTypeTraitArity(TypeTrait T) LLVM_READONLY
Return the arity of the type trait T.
const FunctionProtoType * T