|
clang 23.0.0git
|
#include "clang/AST/ASTConcept.h"#include "clang/AST/Attr.h"#include "clang/AST/Decl.h"#include "clang/AST/DeclBase.h"#include "clang/AST/DeclCXX.h"#include "clang/AST/DeclFriend.h"#include "clang/AST/DeclObjC.h"#include "clang/AST/DeclOpenACC.h"#include "clang/AST/DeclOpenMP.h"#include "clang/AST/DeclTemplate.h"#include "clang/AST/DeclarationName.h"#include "clang/AST/Expr.h"#include "clang/AST/ExprCXX.h"#include "clang/AST/ExprConcepts.h"#include "clang/AST/ExprObjC.h"#include "clang/AST/ExprOpenMP.h"#include "clang/AST/LambdaCapture.h"#include "clang/AST/NestedNameSpecifier.h"#include "clang/AST/OpenACCClause.h"#include "clang/AST/OpenMPClause.h"#include "clang/AST/Stmt.h"#include "clang/AST/StmtCXX.h"#include "clang/AST/StmtObjC.h"#include "clang/AST/StmtOpenACC.h"#include "clang/AST/StmtOpenMP.h"#include "clang/AST/StmtSYCL.h"#include "clang/AST/TemplateBase.h"#include "clang/AST/TemplateName.h"#include "clang/AST/Type.h"#include "clang/AST/TypeLoc.h"#include "clang/Basic/LLVM.h"#include "clang/Basic/OpenMPKinds.h"#include "clang/Basic/Specifiers.h"#include "llvm/ADT/PointerIntPair.h"#include "llvm/ADT/SmallVector.h"#include "llvm/Support/Casting.h"#include <algorithm>#include <cstddef>#include <type_traits>#include "clang/AST/AttrVisitor.inc"#include "clang/AST/StmtNodes.inc"#include "clang/AST/TypeNodes.inc"#include "clang/AST/TypeLocNodes.def"#include "clang/AST/DeclNodes.inc"#include "llvm/Frontend/OpenMP/OMP.inc"Go to the source code of this file.
Classes | |
| struct | clang::detail::has_same_member_pointer_type< T, U > |
| struct | clang::detail::has_same_member_pointer_type< R(T::*)(P...), R(U::*)(P...)> |
| class | clang::RecursiveASTVisitor< Derived > |
| A class that does preorder or postorder depth-first traversal on the entire Clang AST and visits each node. More... | |
Namespaces | |
| namespace | clang |
| The JSON file list parser is used to communicate input to InstallAPI. | |
| namespace | clang::detail |
Macros | |
| #define | TRY_TO(CALL_EXPR) |
| #define | ATTR_VISITOR_DECLS_ONLY |
| #define | TRAVERSE_STMT_BASE(NAME, CLASS, VAR, QUEUE) |
| #define | TRY_TO_TRAVERSE_OR_ENQUEUE_STMT(S) |
| #define | ABSTRACT_STMT(STMT) |
| #define | STMT(CLASS, PARENT) |
| #define | STMT(CLASS, PARENT) |
| #define | ABSTRACT_TYPE(CLASS, BASE) |
| #define | TYPE(CLASS, BASE) |
| #define | TYPE(CLASS, BASE) |
| #define | ABSTRACT_TYPELOC(CLASS, BASE) |
| #define | TYPELOC(CLASS, BASE) |
| #define | TYPE(CLASS, BASE) |
| #define | ABSTRACT_DECL(DECL) |
| #define | DECL(CLASS, BASE) |
| #define | DECL(CLASS, BASE) |
| #define | DEF_TRAVERSE_TMPL_INST(TMPLDECLKIND) |
| #define | GEN_CLANG_CLAUSE_CLASS |
| #define | CLAUSE_CLASS(Enum, Str, Class) |
| #define | ABSTRACT_STMT(STMT) |
| #define | STMT(CLASS, PARENT) |
| #define | ABSTRACT_STMT(STMT) |
| #define | STMT(CLASS, PARENT) |
| #define | INITLISTEXPR(CLASS, PARENT) |
| #define | ABSTRACT_TYPE(CLASS, BASE) |
| #define | TYPE(CLASS, BASE) |
| #define | ABSTRACT_TYPELOC(CLASS, BASE) |
| #define | TYPELOC(CLASS, BASE) |
| #define | VISITORCLASS RecursiveASTVisitor |
| #define | ABSTRACT_DECL(DECL) |
| #define | DECL(CLASS, BASE) |
| #define | DEF_TRAVERSE_TYPE(TYPE, CODE) |
| #define | DEF_TRAVERSE_TYPELOC(TYPE, CODE) |
| #define | DEF_TRAVERSE_DECL(DECL, CODE) |
| #define | DEF_TRAVERSE_TMPL_DECL(TMPLDECLKIND) |
| #define | DEF_TRAVERSE_TMPL_SPEC_DECL(TMPLDECLKIND, DECLKIND) |
| #define | DEF_TRAVERSE_TMPL_PART_SPEC_DECL(TMPLDECLKIND, DECLKIND) |
| #define | DEF_TRAVERSE_STMT(STMT, CODE) |
| #define | GEN_CLANG_CLAUSE_CLASS |
| #define | CLAUSE_CLASS(Enum, Str, Class) |
| #define | CLAUSE_NO_CLASS(Enum, Str) |
Functions | |
| template<typename FirstMethodPtrTy, typename SecondMethodPtrTy> | |
| LLVM_ATTRIBUTE_ALWAYS_INLINE LLVM_ATTRIBUTE_NODEBUG auto | clang::detail::isSameMethod (FirstMethodPtrTy FirstMethodPtr, SecondMethodPtrTy SecondMethodPtr) -> bool |
Returns true if and only if FirstMethodPtr and SecondMethodPtr are pointers to the same non-static member function. | |
| clang::DEF_TRAVERSE_TYPE (ComplexType, { TRY_TO(TraverseType(T->getElementType()));}) DEF_TRAVERSE_TYPE(PointerType | |
| clang::DEF_TRAVERSE_TYPE (BlockPointerType, { TRY_TO(TraverseType(T->getPointeeType()));}) DEF_TRAVERSE_TYPE(LValueReferenceType | |
| clang::DEF_TRAVERSE_TYPE (RValueReferenceType, { TRY_TO(TraverseType(T->getPointeeType()));}) DEF_TRAVERSE_TYPE(MemberPointerType | |
| clang::TRY_TO (TraverseNestedNameSpecifier(Qualifier)) | |
| clang::TRY_TO (TraverseType(T->getPointeeType())) | |
| clang::DEF_TRAVERSE_TYPE (AdjustedType, { TRY_TO(TraverseType(T->getOriginalType()));}) DEF_TRAVERSE_TYPE(DecayedType | |
| clang::DEF_TRAVERSE_TYPE (ConstantArrayType, { TRY_TO(TraverseType(T->getElementType()));if(T->getSizeExpr()) TRY_TO(TraverseStmt(const_cast< Expr * >(T->getSizeExpr())));}) DEF_TRAVERSE_TYPE(ArrayParameterType | |
| clang::if (T->getSizeExpr()) TRY_TO(TraverseStmt(const_cast< Expr * >(T -> getSizeExpr()))) | |
| clang::DEF_TRAVERSE_TYPE (IncompleteArrayType, { TRY_TO(TraverseType(T->getElementType()));}) DEF_TRAVERSE_TYPE(VariableArrayType | |
| clang::TRY_TO (TraverseStmt(T->getSizeExpr())) | |
| clang::DEF_TRAVERSE_TYPE (DependentSizedArrayType, { TRY_TO(TraverseType(T->getElementType()));if(T->getSizeExpr()) TRY_TO(TraverseStmt(T->getSizeExpr()));}) DEF_TRAVERSE_TYPE(DependentAddressSpaceType | |
| clang::DEF_TRAVERSE_TYPE (DependentVectorType, { if(T->getSizeExpr()) TRY_TO(TraverseStmt(T->getSizeExpr()));TRY_TO(TraverseType(T->getElementType()));}) DEF_TRAVERSE_TYPE(DependentSizedExtVectorType | |
| clang::TRY_TO (TraverseType(T->getElementType())) | |
| clang::DEF_TRAVERSE_TYPE (VectorType, { TRY_TO(TraverseType(T->getElementType()));}) DEF_TRAVERSE_TYPE(ExtVectorType | |
| clang::DEF_TRAVERSE_TYPE (ConstantMatrixType, { TRY_TO(TraverseType(T->getElementType()));}) DEF_TRAVERSE_TYPE(DependentSizedMatrixType | |
| clang::DEF_TRAVERSE_TYPE (FunctionNoProtoType, { TRY_TO(TraverseType(T->getReturnType()));}) DEF_TRAVERSE_TYPE(FunctionProtoType | |
| clang::for (const auto &A :T->param_types()) | |
| clang::for (const auto &E :T->exceptions()) | |
| clang::if (Expr *NE=T->getNoexceptExpr()) TRY_TO(TraverseStmt(NE)) | |
| clang::DEF_TRAVERSE_TYPE (UsingType, { if(TraverseQualifier) TRY_TO(TraverseNestedNameSpecifier(T->getQualifier()));}) DEF_TRAVERSE_TYPE(UnresolvedUsingType | |
| clang::DEF_TRAVERSE_TYPE (TypedefType, { if(TraverseQualifier) TRY_TO(TraverseNestedNameSpecifier(T->getQualifier()));}) DEF_TRAVERSE_TYPE(TypeOfExprType | |
| clang::DEF_TRAVERSE_TYPE (TypeOfType, { TRY_TO(TraverseType(T->getUnmodifiedType()));}) DEF_TRAVERSE_TYPE(DecltypeType | |
| clang::DEF_TRAVERSE_TYPE (PackIndexingType, { TRY_TO(TraverseType(T->getPattern()));TRY_TO(TraverseStmt(T->getIndexExpr()));}) DEF_TRAVERSE_TYPE(UnaryTransformType | |
| clang::TRY_TO (TraverseType(T->getUnderlyingType())) | |
| clang::DEF_TRAVERSE_TYPE (AutoType, { TRY_TO(TraverseType(T->getDeducedType()));if(T->isConstrained()) { TRY_TO(TraverseTemplateArguments(T->getTypeConstraintArguments()));} }) DEF_TRAVERSE_TYPE(SubstTemplateTypeParmType | |
| clang::DEF_TRAVERSE_TYPE (SubstTemplateTypeParmPackType, { TRY_TO(TraverseSubstPackTypeHelper(T));}) DEF_TRAVERSE_TYPE(SubstBuiltinTemplatePackType | |
| clang::DEF_TRAVERSE_TYPE (AttributedType, { TRY_TO(TraverseType(T->getModifiedType()));}) DEF_TRAVERSE_TYPE(CountAttributedType | |
| clang::TRY_TO (TraverseType(T->desugar())) | |
| clang::DEF_TRAVERSE_TYPE (BTFTagAttributedType, { TRY_TO(TraverseType(T->getWrappedType()));}) DEF_TRAVERSE_TYPE(OverflowBehaviorType | |
| clang::DEF_TRAVERSE_TYPE (HLSLAttributedResourceType, { TRY_TO(TraverseType(T->getWrappedType()));}) DEF_TRAVERSE_TYPE(HLSLInlineSpirvType | |
| #define ABSTRACT_DECL | ( | DECL | ) |
Definition at line 447 of file RecursiveASTVisitor.h.
| #define ABSTRACT_DECL | ( | DECL | ) |
Definition at line 447 of file RecursiveASTVisitor.h.
| #define ABSTRACT_STMT | ( | STMT | ) |
Definition at line 369 of file RecursiveASTVisitor.h.
| #define ABSTRACT_STMT | ( | STMT | ) |
Definition at line 369 of file RecursiveASTVisitor.h.
| #define ABSTRACT_STMT | ( | STMT | ) |
Definition at line 369 of file RecursiveASTVisitor.h.
| #define ABSTRACT_TYPE | ( | CLASS, | |
| BASE ) |
Definition at line 391 of file RecursiveASTVisitor.h.
| #define ABSTRACT_TYPE | ( | CLASS, | |
| BASE ) |
Definition at line 391 of file RecursiveASTVisitor.h.
| #define ABSTRACT_TYPELOC | ( | CLASS, | |
| BASE ) |
Definition at line 413 of file RecursiveASTVisitor.h.
| #define ABSTRACT_TYPELOC | ( | CLASS, | |
| BASE ) |
Definition at line 413 of file RecursiveASTVisitor.h.
| #define ATTR_VISITOR_DECLS_ONLY |
Definition at line 332 of file RecursiveASTVisitor.h.
| #define CLAUSE_CLASS | ( | Enum, | |
| Str, | |||
| Class ) |
Definition at line 509 of file RecursiveASTVisitor.h.
| #define CLAUSE_CLASS | ( | Enum, | |
| Str, | |||
| Class ) |
Definition at line 509 of file RecursiveASTVisitor.h.
| #define CLAUSE_NO_CLASS | ( | Enum, | |
| Str ) |
| #define DECL | ( | CLASS, | |
| BASE ) |
Definition at line 448 of file RecursiveASTVisitor.h.
| #define DECL | ( | CLASS, | |
| BASE ) |
Definition at line 448 of file RecursiveASTVisitor.h.
| #define DECL | ( | CLASS, | |
| BASE ) |
Definition at line 448 of file RecursiveASTVisitor.h.
| #define DEF_TRAVERSE_DECL | ( | DECL, | |
| CODE ) |
| #define DEF_TRAVERSE_STMT | ( | STMT, | |
| CODE ) |
| #define DEF_TRAVERSE_TMPL_DECL | ( | TMPLDECLKIND | ) |
| #define DEF_TRAVERSE_TMPL_INST | ( | TMPLDECLKIND | ) |
Definition at line 466 of file RecursiveASTVisitor.h.
| #define DEF_TRAVERSE_TMPL_PART_SPEC_DECL | ( | TMPLDECLKIND, | |
| DECLKIND ) |
| #define DEF_TRAVERSE_TMPL_SPEC_DECL | ( | TMPLDECLKIND, | |
| DECLKIND ) |
| #define DEF_TRAVERSE_TYPE | ( | TYPE, | |
| CODE ) |
Definition at line 983 of file RecursiveASTVisitor.h.
| #define DEF_TRAVERSE_TYPELOC | ( | TYPE, | |
| CODE ) |
| #define GEN_CLANG_CLAUSE_CLASS |
Definition at line 508 of file RecursiveASTVisitor.h.
| #define GEN_CLANG_CLAUSE_CLASS |
Definition at line 508 of file RecursiveASTVisitor.h.
| #define INITLISTEXPR | ( | CLASS, | |
| PARENT ) |
| #define STMT | ( | CLASS, | |
| PARENT ) |
Definition at line 370 of file RecursiveASTVisitor.h.
| #define STMT | ( | CLASS, | |
| PARENT ) |
Definition at line 370 of file RecursiveASTVisitor.h.
| #define STMT | ( | CLASS, | |
| PARENT ) |
Definition at line 370 of file RecursiveASTVisitor.h.
| #define STMT | ( | CLASS, | |
| PARENT ) |
Definition at line 370 of file RecursiveASTVisitor.h.
| #define TRAVERSE_STMT_BASE | ( | NAME, | |
| CLASS, | |||
| VAR, | |||
| QUEUE ) |
Definition at line 346 of file RecursiveASTVisitor.h.
| #define TRY_TO | ( | CALL_EXPR | ) |
Definition at line 62 of file RecursiveASTVisitor.h.
Referenced by clang::DEF_TRAVERSE_TYPE(), clang::DEF_TRAVERSE_TYPE(), clang::DEF_TRAVERSE_TYPE(), clang::DEF_TRAVERSE_TYPE(), clang::DEF_TRAVERSE_TYPE(), clang::DEF_TRAVERSE_TYPE(), clang::DEF_TRAVERSE_TYPE(), clang::DEF_TRAVERSE_TYPE(), clang::DEF_TRAVERSE_TYPE(), clang::DEF_TRAVERSE_TYPE(), clang::DEF_TRAVERSE_TYPE(), clang::DEF_TRAVERSE_TYPE(), clang::DEF_TRAVERSE_TYPE(), clang::DEF_TRAVERSE_TYPE(), clang::DEF_TRAVERSE_TYPE(), clang::DEF_TRAVERSE_TYPE(), clang::DEF_TRAVERSE_TYPE(), clang::DEF_TRAVERSE_TYPE(), clang::DEF_TRAVERSE_TYPE(), clang::DEF_TRAVERSE_TYPE(), clang::for(), clang::for(), clang::extractapi::APISetVisitor< SymbolGraphSerializer >::getDerived(), clang::extractapi::APISetVisitor< SymbolGraphSerializer >::traverseAPISet(), clang::RecursiveASTVisitor< Derived >::TraverseConceptExprRequirement(), clang::RecursiveASTVisitor< Derived >::TraverseConstructorInitializer(), clang::RecursiveASTVisitor< Derived >::TraverseDeclarationNameInfo(), clang::RecursiveASTVisitor< Derived >::TraverseLambdaCapture(), clang::RecursiveASTVisitor< Derived >::TraverseNestedNameSpecifier(), clang::RecursiveASTVisitor< Derived >::TraverseNestedNameSpecifierLoc(), clang::RecursiveASTVisitor< Derived >::TraverseStmt(), clang::RecursiveASTVisitor< Derived >::TraverseTemplateArgumentLoc(), clang::RecursiveASTVisitor< Derived >::TraverseTemplateArguments(), clang::RecursiveASTVisitor< Derived >::TraverseTemplateName(), clang::RecursiveASTVisitor< Derived >::TraverseTypeConstraint(), and clang::extractapi::APISetVisitor< SymbolGraphSerializer >::walkUpFromAPIRecord().
| #define TRY_TO_TRAVERSE_OR_ENQUEUE_STMT | ( | S | ) |
Definition at line 361 of file RecursiveASTVisitor.h.
| #define TYPE | ( | CLASS, | |
| BASE ) |
Definition at line 392 of file RecursiveASTVisitor.h.
| #define TYPE | ( | CLASS, | |
| BASE ) |
Definition at line 392 of file RecursiveASTVisitor.h.
| #define TYPE | ( | CLASS, | |
| BASE ) |
Definition at line 392 of file RecursiveASTVisitor.h.
| #define TYPE | ( | CLASS, | |
| BASE ) |
Definition at line 392 of file RecursiveASTVisitor.h.
| #define TYPELOC | ( | CLASS, | |
| BASE ) |
Definition at line 414 of file RecursiveASTVisitor.h.
| #define TYPELOC | ( | CLASS, | |
| BASE ) |
Definition at line 414 of file RecursiveASTVisitor.h.
| #define VISITORCLASS RecursiveASTVisitor |
Definition at line 744 of file RecursiveASTVisitor.h.