19 #include "llvm/ADT/DenseMap.h" 20 #include "llvm/ADT/FoldingSet.h" 21 #include "llvm/ADT/PointerUnion.h" 22 #include "llvm/ADT/SmallVector.h" 28 class NestedNameSpecifier;
30 class TemplateParameterList;
41 llvm::DenseMap<const Decl*, unsigned> DeclMap;
42 llvm::DenseMap<const Type*, unsigned> TypeMap;
47 llvm::FoldingSetNodeID ID;
An instance of this class is created to represent a function declaration or definition.
void AddFunctionDecl(const FunctionDecl *Function)
A (possibly-)qualified type.
void AddBoolean(bool value)
Stmt - This represents one statement.
void AddQualType(QualType T)
C Language Family Type Representation.
Decl - This represents one declaration (or definition), e.g.
The base class of the type hierarchy.
The l-value was an access to a declared entity or something equivalently strong, like the address of ...
Stores a list of template parameters for a TemplateDecl and its derived classes.
void AddTemplateArgument(TemplateArgument TA)
static bool isWhitelistedDecl(const Decl *D, const CXXRecordDecl *Record)
One of these records is kept for each identifier that is lexed.
void AddTemplateParameterList(const TemplateParameterList *TPL)
void AddDecl(const Decl *D)
void AddTemplateName(TemplateName Name)
const FunctionProtoType * T
void AddDeclarationName(DeclarationName Name)
Represents a C++ template name within the type system.
void AddType(const Type *T)
void AddIdentifierInfo(const IdentifierInfo *II)
Represents a C++ nested name specifier, such as "\::std::vector<int>::".
void AddNestedNameSpecifier(const NestedNameSpecifier *NNS)
void AddSubDecl(const Decl *D)
Represents a template argument.
Dataflow Directional Tag Classes.
void AddCXXRecordDecl(const CXXRecordDecl *Record)
DeclarationName - The name of a declaration.
Represents a C++ struct/union/class.
void AddStmt(const Stmt *S)