clang  14.0.0git
TextNodeDumper.h
Go to the documentation of this file.
1 //===--- TextNodeDumper.h - Printing of AST nodes -------------------------===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 // This file implements AST dumping of components of individual AST nodes.
10 //
11 //===----------------------------------------------------------------------===//
12 
13 #ifndef LLVM_CLANG_AST_TEXTNODEDUMPER_H
14 #define LLVM_CLANG_AST_TEXTNODEDUMPER_H
15 
16 #include "clang/AST/ASTContext.h"
18 #include "clang/AST/AttrVisitor.h"
21 #include "clang/AST/DeclVisitor.h"
22 #include "clang/AST/ExprConcepts.h"
23 #include "clang/AST/ExprCXX.h"
24 #include "clang/AST/StmtVisitor.h"
26 #include "clang/AST/Type.h"
27 #include "clang/AST/TypeVisitor.h"
28 
29 namespace clang {
30 
31 class APValue;
32 
34  raw_ostream &OS;
35  const bool ShowColors;
36 
37  /// Pending[i] is an action to dump an entity at level i.
38  llvm::SmallVector<std::function<void(bool IsLastChild)>, 32> Pending;
39 
40  /// Indicates whether we're at the top level.
41  bool TopLevel = true;
42 
43  /// Indicates if we're handling the first child after entering a new depth.
44  bool FirstChild = true;
45 
46  /// Prefix for currently-being-dumped entity.
47  std::string Prefix;
48 
49 public:
50  /// Add a child of the current node. Calls DoAddChild without arguments
51  template <typename Fn> void AddChild(Fn DoAddChild) {
52  return AddChild("", DoAddChild);
53  }
54 
55  /// Add a child of the current node with an optional label.
56  /// Calls DoAddChild without arguments.
57  template <typename Fn> void AddChild(StringRef Label, Fn DoAddChild) {
58  // If we're at the top level, there's nothing interesting to do; just
59  // run the dumper.
60  if (TopLevel) {
61  TopLevel = false;
62  DoAddChild();
63  while (!Pending.empty()) {
64  Pending.back()(true);
65  Pending.pop_back();
66  }
67  Prefix.clear();
68  OS << "\n";
69  TopLevel = true;
70  return;
71  }
72 
73  auto DumpWithIndent = [this, DoAddChild,
74  Label(Label.str())](bool IsLastChild) {
75  // Print out the appropriate tree structure and work out the prefix for
76  // children of this node. For instance:
77  //
78  // A Prefix = ""
79  // |-B Prefix = "| "
80  // | `-C Prefix = "| "
81  // `-D Prefix = " "
82  // |-E Prefix = " | "
83  // `-F Prefix = " "
84  // G Prefix = ""
85  //
86  // Note that the first level gets no prefix.
87  {
88  OS << '\n';
89  ColorScope Color(OS, ShowColors, IndentColor);
90  OS << Prefix << (IsLastChild ? '`' : '|') << '-';
91  if (!Label.empty())
92  OS << Label << ": ";
93 
94  this->Prefix.push_back(IsLastChild ? ' ' : '|');
95  this->Prefix.push_back(' ');
96  }
97 
98  FirstChild = true;
99  unsigned Depth = Pending.size();
100 
101  DoAddChild();
102 
103  // If any children are left, they're the last at their nesting level.
104  // Dump those ones out now.
105  while (Depth < Pending.size()) {
106  Pending.back()(true);
107  this->Pending.pop_back();
108  }
109 
110  // Restore the old prefix.
111  this->Prefix.resize(Prefix.size() - 2);
112  };
113 
114  if (FirstChild) {
115  Pending.push_back(std::move(DumpWithIndent));
116  } else {
117  Pending.back()(false);
118  Pending.back() = std::move(DumpWithIndent);
119  }
120  FirstChild = false;
121  }
122 
123  TextTreeStructure(raw_ostream &OS, bool ShowColors)
124  : OS(OS), ShowColors(ShowColors) {}
125 };
126 
128  : public TextTreeStructure,
129  public comments::ConstCommentVisitor<TextNodeDumper, void,
130  const comments::FullComment *>,
131  public ConstAttrVisitor<TextNodeDumper>,
132  public ConstTemplateArgumentVisitor<TextNodeDumper>,
133  public ConstStmtVisitor<TextNodeDumper>,
134  public TypeVisitor<TextNodeDumper>,
135  public ConstDeclVisitor<TextNodeDumper> {
136  raw_ostream &OS;
137  const bool ShowColors;
138 
139  /// Keep track of the last location we print out so that we can
140  /// print out deltas from then on out.
141  const char *LastLocFilename = "";
142  unsigned LastLocLine = ~0U;
143 
144  /// \p Context, \p SM, and \p Traits can be null. This is because we want
145  /// to be able to call \p dump() in a debugger without having to pass the
146  /// \p ASTContext to \p dump. Not all parts of the AST dump output will be
147  /// available without the \p ASTContext.
148  const ASTContext *Context = nullptr;
149  const SourceManager *SM = nullptr;
150 
151  /// The policy to use for printing; can be defaulted.
152  PrintingPolicy PrintPolicy = LangOptions();
153 
154  const comments::CommandTraits *Traits = nullptr;
155 
156  const char *getCommandName(unsigned CommandID);
157  void printFPOptions(FPOptionsOverride FPO);
158 
159  void dumpAPValueChildren(const APValue &Value, QualType Ty,
160  const APValue &(*IdxToChildFun)(const APValue &,
161  unsigned),
162  unsigned NumChildren, StringRef LabelSingular,
163  StringRef LabelPlurial);
164 
165 public:
166  TextNodeDumper(raw_ostream &OS, const ASTContext &Context, bool ShowColors);
167  TextNodeDumper(raw_ostream &OS, bool ShowColors);
168 
169  void Visit(const comments::Comment *C, const comments::FullComment *FC);
170 
171  void Visit(const Attr *A);
172 
173  void Visit(const TemplateArgument &TA, SourceRange R,
174  const Decl *From = nullptr, StringRef Label = {});
175 
176  void Visit(const Stmt *Node);
177 
178  void Visit(const Type *T);
179 
180  void Visit(QualType T);
181 
182  void Visit(const Decl *D);
183 
184  void Visit(const CXXCtorInitializer *Init);
185 
186  void Visit(const OMPClause *C);
187 
188  void Visit(const BlockDecl::Capture &C);
189 
191 
192  void Visit(const concepts::Requirement *R);
193 
194  void Visit(const APValue &Value, QualType Ty);
195 
196  void dumpPointer(const void *Ptr);
197  void dumpLocation(SourceLocation Loc);
199  void dumpBareType(QualType T, bool Desugar = true);
200  void dumpType(QualType T);
201  void dumpBareDeclRef(const Decl *D);
202  void dumpName(const NamedDecl *ND);
205 
206  void dumpDeclRef(const Decl *D, StringRef Label = {});
207 
209  const comments::FullComment *);
211  const comments::FullComment *);
213  const comments::FullComment *);
215  const comments::FullComment *);
217  const comments::FullComment *);
219  const comments::FullComment *FC);
221  const comments::FullComment *FC);
223  const comments::FullComment *);
224  void
226  const comments::FullComment *);
228  const comments::FullComment *);
229 
230 // Implements Visit methods for Attrs.
231 #include "clang/AST/AttrTextNodeDump.inc"
232 
242 
243  void VisitIfStmt(const IfStmt *Node);
244  void VisitSwitchStmt(const SwitchStmt *Node);
245  void VisitWhileStmt(const WhileStmt *Node);
246  void VisitLabelStmt(const LabelStmt *Node);
247  void VisitGotoStmt(const GotoStmt *Node);
248  void VisitCaseStmt(const CaseStmt *Node);
249  void VisitConstantExpr(const ConstantExpr *Node);
250  void VisitCallExpr(const CallExpr *Node);
252  void VisitCastExpr(const CastExpr *Node);
254  void VisitDeclRefExpr(const DeclRefExpr *Node);
261  void VisitStringLiteral(const StringLiteral *Str);
262  void VisitInitListExpr(const InitListExpr *ILE);
266  void VisitMemberExpr(const MemberExpr *Node);
273  void VisitCXXThisExpr(const CXXThisExpr *Node);
279  void VisitCXXNewExpr(const CXXNewExpr *Node);
288  void
302  void VisitRequiresExpr(const RequiresExpr *Node);
303 
305  void VisitArrayType(const ArrayType *T);
310  void VisitVectorType(const VectorType *T);
311  void VisitFunctionType(const FunctionType *T);
314  void VisitTypedefType(const TypedefType *T);
316  void VisitTagType(const TagType *T);
318  void VisitAutoType(const AutoType *T);
323 
324  void VisitLabelDecl(const LabelDecl *D);
325  void VisitTypedefDecl(const TypedefDecl *D);
326  void VisitEnumDecl(const EnumDecl *D);
327  void VisitRecordDecl(const RecordDecl *D);
330  void VisitFunctionDecl(const FunctionDecl *D);
331  void VisitFieldDecl(const FieldDecl *D);
332  void VisitVarDecl(const VarDecl *D);
333  void VisitBindingDecl(const BindingDecl *D);
334  void VisitCapturedDecl(const CapturedDecl *D);
335  void VisitImportDecl(const ImportDecl *D);
340  void VisitOMPRequiresDecl(const OMPRequiresDecl *D);
342  void VisitNamespaceDecl(const NamespaceDecl *D);
345  void VisitTypeAliasDecl(const TypeAliasDecl *D);
347  void VisitCXXRecordDecl(const CXXRecordDecl *D);
351  void VisitVarTemplateDecl(const VarTemplateDecl *D);
355  void VisitUsingDecl(const UsingDecl *D);
358  void VisitUsingEnumDecl(const UsingEnumDecl *D);
359  void VisitUsingShadowDecl(const UsingShadowDecl *D);
361  void VisitLinkageSpecDecl(const LinkageSpecDecl *D);
362  void VisitAccessSpecDecl(const AccessSpecDecl *D);
363  void VisitFriendDecl(const FriendDecl *D);
364  void VisitObjCIvarDecl(const ObjCIvarDecl *D);
365  void VisitObjCMethodDecl(const ObjCMethodDecl *D);
375  void VisitBlockDecl(const BlockDecl *D);
376  void VisitConceptDecl(const ConceptDecl *D);
377  void
379 };
380 
381 } // namespace clang
382 
383 #endif // LLVM_CLANG_AST_TEXTNODEDUMPER_H
clang::TextNodeDumper::VisitConceptDecl
void VisitConceptDecl(const ConceptDecl *D)
Definition: TextNodeDumper.cpp:2349
clang::LabelStmt
LabelStmt - Represents a label, which has a substatement.
Definition: Stmt.h:1799
clang::ExpressionTraitExpr
An expression trait intrinsic.
Definition: ExprCXX.h:2823
clang::ObjCInterfaceDecl
Represents an ObjC class declaration.
Definition: DeclObjC.h:1151
clang::OMPIteratorExpr
OpenMP 5.0 [2.1.6 Iterators] Iterators are identifiers that expand to multiple values in the clause o...
Definition: ExprOpenMP.h:272
clang::CaseStmt
CaseStmt - Represent a case statement.
Definition: Stmt.h:1567
clang::ObjCCompatibleAliasDecl
ObjCCompatibleAliasDecl - Represents alias of a class.
Definition: DeclObjC.h:2721
clang::AccessSpecDecl
Represents an access specifier followed by colon ':'.
Definition: DeclCXX.h:87
clang::TextNodeDumper::VisitClassTemplateDecl
void VisitClassTemplateDecl(const ClassTemplateDecl *D)
Definition: TextNodeDumper.cpp:2061
clang::comments::VerbatimLineComment
A verbatim line command.
Definition: Comment.h:943
clang::TextNodeDumper::VisitObjCMessageExpr
void VisitObjCMessageExpr(const ObjCMessageExpr *Node)
Definition: TextNodeDumper.cpp:1291
clang::TextNodeDumper::VisitObjCCompatibleAliasDecl
void VisitObjCCompatibleAliasDecl(const ObjCCompatibleAliasDecl *D)
Definition: TextNodeDumper.cpp:2283
clang::ArrayTypeTraitExpr
An Embarcadero array type trait, as used in the implementation of __array_rank and __array_extent.
Definition: ExprCXX.h:2753
clang::TextNodeDumper::VisitTypeTemplateArgument
void VisitTypeTemplateArgument(const TemplateArgument &TA)
Definition: TextNodeDumper.cpp:881
clang::ObjCBoxedExpr
ObjCBoxedExpr - used for generalized expression boxing.
Definition: ExprObjC.h:128
clang::TextNodeDumper::VisitCXXBindTemporaryExpr
void VisitCXXBindTemporaryExpr(const CXXBindTemporaryExpr *Node)
Definition: TextNodeDumper.cpp:1225
clang::TextNodeDumper::VisitRecordDecl
void VisitRecordDecl(const RecordDecl *D)
Definition: TextNodeDumper.cpp:1617
clang::CXXBoolLiteralExpr
A boolean literal, per ([C++ lex.bool] Boolean literals).
Definition: ExprCXX.h:721
Desugar
static QualType Desugar(ASTContext &Context, QualType QT, bool &ShouldAKA)
Definition: ASTDiagnostic.cpp:29
clang::TextNodeDumper::VisitLinkageSpecDecl
void VisitLinkageSpecDecl(const LinkageSpecDecl *D)
Definition: TextNodeDumper.cpp:2168
clang::TextNodeDumper::VisitMaterializeTemporaryExpr
void VisitMaterializeTemporaryExpr(const MaterializeTemporaryExpr *Node)
Definition: TextNodeDumper.cpp:1268
clang::SwitchStmt
SwitchStmt - This represents a 'switch' stmt.
Definition: Stmt.h:2150
clang::GenericSelectionExpr::ConstAssociation
AssociationTy< true > ConstAssociation
Definition: Expr.h:5781
clang::LinkageSpecDecl
Represents a linkage specification.
Definition: DeclCXX.h:2797
clang::SourceRange
A trivial tuple used to represent a source range.
Definition: SourceLocation.h:212
string
string(SUBSTRING ${CMAKE_CURRENT_BINARY_DIR} 0 ${PATH_LIB_START} PATH_HEAD) string(SUBSTRING $
Definition: CMakeLists.txt:22
clang::WhileStmt
WhileStmt - This represents a 'while' stmt.
Definition: Stmt.h:2341
clang::IndentColor
static const TerminalColor IndentColor
Definition: ASTDumperUtils.h:84
clang::TextNodeDumper::VisitTemplateExpansionTemplateArgument
void VisitTemplateExpansionTemplateArgument(const TemplateArgument &TA)
Definition: TextNodeDumper.cpp:905
clang::TextNodeDumper::VisitObjCAtCatchStmt
void VisitObjCAtCatchStmt(const ObjCAtCatchStmt *Node)
Definition: TextNodeDumper.cpp:1320
clang::TextNodeDumper::VisitCXXOperatorCallExpr
void VisitCXXOperatorCallExpr(const CXXOperatorCallExpr *Node)
Definition: TextNodeDumper.cpp:1002
clang::NamespaceAliasDecl
Represents a C++ namespace alias.
Definition: DeclCXX.h:2986
clang::ColorScope
Definition: ASTDumperUtils.h:86
clang::ObjCImplementationDecl
ObjCImplementationDecl - Represents a class definition - this is where method definitions are specifi...
Definition: DeclObjC.h:2546
clang::ConstantArrayType
Represents the canonical version of C arrays with a specified constant size.
Definition: Type.h:2929
TemplateArgumentVisitor.h
clang::UsingDirectiveDecl
Represents C++ using-directive.
Definition: DeclCXX.h:2882
clang::TextNodeDumper::VisitAutoType
void VisitAutoType(const AutoType *T)
Definition: TextNodeDumper.cpp:1560
clang::BindingDecl
A binding in a decomposition declaration.
Definition: DeclCXX.h:3959
clang::TextNodeDumper::VisitFunctionProtoType
void VisitFunctionProtoType(const FunctionProtoType *T)
Definition: TextNodeDumper.cpp:1506
llvm::SmallVector
Definition: LLVM.h:38
clang::SourceLocation
Encodes a location in the source.
Definition: SourceLocation.h:88
clang::TextNodeDumper::VisitUnaryTransformType
void VisitUnaryTransformType(const UnaryTransformType *T)
Definition: TextNodeDumper.cpp:1541
clang::NamedDecl
This represents a decl that may have a name.
Definition: Decl.h:249
clang::TextNodeDumper::VisitObjCCategoryImplDecl
void VisitObjCCategoryImplDecl(const ObjCCategoryImplDecl *D)
Definition: TextNodeDumper.cpp:2254
clang::QualType
A (possibly-)qualified type.
Definition: Type.h:673
clang::NonTypeTemplateParmDecl
NonTypeTemplateParmDecl - Declares a non-type template parameter, e.g., "Size" in.
Definition: DeclTemplate.h:1384
clang::TextNodeDumper::VisitObjCBoxedExpr
void VisitObjCBoxedExpr(const ObjCBoxedExpr *Node)
Definition: TextNodeDumper.cpp:1313
clang::TextNodeDumper::VisitUnresolvedLookupExpr
void VisitUnresolvedLookupExpr(const UnresolvedLookupExpr *Node)
Definition: TextNodeDumper.cpp:1044
clang::TypeTraitExpr
A type trait used in the implementation of various C++11 and Library TR1 trait templates.
Definition: ExprCXX.h:2665
clang::FieldDecl
Represents a member of a struct/union/class.
Definition: Decl.h:2835
clang::RequiresExpr
C++2a [expr.prim.req]: A requires-expression provides a concise way to express requirements on templa...
Definition: ExprConcepts.h:475
clang::UsingShadowDecl
Represents a shadow declaration implicitly introduced into a scope by a (resolved) using-declaration ...
Definition: DeclCXX.h:3187
clang::CXXNewExpr
Represents a new-expression for memory allocation and constructor calls, e.g: "new CXXNewExpr(foo)".
Definition: ExprCXX.h:2139
clang::TemplateSpecializationType
Represents a type template specialization; the template must be a class template, a type alias templa...
Definition: Type.h:5103
clang::IfStmt
IfStmt - This represents an if/then/else.
Definition: Stmt.h:1904
clang::GotoStmt
GotoStmt - This represents a direct goto.
Definition: Stmt.h:2605
clang::InitListExpr
Describes an C or C++ initializer list.
Definition: Expr.h:4786
clang::ObjCPropertyImplDecl
ObjCPropertyImplDecl - Represents implementation declaration of a property in a class or category imp...
Definition: DeclObjC.h:2751
clang::TextNodeDumper::VisitNullPtrTemplateArgument
void VisitNullPtrTemplateArgument(const TemplateArgument &TA)
Definition: TextNodeDumper.cpp:892
clang::TextNodeDumper::VisitNamespaceDecl
void VisitNamespaceDecl(const NamespaceDecl *D)
Definition: TextNodeDumper.cpp:1885
TypeVisitor.h
clang::TextNodeDumper::visitParamCommandComment
void visitParamCommandComment(const comments::ParamCommandComment *C, const comments::FullComment *FC)
Definition: TextNodeDumper.cpp:817
clang::UnaryOperator
UnaryOperator - This represents the unary-expression's (except sizeof and alignof),...
Definition: Expr.h:2157
clang::TagType
Definition: Type.h:4589
clang::TextNodeDumper::VisitObjCSelectorExpr
void VisitObjCSelectorExpr(const ObjCSelectorExpr *Node)
Definition: TextNodeDumper.cpp:1329
clang::TextNodeDumper::VisitUnaryExprOrTypeTraitExpr
void VisitUnaryExprOrTypeTraitExpr(const UnaryExprOrTypeTraitExpr *Node)
Definition: TextNodeDumper.cpp:1127
clang::CXXStaticCastExpr
A C++ static_cast expression (C++ [expr.static.cast]).
Definition: ExprCXX.h:431
clang::PrintingPolicy
Describes how types, statements, expressions, and declarations should be printed.
Definition: PrettyPrinter.h:59
clang::TextNodeDumper::VisitCXXFunctionalCastExpr
void VisitCXXFunctionalCastExpr(const CXXFunctionalCastExpr *Node)
Definition: TextNodeDumper.cpp:1191
clang::comments::HTMLEndTagComment
A closing HTML tag.
Definition: Comment.h:507
clang::TextNodeDumper::VisitOMPRequiresDecl
void VisitOMPRequiresDecl(const OMPRequiresDecl *D)
Definition: TextNodeDumper.cpp:1859
clang::FunctionType
FunctionType - C99 6.7.5.3 - Function Declarators.
Definition: Type.h:3546
clang::CapturedDecl
Represents the body of a CapturedStmt, and serves as its DeclContext.
Definition: Decl.h:4342
clang::TextNodeDumper::TextNodeDumper
TextNodeDumper(raw_ostream &OS, const ASTContext &Context, bool ShowColors)
Definition: TextNodeDumper.cpp:60
clang::TextNodeDumper::VisitFunctionDecl
void VisitFunctionDecl(const FunctionDecl *D)
Definition: TextNodeDumper.cpp:1639
clang::TextNodeDumper::VisitTemplateTemplateArgument
void VisitTemplateTemplateArgument(const TemplateArgument &TA)
Definition: TextNodeDumper.cpp:900
clang::TextNodeDumper::VisitUsingEnumDecl
void VisitUsingEnumDecl(const UsingEnumDecl *D)
Definition: TextNodeDumper.cpp:2116
clang::TextNodeDumper::VisitRValueReferenceType
void VisitRValueReferenceType(const ReferenceType *T)
Definition: TextNodeDumper.cpp:1423
clang::SourceManager
This class handles loading and caching of source files into memory.
Definition: SourceManager.h:626
clang::EnumDecl
Represents an enum.
Definition: Decl.h:3590
clang::TextNodeDumper::VisitCXXRecordDecl
void VisitCXXRecordDecl(const CXXRecordDecl *D)
Definition: TextNodeDumper.cpp:1913
clang::Type
The base class of the type hierarchy.
Definition: Type.h:1490
clang::TextNodeDumper::VisitVarTemplateDecl
void VisitVarTemplateDecl(const VarTemplateDecl *D)
Definition: TextNodeDumper.cpp:2065
clang::ObjCSubscriptRefExpr
ObjCSubscriptRefExpr - used for array and dictionary subscripting.
Definition: ExprObjC.h:841
clang::ObjCBoolLiteralExpr
ObjCBoolLiteralExpr - Objective-C Boolean Literal.
Definition: ExprObjC.h:88
clang::comments::InlineCommandComment
A command with word-like arguments that is considered inline content.
Definition: Comment.h:297
clang::TypedefType
Definition: Type.h:4371
clang::TextNodeDumper::VisitTypedefType
void VisitTypedefType(const TypedefType *T)
Definition: TextNodeDumper.cpp:1537
clang::TextNodeDumper::visitBlockCommandComment
void visitBlockCommandComment(const comments::BlockCommandComment *C, const comments::FullComment *)
Definition: TextNodeDumper.cpp:810
clang::ObjCPropertyRefExpr
ObjCPropertyRefExpr - A dot-syntax expression to access an ObjC property.
Definition: ExprObjC.h:614
clang::TextNodeDumper::VisitFunctionTemplateDecl
void VisitFunctionTemplateDecl(const FunctionTemplateDecl *D)
Definition: TextNodeDumper.cpp:2057
clang::TextNodeDumper::VisitPragmaCommentDecl
void VisitPragmaCommentDecl(const PragmaCommentDecl *D)
Definition: TextNodeDumper.cpp:1800
clang::TextNodeDumper::VisitOMPIteratorExpr
void VisitOMPIteratorExpr(const OMPIteratorExpr *Node)
Definition: TextNodeDumper.cpp:1394
clang::TextNodeDumper::VisitSizeOfPackExpr
void VisitSizeOfPackExpr(const SizeOfPackExpr *Node)
Definition: TextNodeDumper.cpp:1281
clang::FixedPointLiteral
Definition: Expr.h:1531
ExprConcepts.h
clang::TextNodeDumper::VisitIfStmt
void VisitIfStmt(const IfStmt *Node)
Definition: TextNodeDumper.cpp:944
U
clang::TextNodeDumper::VisitFloatingLiteral
void VisitFloatingLiteral(const FloatingLiteral *Node)
Definition: TextNodeDumper.cpp:1095
clang::comments::VerbatimBlockLineComment
A line of text contained in a verbatim block.
Definition: Comment.h:863
clang::UnresolvedUsingTypenameDecl
Represents a dependent using declaration which was marked with typename.
Definition: DeclCXX.h:3809
clang::TextNodeDumper::VisitNamespaceAliasDecl
void VisitNamespaceAliasDecl(const NamespaceAliasDecl *D)
Definition: TextNodeDumper.cpp:1898
clang::TextNodeDumper::visitInlineCommandComment
void visitInlineCommandComment(const comments::InlineCommandComment *C, const comments::FullComment *)
Definition: TextNodeDumper.cpp:766
clang::comments::ParamCommandComment
Doxygen \param command.
Definition: Comment.h:711
clang::FunctionTemplateDecl
Declaration of a template function.
Definition: DeclTemplate.h:978
clang::TextNodeDumper::VisitExtVectorElementExpr
void VisitExtVectorElementExpr(const ExtVectorElementExpr *Node)
Definition: TextNodeDumper.cpp:1146
clang::comments::Comment
Any part of the comment.
Definition: Comment.h:52
clang::IntegerLiteral
Definition: Expr.h:1488
clang::TextNodeDumper::VisitObjCInterfaceDecl
void VisitObjCInterfaceDecl(const ObjCInterfaceDecl *D)
Definition: TextNodeDumper.cpp:2267
clang::ObjCAtCatchStmt
Represents Objective-C's @catch statement.
Definition: StmtObjC.h:77
clang::UnaryExprOrTypeTraitExpr
UnaryExprOrTypeTraitExpr - expression with either a type or (unevaluated) expression operand.
Definition: Expr.h:2543
clang::ConstTemplateArgumentVisitor
A simple visitor class that helps create template argument visitors.
Definition: TemplateArgumentVisitor.h:92
clang::FloatingLiteral
Definition: Expr.h:1633
clang::TextNodeDumper::VisitVectorType
void VisitVectorType(const VectorType *T)
Definition: TextNodeDumper.cpp:1466
clang::ObjCSelectorExpr
ObjCSelectorExpr used for @selector in Objective-C.
Definition: ExprObjC.h:454
clang::PackExpansionType
Represents a pack expansion of types.
Definition: Type.h:5632
clang::UnresolvedLookupExpr
A reference to a name which we were able to look up during parsing but could not resolve to a specifi...
Definition: ExprCXX.h:3073
clang::OMPDeclareReductionDecl
This represents '#pragma omp declare reduction ...' directive.
Definition: DeclOpenMP.h:171
clang::ImportDecl
Describes a module import declaration, which makes the contents of the named module visible in the cu...
Definition: Decl.h:4447
clang::SizeOfPackExpr
Represents an expression that computes the length of a parameter pack.
Definition: ExprCXX.h:4127
Node
DynTypedNode Node
Definition: ASTMatchFinder.cpp:67
clang::TextNodeDumper::VisitFriendDecl
void VisitFriendDecl(const FriendDecl *D)
Definition: TextNodeDumper.cpp:2184
clang::CXXBindTemporaryExpr
Represents binding an expression to a temporary.
Definition: ExprCXX.h:1412
clang::BlockDecl
Represents a block literal declaration, which is like an unnamed FunctionDecl.
Definition: Decl.h:4153
clang::TextNodeDumper::VisitUnresolvedUsingTypenameDecl
void VisitUnresolvedUsingTypenameDecl(const UnresolvedUsingTypenameDecl *D)
Definition: TextNodeDumper.cpp:2121
clang::TextNodeDumper::VisitObjCProtocolExpr
void VisitObjCProtocolExpr(const ObjCProtocolExpr *Node)
Definition: TextNodeDumper.cpp:1334
clang::BinaryOperator
A builtin binary operation expression such as "x + y" or "x <= y".
Definition: Expr.h:3803
clang::OMPClause
This is a basic class for representing single OpenMP clause.
Definition: OpenMPClause.h:54
clang::TextNodeDumper::visitTParamCommandComment
void visitTParamCommandComment(const comments::TParamCommandComment *C, const comments::FullComment *FC)
Definition: TextNodeDumper.cpp:838
clang::TextNodeDumper::VisitRequiresExpr
void VisitRequiresExpr(const RequiresExpr *Node)
Definition: TextNodeDumper.cpp:1417
clang::TextNodeDumper::VisitCastExpr
void VisitCastExpr(const CastExpr *Node)
Definition: TextNodeDumper.cpp:1010
clang::ConceptDecl
Declaration of a C++2a concept.
Definition: DeclTemplate.h:3235
clang::TextNodeDumper::VisitImportDecl
void VisitImportDecl(const ImportDecl *D)
Definition: TextNodeDumper.cpp:1792
clang::TextNodeDumper::VisitCallExpr
void VisitCallExpr(const CallExpr *Node)
Definition: TextNodeDumper.cpp:995
clang::VectorType
Represents a GCC generic vector type.
Definition: Type.h:3229
clang::ConceptSpecializationExpr
Represents the specialization of a concept - evaluates to a prvalue of type bool.
Definition: ExprConcepts.h:40
clang::FPOptionsOverride
Represents difference between two FPOptions values.
Definition: LangOptions.h:600
clang::MaterializeTemporaryExpr
Represents a prvalue temporary that is written into memory so that a reference can bind to it.
Definition: ExprCXX.h:4462
clang::ASTContext
Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...
Definition: ASTContext.h:212
clang::TextNodeDumper::VisitPackTemplateArgument
void VisitPackTemplateArgument(const TemplateArgument &TA)
Definition: TextNodeDumper.cpp:915
clang::TextNodeDumper::VisitEnumConstantDecl
void VisitEnumConstantDecl(const EnumConstantDecl *D)
Definition: TextNodeDumper.cpp:1626
clang::ArrayType
Represents an array type, per C99 6.7.5.2 - Array Declarators.
Definition: Type.h:2883
clang::TextNodeDumper::VisitBlockDecl
void VisitBlockDecl(const BlockDecl *D)
Definition: TextNodeDumper.cpp:2341
clang::TextNodeDumper::VisitTypedefDecl
void VisitTypedefDecl(const TypedefDecl *D)
Definition: TextNodeDumper.cpp:1596
Depth
int Depth
Definition: ASTDiff.cpp:191
ASTDumperUtils.h
clang::TextNodeDumper::VisitConstructorUsingShadowDecl
void VisitConstructorUsingShadowDecl(const ConstructorUsingShadowDecl *D)
Definition: TextNodeDumper.cpp:2143
clang::ExprWithCleanups::CleanupObject
llvm::PointerUnion< BlockDecl *, CompoundLiteralExpr * > CleanupObject
The type of objects that are kept in the cleanup.
Definition: ExprCXX.h:3352
clang::TextNodeDumper::VisitObjCPropertyImplDecl
void VisitObjCPropertyImplDecl(const ObjCPropertyImplDecl *D)
Definition: TextNodeDumper.cpp:2331
clang::TemplateArgument
Represents a template argument.
Definition: TemplateBase.h:62
clang::TextNodeDumper::VisitUsingDecl
void VisitUsingDecl(const UsingDecl *D)
Definition: TextNodeDumper.cpp:2109
clang::concepts::Requirement
A static requirement that can be used in a requires-expression to check properties of types and expre...
Definition: ExprConcepts.h:149
clang::TextNodeDumper::VisitPackExpansionType
void VisitPackExpansionType(const PackExpansionType *T)
Definition: TextNodeDumper.cpp:1589
clang::TextNodeDumper::VisitCXXStaticCastExpr
void VisitCXXStaticCastExpr(const CXXStaticCastExpr *Node)
Definition: TextNodeDumper.cpp:1199
clang::LabelDecl
Represents the declaration of a label.
Definition: Decl.h:496
clang::TextNodeDumper::VisitTemplateTemplateParmDecl
void VisitTemplateTemplateParmDecl(const TemplateTemplateParmDecl *D)
Definition: TextNodeDumper.cpp:2101
clang::TextNodeDumper::VisitSwitchStmt
void VisitSwitchStmt(const SwitchStmt *Node)
Definition: TextNodeDumper.cpp:961
clang::comments::FullComment
A full comment attached to a declaration, contains block content.
Definition: Comment.h:1091
clang::AutoType
Represents a C++11 auto or C++14 decltype(auto) type, possibly constrained by a type-constraint.
Definition: Type.h:4980
Type.h
clang::TextNodeDumper::VisitBindingDecl
void VisitBindingDecl(const BindingDecl *D)
Definition: TextNodeDumper.cpp:1782
clang::TextNodeDumper::VisitUsingDirectiveDecl
void VisitUsingDirectiveDecl(const UsingDirectiveDecl *D)
Definition: TextNodeDumper.cpp:1893
clang::FriendDecl
FriendDecl - Represents the declaration of a friend entity, which can be a function,...
Definition: DeclFriend.h:53
clang::TemplateTemplateParmDecl
TemplateTemplateParmDecl - Declares a template template parameter, e.g., "T" in.
Definition: DeclTemplate.h:1601
ASTContext.h
clang::TextNodeDumper::VisitIntegerLiteral
void VisitIntegerLiteral(const IntegerLiteral *Node)
Definition: TextNodeDumper.cpp:1084
clang::TextNodeDumper::VisitPragmaDetectMismatchDecl
void VisitPragmaDetectMismatchDecl(const PragmaDetectMismatchDecl *D)
Definition: TextNodeDumper.cpp:1826
clang::VarDecl
Represents a variable declaration or definition.
Definition: Decl.h:876
clang::UnresolvedUsingType
Represents the dependent type named by a dependently-scoped typename using declaration,...
Definition: Type.h:4341
clang::comments::BlockCommandComment
A command that has zero or more word-like arguments (number of word-like arguments depends on command...
Definition: Comment.h:596
clang::TextNodeDumper::VisitObjCSubscriptRefExpr
void VisitObjCSubscriptRefExpr(const ObjCSubscriptRefExpr *Node)
Definition: TextNodeDumper.cpp:1369
clang::StringLiteral
StringLiteral - This represents a string literal expression, e.g.
Definition: Expr.h:1761
clang::ExprWithCleanups
Represents an expression – generally a full-expression – that introduces cleanups to be run at the en...
Definition: ExprCXX.h:3342
clang::ObjCCategoryImplDecl
ObjCCategoryImplDecl - An object of this class encapsulates a category @implementation declaration.
Definition: DeclObjC.h:2493
clang::TextNodeDumper::VisitMemberExpr
void VisitMemberExpr(const MemberExpr *Node)
Definition: TextNodeDumper.cpp:1135
clang::TextTreeStructure::AddChild
void AddChild(Fn DoAddChild)
Add a child of the current node. Calls DoAddChild without arguments.
Definition: TextNodeDumper.h:51
clang::EnumConstantDecl
An instance of this object exists for each enum constant that is defined.
Definition: Decl.h:3050
clang::TextNodeDumper::VisitUnresolvedUsingType
void VisitUnresolvedUsingType(const UnresolvedUsingType *T)
Definition: TextNodeDumper.cpp:1533
clang::TypeVisitor
An operation on a type.
Definition: TypeVisitor.h:64
ExprCXX.h
Label
std::string Label
Definition: UsingDeclarationsSorter.cpp:69
clang::ObjCEncodeExpr
ObjCEncodeExpr, used for @encode in Objective-C.
Definition: ExprObjC.h:409
clang::UnresolvedUsingValueDecl
Represents a dependent using declaration which was not marked with typename.
Definition: DeclCXX.h:3713
clang::TextNodeDumper::VisitVariableArrayType
void VisitVariableArrayType(const VariableArrayType *T)
Definition: TextNodeDumper.cpp:1447
clang::ConstAttrVisitor
A simple visitor class that helps create attribute visitors.
Definition: AttrVisitor.h:69
clang::ConstantExpr
ConstantExpr - An expression that occurs in a constant context and optionally the result of evaluatin...
Definition: Expr.h:1026
clang::TemplateTypeParmDecl
Declaration of a template type parameter.
Definition: DeclTemplate.h:1178
clang::ObjCMessageExpr
An expression that sends a message to the given Objective-C object or class.
Definition: ExprObjC.h:940
clang::TextNodeDumper::VisitObjCImplementationDecl
void VisitObjCImplementationDecl(const ObjCImplementationDecl *D)
Definition: TextNodeDumper.cpp:2276
clang::TextNodeDumper::visitHTMLStartTagComment
void visitHTMLStartTagComment(const comments::HTMLStartTagComment *C, const comments::FullComment *)
Definition: TextNodeDumper.cpp:791
clang::TextNodeDumper::VisitAddrLabelExpr
void VisitAddrLabelExpr(const AddrLabelExpr *Node)
Definition: TextNodeDumper.cpp:1168
clang::UsingDecl
Represents a C++ using-declaration.
Definition: DeclCXX.h:3379
clang::TextNodeDumper::visitVerbatimBlockComment
void visitVerbatimBlockComment(const comments::VerbatimBlockComment *C, const comments::FullComment *)
Definition: TextNodeDumper.cpp:858
clang::ObjCCategoryDecl
ObjCCategoryDecl - Represents a category declaration.
Definition: DeclObjC.h:2274
clang::UnaryTransformType
A unary type transform, which is a type constructed from another.
Definition: Type.h:4531
clang::TemplateTypeParmType
Definition: Type.h:4765
clang::comments::HTMLStartTagComment
An opening HTML tag with attributes.
Definition: Comment.h:413
clang::CharacterLiteral
Definition: Expr.h:1578
clang::TextNodeDumper::VisitOMPDeclareReductionDecl
void VisitOMPDeclareReductionDecl(const OMPDeclareReductionDecl *D)
Definition: TextNodeDumper.cpp:1837
clang::TextNodeDumper::VisitDependentSizedExtVectorType
void VisitDependentSizedExtVectorType(const DependentSizedExtVectorType *T)
Definition: TextNodeDumper.cpp:1460
clang::AccessSpecifier
AccessSpecifier
A C++ access specifier (public, private, protected), plus the special value "none" which means differ...
Definition: Specifiers.h:108
clang::UsingEnumDecl
Represents a C++ using-enum-declaration.
Definition: DeclCXX.h:3579
clang::CXXRecordDecl
Represents a C++ struct/union/class.
Definition: DeclCXX.h:255
clang::TextNodeDumper::VisitCXXUnresolvedConstructExpr
void VisitCXXUnresolvedConstructExpr(const CXXUnresolvedConstructExpr *Node)
Definition: TextNodeDumper.cpp:1205
clang::TextNodeDumper::VisitSYCLUniqueStableNameExpr
void VisitSYCLUniqueStableNameExpr(const SYCLUniqueStableNameExpr *Node)
Definition: TextNodeDumper.cpp:1070
clang::TextNodeDumper::VisitExpressionTemplateArgument
void VisitExpressionTemplateArgument(const TemplateArgument &TA)
Definition: TextNodeDumper.cpp:911
clang::DependentSizedArrayType
Represents an array type in C++ whose size is a value-dependent expression.
Definition: Type.h:3087
clang::VariableArrayType
Represents a C array with a specified size that is not an integer-constant-expression.
Definition: Type.h:3033
clang::TextNodeDumper::VisitTemplateTypeParmType
void VisitTemplateTypeParmType(const TemplateTypeParmType *T)
Definition: TextNodeDumper.cpp:1553
clang::TextTreeStructure::TextTreeStructure
TextTreeStructure(raw_ostream &OS, bool ShowColors)
Definition: TextNodeDumper.h:123
clang::TextNodeDumper::dumpLocation
void dumpLocation(SourceLocation Loc)
Definition: TextNodeDumper.cpp:616
clang::TextNodeDumper::dumpBareDeclRef
void dumpBareDeclRef(const Decl *D)
Definition: TextNodeDumper.cpp:680
clang::TextNodeDumper::VisitLabelStmt
void VisitLabelStmt(const LabelStmt *Node)
Definition: TextNodeDumper.cpp:973
clang::ClassTemplateDecl
Declaration of a class template.
Definition: DeclTemplate.h:2247
clang::ConstDeclVisitor
A simple visitor class that helps create declaration visitors.
Definition: DeclVisitor.h:73
clang::TextNodeDumper::visitVerbatimBlockLineComment
void visitVerbatimBlockLineComment(const comments::VerbatimBlockLineComment *C, const comments::FullComment *)
Definition: TextNodeDumper.cpp:866
clang::TextNodeDumper::VisitObjCInterfaceType
void VisitObjCInterfaceType(const ObjCInterfaceType *T)
Definition: TextNodeDumper.cpp:1585
clang::FunctionProtoType
Represents a prototype with parameter type info, e.g.
Definition: Type.h:3885
clang::OMPCapturedExprDecl
Pseudo declaration for capturing expressions.
Definition: DeclOpenMP.h:383
clang::ObjCProtocolExpr
ObjCProtocolExpr used for protocol expression in Objective-C.
Definition: ExprObjC.h:504
clang::TextNodeDumper::VisitTypeTraitExpr
void VisitTypeTraitExpr(const TypeTraitExpr *Node)
Definition: TextNodeDumper.cpp:1256
clang::TextNodeDumper::VisitEnumDecl
void VisitEnumDecl(const EnumDecl *D)
Definition: TextNodeDumper.cpp:1603
clang::TextNodeDumper::VisitInjectedClassNameType
void VisitInjectedClassNameType(const InjectedClassNameType *T)
Definition: TextNodeDumper.cpp:1580
clang::CXXDeleteExpr
Represents a delete expression for memory deallocation and destructor calls, e.g.
Definition: ExprCXX.h:2398
clang::TextTreeStructure::AddChild
void AddChild(StringRef Label, Fn DoAddChild)
Add a child of the current node with an optional label.
Definition: TextNodeDumper.h:57
clang::comments::TParamCommandComment
Doxygen \tparam command, describes a template parameter.
Definition: Comment.h:799
DeclVisitor.h
Value
Value
Definition: UninitializedValues.cpp:102
clang::Decl
Decl - This represents one declaration (or definition), e.g.
Definition: DeclBase.h:89
clang::ObjCPropertyDecl
Represents one property declaration in an Objective-C interface.
Definition: DeclObjC.h:732
clang::AddrLabelExpr
AddrLabelExpr - The GNU address of label extension, representing &&label.
Definition: Expr.h:4300
clang::CXXFunctionalCastExpr
Represents an explicit C++ type conversion that uses "functional" notation (C++ [expr....
Definition: ExprCXX.h:1726
clang::TextNodeDumper::VisitAccessSpecDecl
void VisitAccessSpecDecl(const AccessSpecDecl *D)
Definition: TextNodeDumper.cpp:2179
clang::TextNodeDumper::VisitImplicitCastExpr
void VisitImplicitCastExpr(const ImplicitCastExpr *Node)
Definition: TextNodeDumper.cpp:1022
StmtVisitor.h
clang::TextNodeDumper::VisitObjCPropertyRefExpr
void VisitObjCPropertyRefExpr(const ObjCPropertyRefExpr *Node)
Definition: TextNodeDumper.cpp:1338
clang::PragmaCommentDecl
Represents a #pragma comment line.
Definition: Decl.h:140
clang::TextNodeDumper::VisitCharacterLiteral
void VisitCharacterLiteral(const CharacterLiteral *Node)
Definition: TextNodeDumper.cpp:1079
clang::TextNodeDumper::VisitLifetimeExtendedTemporaryDecl
void VisitLifetimeExtendedTemporaryDecl(const LifetimeExtendedTemporaryDecl *D)
Definition: TextNodeDumper.cpp:1709
clang::InjectedClassNameType
The injected class name of a C++ class template or class template partial specialization.
Definition: Type.h:5256
clang::TextNodeDumper::VisitBinaryOperator
void VisitBinaryOperator(const BinaryOperator *Node)
Definition: TextNodeDumper.cpp:1151
clang::CXXDependentScopeMemberExpr
Represents a C++ member access expression where the actual member referenced could not be resolved be...
Definition: ExprCXX.h:3550
clang::TextNodeDumper::VisitTemplateTypeParmDecl
void VisitTemplateTypeParmDecl(const TemplateTypeParmDecl *D)
Definition: TextNodeDumper.cpp:2073
clang::CompoundAssignOperator
CompoundAssignOperator - For compound assignments (e.g.
Definition: Expr.h:4050
clang::TextNodeDumper::VisitCapturedDecl
void VisitCapturedDecl(const CapturedDecl *D)
Definition: TextNodeDumper.cpp:1787
clang::TextNodeDumper::VisitCXXThisExpr
void VisitCXXThisExpr(const CXXThisExpr *Node)
Definition: TextNodeDumper.cpp:1185
clang::TextNodeDumper::dumpName
void dumpName(const NamedDecl *ND)
Definition: TextNodeDumper.cpp:702
clang::CXXUnresolvedConstructExpr
Describes an explicit type conversion that uses functional notion but could not be resolved because o...
Definition: ExprCXX.h:3428
clang::ConstStmtVisitor
ConstStmtVisitor - This class implements a simple visitor for Stmt subclasses.
Definition: StmtVisitor.h:193
clang::TypedefDecl
Represents the declaration of a typedef-name via the 'typedef' type specifier.
Definition: Decl.h:3282
clang::TextNodeDumper::VisitTypeAliasTemplateDecl
void VisitTypeAliasTemplateDecl(const TypeAliasTemplateDecl *D)
Definition: TextNodeDumper.cpp:1908
clang::TextNodeDumper::VisitOMPExecutableDirective
void VisitOMPExecutableDirective(const OMPExecutableDirective *D)
Definition: TextNodeDumper.cpp:1831
clang::OMPExecutableDirective
This is a basic class for representing single OpenMP executable directive.
Definition: StmtOpenMP.h:266
clang::LangOptions
Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...
Definition: LangOptions.h:58
clang::TextNodeDumper::VisitWhileStmt
void VisitWhileStmt(const WhileStmt *Node)
Definition: TextNodeDumper.cpp:968
clang::ObjCTypeParamDecl
Represents the declaration of an Objective-C type parameter.
Definition: DeclObjC.h:582
clang::CXXThisExpr
Represents the this expression in C++.
Definition: ExprCXX.h:1142
clang::ExtVectorElementExpr
ExtVectorElementExpr - This represents access to specific elements of a vector, and may occur on the ...
Definition: Expr.h:5905
clang::TextNodeDumper::VisitIntegralTemplateArgument
void VisitIntegralTemplateArgument(const TemplateArgument &TA)
Definition: TextNodeDumper.cpp:896
clang::ObjCMethodDecl
ObjCMethodDecl - Represents an instance or class method declaration.
Definition: DeclObjC.h:139
clang::PredefinedExpr
[C99 6.4.2.2] - A predefined identifier such as func.
Definition: Expr.h:1953
clang::TextNodeDumper::dumpType
void dumpType(QualType T)
Definition: TextNodeDumper.cpp:675
clang::TextNodeDumper::dumpPointer
void dumpPointer(const void *Ptr)
Definition: TextNodeDumper.cpp:611
clang::comments::TextComment
Plain text.
Definition: Comment.h:261
clang::TextNodeDumper::VisitFixedPointLiteral
void VisitFixedPointLiteral(const FixedPointLiteral *Node)
Definition: TextNodeDumper.cpp:1090
clang::TextNodeDumper::VisitObjCTypeParamDecl
void VisitObjCTypeParamDecl(const ObjCTypeParamDecl *D)
Definition: TextNodeDumper.cpp:2226
clang::TextNodeDumper::VisitExpressionTraitExpr
void VisitExpressionTraitExpr(const ExpressionTraitExpr *Node)
Definition: TextNodeDumper.cpp:1264
clang
Definition: CalledOnceCheck.h:17
clang::IndirectFieldDecl
Represents a field injected from an anonymous union/struct into the parent scope.
Definition: Decl.h:3089
clang::TextNodeDumper::VisitGotoStmt
void VisitGotoStmt(const GotoStmt *Node)
Definition: TextNodeDumper.cpp:979
clang::TextNodeDumper::dumpBareType
void dumpBareType(QualType T, bool Desugar=true)
Definition: TextNodeDumper.cpp:661
clang::TextNodeDumper::VisitCXXBoolLiteralExpr
void VisitCXXBoolLiteralExpr(const CXXBoolLiteralExpr *Node)
Definition: TextNodeDumper.cpp:1181
clang::TextNodeDumper::VisitObjCPropertyDecl
void VisitObjCPropertyDecl(const ObjCPropertyDecl *D)
Definition: TextNodeDumper.cpp:2289
clang::TextNodeDumper::VisitConstantExpr
void VisitConstantExpr(const ConstantExpr *Node)
Definition: TextNodeDumper.cpp:989
clang::Stmt
Stmt - This represents one statement.
Definition: Stmt.h:69
clang::ObjCIvarDecl
ObjCIvarDecl - Represents an ObjC instance variable.
Definition: DeclObjC.h:1924
clang::TextNodeDumper::visitHTMLEndTagComment
void visitHTMLEndTagComment(const comments::HTMLEndTagComment *C, const comments::FullComment *)
Definition: TextNodeDumper.cpp:805
clang::TextNodeDumper
Definition: TextNodeDumper.h:127
clang::TextNodeDumper::VisitExprWithCleanups
void VisitExprWithCleanups(const ExprWithCleanups *Node)
Definition: TextNodeDumper.cpp:1276
clang::comments::VerbatimBlockComment
A verbatim block command (e.
Definition: Comment.h:891
clang::GenericSelectionExpr
Represents a C11 generic selection.
Definition: Expr.h:5623
clang::TextNodeDumper::VisitVarDecl
void VisitVarDecl(const VarDecl *D)
Definition: TextNodeDumper.cpp:1729
clang::TextNodeDumper::VisitObjCMethodDecl
void VisitObjCMethodDecl(const ObjCMethodDecl *D)
Definition: TextNodeDumper.cpp:2214
clang::TextNodeDumper::visitVerbatimLineComment
void visitVerbatimLineComment(const comments::VerbatimLineComment *C, const comments::FullComment *)
Definition: TextNodeDumper.cpp:872
clang::TextNodeDumper::dumpDeclRef
void dumpDeclRef(const Decl *D, StringRef Label={})
Definition: TextNodeDumper.cpp:733
clang::TextNodeDumper::VisitLabelDecl
void VisitLabelDecl(const LabelDecl *D)
Definition: TextNodeDumper.cpp:1594
clang::ObjCProtocolDecl
Represents an Objective-C protocol declaration.
Definition: DeclObjC.h:2050
clang::TextNodeDumper::VisitUnaryOperator
void VisitUnaryOperator(const UnaryOperator *Node)
Definition: TextNodeDumper.cpp:1118
clang::Attr
Attr - This represents one attribute.
Definition: Attr.h:46
clang::OMPRequiresDecl
This represents '#pragma omp requires...' directive.
Definition: DeclOpenMP.h:416
clang::TextNodeDumper::VisitObjCCategoryDecl
void VisitObjCCategoryDecl(const ObjCCategoryDecl *D)
Definition: TextNodeDumper.cpp:2246
clang::CXXNamedCastExpr
Abstract class common to all of the C++ "named"/"keyword" casts.
Definition: ExprCXX.h:373
clang::TextNodeDumper::VisitInitListExpr
void VisitInitListExpr(const InitListExpr *ILE)
Definition: TextNodeDumper.cpp:1106
clang::TextNodeDumper::VisitNullTemplateArgument
void VisitNullTemplateArgument(const TemplateArgument &TA)
Definition: TextNodeDumper.cpp:877
clang::TextNodeDumper::VisitIndirectFieldDecl
void VisitIndirectFieldDecl(const IndirectFieldDecl *D)
Definition: TextNodeDumper.cpp:1631
clang::TextNodeDumper::VisitObjCEncodeExpr
void VisitObjCEncodeExpr(const ObjCEncodeExpr *Node)
Definition: TextNodeDumper.cpp:1325
clang::BuiltinTemplateDecl
Represents the builtin template declaration which is used to implement __make_integer_seq and other b...
Definition: DeclTemplate.h:1764
clang::TextNodeDumper::VisitStringLiteral
void VisitStringLiteral(const StringLiteral *Str)
Definition: TextNodeDumper.cpp:1100
AttrVisitor.h
clang::TextNodeDumper::VisitConceptSpecializationExpr
void VisitConceptSpecializationExpr(const ConceptSpecializationExpr *Node)
Definition: TextNodeDumper.cpp:1411
clang::TypeAliasTemplateDecl
Declaration of an alias template.
Definition: DeclTemplate.h:2520
clang::TextNodeDumper::VisitObjCIvarRefExpr
void VisitObjCIvarRefExpr(const ObjCIvarRefExpr *Node)
Definition: TextNodeDumper.cpp:1059
clang::TextNodeDumper::VisitGenericSelectionExpr
void VisitGenericSelectionExpr(const GenericSelectionExpr *E)
Definition: TextNodeDumper.cpp:1113
clang::ImplicitCastExpr
ImplicitCastExpr - Allows us to explicitly represent implicit type conversions, which have no direct ...
Definition: Expr.h:3618
clang::TextNodeDumper::VisitDependentSizedArrayType
void VisitDependentSizedArrayType(const DependentSizedArrayType *T)
Definition: TextNodeDumper.cpp:1453
clang::TextNodeDumper::VisitCXXDeleteExpr
void VisitCXXDeleteExpr(const CXXDeleteExpr *Node)
Definition: TextNodeDumper.cpp:1245
clang::MemberExpr
MemberExpr - [C99 6.5.2.3] Structure and Union Members.
Definition: Expr.h:3162
clang::LifetimeExtendedTemporaryDecl
Implicit declaration of a temporary that was materialized by a MaterializeTemporaryExpr and lifetime-...
Definition: DeclCXX.h:3094
clang::TextNodeDumper::dumpAccessSpecifier
void dumpAccessSpecifier(AccessSpecifier AS)
Definition: TextNodeDumper.cpp:709
CommentVisitor.h
clang::TextNodeDumper::VisitObjCBoolLiteralExpr
void VisitObjCBoolLiteralExpr(const ObjCBoolLiteralExpr *Node)
Definition: TextNodeDumper.cpp:1390
clang::ReferenceType
Base for LValueReferenceType and RValueReferenceType.
Definition: Type.h:2751
clang::TextNodeDumper::VisitNonTypeTemplateParmDecl
void VisitNonTypeTemplateParmDecl(const NonTypeTemplateParmDecl *D)
Definition: TextNodeDumper.cpp:2092
clang::TextNodeDumper::VisitObjCProtocolDecl
void VisitObjCProtocolDecl(const ObjCProtocolDecl *D)
Definition: TextNodeDumper.cpp:2260
clang::PragmaDetectMismatchDecl
Represents a #pragma detect_mismatch line.
Definition: Decl.h:174
clang::TextNodeDumper::dumpSourceRange
void dumpSourceRange(SourceRange R)
Definition: TextNodeDumper.cpp:645
clang::APValue
APValue - This class implements a discriminated union of [uninitialized] [APSInt] [APFloat],...
Definition: APValue.h:122
clang::TextNodeDumper::VisitCXXConstructExpr
void VisitCXXConstructExpr(const CXXConstructExpr *Node)
Definition: TextNodeDumper.cpp:1212
clang::TypeAliasDecl
Represents the declaration of a typedef-name via a C++11 alias-declaration.
Definition: Decl.h:3302
clang::comments::CommandTraits
This class provides information about commands that can be used in comments.
Definition: CommentCommandTraits.h:127
clang::VarTemplateDecl
Declaration of a variable template.
Definition: DeclTemplate.h:3079
clang::TextNodeDumper::visitTextComment
void visitTextComment(const comments::TextComment *C, const comments::FullComment *)
Definition: TextNodeDumper.cpp:761
clang::ConstructorUsingShadowDecl
Represents a shadow constructor declaration introduced into a class by a C++11 using-declaration that...
Definition: DeclCXX.h:3465
clang::TextNodeDumper::VisitDeclRefExpr
void VisitDeclRefExpr(const DeclRefExpr *Node)
Definition: TextNodeDumper.cpp:1028
clang::TextNodeDumper::dumpCleanupObject
void dumpCleanupObject(const ExprWithCleanups::CleanupObject &C)
Definition: TextNodeDumper.cpp:716
clang::TextNodeDumper::VisitOMPCapturedExprDecl
void VisitOMPCapturedExprDecl(const OMPCapturedExprDecl *D)
Definition: TextNodeDumper.cpp:1880
clang::CXXCtorInitializer
Represents a C++ base or member initializer.
Definition: DeclCXX.h:2172
clang::BlockDecl::Capture
A class which contains all the information about a particular captured value.
Definition: Decl.h:4159
clang::TextNodeDumper::VisitCXXNewExpr
void VisitCXXNewExpr(const CXXNewExpr *Node)
Definition: TextNodeDumper.cpp:1232
clang::TextNodeDumper::VisitPredefinedExpr
void VisitPredefinedExpr(const PredefinedExpr *Node)
Definition: TextNodeDumper.cpp:1075
clang::TextNodeDumper::VisitUsingShadowDecl
void VisitUsingShadowDecl(const UsingShadowDecl *D)
Definition: TextNodeDumper.cpp:2138
clang::CastExpr
CastExpr - Base class for type casts, including both implicit casts (ImplicitCastExpr) and explicit c...
Definition: Expr.h:3473
clang::DependentSizedExtVectorType
Represents an extended vector type where either the type or size is dependent.
Definition: Type.h:3189
CommentCommandTraits.h
clang::comments::ConstCommentVisitor
Definition: CommentVisitor.h:62
clang::TextNodeDumper::VisitTemplateSpecializationType
void VisitTemplateSpecializationType(const TemplateSpecializationType *T)
Definition: TextNodeDumper.cpp:1572
clang::TextNodeDumper::VisitCompoundAssignOperator
void VisitCompoundAssignOperator(const CompoundAssignOperator *Node)
Definition: TextNodeDumper.cpp:1157
clang::DeclRefExpr
A reference to a declared variable, function, enum, etc.
Definition: Expr.h:1217
clang::NamespaceDecl
Represent a C++ namespace.
Definition: Decl.h:542
clang::TextNodeDumper::VisitFieldDecl
void VisitFieldDecl(const FieldDecl *D)
Definition: TextNodeDumper.cpp:1720
clang::FunctionDecl
Represents a function declaration or definition.
Definition: Decl.h:1856
clang::RecordDecl
Represents a struct/union/class.
Definition: Decl.h:3859
clang::TextNodeDumper::VisitDeclarationTemplateArgument
void VisitDeclarationTemplateArgument(const TemplateArgument &TA)
Definition: TextNodeDumper.cpp:886
clang::CallExpr
CallExpr - Represents a function call (C99 6.5.2.2, C++ [expr.call]).
Definition: Expr.h:2795
clang::TextNodeDumper::VisitCXXDependentScopeMemberExpr
void VisitCXXDependentScopeMemberExpr(const CXXDependentScopeMemberExpr *Node)
Definition: TextNodeDumper.cpp:1286
clang::TextNodeDumper::Visit
void Visit(const comments::Comment *C, const comments::FullComment *FC)
Definition: TextNodeDumper.cpp:70
clang::TextNodeDumper::VisitCXXNamedCastExpr
void VisitCXXNamedCastExpr(const CXXNamedCastExpr *Node)
Definition: TextNodeDumper.cpp:1173
clang::CXXOperatorCallExpr
A call to an overloaded operator written using operator syntax.
Definition: ExprCXX.h:82
clang::ObjCInterfaceType
Interfaces are the core concept in Objective-C for object oriented design.
Definition: Type.h:6016
clang::TextNodeDumper::VisitCaseStmt
void VisitCaseStmt(const CaseStmt *Node)
Definition: TextNodeDumper.cpp:984
clang::TextNodeDumper::VisitObjCIvarDecl
void VisitObjCIvarDecl(const ObjCIvarDecl *D)
Definition: TextNodeDumper.cpp:2189
clang::TextTreeStructure
Definition: TextNodeDumper.h:33
clang::TextNodeDumper::VisitConstantArrayType
void VisitConstantArrayType(const ConstantArrayType *T)
Definition: TextNodeDumper.cpp:1442
clang::CXXConstructExpr
Represents a call to a C++ constructor.
Definition: ExprCXX.h:1460
clang::TextNodeDumper::VisitBuiltinTemplateDecl
void VisitBuiltinTemplateDecl(const BuiltinTemplateDecl *D)
Definition: TextNodeDumper.cpp:2069
clang::ObjCIvarRefExpr
ObjCIvarRefExpr - A reference to an ObjC instance variable.
Definition: ExprObjC.h:548
clang::TextNodeDumper::VisitArrayType
void VisitArrayType(const ArrayType *T)
Definition: TextNodeDumper.cpp:1428
clang::TextNodeDumper::VisitFunctionType
void VisitFunctionType(const FunctionType *T)
Definition: TextNodeDumper.cpp:1495
clang::TextNodeDumper::VisitTypeAliasDecl
void VisitTypeAliasDecl(const TypeAliasDecl *D)
Definition: TextNodeDumper.cpp:1903
clang::SYCLUniqueStableNameExpr
Definition: Expr.h:2050
clang::TextNodeDumper::VisitArrayTypeTraitExpr
void VisitArrayTypeTraitExpr(const ArrayTypeTraitExpr *Node)
Definition: TextNodeDumper.cpp:1260
clang::TextNodeDumper::VisitTagType
void VisitTagType(const TagType *T)
Definition: TextNodeDumper.cpp:1549
clang::TextNodeDumper::VisitUnresolvedUsingValueDecl
void VisitUnresolvedUsingValueDecl(const UnresolvedUsingValueDecl *D)
Definition: TextNodeDumper.cpp:2129