16 #ifndef LLVM_CLANG_BASIC_SPECIFIERS_H
17 #define LLVM_CLANG_BASIC_SPECIFIERS_H
19 #include "llvm/ADT/StringRef.h"
20 #include "llvm/Support/DataTypes.h"
21 #include "llvm/Support/ErrorHandling.h"
181 llvm_unreachable(
"bad template specialization kind");
285 bool isContextSensitive =
false);
288 #endif // LLVM_CLANG_BASIC_SPECIFIERS_H
NullabilityKind
Describes the nullability of a particular type.
The base class of the type hierarchy.
AccessSpecifier
A C++ access specifier (public, private, protected), plus the special value "none" which means differ...
StorageDuration
The storage duration for an object (per C++ [basic.stc]).
An Objective-C array/dictionary subscripting which reads an object or writes at the subscripted array...
TypeSpecifierType
Specifies the kind of type.
bool isTemplateExplicitInstantiationOrSpecialization(TemplateSpecializationKind Kind)
True if this template specialization kind is an explicit specialization, explicit instantiation decla...
A vector component is an element or range of elements on a vector.
TypeSpecifierSign
Specifies the signedness of a type, e.g., signed or unsigned.
An r-value expression (a pr-value in the C++11 taxonomy) produces a temporary value.
Values of this type can be null.
Whether values of this type can be null is (explicitly) unspecified.
An x-value expression is a reference to an object with independent storage but which can be "moved"...
Values of this type can never be null.
An ordinary object is located at an address in memory.
An Objective-C property is a logical field of an Objective-C object which is read and written via Obj...
ExprValueKind
The categorization of expression values, currently following the C++11 scheme.
bool supportsVariadicCall(CallingConv CC)
Checks whether the given calling convention supports variadic calls.
StorageClass
Storage classes.
bool isLegalForFunction(StorageClass SC)
Checks whether the given storage class is legal for functions.
InClassInitStyle
In-class initialization styles for non-static data members.
This template specialization was implicitly instantiated from a template.
bool isTemplateInstantiation(TemplateSpecializationKind Kind)
Determine whether this template specialization kind refers to an instantiation of an entity (as oppos...
CallingConv
CallingConv - Specifies the calling convention that a function uses.
Dynamic storage duration.
ExprObjectKind
A further classification of the kind of object referenced by an l-value or x-value.
bool isLegalForVariable(StorageClass SC)
Checks whether the given storage class is legal for variables.
Direct list-initialization.
This template specialization was instantiated from a template due to an explicit instantiation defini...
This template specialization was formed from a template-id but has not yet been declared, defined, or instantiated.
This template specialization was instantiated from a template due to an explicit instantiation declar...
TemplateSpecializationKind
Describes the kind of template specialization that a particular template specialization declaration r...
This template specialization was declared or defined by an explicit specialization (C++ [temp...
A bitfield object is a bitfield on a C or C++ record.
Structure that packs information about the type specifiers that were written in a particular type spe...
ThreadStorageClassSpecifier
Thread storage-class-specifier.
TypeSpecifierWidth
Specifies the width of a type, e.g., short, long, or long long.
unsigned kind
All of the diagnostics that can be emitted by the frontend.
Full-expression storage duration (for temporaries).
An l-value expression is a reference to an object with independent storage.
Automatic storage duration (most local variables).
llvm::StringRef getNullabilitySpelling(NullabilityKind kind, bool isContextSensitive=false)
Retrieve the spelling of the given nullability kind.