13#ifndef LLVM_CLANG_INSTALLAPI_VISITOR_H
14#define LLVM_CLANG_INSTALLAPI_VISITOR_H
21#include "llvm/ADT/Twine.h"
33 : Ctx(Ctx), SrcMgr(SrcMgr), PP(PP),
35 Layout(ASTCtx.getTargetInfo().getDataLayoutString()) {}
60 std::string getMangledName(
const NamedDecl *D)
const;
61 std::string getBackendMangledName(llvm::Twine Name)
const;
62 std::string getMangledCXXVTableName(
const CXXRecordDecl *D)
const;
64 bool ElideOverrideInfo)
const;
66 std::string getMangledCXXRTTIName(
const CXXRecordDecl *D)
const;
69 std::optional<HeaderType> getAccessForDecl(
const NamedDecl *D)
const;
70 void recordObjCInstanceVariables(
73 const llvm::iterator_range<
77 const HeaderType Access,
bool EmittedVTable =
false);
82 std::unique_ptr<clang::ItaniumMangleContext> MC;
llvm::MachO::Record Record
Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...
Represents a static or instance method of a struct/union/class.
Represents a C++ struct/union/class.
specific_decl_iterator - Iterates over a subrange of declarations stored in a DeclContext,...
Represents a function declaration or definition.
GlobalDecl - represents a global declaration.
This represents a decl that may have a name.
ObjCCategoryDecl - Represents a category declaration.
Represents an ObjC class declaration.
Engages in a tight little dance with the lexer to efficiently preprocess tokens.
A class that does preorder or postorder depth-first traversal on the entire Clang AST and visits each...
This class handles loading and caching of source files into memory.
The base class of the type hierarchy.
Represents a variable declaration or definition.
bool shouldVisitTemplateInstantiations() const
void HandleTranslationUnit(ASTContext &ASTCtx) override
HandleTranslationUnit - This method is called when the ASTs for entire translation unit have been par...
bool VisitCXXRecordDecl(const CXXRecordDecl *D)
Collect global c++ declarations.
bool VisitFunctionDecl(const FunctionDecl *D)
Collect global functions.
bool VisitVarDecl(const VarDecl *D)
Collect global variables.
bool VisitObjCCategoryDecl(const ObjCCategoryDecl *D)
Collect Objective-C Category/Extension declarations.
InstallAPIVisitor(ASTContext &ASTCtx, InstallAPIContext &Ctx, SourceManager &SrcMgr, Preprocessor &PP)
bool VisitObjCInterfaceDecl(const ObjCInterfaceDecl *D)
Collect Objective-C Interface declarations.
Defines the clang::TargetInfo interface.
Public enums and private classes that are part of the SourceManager implementation.
The DirectoryScanner for collecting library files on the file system.
The JSON file list parser is used to communicate input to InstallAPI.
Storage of availability attributes for a declaration.
The this pointer adjustment as well as an optional return adjustment for a thunk.
Struct used for generating validating InstallAPI.