35 const llvm::DataLayout &DL;
36 llvm::abi::TypeBuilder Builder;
38 llvm::DenseMap<QualType, const llvm::abi::Type *> TypeCache;
40 const llvm::abi::Type *convertTypeImpl(
QualType QT);
45 const llvm::abi::Type *convertRecordType(
const clang::RecordType *RT);
46 const llvm::abi::Type *convertEnumType(
const clang::EnumType *ET);
47 const llvm::abi::Type *convertComplexType(
const ComplexType *CT);
48 const llvm::abi::Type *
54 const llvm::abi::Type *createPointerTypeForPointee(
QualType PointeeType);
55 const llvm::abi::RecordType *convertCXXRecordType(
const CXXRecordDecl *RD);
63 uint64_t getPointerSize()
const;
64 uint64_t getPointerAlign()
const;
68 llvm::BumpPtrAllocator &Alloc)
69 : ASTCtx(Ctx), DL(DL), Builder(Alloc) {}
Defines the clang::ASTContext interface.
Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...