20#include "llvm/Support/raw_ostream.h" 
   26  NodeDumper.AddChild([=] {
 
   42    NodeDumper.dumpPointer(DC);
 
 
   53  NodeDumper.AddChild([=] {
 
   54    OS << 
"StoredDeclsMap ";
 
   68    for (
auto I = Range.begin(), E = Range.end(); I != E; ++I) {
 
   72      NodeDumper.AddChild([=] {
 
   73        OS << 
"DeclarationName ";
 
   76          OS << 
'\'' << Name << 
'\'';
 
   81          NodeDumper.AddChild([=] {
 
   82            NodeDumper.dumpBareDeclRef(*RI);
 
   84            if (!(*RI)->isUnconditionallyVisible())
 
  102    if (HasUndeserializedLookups) {
 
  103      NodeDumper.AddChild([=] {
 
  105        OS << 
"<undeserialized lookups>";
 
 
  111template <
typename SpecializationDecl>
 
  113                                               bool DumpExplicitInst,
 
  115  bool DumpedAny = 
false;
 
  116  for (
const auto *RedeclWithBadType : D->redecls()) {
 
  120    auto *Redecl = dyn_cast<SpecializationDecl>(RedeclWithBadType);
 
  123    switch (Redecl->getTemplateSpecializationKind()) {
 
  126      if (!DumpExplicitInst)
 
  132        NodeDumper.dumpDeclRef(Redecl);
 
  144    NodeDumper.dumpDeclRef(D);
 
 
  147template <
typename TemplateDecl>
 
  154    for (
const auto *Child : D->specializations())
 
 
  181    llvm::errs() << msg << 
": ";
 
 
  192  ASTDumper Dumper(OS, Context, Context.getDiagnostics().getShowColors());
 
 
  200  QualType(
this, 0).dump(OS, Context);
 
 
  213  ASTDumper(OS, Context, Context.getDiagnostics().getShowColors()).
Visit(*
this);
 
 
  222LLVM_DUMP_METHOD 
void Decl::dump(raw_ostream &OS, 
bool Deserialize,
 
 
  276                                               bool Deserialize)
 const {
 
  282  P.setDeserialize(Deserialize);
 
  283  P.dumpLookups(
this, DumpDecls);
 
  297  ASTDumper P(OS, Context, Context.getDiagnostics().getShowColors());
 
 
  311  const auto *FC = dyn_cast<FullComment>(
this);
 
  315  Dumper.
Visit(FC, FC);
 
 
  320  const auto *FC = dyn_cast<FullComment>(
this);
 
  323  ASTDumper Dumper(OS, Context, Context.getDiagnostics().getShowColors());
 
  324  Dumper.
Visit(FC, FC);
 
 
  328  const auto *FC = dyn_cast<FullComment>(
this);
 
  332  Dumper.
Visit(FC, FC);
 
 
  346  ASTDumper Dumper(OS, Context, Context.getDiagnostics().getShowColors());
 
  347  Dumper.
Visit(*
this, Context.getPointerType(Context.CharTy));
 
 
  379  ASTDumper Dumper(OS, Context, Context.getDiagnostics().getShowColors());
 
  394  ASTDumper Dumper(OS, Context, Context.getDiagnostics().getShowColors());
 
This file provides AST data structures related to concepts.
 
Defines the clang::ASTContext interface.
 
Defines the SourceManager interface.
 
Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...
 
SourceManager & getSourceManager()
 
comments::CommandTraits & getCommentCommandTraits() const
 
const clang::PrintingPolicy & getPrintingPolicy() const
 
DiagnosticsEngine & getDiagnostics() const
 
void dumpTemplateDeclSpecialization(const SpecializationDecl *D, bool DumpExplicitInst, bool DumpRefOnly)
 
void dumpLookups(const DeclContext *DC, bool DumpDecls)
 
void dumpTemplateDecl(const TemplateDecl *D, bool DumpExplicitInst)
 
void dumpInvalidDeclContext(const DeclContext *DC)
 
void VisitVarTemplateDecl(const VarTemplateDecl *D)
 
void VisitClassTemplateDecl(const ClassTemplateDecl *D)
 
void VisitFunctionTemplateDecl(const FunctionTemplateDecl *D)
 
void Visit(const Decl *D, bool VisitLocs=false)
 
bool getDeserialize() const
 
void setDeserialize(bool D)
 
TraversalKind GetTraversalKind() const
 
void dumpTemplateParameters(const TemplateParameterList *TPL)
 
Declaration of a class template.
 
TemplateDecl * getNamedConcept() const
 
The results of name lookup within a DeclContext.
 
DeclListNode::iterator iterator
 
DeclContext - This is used only as base class of specific decl types that can act as declaration cont...
 
DeclContext * getParent()
getParent - Returns the containing DeclContext.
 
lookups_range noload_lookups(bool PreserveInternalState) const
 
bool hasExternalVisibleStorage() const
Whether this DeclContext has external storage containing additional declarations that are visible in ...
 
bool isTranslationUnit() const
 
lookups_range lookups() const
 
bool hasValidDeclKind() const
 
DeclContext * getPrimaryContext()
getPrimaryContext - There may be many different declarations of the same entity (including forward de...
 
Decl::Kind getDeclKind() const
 
Decl - This represents one declaration (or definition), e.g.
 
Decl * getPreviousDecl()
Retrieve the previous declaration that declares the same entity as this declaration,...
 
ASTContext & getASTContext() const LLVM_READONLY
 
bool isCanonicalDecl() const
Whether this particular Decl is a canonical one.
 
The name of a declaration.
 
Declaration of a template function.
 
A (possibly-)qualified type.
 
This class handles loading and caching of source files into memory.
 
void dump() const
Dumps the specified AST fragment and all subtrees to llvm::errs().
 
void dumpColor() const
dumpColor - same as dump(), but forces color highlighting.
 
void dump() const
Debugging aid that dumps the template argument to standard error.
 
The base class of all kinds of template declarations (e.g., class, function, etc.).
 
NamedDecl * getTemplatedDecl() const
Get the underlying, templated declaration.
 
TemplateParameterList * getTemplateParameters() const
Get the list of template parameters.
 
void dump() const
Debugging aid that dumps the template name to standard error.
 
Declaration of a variable template.
 
The JSON file list parser is used to communicate input to InstallAPI.
 
static const TerminalColor NullColor
 
ASTDumpOutputFormat
Used to specify the format for printing AST dump information.
 
static const TerminalColor DeclNameColor
 
static const TerminalColor UndeserializedColor
 
static const TerminalColor DeclKindNameColor
 
@ TK_AsIs
Will traverse all child nodes.
 
@ TSK_ExplicitInstantiationDefinition
This template specialization was instantiated from a template due to an explicit instantiation defini...
 
@ TSK_ExplicitInstantiationDeclaration
This template specialization was instantiated from a template due to an explicit instantiation declar...
 
@ TSK_ExplicitSpecialization
This template specialization was declared or defined by an explicit specialization (C++ [temp....
 
@ TSK_ImplicitInstantiation
This template specialization was implicitly instantiated from a template.
 
@ TSK_Undeclared
This template specialization was formed from a template-id but has not yet been declared,...
 
U cast(CodeGen::Address addr)
 
int const char * function