Lines Matching defs:ASTContext
1 //===- ASTContext.cpp - Context to hold long-lived AST nodes --------------===//
9 // This file implements the ASTContext interface.
13 #include "clang/AST/ASTContext.h"
200 RawComment *ASTContext::getRawCommentForDeclNoCacheImpl(
278 RawComment *ASTContext::getRawCommentForDeclNoCache(const Decl *D) const {
302 void ASTContext::addComment(const RawComment &RC) {
378 const RawComment *ASTContext::getRawCommentForAnyRedecl(
449 void ASTContext::cacheRawCommentForDecl(const Decl &OriginalD,
475 void ASTContext::attachCommentsToJustParsedDecls(ArrayRef<Decl *> Decls,
531 comments::FullComment *ASTContext::cloneFullComment(comments::FullComment *FC,
546 comments::FullComment *ASTContext::getLocalCommentForDeclUncached(const Decl *D) const {
551 comments::FullComment *ASTContext::getCommentForDecl(
659 ASTContext::CanonicalTemplateTemplateParm::Profile(llvm::FoldingSetNodeID &ID,
660 const ASTContext &C,
714 canonicalizeImmediatelyDeclaredConstraint(const ASTContext &C, Expr *IDC,
765 ASTContext::getCanonicalTemplateTemplateParmDecl(
883 TargetCXXABI::Kind ASTContext::getCXXABIKind() const {
888 CXXABI *ASTContext::createCXXABI(const TargetInfo &T) {
909 interp::Context &ASTContext::getInterpContext() {
916 ParentMapContext &ASTContext::getParentMapContext() {
967 ASTContext::ASTContext(LangOptions &LOpts, SourceManager &SM,
988 ASTContext::~ASTContext() {
1022 void ASTContext::setTraversalScope(const std::vector<Decl *> &TopLevelDecls) {
1027 void ASTContext::AddDeallocation(void (*Callback)(void *), void *Data) const {
1032 ASTContext::setExternalSource(IntrusiveRefCntPtr<ExternalASTSource> Source) {
1036 void ASTContext::PrintStats() const {
1097 void ASTContext::mergeDefinitionIntoModule(NamedDecl *ND, Module *M,
1106 void ASTContext::deduplicateMergedDefinitonsFor(NamedDecl *ND) {
1120 ASTContext::getModulesWithMergedDefinition(const NamedDecl *Def) {
1128 void ASTContext::PerModuleInitializers::resolve(ASTContext &Ctx) {
1145 void ASTContext::addModuleInitializer(Module *M, Decl *D) {
1171 void ASTContext::addLazyModuleInitializers(Module *M, ArrayRef<uint32_t> IDs) {
1179 ArrayRef<Decl *> ASTContext::getModuleInitializers(Module *M) {
1189 ExternCContextDecl *ASTContext::getExternCContextDecl() const {
1197 ASTContext::buildBuiltinTemplateDecl(BuiltinTemplateKind BTK,
1207 ASTContext::getMakeIntegerSeqDecl() const {
1215 ASTContext::getTypePackElementDecl() const {
1222 RecordDecl *ASTContext::buildImplicitRecord(StringRef Name,
1234 const_cast<ASTContext &>(*this), TypeVisibilityAttr::Default));
1238 TypedefDecl *ASTContext::buildImplicitTypedef(QualType T,
1242 const_cast<ASTContext &>(*this), getTranslationUnitDecl(),
1248 TypedefDecl *ASTContext::getInt128Decl() const {
1254 TypedefDecl *ASTContext::getUInt128Decl() const {
1260 void ASTContext::InitBuiltinType(CanQualType &R, BuiltinType::Kind K) {
1266 void ASTContext::InitBuiltinTypes(const TargetInfo &Target,
1492 DiagnosticsEngine &ASTContext::getDiagnostics() const {
1496 AttrVec& ASTContext::getDeclAttrs(const Decl *D) {
1507 void ASTContext::eraseDeclAttrs(const Decl *D) {
1517 ASTContext::getInstantiatedFromStaticDataMember(const VarDecl *Var) {
1523 ASTContext::TemplateOrSpecializationInfo
1524 ASTContext::getTemplateOrSpecializationInfo(const VarDecl *Var) {
1534 ASTContext::setInstantiatedFromStaticDataMember(VarDecl *Inst, VarDecl *Tmpl,
1544 ASTContext::setTemplateOrSpecializationInfo(VarDecl *Inst,
1552 ASTContext::getInstantiatedFromUsingDecl(NamedDecl *UUD) {
1561 ASTContext::setInstantiatedFromUsingDecl(NamedDecl *Inst, NamedDecl *Pattern) {
1575 ASTContext::getInstantiatedFromUsingShadowDecl(UsingShadowDecl *Inst) {
1585 ASTContext::setInstantiatedFromUsingShadowDecl(UsingShadowDecl *Inst,
1591 FieldDecl *ASTContext::getInstantiatedFromUnnamedFieldDecl(FieldDecl *Field) {
1600 void ASTContext::setInstantiatedFromUnnamedFieldDecl(FieldDecl *Inst,
1610 ASTContext::overridden_cxx_method_iterator
1611 ASTContext::overridden_methods_begin(const CXXMethodDecl *Method) const {
1615 ASTContext::overridden_cxx_method_iterator
1616 ASTContext::overridden_methods_end(const CXXMethodDecl *Method) const {
1621 ASTContext::overridden_methods_size(const CXXMethodDecl *Method) const {
1626 ASTContext::overridden_method_range
1627 ASTContext::overridden_methods(const CXXMethodDecl *Method) const {
1635 void ASTContext::addOverriddenMethod(const CXXMethodDecl *Method,
1641 void ASTContext::getOverriddenMethods(
1661 void ASTContext::addedLocalImportDecl(ImportDecl *Import) {
1681 const llvm::fltSemantics &ASTContext::getFloatTypeSemantics(QualType T) const {
1703 CharUnits ASTContext::getDeclAlign(const Decl *D, bool ForAlignof) const {
1806 CharUnits ASTContext::getExnObjectAlignment() const {
1814 TypeInfoChars ASTContext::getTypeInfoDataSizeInChars(QualType T) const {
1833 static getConstantArrayInfoInChars(const ASTContext &Context,
1850 TypeInfoChars ASTContext::getTypeInfoInChars(const Type *T) const {
1859 TypeInfoChars ASTContext::getTypeInfoInChars(QualType T) const {
1863 bool ASTContext::isAlignmentRequired(const Type *T) const {
1867 bool ASTContext::isAlignmentRequired(QualType T) const {
1871 unsigned ASTContext::getTypeAlignIfKnown(QualType T,
1896 TypeInfo ASTContext::getTypeInfo(const Type *T) const {
1913 TypeInfo ASTContext::getTypeInfoImpl(const Type *T) const {
2383 unsigned ASTContext::getTypeUnadjustedAlign(const Type *T) const {
2404 unsigned ASTContext::getOpenMPDefaultSimdAlign(QualType T) const {
2410 CharUnits ASTContext::toCharUnitsFromBits(int64_t BitSize) const {
2415 int64_t ASTContext::toBits(CharUnits CharSize) const {
2421 CharUnits ASTContext::getTypeSizeInChars(QualType T) const {
2424 CharUnits ASTContext::getTypeSizeInChars(const Type *T) const {
2430 CharUnits ASTContext::getTypeAlignInChars(QualType T) const {
2433 CharUnits ASTContext::getTypeAlignInChars(const Type *T) const {
2440 CharUnits ASTContext::getTypeUnadjustedAlignInChars(QualType T) const {
2443 CharUnits ASTContext::getTypeUnadjustedAlignInChars(const Type *T) const {
2452 unsigned ASTContext::getPreferredTypeAlign(const Type *T) const {
2499 unsigned ASTContext::getTargetDefaultAlignForAttributeAligned() const {
2505 unsigned ASTContext::getAlignOfGlobalVar(QualType T) const {
2513 CharUnits ASTContext::getAlignOfGlobalVarInChars(QualType T) const {
2517 CharUnits ASTContext::getOffsetOfBaseWithVBPtr(const CXXRecordDecl *RD) const {
2527 CharUnits ASTContext::getMemberPointerPathAdjustment(const APValue &MP) const {
2551 void ASTContext::DeepCollectObjCIvars(const ObjCInterfaceDecl *OI,
2569 void ASTContext::CollectInheritedProtocols(const Decl *CDecl,
2602 static bool unionHasUniqueObjectRepresentations(const ASTContext &Context,
2630 structHasUniqueObjectRepresentations(const ASTContext &Context,
2695 bool ASTContext::hasUniqueObjectRepresentations(QualType Ty) const {
2766 unsigned ASTContext::CountNonClassIvars(const ObjCInterfaceDecl *OI) const {
2780 bool ASTContext::isSentinelNullExpr(const Expr *E) {
2800 ObjCImplementationDecl *ASTContext::getObjCImplementation(ObjCInterfaceDecl *D) {
2810 ObjCCategoryImplDecl *ASTContext::getObjCImplementation(ObjCCategoryDecl *D) {
2819 void ASTContext::setObjCImplementation(ObjCInterfaceDecl *IFaceD,
2826 void ASTContext::setObjCImplementation(ObjCCategoryDecl *CatD,
2833 ASTContext::getObjCMethodRedeclaration(const ObjCMethodDecl *MD) const {
2837 void ASTContext::setObjCMethodRedeclaration(const ObjCMethodDecl *MD,
2843 const ObjCInterfaceDecl *ASTContext::getObjContainingInterface(
2857 BlockVarCopyInit ASTContext::getBlockVarCopyInit(const VarDecl *VD) const {
2868 void ASTContext::setBlockVarCopyInit(const VarDecl*VD, Expr *CopyExpr,
2876 TypeSourceInfo *ASTContext::CreateTypeSourceInfo(QualType T,
2890 TypeSourceInfo *ASTContext::getTrivialTypeSourceInfo(QualType T,
2893 DI->getTypeLoc().initialize(const_cast<ASTContext &>(*this), L);
2898 ASTContext::getASTObjCInterfaceLayout(const ObjCInterfaceDecl *D) const {
2903 ASTContext::getASTObjCImplementationLayout(
2913 ASTContext::getExtQualType(const Type *baseType, Qualifiers quals) const {
2942 QualType ASTContext::getAddrSpaceQualType(QualType T,
2962 QualType ASTContext::removeAddrSpaceQualType(QualType T) const {
2996 QualType ASTContext::getObjCGCQualType(QualType T,
3024 QualType ASTContext::removePtrSizeAddrSpace(QualType T) const {
3034 const FunctionType *ASTContext::adjustFunctionType(const FunctionType *T,
3052 void ASTContext::adjustDeducedFunctionResultType(FunctionDecl *FD,
3072 QualType ASTContext::getFunctionTypeWithExceptionSpec(
3100 bool ASTContext::hasSameFunctionTypeIgnoringExceptionSpec(QualType T,
3108 QualType ASTContext::getFunctionTypeWithoutPtrSizes(QualType T) {
3125 bool ASTContext::hasSameFunctionTypeIgnoringPtrSizes(QualType T, QualType U) {
3131 void ASTContext::adjustExceptionSpec(
3161 QualType ASTContext::getComplexType(QualType T) const {
3189 QualType ASTContext::getPointerType(QualType T) const {
3215 QualType ASTContext::getAdjustedType(QualType Orig, QualType New) const {
3236 QualType ASTContext::getDecayedType(QualType T) const {
3277 QualType ASTContext::getBlockPointerType(QualType T) const {
3309 ASTContext::getLValueReferenceType(QualType T, bool SpelledAsLValue) const {
3348 QualType ASTContext::getRValueReferenceType(QualType T) const {
3382 QualType ASTContext::getMemberPointerType(QualType T, const Type *Cls) const {
3412 QualType ASTContext::getConstantArrayType(QualType EltTy,
3468 QualType ASTContext::getVariableArrayDecayedType(QualType type) const {
3608 QualType ASTContext::getVariableArrayType(QualType EltTy,
3636 QualType ASTContext::getDependentSizedArrayType(QualType elementType,
3704 QualType ASTContext::getIncompleteArrayType(QualType elementType,
3740 ASTContext::BuiltinVectorTypeInfo
3741 ASTContext::getBuiltinVectorTypeInfo(const BuiltinType *Ty) const {
3869 QualType ASTContext::getScalableVectorType(QualType EltTy,
3909 QualType ASTContext::getVectorType(QualType vecType, unsigned NumElts,
3939 ASTContext::getDependentVectorType(QualType VecType, Expr *SizeExpr,
3980 ASTContext::getExtVectorType(QualType vecType, unsigned NumElts) const {
4009 ASTContext::getDependentSizedExtVectorType(QualType vecType,
4050 QualType ASTContext::getConstantMatrixType(QualType ElementTy, unsigned NumRows,
4082 QualType ASTContext::getDependentSizedMatrixType(QualType ElementTy,
4122 QualType ASTContext::getDependentAddressSpaceType(QualType PointeeType,
4166 ASTContext::getFunctionNoProtoType(QualType ResultTy,
4197 ASTContext::getCanonicalFunctionResultType(QualType ResultType) const {
4245 QualType ASTContext::getFunctionTypeInternal(
4386 QualType ASTContext::getPipeType(QualType T, bool ReadOnly) const {
4411 QualType ASTContext::adjustStringLiteralBaseType(QualType Ty) const {
4417 QualType ASTContext::getReadPipeType(QualType T) const {
4421 QualType ASTContext::getWritePipeType(QualType T) const {
4425 QualType ASTContext::getExtIntType(bool IsUnsigned, unsigned NumBits) const {
4439 QualType ASTContext::getDependentExtIntType(bool IsUnsigned,
4473 QualType ASTContext::getInjectedClassNameType(CXXRecordDecl *Decl,
4493 QualType ASTContext::getTypeDeclTypeSlow(const TypeDecl *Decl) const {
4522 QualType ASTContext::getTypedefType(const TypedefNameDecl *Decl,
4536 QualType ASTContext::getRecordType(const RecordDecl *Decl) const {
4549 QualType ASTContext::getEnumType(const EnumDecl *Decl) const {
4562 QualType ASTContext::getAttributedType(attr::Kind attrKind,
4584 ASTContext::getSubstTemplateTypeParmType(const TemplateTypeParmType *Parm,
4606 QualType ASTContext::getSubstTemplateTypeParmPackType(
4642 QualType ASTContext::getTemplateTypeParmType(unsigned Depth, unsigned Index,
4673 ASTContext::getTemplateSpecializationTypeInfo(TemplateName Name,
4694 ASTContext::getTemplateSpecializationType(TemplateName Template,
4719 ASTContext::getTemplateSpecializationType(TemplateName Template,
4758 QualType ASTContext::getCanonicalTemplateSpecializationType(
4802 QualType ASTContext::getElaboratedType(ElaboratedTypeKeyword Keyword,
4832 ASTContext::getParenType(QualType InnerType) const {
4856 ASTContext::getMacroQualifiedType(QualType UnderlyingTy,
4868 QualType ASTContext::getDependentNameType(ElaboratedTypeKeyword Keyword,
4894 ASTContext::getDependentTemplateSpecializationType(
4907 ASTContext::getDependentTemplateSpecializationType(
4959 TemplateArgument ASTContext::getInjectedTemplateArg(NamedDecl *Param) {
4999 ASTContext::getInjectedTemplateArgs(const TemplateParameterList *Params,
5007 QualType ASTContext::getPackExpansionType(QualType Pattern,
5072 QualType ASTContext::getObjCObjectType(QualType BaseType,
5080 QualType ASTContext::getObjCObjectType(
5164 ASTContext::applyObjCProtocolQualifiers(QualType type,
5235 ASTContext::getObjCTypeParamType(const ObjCTypeParamDecl *Decl,
5265 void ASTContext::adjustObjCTypeParamBoundType(const ObjCTypeParamDecl *Orig,
5279 bool ASTContext::ObjCObjectAdoptsQTypeProtocols(QualType QT,
5298 bool ASTContext::QIdProtocolsAdoptObjCObjectProtocols(QualType QT,
5344 QualType ASTContext::getObjCObjectPointerType(QualType ObjectT) const {
5374 QualType ASTContext::getObjCInterfaceType(const ObjCInterfaceDecl *Decl,
5401 QualType ASTContext::getTypeOfExprType(Expr *tofExpr) const {
5435 QualType ASTContext::getTypeOfType(QualType tofType) const {
5446 QualType ASTContext::getDecltypeType(Expr *e, QualType UnderlyingType) const {
5477 QualType ASTContext::getUnaryTransformType(QualType BaseType,
5516 ASTContext::getAutoType(QualType DeducedType, AutoTypeKeyword Keyword,
5551 QualType ASTContext::getDeducedTemplateSpecializationType(
5572 QualType ASTContext::getAtomicType(QualType T) const {
5599 QualType ASTContext::getAutoDeductType() const {
5610 QualType ASTContext::getAutoRRefDeductType() const {
5619 QualType ASTContext::getTagDeclType(const TagDecl *Decl) const {
5629 CanQualType ASTContext::getSizeType() const {
5635 CanQualType ASTContext::getSignedSizeType() const {
5640 CanQualType ASTContext::getIntMaxType() const {
5645 CanQualType ASTContext::getUIntMaxType() const {
5651 QualType ASTContext::getSignedWCharType() const {
5658 QualType ASTContext::getUnsignedWCharType() const {
5663 QualType ASTContext::getIntPtrType() const {
5667 QualType ASTContext::getUIntPtrType() const {
5673 QualType ASTContext::getPointerDiffType() const {
5680 QualType ASTContext::getUnsignedPointerDiffType() const {
5686 QualType ASTContext::getProcessIDType() const {
5694 CanQualType ASTContext::getCanonicalParamType(QualType T) const {
5712 QualType ASTContext::getUnqualifiedArrayType(QualType type,
5771 void ASTContext::UnwrapSimilarArrayTypes(QualType &T1, QualType &T2) {
5809 bool ASTContext::UnwrapSimilarTypes(QualType &T1, QualType &T2) {
5845 bool ASTContext::hasSimilarType(QualType T1, QualType T2) {
5857 bool ASTContext::hasCvrSimilarType(QualType T1, QualType T2) {
5877 ASTContext::getNameForTemplate(TemplateName Name,
5930 TemplateName ASTContext::getCanonicalTemplateName(TemplateName Name) const {
5972 bool ASTContext::hasSameTemplateName(TemplateName X, TemplateName Y) {
5979 ASTContext::getCanonicalTemplateArgument(const TemplateArgument &Arg) const {
6030 ASTContext::getCanonicalNestedNameSpecifier(NestedNameSpecifier *NNS) const {
6085 const ArrayType *ASTContext::getAsArrayType(QualType T) const {
6143 QualType ASTContext::getAdjustedParameterType(QualType T) const {
6149 QualType ASTContext::getSignatureParameterType(QualType T) const {
6155 QualType ASTContext::getExceptionObjectType(QualType T) const {
6174 QualType ASTContext::getArrayDecayedType(QualType Ty) const {
6190 Result = const_cast<ASTContext *>(this)->getAttributedType(
6196 QualType ASTContext::getBaseElementType(const ArrayType *array) const {
6200 QualType ASTContext::getBaseElementType(QualType type) const {
6216 ASTContext::getConstantArrayElementCount(const ConstantArrayType *CA) const {
6248 QualType ASTContext::getFloatingTypeOfSizeWithinDomain(QualType Size,
6280 int ASTContext::getFloatingTypeOrder(QualType LHS, QualType RHS) const {
6291 int ASTContext::getFloatingTypeSemanticOrder(QualType LHS, QualType RHS) const {
6300 unsigned ASTContext::getIntegerRank(const Type *T) const {
6340 QualType ASTContext::isPromotableBitField(Expr *E) const {
6395 QualType ASTContext::getPromotedIntegerType(QualType Promotable) const {
6439 Qualifiers::ObjCLifetime ASTContext::getInnerObjCOwnership(QualType T) const {
6467 int ASTContext::getIntegerTypeOrder(QualType LHS, QualType RHS) const {
6512 TypedefDecl *ASTContext::getCFConstantStringDecl() const {
6596 RecordDecl *ASTContext::getCFConstantStringTagDecl() const {
6603 QualType ASTContext::getCFConstantStringType() const {
6607 QualType ASTContext::getObjCSuperType() const {
6616 void ASTContext::setCFConstantStringType(QualType T) {
6624 QualType ASTContext::getBlockDescriptorType() const {
6659 QualType ASTContext::getBlockDescriptorExtendedType() const {
6698 OpenCLTypeKind ASTContext::getOpenCLTypeKind(const Type *T) const {
6734 LangAS ASTContext::getOpenCLTypeAddrSpace(const Type *T) const {
6741 bool ASTContext::BlockRequiresCopying(QualType Ty,
6781 bool ASTContext::getByrefLifetime(QualType Ty,
6803 CanQualType ASTContext::getNSUIntegerType() const {
6812 CanQualType ASTContext::getNSIntegerType() const {
6821 TypedefDecl *ASTContext::getObjCInstanceTypeDecl() {
6840 CharUnits ASTContext::getObjCEncodingTypeSize(QualType type) const {
6855 bool ASTContext::isMSStaticDataMemberInlineDefinition(const VarDecl *VD) const {
6862 ASTContext::InlineVariableDefinitionKind
6863 ASTContext::getInlineVariableDefinitionKind(const VarDecl *VD) const {
6889 std::string ASTContext::getObjCEncodingForBlock(const BlockExpr *Expr) const {
6945 ASTContext::getObjCEncodingForFunctionDecl(const FunctionDecl *Decl) const {
6986 void ASTContext::getObjCEncodingForMethodParameter(Decl::ObjCDeclQualifier QT,
7003 std::string ASTContext::getObjCEncodingForMethodDecl(const ObjCMethodDecl *Decl,
7056 ASTContext::getObjCPropertyImplDeclForPropertyDecl(
7100 ASTContext::getObjCEncodingForPropertyDecl(const ObjCPropertyDecl *PD,
7171 void ASTContext::getLegacyIntegralTypeEncoding (QualType &PointeeTy) const {
7183 void ASTContext::getObjCEncodingForType(QualType T, std::string& S,
7198 void ASTContext::getObjCEncodingForPropertyType(QualType T,
7212 static char getObjCEncodingForPrimitiveType(const ASTContext *C,
7318 static char ObjCEncodingForEnumType(const ASTContext *C, const EnumType *ET) {
7330 static void EncodeBitField(const ASTContext *Ctx, std::string& S,
7408 void ASTContext::getObjCEncodingForTypeImpl(QualType T, std::string &S,
7760 void ASTContext::getObjCEncodingForStructureImpl(RecordDecl *RDecl,
7903 void ASTContext::getObjCEncodingForTypeQualifier(Decl::ObjCDeclQualifier QT,
7919 TypedefDecl *ASTContext::getObjCIdDecl() const {
7928 TypedefDecl *ASTContext::getObjCSelDecl() const {
7936 TypedefDecl *ASTContext::getObjCClassDecl() const {
7945 ObjCInterfaceDecl *ASTContext::getObjCProtocolDecl() const {
7963 static TypedefDecl *CreateCharPtrNamedVaListDecl(const ASTContext *Context,
7970 static TypedefDecl *CreateMSVaListDecl(const ASTContext *Context) {
7974 static TypedefDecl *CreateCharPtrBuiltinVaListDecl(const ASTContext *Context) {
7978 static TypedefDecl *CreateVoidPtrBuiltinVaListDecl(const ASTContext *Context) {
7985 CreateAArch64ABIBuiltinVaListDecl(const ASTContext *Context) {
7991 NS = NamespaceDecl::Create(const_cast<ASTContext &>(*Context),
8028 FieldDecl *Field = FieldDecl::Create(const_cast<ASTContext &>(*Context),
8048 static TypedefDecl *CreatePowerABIBuiltinVaListDecl(const ASTContext *Context) {
8112 CreateX86_64ABIBuiltinVaListDecl(const ASTContext *Context) {
8140 FieldDecl *Field = FieldDecl::Create(const_cast<ASTContext &>(*Context),
8165 static TypedefDecl *CreatePNaClABIBuiltinVaListDecl(const ASTContext *Context) {
8174 CreateAAPCSABIBuiltinVaListDecl(const ASTContext *Context) {
8180 NS = NamespaceDecl::Create(const_cast<ASTContext &>(*Context),
8192 FieldDecl *Field = FieldDecl::Create(const_cast<ASTContext &>(*Context),
8215 CreateSystemZBuiltinVaListDecl(const ASTContext *Context) {
8243 FieldDecl *Field = FieldDecl::Create(const_cast<ASTContext &>(*Context),
8269 static TypedefDecl *CreateHexagonBuiltinVaListDecl(const ASTContext *Context) {
8294 const_cast<ASTContext &>(*Context), VaListTagDecl, SourceLocation(),
8320 static TypedefDecl *CreateVaListDecl(const ASTContext *Context,
8346 TypedefDecl *ASTContext::getBuiltinVaListDecl() const {
8355 Decl *ASTContext::getVaListTagDecl() const {
8364 TypedefDecl *ASTContext::getBuiltinMSVaListDecl() const {
8371 bool ASTContext::canBuiltinBeRedeclared(const FunctionDecl *FD) const {
8375 void ASTContext::setObjCConstantStringInterface(ObjCInterfaceDecl *Decl) {
8385 ASTContext::getOverloadedTemplateName(UnresolvedSetIterator Begin,
8409 TemplateName ASTContext::getAssumedTemplateName(DeclarationName Name) const {
8417 ASTContext::getQualifiedTemplateName(NestedNameSpecifier *NNS,
8441 ASTContext::getDependentTemplateName(NestedNameSpecifier *NNS,
8477 ASTContext::getDependentTemplateName(NestedNameSpecifier *NNS,
8512 ASTContext::getSubstTemplateTemplateParm(TemplateTemplateParmDecl *param,
8530 ASTContext::getSubstTemplateTemplateParmPack(TemplateTemplateParmDecl *Param,
8532 auto &Self = const_cast<ASTContext &>(*this);
8553 CanQualType ASTContext::getFromTargetType(unsigned Type) const {
8578 Qualifiers::GC ASTContext::getObjCGCAttrKind(QualType Ty) const {
8629 bool ASTContext::areCompatibleVectorTypes(QualType FirstVec,
8656 bool ASTContext::areCompatibleSveTypes(QualType FirstType,
8685 bool ASTContext::areLaxCompatibleSveTypes(QualType FirstType,
8730 bool ASTContext::hasDirectOwnershipQualifier(QualType Ty) const {
8759 ASTContext::ProtocolCompatibleWithProtocol(ObjCProtocolDecl *lProto,
8771 bool ASTContext::ObjCQualifiedClassTypesAreCompatible(
8789 bool ASTContext::ObjCQualifiedIdTypesAreCompatible(
8905 bool ASTContext::canAssignObjCInterfaces(const ObjCObjectPointerType *LHSOPT,
8958 bool ASTContext::canAssignObjCInterfacesInBlockPointer(
9030 void getIntersectionOfProtocols(ASTContext &Context,
9091 static bool canAssignObjCObjectTypes(ASTContext &ctx, QualType lhs,
9115 static bool sameObjCTypeArgs(ASTContext &ctx,
9152 QualType ASTContext::areCommonBaseCompatible(
9275 bool ASTContext::canAssignObjCInterfaces(const ObjCObjectType *LHS,
9337 bool ASTContext::areComparableObjCPointerTypes(QualType LHS, QualType RHS) {
9349 bool ASTContext::canBindObjCObjectType(QualType To, QualType From) {
9359 bool ASTContext::typesAreCompatible(QualType LHS, QualType RHS,
9367 bool ASTContext::propertyTypesAreCompatible(QualType LHS, QualType RHS) {
9371 bool ASTContext::typesAreBlockPointerCompatible(QualType LHS, QualType RHS) {
9378 QualType ASTContext::mergeTransparentUnionType(QualType T, QualType SubType,
9398 QualType ASTContext::mergeFunctionParameterTypes(QualType lhs, QualType rhs,
9417 QualType ASTContext::mergeFunctionTypes(QualType lhs, QualType rhs,
9596 static QualType mergeEnumWithInteger(ASTContext &Context, const EnumType *ET,
9617 QualType ASTContext::mergeTypes(QualType LHS, QualType RHS,
9960 bool ASTContext::mergeExtParameterInfo(
10007 void ASTContext::ResetObjCLayout(const ObjCContainerDecl *CD) {
10014 QualType ASTContext::mergeObjCGCQualifiers(QualType LHS, QualType RHS) {
10090 unsigned ASTContext::getIntWidth(QualType T) const {
10101 QualType ASTContext::getCorrespondingUnsignedType(QualType T) const {
10168 QualType ASTContext::getCorrespondingSignedType(QualType T) const {
10253 static QualType DecodeTypeFromStr(const char *&Str, const ASTContext &Context,
10254 ASTContext::GetBuiltinTypeError &Error,
10510 Error = ASTContext::GE_Missing_stdio;
10521 Error = ASTContext::GE_Missing_setjmp;
10530 Error = ASTContext::GE_Missing_ucontext;
10588 QualType ASTContext::DecodeTypeStr(const char *&Str, const ASTContext &Context,
10595 QualType ASTContext::GetBuiltinType(unsigned Id,
10659 static GVALinkage basicGVALinkageForFunction(const ASTContext &Context,
10721 static GVALinkage adjustGVALinkageForAttributes(const ASTContext &Context,
10752 adjustGVALinkageForExternalDefinitionKind(const ASTContext &Ctx, const Decl *D,
10774 GVALinkage ASTContext::GetGVALinkageForFunction(const FunctionDecl *FD) const {
10780 static GVALinkage basicGVALinkageForVariable(const ASTContext &Context,
10822 case ASTContext::InlineVariableDefinitionKind::None:
10825 case ASTContext::InlineVariableDefinitionKind::Weak:
10826 case ASTContext::InlineVariableDefinitionKind::WeakUnknown:
10829 case ASTContext::InlineVariableDefinitionKind::Strong:
10857 GVALinkage ASTContext::GetGVALinkageForVariable(const VarDecl *VD) {
10863 bool ASTContext::DeclMustBeEmitted(const Decl *D) {
10979 void ASTContext::forEachMultiversionedFunctionVersion(
10999 CallingConv ASTContext::getDefaultCallingConvention(bool IsVariadic,
11037 bool ASTContext::isNearlyEmpty(const CXXRecordDecl *RD) const {
11042 VTableContextBase *ASTContext::getVTableContext() {
11057 MangleContext *ASTContext::createMangleContext(const TargetInfo *T) {
11080 size_t ASTContext::getSideTableAllocatedMemory() const {
11100 QualType ASTContext::getIntTypeForBitwidth(unsigned DestWidth,
11112 QualType ASTContext::getRealTypeForBitwidth(unsigned DestWidth,
11132 void ASTContext::setManglingNumber(const NamedDecl *ND, unsigned Number) {
11137 unsigned ASTContext::getManglingNumber(const NamedDecl *ND) const {
11142 void ASTContext::setStaticLocalNumber(const VarDecl *VD, unsigned Number) {
11147 unsigned ASTContext::getStaticLocalNumber(const VarDecl *VD) const {
11153 ASTContext::getManglingNumberContext(const DeclContext *DC) {
11162 ASTContext::getManglingNumberContext(NeedExtraManglingDecl_t, const Decl *D) {
11172 ASTContext::createMangleNumberingContext() const {
11177 ASTContext::getCopyConstructorForExceptionObject(CXXRecordDecl *RD) {
11182 void ASTContext::addCopyConstructorForExceptionObject(CXXRecordDecl *RD,
11189 void ASTContext::addTypedefNameForUnnamedTagDecl(TagDecl *TD,
11195 ASTContext::getTypedefNameForUnnamedTagDecl(const TagDecl *TD) {
11199 void ASTContext::addDeclaratorForUnnamedTagDecl(TagDecl *TD,
11204 DeclaratorDecl *ASTContext::getDeclaratorForUnnamedTagDecl(const TagDecl *TD) {
11208 void ASTContext::setParameterIndex(const ParmVarDecl *D, unsigned int index) {
11212 unsigned ASTContext::getParameterIndex(const ParmVarDecl *D) const {
11219 QualType ASTContext::getStringLiteralArrayType(QualType EltTy,
11234 ASTContext::getPredefinedStringLiteralFromCache(StringRef Key) const {
11245 ASTContext::getMSGuidDecl(MSGuidDecl::Parts Parts) const {
11262 ASTContext::getTemplateParamObjectDecl(QualType T, const APValue &V) const {
11282 bool ASTContext::AtomicUsesUnsupportedLibcall(const AtomicExpr *E) const {
11301 ASTContext::ObjCMethodsAreEqual(const ObjCMethodDecl *MethodDecl,
11331 uint64_t ASTContext::getTargetNullPointerValue(QualType QT) const {
11341 unsigned ASTContext::getTargetAddressSpace(LangAS AS) const {
11348 QualType ASTContext::getCorrespondingSaturatedType(QualType Ty) const {
11383 LangAS ASTContext::getLangASForBuiltinAddressSpace(unsigned AS) const {
11394 // doesn't include ASTContext.h
11400 const clang::ASTContext &Ctx, Decl *Value);
11402 unsigned char ASTContext::getFixedPointScale(QualType Ty) const {
11448 unsigned char ASTContext::getFixedPointIBits(QualType Ty) const {
11490 ASTContext::getFixedPointSemantics(QualType Ty) const {
11505 llvm::APFixedPoint ASTContext::getFixedPointMax(QualType Ty) const {
11510 llvm::APFixedPoint ASTContext::getFixedPointMin(QualType Ty) const {
11515 QualType ASTContext::getCorrespondingSignedFixedPointType(QualType Ty) const {
11550 ASTContext::filterFunctionTargetAttrs(const TargetAttr *TD) const {
11564 void ASTContext::getFunctionFeatureMap(llvm::StringMap<bool> &FeatureMap,
11576 void ASTContext::getFunctionFeatureMap(llvm::StringMap<bool> &FeatureMap,
11611 OMPTraitInfo &ASTContext::getNewOMPTraitInfo() {
11618 const ASTContext::SectionInfo &Section) {
11624 bool ASTContext::mayExternalizeStaticVar(const Decl *D) const {
11637 bool ASTContext::shouldExternalizeStaticVar(const Decl *D) const {
11643 StringRef ASTContext::getCUIDHash() const {