A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://clang.llvm.org/doxygen/ASTContext_8h_source.html below:

clang: include/clang/AST/ASTContext.h Source File

14#ifndef LLVM_CLANG_AST_ASTCONTEXT_H 15#define LLVM_CLANG_AST_ASTCONTEXT_H 31#include "llvm/ADT/DenseMap.h" 32#include "llvm/ADT/DenseSet.h" 33#include "llvm/ADT/FoldingSet.h" 34#include "llvm/ADT/IntrusiveRefCntPtr.h" 35#include "llvm/ADT/MapVector.h" 36#include "llvm/ADT/PointerIntPair.h" 37#include "llvm/ADT/PointerUnion.h" 38#include "llvm/ADT/SetVector.h" 39#include "llvm/ADT/SmallVector.h" 40#include "llvm/ADT/StringMap.h" 41#include "llvm/ADT/StringRef.h" 42#include "llvm/ADT/StringSet.h" 43#include "llvm/ADT/TinyPtrVector.h" 44#include "llvm/Support/TypeSize.h" 59class

ASTMutationListener;

63struct

BlockVarCopyInit;

64class

BuiltinTemplateDecl;

68class

CXXConstructorDecl;

71class

DiagnosticsEngine;

72class

DynTypedNodeList;

79class

MangleNumberingContext;

80class

MemberSpecializationInfo;

82struct

MSGuidDeclParts;

83class

NestedNameSpecifier;

85class

ObjCCategoryDecl;

86class

ObjCCategoryImplDecl;

87class

ObjCContainerDecl;

89class

ObjCImplementationDecl;

90class

ObjCInterfaceDecl;

93class

ObjCPropertyDecl;

94class

ObjCPropertyImplDecl;

95class

ObjCProtocolDecl;

96class

ObjCTypeParamDecl;

98class

ParentMapContext;

99struct

ParsedTargetAttr;

106class

TemplateParameterList;

107class

TemplateTemplateParmDecl;

108class

TemplateTypeParmDecl;

110class

UnresolvedSetIterator;

111class

UsingShadowDecl;

112class

VarTemplateDecl;

113class

VTableContextBase;

114class

XRayFunctionFilter;

140namespace

serialization {

192 mutable

llvm::FoldingSet<ExtQuals> ExtQualNodes;

193 mutable

llvm::FoldingSet<ComplexType> ComplexTypes;

194 mutable

llvm::FoldingSet<PointerType> PointerTypes{GeneralTypesLog2InitSize};

195 mutable

llvm::FoldingSet<AdjustedType> AdjustedTypes;

196 mutable

llvm::FoldingSet<BlockPointerType> BlockPointerTypes;

197 mutable

llvm::FoldingSet<LValueReferenceType> LValueReferenceTypes;

198 mutable

llvm::FoldingSet<RValueReferenceType> RValueReferenceTypes;

199 mutable

llvm::FoldingSet<MemberPointerType> MemberPointerTypes;

200 mutable

llvm::ContextualFoldingSet<ConstantArrayType, ASTContext &>

202 mutable

llvm::FoldingSet<IncompleteArrayType> IncompleteArrayTypes;

203 mutable

std::vector<VariableArrayType*> VariableArrayTypes;

204 mutable

llvm::ContextualFoldingSet<DependentSizedArrayType, ASTContext &>

205

DependentSizedArrayTypes;

206 mutable

llvm::ContextualFoldingSet<DependentSizedExtVectorType, ASTContext &>

207

DependentSizedExtVectorTypes;

208 mutable

llvm::ContextualFoldingSet<DependentAddressSpaceType, ASTContext &>

209

DependentAddressSpaceTypes;

210 mutable

llvm::FoldingSet<VectorType> VectorTypes;

211 mutable

llvm::ContextualFoldingSet<DependentVectorType, ASTContext &>

212

DependentVectorTypes;

213 mutable

llvm::FoldingSet<ConstantMatrixType> MatrixTypes;

214 mutable

llvm::ContextualFoldingSet<DependentSizedMatrixType, ASTContext &>

215

DependentSizedMatrixTypes;

216 mutable

llvm::FoldingSet<FunctionNoProtoType> FunctionNoProtoTypes;

217 mutable

llvm::ContextualFoldingSet<FunctionProtoType, ASTContext&>

219 mutable

llvm::ContextualFoldingSet<DependentTypeOfExprType, ASTContext &>

220

DependentTypeOfExprTypes;

221 mutable

llvm::ContextualFoldingSet<DependentDecltypeType, ASTContext &>

222

DependentDecltypeTypes;

224 mutable

llvm::FoldingSet<PackIndexingType> DependentPackIndexingTypes;

226 mutable

llvm::FoldingSet<TemplateTypeParmType> TemplateTypeParmTypes;

227 mutable

llvm::FoldingSet<ObjCTypeParamType> ObjCTypeParamTypes;

228 mutable

llvm::FoldingSet<SubstTemplateTypeParmType>

229

SubstTemplateTypeParmTypes;

230 mutable

llvm::FoldingSet<SubstTemplateTypeParmPackType>

231

SubstTemplateTypeParmPackTypes;

232 mutable

llvm::ContextualFoldingSet<TemplateSpecializationType, ASTContext&>

233

TemplateSpecializationTypes;

234 mutable

llvm::FoldingSet<ParenType> ParenTypes{GeneralTypesLog2InitSize};

235 mutable

llvm::FoldingSet<UsingType> UsingTypes;

236 mutable

llvm::FoldingSet<TypedefType> TypedefTypes;

237 mutable

llvm::FoldingSet<ElaboratedType> ElaboratedTypes{

238

GeneralTypesLog2InitSize};

239 mutable

llvm::FoldingSet<DependentNameType> DependentNameTypes;

240 mutable

llvm::ContextualFoldingSet<DependentTemplateSpecializationType,

242

DependentTemplateSpecializationTypes;

243 mutable

llvm::FoldingSet<PackExpansionType> PackExpansionTypes;

244 mutable

llvm::FoldingSet<ObjCObjectTypeImpl> ObjCObjectTypes;

245 mutable

llvm::FoldingSet<ObjCObjectPointerType> ObjCObjectPointerTypes;

246 mutable

llvm::FoldingSet<DependentUnaryTransformType>

247

DependentUnaryTransformTypes;

252 mutable

llvm::DenseMap<llvm::FoldingSetNodeID, AutoType *> AutoTypes;

253 mutable

llvm::FoldingSet<DeducedTemplateSpecializationType>

254

DeducedTemplateSpecializationTypes;

255 mutable

llvm::FoldingSet<AtomicType> AtomicTypes;

256 mutable

llvm::FoldingSet<AttributedType> AttributedTypes;

257 mutable

llvm::FoldingSet<PipeType> PipeTypes;

258 mutable

llvm::FoldingSet<BitIntType> BitIntTypes;

259 mutable

llvm::ContextualFoldingSet<DependentBitIntType, ASTContext &>

260

DependentBitIntTypes;

261 mutable

llvm::FoldingSet<BTFTagAttributedType> BTFTagAttributedTypes;

262

llvm::FoldingSet<HLSLAttributedResourceType> HLSLAttributedResourceTypes;

264 mutable

llvm::FoldingSet<CountAttributedType> CountAttributedTypes;

266 mutable

llvm::FoldingSet<QualifiedTemplateName> QualifiedTemplateNames;

267 mutable

llvm::FoldingSet<DependentTemplateName> DependentTemplateNames;

268 mutable

llvm::FoldingSet<SubstTemplateTemplateParmStorage>

269

SubstTemplateTemplateParms;

270 mutable

llvm::ContextualFoldingSet<SubstTemplateTemplateParmPackStorage,

272

SubstTemplateTemplateParmPacks;

273 mutable

llvm::ContextualFoldingSet<DeducedTemplateStorage, ASTContext &>

276 mutable

llvm::ContextualFoldingSet<ArrayParameterType, ASTContext &>

282 mutable

llvm::FoldingSet<NestedNameSpecifier> NestedNameSpecifiers;

288 mutable

llvm::DenseMap<const RecordDecl*, const ASTRecordLayout*>

290 mutable

llvm::DenseMap<const ObjCContainerDecl*, const ASTRecordLayout*>

294 using

TypeInfoMap = llvm::DenseMap<const Type *, struct TypeInfo>;

295 mutable

TypeInfoMap MemoizedTypeInfo;

300 using

UnadjustedAlignMap = llvm::DenseMap<const Type *, unsigned>;

301 mutable

UnadjustedAlignMap MemoizedUnadjustedAlign;

304

llvm::DenseMap<const CXXRecordDecl*, LazyDeclPtr> KeyFunctions;

307

llvm::DenseMap<ObjCContainerDecl*, ObjCImplDecl*> ObjCImpls;

311

llvm::DenseMap<const ObjCMethodDecl*,const ObjCMethodDecl*> ObjCMethodRedecls;

314

llvm::DenseMap<const VarDecl *, BlockVarCopyInit> BlockVarCopyInits;

317 mutable

llvm::FoldingSet<MSGuidDecl> MSGuidDecls;

320 mutable

llvm::FoldingSet<UnnamedGlobalConstantDecl>

321

UnnamedGlobalConstantDecls;

324 mutable

llvm::FoldingSet<TemplateParamObjectDecl> TemplateParamObjectDecls;

330 mutable

llvm::StringMap<StringLiteral *> StringLiteralCache;

338 unsigned

NextStringLiteralVersion = 0;

342 mutable

std::string CUIDHash;

346 class

CanonicalTemplateTemplateParm :

public

llvm::FoldingSetNode {

347

TemplateTemplateParmDecl *Parm;

350

CanonicalTemplateTemplateParm(TemplateTemplateParmDecl *Parm)

353

TemplateTemplateParmDecl *getParam()

const

{

return

Parm; }

355 void

Profile(llvm::FoldingSetNodeID &

ID

,

const

ASTContext &

C

) {

356

Profile(

ID

,

C

, Parm);

359 static void

Profile(llvm::FoldingSetNodeID &

ID

,

360 const

ASTContext &

C

,

361

TemplateTemplateParmDecl *Parm);

363 mutable

llvm::ContextualFoldingSet<CanonicalTemplateTemplateParm,

365

CanonTemplateTemplateParms;

367

TemplateTemplateParmDecl *

368

getCanonicalTemplateTemplateParmDecl(TemplateTemplateParmDecl *TTP)

const

;

371 mutable

TypedefDecl *Int128Decl =

nullptr

;

374 mutable

TypedefDecl *UInt128Decl =

nullptr

;

378 mutable

TypedefDecl *BuiltinVaListDecl =

nullptr

;

381 mutable

TypedefDecl *BuiltinMSVaListDecl =

nullptr

;

384 mutable

TypedefDecl *ObjCIdDecl =

nullptr

;

387 mutable

TypedefDecl *ObjCSelDecl =

nullptr

;

390 mutable

TypedefDecl *ObjCClassDecl =

nullptr

;

393 mutable

ObjCInterfaceDecl *ObjCProtocolClassDecl =

nullptr

;

396 mutable

TypedefDecl *BOOLDecl =

nullptr

;

400

QualType ObjCIdRedefinitionType;

401

QualType ObjCClassRedefinitionType;

402

QualType ObjCSelRedefinitionType;

405 mutable

IdentifierInfo *BoolName =

nullptr

;

408 mutable

IdentifierInfo *NSObjectName =

nullptr

;

411

IdentifierInfo *NSCopyingName =

nullptr

;

414 mutable

IdentifierInfo *MakeIntegerSeqName =

nullptr

;

417 mutable

IdentifierInfo *TypePackElementName =

nullptr

;

420 mutable

IdentifierInfo *BuiltinCommonTypeName =

nullptr

;

422

QualType ObjCConstantStringType;

423 mutable

RecordDecl *CFConstantStringTagDecl =

nullptr

;

424 mutable

TypedefDecl *CFConstantStringTypeDecl =

nullptr

;

426 mutable

QualType ObjCSuperType;

428

QualType ObjCNSStringType;

431

TypedefDecl *ObjCInstanceTypeDecl =

nullptr

;

434

TypeDecl *FILEDecl =

nullptr

;

437

TypeDecl *jmp_bufDecl =

nullptr

;

440

TypeDecl *sigjmp_bufDecl =

nullptr

;

443

TypeDecl *ucontext_tDecl =

nullptr

;

449 mutable

RecordDecl *BlockDescriptorType =

nullptr

;

455 mutable

RecordDecl *BlockDescriptorExtendedType =

nullptr

;

458

FunctionDecl *cudaConfigureCallDecl =

nullptr

;

464

llvm::DenseMap<const Decl*, AttrVec*> DeclAttrs;

469

llvm::DenseMap<Decl*, Decl*> MergedDecls;

474

llvm::DenseMap<NamedDecl*, llvm::TinyPtrVector<Module*>> MergedDefModules;

480 struct

PerModuleInitializers {

484 void

resolve(ASTContext &Ctx);

486

llvm::DenseMap<Module*, PerModuleInitializers*> ModuleInitializers;

489 Module

*CurrentCXXNamedModule =

nullptr

;

496

llvm::StringMap<const Module *> PrimaryModuleNameMap;

497

llvm::DenseMap<const Module *, const Module *> SameModuleLookupSet;

499 static constexpr unsigned

ConstantArrayTypesLog2InitSize = 8;

500 static constexpr unsigned

GeneralTypesLog2InitSize = 9;

501 static constexpr unsigned

FunctionProtoTypesLog2InitSize = 12;

508

llvm::PointerUnion<VarTemplateDecl *, MemberSpecializationInfo *>;

548

llvm::DenseMap<const VarDecl *, TemplateOrSpecializationInfo>

549

TemplateOrInstantiation;

574

llvm::DenseMap<NamedDecl *, NamedDecl *> InstantiatedFromUsingDecl;

583

llvm::DenseMap<UsingEnumDecl *, UsingEnumDecl *>

584

InstantiatedFromUsingEnumDecl;

587

llvm::DenseMap<UsingShadowDecl*, UsingShadowDecl*>

588

InstantiatedFromUsingShadowDecl;

590

llvm::DenseMap<FieldDecl *, FieldDecl *> InstantiatedFromUnnamedFieldDecl;

598 using

CXXMethodVector = llvm::TinyPtrVector<const CXXMethodDecl *>;

599

llvm::DenseMap<const CXXMethodDecl *, CXXMethodVector> OverriddenMethods;

604

llvm::DenseMap<const DeclContext *, std::unique_ptr<MangleNumberingContext>>

605

MangleNumberingContexts;

606

llvm::DenseMap<const Decl *, std::unique_ptr<MangleNumberingContext>>

607

ExtraMangleNumberingContexts;

611

llvm::MapVector<const NamedDecl *, unsigned> MangleNumbers;

612

llvm::MapVector<const VarDecl *, unsigned> StaticLocalNumbers;

614 mutable

llvm::DenseMap<const CXXRecordDecl *, unsigned>

615

DeviceLambdaManglingNumbers;

619 using

ParameterIndexTable = llvm::DenseMap<const VarDecl *, unsigned>;

620

ParameterIndexTable ParamIndices;

640

std::unique_ptr<NoSanitizeList> NoSanitizeL;

644

std::unique_ptr<XRayFunctionFilter> XRayFilter;

648

std::unique_ptr<ProfileList> ProfList;

654 mutable

llvm::BumpPtrAllocator BumpAlloc;

660

std::unique_ptr<CXXABI> ABI;

665 bool

AddrSpaceMapMangling;

668 mutable bool

AnyFunctionEffects =

false

;

673

std::unique_ptr<interp::Context> InterpContext;

674

std::unique_ptr<ParentMapContext> ParentMapCtx;

754 void

*

Allocate

(

size_t

Size,

unsigned

Align = 8)

const

{

755 return

BumpAlloc.Allocate(Size, Align);

758 return static_cast<T

*

>

(

Allocate

(

Num

*

sizeof

(

T

),

alignof

(

T

)));

763 char

*Buf =

new

(*this)

char

[S.size()];

764

std::copy(S.begin(), S.end(), Buf);

765 return

llvm::StringRef(Buf, S.size());

772

ListNodeFreeList = dyn_cast_if_present<DeclListNode *>(Alloc->Rest);

774

Alloc->Rest =

nullptr

;

782

N->Rest = ListNodeFreeList;

783

ListNodeFreeList = N;

789 return

BumpAlloc.getTotalMemory();

796 return

DiagAllocator;

803 const auto

*CurrentBT = cast<BuiltinType>(ElementType);

804 switch

(CurrentBT->getKind()) {

805 case

BuiltinType::Kind::Half:

806 case

BuiltinType::Kind::Float16:

808 case

BuiltinType::Kind::Float:

809 case

BuiltinType::Kind::BFloat16:

811 case

BuiltinType::Kind::Double:

841 return

LangOpts.CPlusPlus || LangOpts.RecoveryAST;

913 const

std::map<unsigned, RawComment *> &CommentsInFile)

const

;

929 const Decl

**OriginalDecl =

nullptr

)

const

;

955 const Decl

*

D

)

const

;

961 class

import_iterator {

968 using

difference_type =

int

;

969 using

iterator_category = std::forward_iterator_tag;

971

import_iterator() =

default

;

972 explicit

import_iterator(

ImportDecl

*Import) : Import(Import) {}

974

reference

operator*

()

const

{

return

Import; }

975

pointer operator->()

const

{

return

Import; }

977

import_iterator &operator++() {

982

import_iterator operator++(

int

) {

983

import_iterator

Other

(*

this

);

988 friend bool operator==

(import_iterator

X

, import_iterator Y) {

989 return X

.Import == Y.Import;

992 friend bool operator!=

(import_iterator

X

, import_iterator Y) {

993 return X

.Import != Y.Import;

999 return

CommentCommandTraits;

1063

llvm::iterator_range<overridden_cxx_method_iterator>;

1088 return

Import->getNextLocalImport();

1094 return import_range

(import_iterator(FirstLocalImport), import_iterator());

1102

MergedDecls[

D

] = Primary;

1108 bool

NotifyListeners =

true

);

1147 if

(TraversalScope.empty() || TraversalScope.back() == TUDecl)

1148

TraversalScope = {NewTUDecl};

1194#define IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) \ 1195 CanQualType SingletonId; 1196#include "clang/Basic/OpenCLImageTypes.def" 1202#define EXT_OPAQUE_TYPE(ExtType, Id, Ext) \ 1204#include "clang/Basic/OpenCLExtensionTypes.def" 1205#define SVE_TYPE(Name, Id, SingletonId) \ 1206 CanQualType SingletonId; 1207#include "clang/Basic/AArch64SVEACLETypes.def" 1208#define PPC_VECTOR_TYPE(Name, Id, Size) \ 1210#include "clang/Basic/PPCTypes.def" 1211#define RVV_TYPE(Name, Id, SingletonId) \ 1212 CanQualType SingletonId; 1213#include "clang/Basic/RISCVVTypes.def" 1214#define WASM_TYPE(Name, Id, SingletonId) CanQualType SingletonId; 1215#include "clang/Basic/WebAssemblyReferenceTypes.def" 1216#define AMDGPU_TYPE(Name, Id, SingletonId, Width, Align) \ 1217 CanQualType SingletonId; 1218#include "clang/Basic/AMDGPUTypes.def" 1219#define HLSL_INTANGIBLE_TYPE(Name, Id, SingletonId) CanQualType SingletonId; 1220#include "clang/Basic/HLSLIntangibleTypes.def" 1354 bool

allowOnPointerType =

false

)

const

;

1430 bool

AsWritten =

false

);

1534

cudaConfigureCallDecl = FD;

1538 return

cudaConfigureCallDecl;

1549 bool

&HasByrefExtendedLayout)

const

;

1579 unsigned

IndexTypeQuals,

1585 unsigned

IndexTypeQuals)

const

;

1591 unsigned

IndexTypeQuals)

const

;

1612

BuiltinVectorTypeInfo

1622 unsigned

NumFields = 1)

const

;

1660 unsigned

NumColumns)

const

;

1669 Expr

*AddrSpaceExpr,

1683 return

getFunctionTypeInternal(ResultTy, Args, EPI,

false

);

1692 bool

OnlyWantCanonical)

const

;

1695 bool

IsDependent,

bool

IsPack =

false

,

1698 bool

IsCanon =

false

)

const

;

1704 const TypeDecl

*PrevDecl =

nullptr

)

const

{

1705

assert(

Decl

&&

"Passed null for Decl param"

);

1709

assert(PrevDecl->TypeForDecl &&

"previous decl has no TypeForDecl"

);

1710 Decl

->TypeForDecl = PrevDecl->TypeForDecl;

1711 return QualType

(PrevDecl->TypeForDecl, 0);

1714 return

getTypeDeclTypeSlow(

Decl

);

1733 unsigned

NumPositiveBits,

QualType

&BestType,

1743 const Attr

*attr =

nullptr

)

const

;

1761

std::optional<unsigned> PackIndex,

1765 unsigned

Index,

bool

Final,

1797 TagDecl

*OwnedTagDecl =

nullptr

)

const

;

1820

std::optional<unsigned> NumExpansions,

1821 bool

ExpectPackInType =

true

)

const

;

1829 unsigned

NumProtocols)

const

;

1834 bool

isKindOf)

const

;

1862 bool

FullySubstituted =

false

,

1864 int

Index = -1)

const

;

1872 bool

IsDependent,

bool

IsPack =

false

,

1873

ConceptDecl *TypeConstraintConcept =

nullptr

,

1874

ArrayRef<TemplateArgument> TypeConstraintArgs ={})

const

;

1888

QualType DeducedType,

1889 bool

IsDependent)

const

;

1892

QualType getDeducedTemplateSpecializationTypeInternal(TemplateName Template,

1893

QualType DeducedType,

1895

QualType Canon)

const

;

1974 if

(CFConstantStringTypeDecl)

1985 return

ObjCConstantStringType;

1989 return

ObjCNSStringType;

1993

ObjCNSStringType =

T

;

1999 if

(ObjCIdRedefinitionType.isNull())

2001 return

ObjCIdRedefinitionType;

2006

ObjCIdRedefinitionType = RedefType;

2012 if

(ObjCClassRedefinitionType.isNull())

2014 return

ObjCClassRedefinitionType;

2019

ObjCClassRedefinitionType = RedefType;

2025 if

(ObjCSelRedefinitionType.isNull())

2027 return

ObjCSelRedefinitionType;

2032

ObjCSelRedefinitionType = RedefType;

2037 if

(!NSObjectName) {

2038

NSObjectName = &

Idents

.

get

(

"NSObject"

);

2041 return

NSObjectName;

2046 if

(!NSCopyingName) {

2047

NSCopyingName = &

Idents

.

get

(

"NSCopying"

);

2050 return

NSCopyingName;

2065 if

(!MakeIntegerSeqName)

2066

MakeIntegerSeqName = &

Idents

.

get

(

"__make_integer_seq"

);

2067 return

MakeIntegerSeqName;

2071 if

(!TypePackElementName)

2072

TypePackElementName = &

Idents

.

get

(

"__type_pack_element"

);

2073 return

TypePackElementName;

2077 if

(!BuiltinCommonTypeName)

2078

BuiltinCommonTypeName = &

Idents

.

get

(

"__builtin_common_type"

);

2079 return

BuiltinCommonTypeName;

2104

this->jmp_bufDecl = jmp_bufDecl;

2116

this->sigjmp_bufDecl = sigjmp_bufDecl;

2128

this->ucontext_tDecl = ucontext_tDecl;

2149 QualType

*NotEncodedT=

nullptr

)

const

;

2159

std::string &S)

const

;

2172 bool

Extended =

false

)

const

;

2182 const Decl

*Container)

const

;

2189 const Decl

*Container)

const

;

2281

assert(

MSGuidTagDecl

&&

"asked for GUID type but MS extensions disabled"

);

2306 return

getExtQualType(Ptr, Qc);

2313 return

getExtQualType(

T

, Qs);

2332 if

(!

type

.getTypePtr()->isObjCObjectPointerType() ||

2333

!

type

.getQualifiers().hasObjCLifetime())

2343

assert(PointerAuth);

2364 bool

TemplateKeyword,

2374

std::optional<unsigned> PackIndex)

const

;

2376 Decl

*AssociatedDecl,

2408 bool

&RequireICE,

bool

AllowTypeModifiers)

const

;

2416 unsigned

*IntegerConstantArgs =

nullptr

)

const

;

2510 return

std::nullopt;

2539 bool

NeedsPreferredAlignment =

false

)

const

;

2631 bool

Simple =

false

)

const

;

2709 bool

CheckIfTriviallyCopyable =

true

)

const

;

2776 bool

IsParam)

const

{

2779 if

(SubTnullability.has_value() == SuperTnullability.has_value()) {

2781 if

(!SubTnullability)

2784 if

(*SubTnullability == *SuperTnullability ||

2807 bool

AllowPiMismatch =

true

)

const

;

2809 bool

AllowPiMismatch =

true

)

const

;

2852 bool

IsBuiltin =

false

)

const

;

2873 bool

IgnoreDeduced =

false

)

const

;

2878 bool

IgnoreDeduced =

false

)

const

;

2933 return

dyn_cast_or_null<DependentSizedArrayType>(

getAsArrayType

(

T

));

3030 bool

AcceptDependent);

3042 unsigned

getIntegerRank(

const Type

*

T

)

const

;

3051 bool

CompareUnqualified =

false

);

3057 if

(

const auto

*ET = dyn_cast<ElaboratedType>(

T

))

3058 T

= ET->getNamedType();

3063 if

(

const auto

*ET = dyn_cast<ElaboratedType>(

T

))

3064 T

= ET->getNamedType();

3069 if

(

const auto

*ET = dyn_cast<ElaboratedType>(

T

))

3070 T

= ET->getNamedType();

3089 bool

BlockReturnType);

3097 bool Unqualified

=

false

,

bool

BlockReturnType =

false

,

3098 bool

IsConditionalOperator =

false

);

3100 bool Unqualified

=

false

,

bool

AllowCXX =

false

,

3101 bool

IsConditionalOperator =

false

);

3103 bool

OfBlockPointer =

false

,

3106 bool

OfBlockPointer=

false

,

3133 bool

&CanUseFirst,

bool

&CanUseSecond,

3188 if

(Width != Res.getBitWidth())

3189 return

Res.extOrTrunc(Width);

3205 return

!ObjCImpls.empty();

3269 if

(!std::is_trivially_destructible<T>::value) {

3270 auto

DestroyPtr = [](

void

*

V

) {

static_cast<T

*

>

(

V

)->~

T

(); };

3290

llvm::function_ref<

void

(

FunctionDecl

*)> Pred)

const

;

3308 bool

ForAuxTarget =

false

)

const

;

3439 class

ObjCEncOptions {

3442

ObjCEncOptions(

unsigned

Bits) : Bits(Bits) {}

3445

ObjCEncOptions() : Bits(0) {}

3447#define OPT_LIST(V) \ 3448 V(ExpandPointedToStructures, 0) \ 3449 V(ExpandStructures, 1) \ 3450 V(IsOutermostType, 2) \ 3451 V(EncodingProperty, 3) \ 3452 V(IsStructField, 4) \ 3453 V(EncodeBlockParameters, 5) \ 3454 V(EncodeClassNames, 6) \ 3456#define V(N,I) ObjCEncOptions& set##N() { Bits |= 1 << I; return *this; } 3460#define V(N,I) bool N() const { return Bits & 1 << I; } 3466

[[nodiscard]] ObjCEncOptions keepingOnly(ObjCEncOptions Mask)

const

{

3467 return

Bits & Mask.Bits;

3470

[[nodiscard]] ObjCEncOptions forComponentType()

const

{

3471

ObjCEncOptions Mask = ObjCEncOptions()

3472

.setIsOutermostType()

3473

.setIsStructField();

3474 return

Bits & ~Mask.Bits;

3479 void

getObjCEncodingForTypeImpl(QualType t, std::string &S,

3480

ObjCEncOptions Options,

3481 const

FieldDecl *Field,

3482

QualType *NotEncodedT =

nullptr

)

const

;

3485 void

getObjCEncodingForStructureImpl(RecordDecl *RD, std::string &S,

3486 const

FieldDecl *Field,

3487 bool

includeVBases =

true

,

3488

QualType *NotEncodedT=

nullptr

)

const

;

3493

QualType

T

, std::string& S,

3494 bool

Extended)

const

;

3545

llvm::PointerIntPair<StoredDeclsMap *, 1> LastSDM;

3547

std::vector<Decl *> TraversalScope;

3549

std::unique_ptr<VTableContextBase> VTContext;

3551 void

ReleaseDeclContextMaps();

3592

StringRef MangledName);

3601

llvm::DenseMap<GlobalDecl, llvm::StringSet<>> ThunksToBeAbbreviated;

3653 size_t

Alignment

) {

3654 return

C.Allocate(Bytes, Alignment);

3691 size_t

Alignment

) {

3692 return

C.Allocate(Bytes, Alignment);

3706template

<

typename

Owner,

typename T

,

3714 if

(

auto

*Source = Ctx.getExternalSource())

Forward declaration of all AST node types.

static bool CanThrow(Expr *E, ASTContext &Ctx)

clang::CharUnits operator*(clang::CharUnits::QuantityType Scale, const clang::CharUnits &CU)

enum clang::sema::@1704::IndirectLocalPathEntry::EntryKind Kind

static CGCXXABI * createCXXABI(CodeGenModule &CGM)

Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified.

llvm::MachO::Target Target

Implements a partial diagnostic that can be emitted anwyhere in a DiagnosticBuilder stream.

This file declares types used to describe SYCL kernels.

Defines the clang::SourceLocation class and associated facilities.

#define CXXABI(Name, Str)

APValue - This class implements a discriminated union of [uninitialized] [APSInt] [APFloat],...

Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...

bool getByrefLifetime(QualType Ty, Qualifiers::ObjCLifetime &Lifetime, bool &HasByrefExtendedLayout) const

Returns true, if given type has a known lifetime.

MSGuidDecl * getMSGuidDecl(MSGuidDeclParts Parts) const

Return a declaration for the global GUID object representing the given GUID value.

QualType getUsingType(const UsingShadowDecl *Found, QualType Underlying) const

BuiltinVectorTypeInfo getBuiltinVectorTypeInfo(const BuiltinType *VecTy) const

Returns the element type, element count and number of vectors (in case of tuple) for a builtin vector...

bool ObjCMethodsAreEqual(const ObjCMethodDecl *MethodDecl, const ObjCMethodDecl *MethodImp)

CanQualType ObjCBuiltinSelTy

SourceManager & getSourceManager()

TranslationUnitDecl * getTranslationUnitDecl() const

const ConstantArrayType * getAsConstantArrayType(QualType T) const

CanQualType getCanonicalFunctionResultType(QualType ResultType) const

Adjust the given function result type.

QualType getAtomicType(QualType T) const

Return the uniqued reference to the atomic type for the specified type.

bool areLaxCompatibleSveTypes(QualType FirstType, QualType SecondType)

Return true if the given vector types are lax-compatible SVE vector types, false otherwise.

llvm::PointerUnion< VarTemplateDecl *, MemberSpecializationInfo * > TemplateOrSpecializationInfo

A type synonym for the TemplateOrInstantiation mapping.

LangAS getOpenCLTypeAddrSpace(const Type *T) const

Get address space for OpenCL type.

CharUnits getTypeAlignInChars(QualType T) const

Return the ABI-specified alignment of a (complete) type T, in characters.

void InitBuiltinTypes(const TargetInfo &Target, const TargetInfo *AuxTarget=nullptr)

Initialize built-in types.

ParentMapContext & getParentMapContext()

Returns the dynamic AST node parent map context.

QualType getParenType(QualType NamedType) const

size_t getSideTableAllocatedMemory() const

Return the total memory used for various side tables.

MemberSpecializationInfo * getInstantiatedFromStaticDataMember(const VarDecl *Var)

If this variable is an instantiated static data member of a class template specialization,...

QualType getRValueReferenceType(QualType T) const

Return the uniqued reference to the type for an rvalue reference to the specified type.

CanQualType ARCUnbridgedCastTy

uint64_t getTypeSize(const Type *T) const

QualType getDependentSizedMatrixType(QualType ElementType, Expr *RowExpr, Expr *ColumnExpr, SourceLocation AttrLoc) const

Return the unique reference to the matrix type of the specified element type and size.

QualType getBTFTagAttributedType(const BTFTypeTagAttr *BTFAttr, QualType Wrapped) const

llvm::DenseMap< const Decl *, comments::FullComment * > ParsedComments

Mapping from declarations to parsed comments attached to any redeclaration.

BuiltinTemplateDecl * getBuiltinCommonTypeDecl() const

unsigned getManglingNumber(const NamedDecl *ND, bool ForAuxTarget=false) const

const SmallVectorImpl< Type * > & getTypes() const

unsigned getIntWidth(QualType T) const

CanQualType getCanonicalParamType(QualType T) const

Return the canonical parameter type corresponding to the specific potentially non-canonical one.

const FunctionType * adjustFunctionType(const FunctionType *Fn, FunctionType::ExtInfo EInfo)

Change the ExtInfo on a function type.

TemplateOrSpecializationInfo getTemplateOrSpecializationInfo(const VarDecl *Var)

InlineVariableDefinitionKind

@ None

Not an inline variable.

@ Weak

Weak definition of inline variable.

@ Strong

Strong definition.

@ WeakUnknown

Weak for now, might become strong later in this TU.

const ProfileList & getProfileList() const

void setObjCConstantStringInterface(ObjCInterfaceDecl *Decl)

TypedefDecl * getObjCClassDecl() const

Retrieve the typedef declaration corresponding to the predefined Objective-C 'Class' type.

TypedefNameDecl * getTypedefNameForUnnamedTagDecl(const TagDecl *TD)

TypedefDecl * getCFConstantStringDecl() const

CanQualType SatUnsignedFractTy

CanQualType getAdjustedType(CanQualType Orig, CanQualType New) const

BuiltinTemplateDecl * getMakeIntegerSeqDecl() const

void setInstantiatedFromUsingDecl(NamedDecl *Inst, NamedDecl *Pattern)

Remember that the using decl Inst is an instantiation of the using decl Pattern of a class template.

bool areCompatibleRVVTypes(QualType FirstType, QualType SecondType)

Return true if the given types are an RISC-V vector builtin type and a VectorType that is a fixed-len...

ExternCContextDecl * getExternCContextDecl() const

const llvm::fltSemantics & getFloatTypeSemantics(QualType T) const

Return the APFloat 'semantics' for the specified scalar floating point type.

ParsedTargetAttr filterFunctionTargetAttrs(const TargetAttr *TD) const

Parses the target attributes passed in, and returns only the ones that are valid feature names.

QualType getAutoType(QualType DeducedType, AutoTypeKeyword Keyword, bool IsDependent, bool IsPack=false, ConceptDecl *TypeConstraintConcept=nullptr, ArrayRef< TemplateArgument > TypeConstraintArgs={}) const

C++11 deduced auto type.

QualType areCommonBaseCompatible(const ObjCObjectPointerType *LHSOPT, const ObjCObjectPointerType *RHSOPT)

TypedefDecl * getObjCSelDecl() const

Retrieve the typedef corresponding to the predefined 'SEL' type in Objective-C.

llvm::iterator_range< import_iterator > import_range

bool AnyObjCImplementation()

Return true if there is at least one @implementation in the TU.

CanQualType UnsignedShortAccumTy

TypedefDecl * getObjCInstanceTypeDecl()

Retrieve the typedef declaration corresponding to the Objective-C "instancetype" type.

uint64_t getFieldOffset(const ValueDecl *FD) const

Get the offset of a FieldDecl or IndirectFieldDecl, in bits.

void DeallocateDeclListNode(DeclListNode *N)

Deallcates a DeclListNode by returning it to the ListNodeFreeList pool.

DeclListNode * AllocateDeclListNode(clang::NamedDecl *ND)

Allocates a DeclListNode or returns one from the ListNodeFreeList pool.

QualType getDependentTemplateSpecializationType(ElaboratedTypeKeyword Keyword, NestedNameSpecifier *NNS, const IdentifierInfo *Name, ArrayRef< TemplateArgumentLoc > Args) const

QualType adjustFunctionResultType(QualType FunctionType, QualType NewResultType)

Change the result type of a function type, preserving sugar such as attributed types.

void setTemplateOrSpecializationInfo(VarDecl *Inst, TemplateOrSpecializationInfo TSI)

bool ProtocolCompatibleWithProtocol(ObjCProtocolDecl *lProto, ObjCProtocolDecl *rProto) const

ProtocolCompatibleWithProtocol - return 'true' if 'lProto' is in the inheritance hierarchy of 'rProto...

TypedefDecl * buildImplicitTypedef(QualType T, StringRef Name) const

Create a new implicit TU-level typedef declaration.

unsigned getTypeAlign(const Type *T) const

QualType getObjCInterfaceType(const ObjCInterfaceDecl *Decl, ObjCInterfaceDecl *PrevDecl=nullptr) const

getObjCInterfaceType - Return the unique reference to the type for the specified ObjC interface decl.

void adjustObjCTypeParamBoundType(const ObjCTypeParamDecl *Orig, ObjCTypeParamDecl *New) const

llvm::StringMap< SectionInfo > SectionInfos

QualType getBlockPointerType(QualType T) const

Return the uniqued reference to the type for a block of the specified type.

TemplateArgument getCanonicalTemplateArgument(const TemplateArgument &Arg) const

Retrieve the "canonical" template argument.

QualType getAutoRRefDeductType() const

C++11 deduction pattern for 'auto &&' type.

TypedefDecl * getBuiltinMSVaListDecl() const

Retrieve the C type declaration corresponding to the predefined __builtin_ms_va_list type.

bool ObjCQualifiedIdTypesAreCompatible(const ObjCObjectPointerType *LHS, const ObjCObjectPointerType *RHS, bool ForCompare)

ObjCQualifiedIdTypesAreCompatible - We know that one of lhs/rhs is an ObjCQualifiedIDType.

QualType getTagDeclType(const TagDecl *Decl) const

Return the unique reference to the type for the specified TagDecl (struct/union/class/enum) decl.

QualType getMemberPointerType(QualType T, const Type *Cls) const

Return the uniqued reference to the type for a member pointer to the specified type in the specified ...

QualType getBuiltinVaListType() const

Retrieve the type of the __builtin_va_list type.

QualType mergeFunctionTypes(QualType, QualType, bool OfBlockPointer=false, bool Unqualified=false, bool AllowCXX=false, bool IsConditionalOperator=false)

NamedDecl * getInstantiatedFromUsingDecl(NamedDecl *Inst)

If the given using decl Inst is an instantiation of another (possibly unresolved) using decl,...

DeclarationNameTable DeclarationNames

comments::FullComment * cloneFullComment(comments::FullComment *FC, const Decl *D) const

QualType getUnresolvedUsingType(const UnresolvedUsingTypenameDecl *Decl) const

CharUnits getObjCEncodingTypeSize(QualType T) const

Return the size of type T for Objective-C encoding purpose, in characters.

int getIntegerTypeOrder(QualType LHS, QualType RHS) const

Return the highest ranked integer type, see C99 6.3.1.8p1.

QualType getObjCClassType() const

Represents the Objective-C Class type.

QualType getAttributedType(attr::Kind attrKind, QualType modifiedType, QualType equivalentType, const Attr *attr=nullptr) const

TypedefDecl * getObjCIdDecl() const

Retrieve the typedef corresponding to the predefined id type in Objective-C.

void setCurrentNamedModule(Module *M)

Set the (C++20) module we are building.

QualType getRawCFConstantStringType() const

Get the structure type used to representation CFStrings, or NULL if it hasn't yet been built.

QualType getProcessIDType() const

Return the unique type for "pid_t" defined in <sys/types.h>.

CharUnits getMemberPointerPathAdjustment(const APValue &MP) const

Find the 'this' offset for the member path in a pointer-to-member APValue.

bool mayExternalize(const Decl *D) const

Whether a C++ static variable or CUDA/HIP kernel may be externalized.

QualType getTemplateSpecializationType(TemplateName T, ArrayRef< TemplateArgument > Args, QualType Canon=QualType()) const

std::unique_ptr< MangleNumberingContext > createMangleNumberingContext() const

QualType getUnsignedPointerDiffType() const

Return the unique unsigned counterpart of "ptrdiff_t" integer type.

QualType getucontext_tType() const

Retrieve the C ucontext_t type.

QualType getRecordType(const RecordDecl *Decl) const

std::optional< CharUnits > getTypeSizeInCharsIfKnown(const Type *Ty) const

QualType getScalableVectorType(QualType EltTy, unsigned NumElts, unsigned NumFields=1) const

Return the unique reference to a scalable vector type of the specified element type and scalable numb...

bool hasSameExpr(const Expr *X, const Expr *Y) const

Determine whether the given expressions X and Y are equivalent.

void getObjCEncodingForType(QualType T, std::string &S, const FieldDecl *Field=nullptr, QualType *NotEncodedT=nullptr) const

Emit the Objective-CC type encoding for the given type T into S.

QualType getBuiltinMSVaListType() const

Retrieve the type of the __builtin_ms_va_list type.

MangleContext * createMangleContext(const TargetInfo *T=nullptr)

If T is null pointer, assume the target in ASTContext.

QualType getRealTypeForBitwidth(unsigned DestWidth, FloatModeKind ExplicitType) const

getRealTypeForBitwidth - sets floating point QualTy according to specified bitwidth.

QualType getInjectedClassNameType(CXXRecordDecl *Decl, QualType TST) const

getInjectedClassNameType - Return the unique reference to the injected class name type for the specif...

QualType getVariableArrayType(QualType EltTy, Expr *NumElts, ArraySizeModifier ASM, unsigned IndexTypeQuals, SourceRange Brackets) const

Return a non-unique reference to the type for a variable array of the specified element type.

QualType getFunctionNoProtoType(QualType ResultTy, const FunctionType::ExtInfo &Info) const

Return a K&R style C function type like 'int()'.

ASTMutationListener * getASTMutationListener() const

Retrieve a pointer to the AST mutation listener associated with this AST context, if any.

IdentifierInfo * getBuiltinCommonTypeName() const

unsigned NumImplicitCopyAssignmentOperatorsDeclared

The number of implicitly-declared copy assignment operators for which declarations were built.

uint64_t getTargetNullPointerValue(QualType QT) const

Get target-dependent integer value for null pointer which is used for constant folding.

unsigned getTypeUnadjustedAlign(QualType T) const

Return the ABI-specified natural alignment of a (complete) type T, before alignment adjustments,...

unsigned char getFixedPointIBits(QualType Ty) const

QualType getCorrespondingSignedFixedPointType(QualType Ty) const

IntrusiveRefCntPtr< ExternalASTSource > ExternalSource

QualType getArrayParameterType(QualType Ty) const

Return the uniqued reference to a specified array parameter type from the original array type.

QualType getCountAttributedType(QualType T, Expr *CountExpr, bool CountInBytes, bool OrNull, ArrayRef< TypeCoupledDeclRefInfo > DependentDecls) const

void setObjCIdRedefinitionType(QualType RedefType)

Set the user-written type that redefines id.

bool isObjCIdType(QualType T) const

const ASTRecordLayout & getASTRecordLayout(const RecordDecl *D) const

Get or compute information about the layout of the specified record (struct/union/class) D,...

DynTypedNodeList getParents(const NodeT &Node)

Forwards to get node parents from the ParentMapContext.

CanQualType getCanonicalType(QualType T) const

Return the canonical (structural) type corresponding to the specified potentially non-canonical type ...

unsigned NumImplicitDestructorsDeclared

The number of implicitly-declared destructors for which declarations were built.

bool isObjCClassType(QualType T) const

void setObjCNSStringType(QualType T)

bool mergeExtParameterInfo(const FunctionProtoType *FirstFnType, const FunctionProtoType *SecondFnType, bool &CanUseFirst, bool &CanUseSecond, SmallVectorImpl< FunctionProtoType::ExtParameterInfo > &NewParamInfos)

This function merges the ExtParameterInfo lists of two functions.

bool ObjCQualifiedClassTypesAreCompatible(const ObjCObjectPointerType *LHS, const ObjCObjectPointerType *RHS)

ObjCQualifiedClassTypesAreCompatible - compare Class<pr,...> and Class<pr1, ...>.

bool shouldExternalize(const Decl *D) const

Whether a C++ static variable or CUDA/HIP kernel should be externalized.

FullSourceLoc getFullLoc(SourceLocation Loc) const

bool hasSameType(QualType T1, QualType T2) const

Determine whether the given types T1 and T2 are equivalent.

bool propertyTypesAreCompatible(QualType, QualType)

void setInstantiatedFromUsingShadowDecl(UsingShadowDecl *Inst, UsingShadowDecl *Pattern)

TemplateName getQualifiedTemplateName(NestedNameSpecifier *NNS, bool TemplateKeyword, TemplateName Template) const

Retrieve the template name that represents a qualified template name such as std::vector.

QualType getDependentVectorType(QualType VectorType, Expr *SizeExpr, SourceLocation AttrLoc, VectorKind VecKind) const

Return the unique reference to the type for a dependently sized vector of the specified element type.

comments::CommandTraits & getCommentCommandTraits() const

CanQualType SatLongAccumTy

const XRayFunctionFilter & getXRayFilter() const

CanQualType getIntMaxType() const

Return the unique type for "intmax_t" (C99 7.18.1.5), defined in <stdint.h>.

QualType getVectorType(QualType VectorType, unsigned NumElts, VectorKind VecKind) const

Return the unique reference to a vector type of the specified element type and size.

OpenCLTypeKind getOpenCLTypeKind(const Type *T) const

Map an AST Type to an OpenCLTypeKind enum value.

QualType getFILEType() const

Retrieve the C FILE type.

ArrayRef< Decl * > getModuleInitializers(Module *M)

Get the initializations to perform when importing a module, if any.

void getObjCEncodingForTypeQualifier(Decl::ObjCDeclQualifier QT, std::string &S) const

Put the string version of the type qualifiers QT into S.

unsigned getPreferredTypeAlign(QualType T) const

Return the "preferred" alignment of the specified type T for the current target, in bits.

void setsigjmp_bufDecl(TypeDecl *sigjmp_bufDecl)

Set the type for the C sigjmp_buf type.

std::string getObjCEncodingForMethodDecl(const ObjCMethodDecl *Decl, bool Extended=false) const

Emit the encoded type for the method declaration Decl into S.

void DumpRecordLayout(const RecordDecl *RD, raw_ostream &OS, bool Simple=false) const

bool DeclMustBeEmitted(const Decl *D)

Determines if the decl can be CodeGen'ed or deserialized from PCH lazily, only when used; this is onl...

CanQualType OMPArrayShapingTy

ASTContext(LangOptions &LOpts, SourceManager &SM, IdentifierTable &idents, SelectorTable &sels, Builtin::Context &builtins, TranslationUnitKind TUKind)

QualType getReadPipeType(QualType T) const

Return a read_only pipe type for the specified type.

std::string getObjCEncodingForPropertyDecl(const ObjCPropertyDecl *PD, const Decl *Container) const

getObjCEncodingForPropertyDecl - Return the encoded type for this method declaration.

TemplateName getCanonicalTemplateName(TemplateName Name, bool IgnoreDeduced=false) const

Retrieves the "canonical" template name that refers to a given template.

unsigned getStaticLocalNumber(const VarDecl *VD) const

QualType getObjCSelRedefinitionType() const

Retrieve the type that 'SEL' has been defined to, which may be different from the built-in 'SEL' if '...

void addComment(const RawComment &RC)

void getLegacyIntegralTypeEncoding(QualType &t) const

getLegacyIntegralTypeEncoding - Another legacy compatibility encoding: 32-bit longs are encoded as 'l...

bool isSameTypeConstraint(const TypeConstraint *XTC, const TypeConstraint *YTC) const

Determine whether two type contraint are similar enough that they could used in declarations of the s...

CallingConv getDefaultCallingConvention(bool IsVariadic, bool IsCXXMethod, bool IsBuiltin=false) const

Retrieves the default calling convention for the current target.

RecordDecl * buildImplicitRecord(StringRef Name, RecordDecl::TagKind TK=RecordDecl::TagKind::Struct) const

Create a new implicit TU-level CXXRecordDecl or RecordDecl declaration.

void setObjCSelRedefinitionType(QualType RedefType)

Set the user-written type that redefines 'SEL'.

void setFILEDecl(TypeDecl *FILEDecl)

Set the type for the C FILE type.

QualType getSubstTemplateTypeParmType(QualType Replacement, Decl *AssociatedDecl, unsigned Index, std::optional< unsigned > PackIndex, SubstTemplateTypeParmTypeFlag Flag=SubstTemplateTypeParmTypeFlag::None) const

Retrieve a substitution-result type.

QualType getPointerType(QualType T) const

Return the uniqued reference to the type for a pointer to the specified type.

const IncompleteArrayType * getAsIncompleteArrayType(QualType T) const

QualType getMSGuidType() const

Retrieve the implicitly-predeclared 'struct _GUID' type.

const CXXMethodDecl * getCurrentKeyFunction(const CXXRecordDecl *RD)

Get our current best idea for the key function of the given record decl, or nullptr if there isn't on...

const ASTRecordLayout & getASTObjCImplementationLayout(const ObjCImplementationDecl *D) const

Get or compute information about the layout of the specified Objective-C implementation.

CanQualType UnsignedLongFractTy

QualType getEnumType(const EnumDecl *Decl) const

overridden_method_range overridden_methods(const CXXMethodDecl *Method) const

QualType getDependentBitIntType(bool Unsigned, Expr *BitsExpr) const

Return a dependent bit-precise integer type with the specified signedness and bit count.

void setObjCImplementation(ObjCInterfaceDecl *IFaceD, ObjCImplementationDecl *ImplD)

Set the implementation of ObjCInterfaceDecl.

StringRef getCUIDHash() const

bool isMSStaticDataMemberInlineDefinition(const VarDecl *VD) const

Returns true if this is an inline-initialized static data member which is treated as a definition for...

bool canAssignObjCInterfaces(const ObjCObjectPointerType *LHSOPT, const ObjCObjectPointerType *RHSOPT)

canAssignObjCInterfaces - Return true if the two interface types are compatible for assignment from R...

QualType getReferenceQualifiedType(const Expr *e) const

getReferenceQualifiedType - Given an expr, will return the type for that expression,...

bool hasSameFunctionTypeIgnoringExceptionSpec(QualType T, QualType U) const

Determine whether two function types are the same, ignoring exception specifications in cases where t...

bool isObjCSelType(QualType T) const

QualType getBlockDescriptorExtendedType() const

Gets the struct used to keep track of the extended descriptor for pointer to blocks.

void Deallocate(void *Ptr) const

QualType getLValueReferenceType(QualType T, bool SpelledAsLValue=true) const

Return the uniqued reference to the type for an lvalue reference to the specified type.

IdentifierInfo * getMakeIntegerSeqName() const

bool QIdProtocolsAdoptObjCObjectProtocols(QualType QT, ObjCInterfaceDecl *IDecl)

QIdProtocolsAdoptObjCObjectProtocols - Checks that protocols in QT's qualified-id protocol list adopt...

void addLazyModuleInitializers(Module *M, ArrayRef< GlobalDeclID > IDs)

bool isSameConstraintExpr(const Expr *XCE, const Expr *YCE) const

Determine whether two 'requires' expressions are similar enough that they may be used in re-declarati...

IdentifierInfo * getTypePackElementName() const

bool BlockRequiresCopying(QualType Ty, const VarDecl *D)

Returns true iff we need copy/dispose helpers for the given type.

QualType getTypeDeclType(const TypeDecl *Decl, const TypeDecl *PrevDecl=nullptr) const

Return the unique reference to the type for the specified type declaration.

CanQualType OMPIteratorTy

std::vector< Decl * > getTraversalScope() const

TemplateName getSubstTemplateTemplateParm(TemplateName replacement, Decl *AssociatedDecl, unsigned Index, std::optional< unsigned > PackIndex) const

Builtin::Context & BuiltinInfo

QualType getConstantArrayType(QualType EltTy, const llvm::APInt &ArySize, const Expr *SizeExpr, ArraySizeModifier ASM, unsigned IndexTypeQuals) const

Return the unique reference to the type for a constant array of the specified element type.

void addModuleInitializer(Module *M, Decl *Init)

Add a declaration to the list of declarations that are initialized for a module.

const LangOptions & getLangOpts() const

QualType getConstType(QualType T) const

Return the uniqued reference to the type for a const qualified type.

QualType getFunctionTypeWithoutPtrSizes(QualType T)

Get a function type and produce the equivalent function type where pointer size address spaces in the...

llvm::iterator_range< overridden_cxx_method_iterator > overridden_method_range

SelectorTable & Selectors

bool isTypeIgnoredBySanitizer(const SanitizerMask &Mask, const QualType &Ty) const

Check if a type can have its sanitizer instrumentation elided based on its presence within an ignorel...

unsigned getMinGlobalAlignOfVar(uint64_t Size, const VarDecl *VD) const

Return the minimum alignement as specified by the target.

RawCommentList Comments

All comments in this translation unit.

bool isSameDefaultTemplateArgument(const NamedDecl *X, const NamedDecl *Y) const

Determine whether two default template arguments are similar enough that they may be used in declarat...

QualType applyObjCProtocolQualifiers(QualType type, ArrayRef< ObjCProtocolDecl * > protocols, bool &hasError, bool allowOnPointerType=false) const

Apply Objective-C protocol qualifiers to the given type.

QualType getMacroQualifiedType(QualType UnderlyingTy, const IdentifierInfo *MacroII) const

QualType removePtrSizeAddrSpace(QualType T) const

Remove the existing address space on the type if it is a pointer size address space and return the ty...

bool areLaxCompatibleRVVTypes(QualType FirstType, QualType SecondType)

Return true if the given vector types are lax-compatible RISC-V vector types as defined by -flax-vect...

void setObjCSuperType(QualType ST)

TypedefDecl * getBOOLDecl() const

Retrieve declaration of 'BOOL' typedef.

CanQualType SatShortFractTy

QualType getDecayedType(QualType T) const

Return the uniqued reference to the decayed version of the given type.

bool canBindObjCObjectType(QualType To, QualType From)

unsigned getNextStringLiteralVersion()

Return the next version number to be used for a string literal evaluated as part of constant evaluati...

int getFloatingTypeSemanticOrder(QualType LHS, QualType RHS) const

Compare the rank of two floating point types as above, but compare equal if both types have the same ...

QualType getUIntPtrType() const

Return a type compatible with "uintptr_t" (C99 7.18.1.4), as defined by the target.

void setParameterIndex(const ParmVarDecl *D, unsigned index)

Used by ParmVarDecl to store on the side the index of the parameter when it exceeds the size of the n...

QualType getFunctionTypeWithExceptionSpec(QualType Orig, const FunctionProtoType::ExceptionSpecInfo &ESI) const

Get a function type and produce the equivalent function type with the specified exception specificati...

bool hasSameType(const Type *T1, const Type *T2) const

QualType getObjCInstanceType()

Retrieve the Objective-C "instancetype" type, if already known; otherwise, returns a NULL type;.

Qualifiers::GC getObjCGCAttrKind(QualType Ty) const

Return one of the GCNone, Weak or Strong Objective-C garbage collection attributes.

PartialDiagnostic::DiagStorageAllocator & getDiagAllocator()

void setASTMutationListener(ASTMutationListener *Listener)

Attach an AST mutation listener to the AST context.

bool hasUniqueObjectRepresentations(QualType Ty, bool CheckIfTriviallyCopyable=true) const

Return true if the specified type has unique object representations according to (C++17 [meta....

const QualType GetHigherPrecisionFPType(QualType ElementType) const

bool typesAreBlockPointerCompatible(QualType, QualType)

CanQualType SatUnsignedAccumTy

bool useAbbreviatedThunkName(GlobalDecl VirtualMethodDecl, StringRef MangledName)

const ASTRecordLayout & getASTObjCInterfaceLayout(const ObjCInterfaceDecl *D) const

Get or compute information about the layout of the specified Objective-C interface.

QualType getObjCProtoType() const

Retrieve the type of the Objective-C Protocol class.

void forEachMultiversionedFunctionVersion(const FunctionDecl *FD, llvm::function_ref< void(FunctionDecl *)> Pred) const

Visits all versions of a multiversioned function with the passed predicate.

void setInstantiatedFromUsingEnumDecl(UsingEnumDecl *Inst, UsingEnumDecl *Pattern)

Remember that the using enum decl Inst is an instantiation of the using enum decl Pattern of a class ...

QualType getBaseElementType(const ArrayType *VAT) const

Return the innermost element type of an array type.

QualType getPointerDiffType() const

Return the unique type for "ptrdiff_t" (C99 7.17) defined in <stddef.h>.

Decl * getPrimaryMergedDecl(Decl *D)

QualType getSignatureParameterType(QualType T) const

Retrieve the parameter type as adjusted for use in the signature of a function, decaying array and fu...

CanQualType ArraySectionTy

QualType getCanonicalTemplateSpecializationType(TemplateName T, ArrayRef< TemplateArgument > Args) const

CanQualType ObjCBuiltinIdTy

overridden_cxx_method_iterator overridden_methods_end(const CXXMethodDecl *Method) const

VTableContextBase * getVTableContext()

void setBOOLDecl(TypedefDecl *TD)

Save declaration of 'BOOL' typedef.

llvm::SetVector< const ValueDecl * > CUDAExternalDeviceDeclODRUsedByHost

Keep track of CUDA/HIP external kernels or device variables ODR-used by host code.

ComparisonCategories CompCategories

Types and expressions required to build C++2a three-way comparisons using operator<=>,...

int getFloatingTypeOrder(QualType LHS, QualType RHS) const

Compare the rank of the two specified floating point types, ignoring the domain of the type (i....

unsigned CountNonClassIvars(const ObjCInterfaceDecl *OI) const

ASTContext(const ASTContext &)=delete

ObjCPropertyImplDecl * getObjCPropertyImplDeclForPropertyDecl(const ObjCPropertyDecl *PD, const Decl *Container) const

bool isNearlyEmpty(const CXXRecordDecl *RD) const

void cacheRawCommentForDecl(const Decl &OriginalD, const RawComment &Comment) const

Attaches Comment to OriginalD and to its redeclaration chain and removes the redeclaration chain from...

void attachCommentsToJustParsedDecls(ArrayRef< Decl * > Decls, const Preprocessor *PP)

Searches existing comments for doc comments that should be attached to Decls.

QualType getIntTypeForBitwidth(unsigned DestWidth, unsigned Signed) const

getIntTypeForBitwidth - sets integer QualTy according to specified details: bitwidth,...

llvm::BumpPtrAllocator & getAllocator() const

void setStaticLocalNumber(const VarDecl *VD, unsigned Number)

QualType getCFConstantStringType() const

Return the C structure type used to represent constant CFStrings.

void eraseDeclAttrs(const Decl *D)

Erase the attributes corresponding to the given declaration.

const NoSanitizeList & getNoSanitizeList() const

struct clang::ASTContext::CUDAConstantEvalContext CUDAConstantEvalCtx

IdentifierInfo * getNSObjectName() const

Retrieve the identifier 'NSObject'.

UsingEnumDecl * getInstantiatedFromUsingEnumDecl(UsingEnumDecl *Inst)

If the given using-enum decl Inst is an instantiation of another using-enum decl, return it.

RecordDecl * getCFConstantStringTagDecl() const

QualType getObjCSelType() const

Retrieve the type that corresponds to the predefined Objective-C 'SEL' type.

QualType getDeducedTemplateSpecializationType(TemplateName Template, QualType DeducedType, bool IsDependent) const

C++17 deduced class template specialization type.

std::string getObjCEncodingForFunctionDecl(const FunctionDecl *Decl) const

Emit the encoded type for the function Decl into S.

QualType getTemplateTypeParmType(unsigned Depth, unsigned Index, bool ParameterPack, TemplateTypeParmDecl *ParmDecl=nullptr) const

Retrieve the template type parameter type for a template parameter or parameter pack with the given d...

bool addressSpaceMapManglingFor(LangAS AS) const

CanQualType UnsignedFractTy

QualType getjmp_bufType() const

Retrieve the C jmp_buf type.

GVALinkage GetGVALinkageForFunction(const FunctionDecl *FD) const

QualType mergeFunctionParameterTypes(QualType, QualType, bool OfBlockPointer=false, bool Unqualified=false)

mergeFunctionParameterTypes - merge two types which appear as function parameter types

QualType getsigjmp_bufType() const

Retrieve the C sigjmp_buf type.

void addOverriddenMethod(const CXXMethodDecl *Method, const CXXMethodDecl *Overridden)

Note that the given C++ Method overrides the given Overridden method.

const TargetInfo * getAuxTargetInfo() const

CanQualType ObjCBuiltinClassTy

unsigned NumImplicitDefaultConstructorsDeclared

The number of implicitly-declared default constructors for which declarations were built.

CanQualType UnresolvedTemplateTy

void setucontext_tDecl(TypeDecl *ucontext_tDecl)

Set the type for the C ucontext_t type.

OMPTraitInfo & getNewOMPTraitInfo()

Return a new OMPTraitInfo object owned by this context.

CanQualType UnsignedLongTy

llvm::DenseSet< const FunctionDecl * > CUDAImplicitHostDeviceFunUsedByDevice

Keep track of CUDA/HIP implicit host device functions used on device side in device compilation.

void DeepCollectObjCIvars(const ObjCInterfaceDecl *OI, bool leafClass, SmallVectorImpl< const ObjCIvarDecl * > &Ivars) const

DeepCollectObjCIvars - This routine first collects all declared, but not synthesized,...

bool computeBestEnumTypes(bool IsPacked, unsigned NumNegativeBits, unsigned NumPositiveBits, QualType &BestType, QualType &BestPromotionType)

Compute BestType and BestPromotionType for an enum based on the highest number of negative and positi...

llvm::APFixedPoint getFixedPointMin(QualType Ty) const

TypeSourceInfo * getTrivialTypeSourceInfo(QualType T, SourceLocation Loc=SourceLocation()) const

Allocate a TypeSourceInfo where all locations have been initialized to a given location,...

QualType adjustType(QualType OldType, llvm::function_ref< QualType(QualType)> Adjust) const

Rebuild a type, preserving any existing type sugar.

void addedLocalImportDecl(ImportDecl *Import)

Notify the AST context that a new import declaration has been parsed or implicitly created within thi...

bool hasAnyFunctionEffects() const

const TranslationUnitKind TUKind

QualType getQualifiedType(const Type *T, Qualifiers Qs) const

Return a type with additional qualifiers.

CanQualType UnsignedLongAccumTy

QualType AutoRRefDeductTy

QualType getRestrictType(QualType T) const

Return the uniqued reference to the type for a restrict qualified type.

CanQualType getSizeType() const

Return the unique type for "size_t" (C99 7.17), defined in <stddef.h>.

TypeInfo getTypeInfo(const Type *T) const

Get the size and alignment of the specified complete type in bits.

QualType getStringLiteralArrayType(QualType EltTy, unsigned Length) const

Return a type for a constant array for a string literal of the specified element type and length.

QualType getCorrespondingSaturatedType(QualType Ty) const

bool isSameEntity(const NamedDecl *X, const NamedDecl *Y) const

Determine whether the two declarations refer to the same entity.

QualType getBOOLType() const

type of 'BOOL' type.

TypeSourceInfo * getTemplateSpecializationTypeInfo(TemplateName T, SourceLocation TLoc, const TemplateArgumentListInfo &Args, QualType Canon=QualType()) const

QualType getSubstTemplateTypeParmPackType(Decl *AssociatedDecl, unsigned Index, bool Final, const TemplateArgument &ArgPack)

Retrieve a.

llvm::DenseMap< const CXXMethodDecl *, CXXCastPath > LambdaCastPaths

For capturing lambdas with an explicit object parameter whose type is derived from the lambda type,...

CanQualType BoundMemberTy

CanQualType SatUnsignedShortFractTy

QualType removeAddrSpaceQualType(QualType T) const

Remove any existing address space on the type and returns the type with qualifiers intact (or that's ...

bool hasSameFunctionTypeIgnoringParamABI(QualType T, QualType U) const

Determine if two function types are the same, ignoring parameter ABI annotations.

TypedefDecl * getInt128Decl() const

Retrieve the declaration for the 128-bit signed integer type.

unsigned getOpenMPDefaultSimdAlign(QualType T) const

Get default simd alignment of the specified complete type in bits.

QualType getObjCSuperType() const

Returns the C struct type for objc_super.

QualType getBlockDescriptorType() const

Gets the struct used to keep track of the descriptor for pointer to blocks.

bool CommentsLoaded

True if comments are already loaded from ExternalASTSource.

BlockVarCopyInit getBlockVarCopyInit(const VarDecl *VD) const

Get the copy initialization expression of the VarDecl VD, or nullptr if none exists.

unsigned NumImplicitMoveConstructorsDeclared

The number of implicitly-declared move constructors for which declarations were built.

unsigned NumImplicitCopyConstructorsDeclared

The number of implicitly-declared copy constructors for which declarations were built.

llvm::DenseSet< const VarDecl * > CUDADeviceVarODRUsedByHost

Keep track of CUDA/HIP device-side variables ODR-used by host code.

CanQualType PseudoObjectTy

QualType getWebAssemblyExternrefType() const

Return a WebAssembly externref type.

void setTraversalScope(const std::vector< Decl * > &)

CharUnits getTypeUnadjustedAlignInChars(QualType T) const

getTypeUnadjustedAlignInChars - Return the ABI-specified alignment of a type, in characters,...

QualType getAdjustedType(QualType Orig, QualType New) const

Return the uniqued reference to a type adjusted from the original type to a new type.

CanQualType getComplexType(CanQualType T) const

friend class NestedNameSpecifier

unsigned getAlignOfGlobalVar(QualType T, const VarDecl *VD) const

Return the alignment in bits that should be given to a global variable with type T.

TypeInfoChars getTypeInfoDataSizeInChars(QualType T) const

MangleNumberingContext & getManglingNumberContext(const DeclContext *DC)

Retrieve the context for computing mangling numbers in the given DeclContext.

comments::FullComment * getLocalCommentForDeclUncached(const Decl *D) const

Return parsed documentation comment attached to a given declaration.

unsigned NumImplicitDestructors

The number of implicitly-declared destructors.

QualType getQualifiedType(SplitQualType split) const

Un-split a SplitQualType.

QualType getElaboratedType(ElaboratedTypeKeyword Keyword, NestedNameSpecifier *NNS, QualType NamedType, TagDecl *OwnedTagDecl=nullptr) const

bool isAlignmentRequired(const Type *T) const

Determine if the alignment the type has was required using an alignment attribute.

bool areComparableObjCPointerTypes(QualType LHS, QualType RHS)

MangleContext * createDeviceMangleContext(const TargetInfo &T)

Creates a device mangle context to correctly mangle lambdas in a mixed architecture compile by settin...

CharUnits getExnObjectAlignment() const

Return the alignment (in bytes) of the thrown exception object.

QualType getObjCObjectPointerType(QualType OIT) const

Return a ObjCObjectPointerType type for the given ObjCObjectType.

ASTMutationListener * Listener

QualType getPackExpansionType(QualType Pattern, std::optional< unsigned > NumExpansions, bool ExpectPackInType=true) const

Form a pack expansion type with the given pattern.

void setNonKeyFunction(const CXXMethodDecl *method)

Observe that the given method cannot be a key function.

CanQualType ObjCBuiltinBoolTy

TypeInfoChars getTypeInfoInChars(const Type *T) const

QualType getObjCObjectType(QualType Base, ObjCProtocolDecl *const *Protocols, unsigned NumProtocols) const

Legacy interface: cannot provide type arguments or __kindof.

LangAS getDefaultOpenCLPointeeAddrSpace()

Returns default address space based on OpenCL version and enabled features.

TemplateParamObjectDecl * getTemplateParamObjectDecl(QualType T, const APValue &V) const

Return the template parameter object of the given type with the given value.

const SourceManager & getSourceManager() const

CharUnits getDeclAlign(const Decl *D, bool ForAlignof=false) const

Return a conservative estimate of the alignment of the specified decl D.

int64_t toBits(CharUnits CharSize) const

Convert a size in characters to a size in bits.

CanQualType OCLClkEventTy

void adjustExceptionSpec(FunctionDecl *FD, const FunctionProtoType::ExceptionSpecInfo &ESI, bool AsWritten=false)

Change the exception specification on a function once it is delay-parsed, instantiated,...

TypedefDecl * getUInt128Decl() const

Retrieve the declaration for the 128-bit unsigned integer type.

CharUnits getPreferredTypeAlignInChars(QualType T) const

Return the PreferredAlignment of a (complete) type T, in characters.

const clang::PrintingPolicy & getPrintingPolicy() const

ArrayRef< Module * > getModulesWithMergedDefinition(const NamedDecl *Def)

Get the additional modules in which the definition Def has been merged.

static ImportDecl * getNextLocalImport(ImportDecl *Import)

llvm::FixedPointSemantics getFixedPointSemantics(QualType Ty) const

QualType getDependentSizedArrayType(QualType EltTy, Expr *NumElts, ArraySizeModifier ASM, unsigned IndexTypeQuals, SourceRange Brackets) const

Return a non-unique reference to the type for a dependently-sized array of the specified element type...

uint64_t lookupFieldBitOffset(const ObjCInterfaceDecl *OID, const ObjCImplementationDecl *ID, const ObjCIvarDecl *Ivar) const

Get the offset of an ObjCIvarDecl in bits.

CanQualType SatUnsignedShortAccumTy

QualType mergeTypes(QualType, QualType, bool OfBlockPointer=false, bool Unqualified=false, bool BlockReturnType=false, bool IsConditionalOperator=false)

const RawComment * getRawCommentForAnyRedecl(const Decl *D, const Decl **OriginalDecl=nullptr) const

Return the documentation comment attached to a given declaration.

CharUnits getAlignOfGlobalVarInChars(QualType T, const VarDecl *VD) const

Return the alignment in characters that should be given to a global variable with type T.

const ObjCMethodDecl * getObjCMethodRedeclaration(const ObjCMethodDecl *MD) const

Get the duplicate declaration of a ObjCMethod in the same interface, or null if none exists.

static bool isObjCNSObjectType(QualType Ty)

Return true if this is an NSObject object with its NSObject attribute set.

GVALinkage GetGVALinkageForVariable(const VarDecl *VD) const

UsingShadowDecl * getInstantiatedFromUsingShadowDecl(UsingShadowDecl *Inst)

QualType getWCharType() const

Return the unique wchar_t type available in C++ (and available as __wchar_t as a Microsoft extension)...

QualType getObjCIdType() const

Represents the Objective-CC id type.

Decl * getVaListTagDecl() const

Retrieve the C type declaration corresponding to the predefined __va_list_tag type used to help defin...

QualType getUnsignedWCharType() const

Return the type of "unsigned wchar_t".

QualType getFunctionTypeWithoutParamABIs(QualType T) const

Get or construct a function type that is equivalent to the input type except that the parameter ABI a...

bool hasSameUnqualifiedType(QualType T1, QualType T2) const

Determine whether the given types are equivalent after cvr-qualifiers have been removed.

QualType getCorrespondingUnsaturatedType(QualType Ty) const

comments::FullComment * getCommentForDecl(const Decl *D, const Preprocessor *PP) const

Return parsed documentation comment attached to a given declaration.

FunctionProtoType::ExceptionSpecInfo mergeExceptionSpecs(FunctionProtoType::ExceptionSpecInfo ESI1, FunctionProtoType::ExceptionSpecInfo ESI2, SmallVectorImpl< QualType > &ExceptionTypeStorage, bool AcceptDependent)

TemplateArgument getInjectedTemplateArg(NamedDecl *ParamDecl) const

unsigned getTargetDefaultAlignForAttributeAligned() const

Return the default alignment for attribute((aligned)) on this target, to be used if no alignment valu...

const ArrayType * getAsArrayType(QualType T) const

Type Query functions.

llvm::DenseMap< CanQualType, SYCLKernelInfo > SYCLKernels

Map of SYCL kernels indexed by the unique type used to name the kernel.

bool isSameTemplateParameterList(const TemplateParameterList *X, const TemplateParameterList *Y) const

Determine whether two template parameter lists are similar enough that they may be used in declaratio...

QualType getWritePipeType(QualType T) const

Return a write_only pipe type for the specified type.

const CXXRecordDecl * baseForVTableAuthentication(const CXXRecordDecl *ThisClass)

Resolve the root record to be used to derive the vtable pointer authentication policy for the specifi...

uint64_t getTypeSize(QualType T) const

Return the size of the specified (complete) type T, in bits.

CanQualType UnsignedInt128Ty

ObjCInterfaceDecl * getObjCProtocolDecl() const

Retrieve the Objective-C class declaration corresponding to the predefined Protocol class.

unsigned NumImplicitDefaultConstructors

The number of implicitly-declared default constructors.

CharUnits getTypeSizeInChars(QualType T) const

Return the size of the specified (complete) type T, in characters.

unsigned NumImplicitMoveAssignmentOperatorsDeclared

The number of implicitly-declared move assignment operators for which declarations were built.

void setManglingNumber(const NamedDecl *ND, unsigned Number)

llvm::DenseMap< const Decl *, const RawComment * > DeclRawComments

Mapping from declaration to directly attached comment.

TypedefDecl * getBuiltinVaListDecl() const

Retrieve the C type declaration corresponding to the predefined __builtin_va_list type.

TypeInfo getTypeInfo(QualType T) const

CanQualType UnsignedCharTy

CanQualType UnsignedShortFractTy

BuiltinTemplateDecl * buildBuiltinTemplateDecl(BuiltinTemplateKind BTK, const IdentifierInfo *II) const

void * Allocate(size_t Size, unsigned Align=8) const

bool canBuiltinBeRedeclared(const FunctionDecl *) const

Return whether a declaration to a builtin is allowed to be overloaded/redeclared.

CanQualType UnsignedIntTy

TemplateName getDependentTemplateName(NestedNameSpecifier *NNS, const IdentifierInfo *Name) const

Retrieve the template name that represents a dependent template name such as MetaFun::template apply.

unsigned NumImplicitMoveConstructors

The number of implicitly-declared move constructors.

QualType getObjCTypeParamType(const ObjCTypeParamDecl *Decl, ArrayRef< ObjCProtocolDecl * > protocols) const

QualType getVolatileType(QualType T) const

Return the uniqued reference to the type for a volatile qualified type.

void getObjCEncodingForMethodParameter(Decl::ObjCDeclQualifier QT, QualType T, std::string &S, bool Extended) const

getObjCEncodingForMethodParameter - Return the encoded type for a single method parameter or return t...

void addDeclaratorForUnnamedTagDecl(TagDecl *TD, DeclaratorDecl *DD)

unsigned overridden_methods_size(const CXXMethodDecl *Method) const

std::string getObjCEncodingForBlock(const BlockExpr *blockExpr) const

Return the encoded type for this block declaration.

TypeSourceInfo * CreateTypeSourceInfo(QualType T, unsigned Size=0) const

Allocate an uninitialized TypeSourceInfo.

QualType getObjCClassRedefinitionType() const

Retrieve the type that Class has been defined to, which may be different from the built-in Class if C...

TagDecl * getMSGuidTagDecl() const

Retrieve the implicitly-predeclared 'struct _GUID' declaration.

QualType getExceptionObjectType(QualType T) const

void setInstantiatedFromStaticDataMember(VarDecl *Inst, VarDecl *Tmpl, TemplateSpecializationKind TSK, SourceLocation PointOfInstantiation=SourceLocation())

Note that the static data member Inst is an instantiation of the static data member template Tmpl of ...

FieldDecl * getInstantiatedFromUnnamedFieldDecl(FieldDecl *Field) const

DeclaratorDecl * getDeclaratorForUnnamedTagDecl(const TagDecl *TD)

bool ObjCObjectAdoptsQTypeProtocols(QualType QT, ObjCInterfaceDecl *Decl)

ObjCObjectAdoptsQTypeProtocols - Checks that protocols in IC's protocol list adopt all protocols in Q...

QualType getFunctionNoProtoType(QualType ResultTy) const

CanQualType UnsignedLongLongTy

QualType GetBuiltinType(unsigned ID, GetBuiltinTypeError &Error, unsigned *IntegerConstantArgs=nullptr) const

Return the type for the specified builtin.

QualType getCommonSugaredType(QualType X, QualType Y, bool Unqualified=false)

CanQualType OCLReserveIDTy

bool isSameTemplateParameter(const NamedDecl *X, const NamedDecl *Y) const

Determine whether two template parameters are similar enough that they may be used in declarations of...

void registerSYCLEntryPointFunction(FunctionDecl *FD)

Generates and stores SYCL kernel metadata for the provided SYCL kernel entry point function.

size_t getASTAllocatedMemory() const

Return the total amount of physical memory allocated for representing AST nodes and type information.

QualType getArrayDecayedType(QualType T) const

Return the properly qualified result of decaying the specified array type to a pointer.

overridden_cxx_method_iterator overridden_methods_begin(const CXXMethodDecl *Method) const

CanQualType UnsignedShortTy

unsigned getTypeAlignIfKnown(QualType T, bool NeedsPreferredAlignment=false) const

Return the alignment of a type, in bits, or 0 if the type is incomplete and we cannot determine the a...

void UnwrapSimilarArrayTypes(QualType &T1, QualType &T2, bool AllowPiMismatch=true) const

Attempt to unwrap two types that may both be array types with the same bound (or both be array types ...

QualType getObjCConstantStringInterface() const

bool AtomicUsesUnsupportedLibcall(const AtomicExpr *E) const

QualType getFunctionType(QualType ResultTy, ArrayRef< QualType > Args, const FunctionProtoType::ExtProtoInfo &EPI) const

Return a normal function type with a typed argument list.

QualType getDependentNameType(ElaboratedTypeKeyword Keyword, NestedNameSpecifier *NNS, const IdentifierInfo *Name, QualType Canon=QualType()) const

const SYCLKernelInfo & getSYCLKernelInfo(QualType T) const

Given a type used as a SYCL kernel name, returns a reference to the metadata generated from the corre...

bool canAssignObjCInterfacesInBlockPointer(const ObjCObjectPointerType *LHSOPT, const ObjCObjectPointerType *RHSOPT, bool BlockReturnType)

canAssignObjCInterfacesInBlockPointer - This routine is specifically written for providing type-safet...

CanQualType SatUnsignedLongFractTy

void setcudaConfigureCallDecl(FunctionDecl *FD)

CanQualType getDecayedType(CanQualType T) const

QualType getObjCIdRedefinitionType() const

Retrieve the type that id has been defined to, which may be different from the built-in id if id has ...

const CXXConstructorDecl * getCopyConstructorForExceptionObject(CXXRecordDecl *RD)

QualType getDependentAddressSpaceType(QualType PointeeType, Expr *AddrSpaceExpr, SourceLocation AttrLoc) const

QualType getPackIndexingType(QualType Pattern, Expr *IndexExpr, bool FullySubstituted=false, ArrayRef< QualType > Expansions={}, int Index=-1) const

RawComment * getRawCommentForDeclNoCache(const Decl *D) const

Return the documentation comment attached to a given declaration, without looking into cache.

QualType getPromotedIntegerType(QualType PromotableType) const

Return the type that PromotableType will promote to: C99 6.3.1.1p2, assuming that PromotableType is a...

llvm::APSInt MakeIntValue(uint64_t Value, QualType Type) const

Make an APSInt of the appropriate width and signedness for the given Value and integer Type.

const VariableArrayType * getAsVariableArrayType(QualType T) const

QualType getUnaryTransformType(QualType BaseType, QualType UnderlyingType, UnaryTransformType::UTTKind UKind) const

Unary type transforms.

const Type * getCanonicalType(const Type *T) const

void setExternalSource(IntrusiveRefCntPtr< ExternalASTSource > Source)

Attach an external AST source to the AST context.

const ObjCInterfaceDecl * getObjContainingInterface(const NamedDecl *ND) const

Returns the Objective-C interface that ND belongs to if it is an Objective-C method/property/ivar etc...

StringLiteral * getPredefinedStringLiteralFromCache(StringRef Key) const

Return a string representing the human readable name for the specified function declaration or file n...

bool hasSimilarType(QualType T1, QualType T2) const

Determine if two types are similar, according to the C++ rules.

llvm::APFixedPoint getFixedPointMax(QualType Ty) const

QualType getComplexType(QualType T) const

Return the uniqued reference to the type for a complex number with the specified element type.

bool areCompatibleSveTypes(QualType FirstType, QualType SecondType)

Return true if the given types are an SVE builtin and a VectorType that is a fixed-length representat...

void setObjCClassRedefinitionType(QualType RedefType)

Set the user-written type that redefines 'SEL'.

bool hasDirectOwnershipQualifier(QualType Ty) const

Return true if the type has been explicitly qualified with ObjC ownership.

Qualifiers::ObjCLifetime getInnerObjCOwnership(QualType T) const

Recurses in pointer/array types until it finds an Objective-C retainable type and returns its ownersh...

void addCopyConstructorForExceptionObject(CXXRecordDecl *RD, CXXConstructorDecl *CD)

FunctionDecl * getcudaConfigureCallDecl()

DiagnosticsEngine & getDiagnostics() const

llvm::StringRef backupStr(llvm::StringRef S) const

QualType getAdjustedParameterType(QualType T) const

Perform adjustment on the parameter type of a function.

QualType getUnqualifiedObjCPointerType(QualType type) const

getUnqualifiedObjCPointerType - Returns version of Objective-C pointer type with lifetime qualifier r...

void ResetObjCLayout(const ObjCContainerDecl *CD)

interp::Context & getInterpContext()

Returns the clang bytecode interpreter context.

QualType getCVRQualifiedType(QualType T, unsigned CVR) const

Return a type with additional const, volatile, or restrict qualifiers.

UnnamedGlobalConstantDecl * getUnnamedGlobalConstantDecl(QualType Ty, const APValue &Value) const

Return a declaration for a uniquified anonymous global constant corresponding to a given APValue.

QualType getExtVectorType(QualType VectorType, unsigned NumElts) const

Return the unique reference to an extended vector type of the specified element type and size.

bool areCompatibleVectorTypes(QualType FirstVec, QualType SecondVec)

Return true if the given vector types are of the same unqualified type or if they are equivalent to t...

void getOverriddenMethods(const NamedDecl *Method, SmallVectorImpl< const NamedDecl * > &Overridden) const

Return C++ or ObjC overridden methods for the given Method.

DeclarationNameInfo getNameForTemplate(TemplateName Name, SourceLocation NameLoc) const

bool hasSameTemplateName(const TemplateName &X, const TemplateName &Y, bool IgnoreDeduced=false) const

Determine whether the given template names refer to the same template.

CanQualType SatLongFractTy

const TargetInfo & getTargetInfo() const

void setInstantiatedFromUnnamedFieldDecl(FieldDecl *Inst, FieldDecl *Tmpl)

CanQualType SatShortAccumTy

QualType getAutoDeductType() const

C++11 deduction pattern for 'auto' type.

unsigned NumImplicitCopyConstructors

The number of implicitly-declared copy constructors.

CharUnits toCharUnitsFromBits(int64_t BitSize) const

Convert a size in bits to a size in characters.

CanQualType IncompleteMatrixIdxTy

std::optional< CharUnits > getTypeSizeInCharsIfKnown(QualType Ty) const

void getFunctionFeatureMap(llvm::StringMap< bool > &FeatureMap, const FunctionDecl *) const

CanQualType getNSIntegerType() const

QualType getCorrespondingUnsignedType(QualType T) const

void setBlockVarCopyInit(const VarDecl *VD, Expr *CopyExpr, bool CanThrow)

Set the copy initialization expression of a block var decl.

QualType getLifetimeQualifiedType(QualType type, Qualifiers::ObjCLifetime lifetime)

Return a type with the given lifetime qualifier.

TemplateName getOverloadedTemplateName(UnresolvedSetIterator Begin, UnresolvedSetIterator End) const

Retrieve the template name that corresponds to a non-empty lookup.

bool typesAreCompatible(QualType T1, QualType T2, bool CompareUnqualified=false)

Compatibility predicates used to check assignment expressions.

TemplateName getSubstTemplateTemplateParmPack(const TemplateArgument &ArgPack, Decl *AssociatedDecl, unsigned Index, bool Final) const

QualType getObjCNSStringType() const

TargetCXXABI::Kind getCXXABIKind() const

Return the C++ ABI kind that should be used.

void setjmp_bufDecl(TypeDecl *jmp_bufDecl)

Set the type for the C jmp_buf type.

QualType getHLSLAttributedResourceType(QualType Wrapped, QualType Contained, const HLSLAttributedResourceType::Attributes &Attrs)

void addDestruction(T *Ptr) const

If T isn't trivially destructible, calls AddDeallocation to register it for destruction.

bool UnwrapSimilarTypes(QualType &T1, QualType &T2, bool AllowPiMismatch=true) const

Attempt to unwrap two types that may be similar (C++ [conv.qual]).

QualType getAddrSpaceQualType(QualType T, LangAS AddressSpace) const

Return the uniqued reference to the type for an address space qualified type with the specified type ...

ExternalASTSource * getExternalSource() const

Retrieve a pointer to the external AST source associated with this AST context, if any.

uint64_t getConstantArrayElementCount(const ConstantArrayType *CA) const

Return number of constant array elements.

BuiltinTemplateDecl * getTypePackElementDecl() const

CanQualType SatUnsignedLongAccumTy

QualType getUnconstrainedType(QualType T) const

Remove any type constraints from a template parameter type, for equivalence comparison of template pa...

QualType getTypeOfType(QualType QT, TypeOfKind Kind) const

getTypeOfType - Unlike many "get<Type>" functions, we don't unique TypeOfType nodes.

QualType getCorrespondingSignedType(QualType T) const

QualType mergeObjCGCQualifiers(QualType, QualType)

mergeObjCGCQualifiers - This routine merges ObjC's GC attribute of 'LHS' and 'RHS' attributes and ret...

QualType getQualifiedType(QualType T, Qualifiers Qs) const

Return a type with additional qualifiers.

llvm::DenseMap< const Decl *, const Decl * > CommentlessRedeclChains

Keeps track of redeclaration chains that don't have any comment attached.

uint64_t getArrayInitLoopExprElementCount(const ArrayInitLoopExpr *AILE) const

Return number of elements initialized in an ArrayInitLoopExpr.

void deduplicateMergedDefinitonsFor(NamedDecl *ND)

Clean up the merged definition list.

unsigned getTargetAddressSpace(LangAS AS) const

QualType getWideCharType() const

Return the type of wide characters.

QualType getIntPtrType() const

Return a type compatible with "intptr_t" (C99 7.18.1.4), as defined by the target.

void mergeDefinitionIntoModule(NamedDecl *ND, Module *M, bool NotifyListeners=true)

Note that the definition ND has been merged into module M, and should be visible whenever M is visibl...

void addTranslationUnitDecl()

bool hasSameNullabilityTypeQualifier(QualType SubT, QualType SuperT, bool IsParam) const

void getObjCEncodingForPropertyType(QualType T, std::string &S) const

Emit the Objective-C property type encoding for the given type T into S.

unsigned NumImplicitCopyAssignmentOperators

The number of implicitly-declared copy assignment operators.

void CollectInheritedProtocols(const Decl *CDecl, llvm::SmallPtrSet< ObjCProtocolDecl *, 8 > &Protocols)

CollectInheritedProtocols - Collect all protocols in current class and those inherited by it.

bool isPromotableIntegerType(QualType T) const

More type predicates useful for type checking/promotion.

T * Allocate(size_t Num=1) const

llvm::DenseMap< const Decl *, const Decl * > RedeclChainComments

Mapping from canonical declaration to the first redeclaration in chain that has a comment attached.

CanQualType getSignedSizeType() const

Return the unique signed counterpart of the integer type corresponding to size_t.

void adjustDeducedFunctionResultType(FunctionDecl *FD, QualType ResultType)

Change the result type of a function type once it is deduced.

QualType getObjCGCQualType(QualType T, Qualifiers::GC gcAttr) const

Return the uniqued reference to the type for an Objective-C gc-qualified type.

QualType getPointerAuthType(QualType Ty, PointerAuthQualifier PointerAuth)

Return a type with the given __ptrauth qualifier.

QualType getDecltypeType(Expr *e, QualType UnderlyingType) const

C++11 decltype.

QualType getLogicalOperationType() const

The result type of logical operations, '<', '>', '!=', etc.

NestedNameSpecifier * getCanonicalNestedNameSpecifier(NestedNameSpecifier *NNS) const

Retrieves the "canonical" nested name specifier for a given nested name specifier.

QualType getTypedefType(const TypedefNameDecl *Decl, QualType Underlying=QualType()) const

Return the unique reference to the type for the specified typedef-name decl.

InlineVariableDefinitionKind getInlineVariableDefinitionKind(const VarDecl *VD) const

Determine whether a definition of this inline variable should be treated as a weak or strong definiti...

void setPrimaryMergedDecl(Decl *D, Decl *Primary)

CanQualType getUIntMaxType() const

Return the unique type for "uintmax_t" (C99 7.18.1.5), defined in <stdint.h>.

IdentifierInfo * getBoolName() const

Retrieve the identifier 'bool'.

uint16_t getPointerAuthVTablePointerDiscriminator(const CXXRecordDecl *RD)

Return the "other" discriminator used for the pointer auth schema used for vtable pointers in instanc...

CharUnits getOffsetOfBaseWithVBPtr(const CXXRecordDecl *RD) const

Loading virtual member pointers using the virtual inheritance model always results in an adjustment u...

LangAS getLangASForBuiltinAddressSpace(unsigned AS) const

bool hasSameFunctionTypeIgnoringPtrSizes(QualType T, QualType U)

Determine whether two function types are the same, ignoring pointer sizes in the return type and para...

unsigned char getFixedPointScale(QualType Ty) const

QualType getIncompleteArrayType(QualType EltTy, ArraySizeModifier ASM, unsigned IndexTypeQuals) const

Return a unique reference to the type for an incomplete array of the specified element type.

QualType getDependentSizedExtVectorType(QualType VectorType, Expr *SizeExpr, SourceLocation AttrLoc) const

QualType DecodeTypeStr(const char *&Str, const ASTContext &Context, ASTContext::GetBuiltinTypeError &Error, bool &RequireICE, bool AllowTypeModifiers) const

TemplateName getAssumedTemplateName(DeclarationName Name) const

Retrieve a template name representing an unqualified-id that has been assumed to name a template for ...

@ GE_Missing_stdio

Missing a type from <stdio.h>

@ GE_Missing_type

Missing a type.

@ GE_Missing_ucontext

Missing a type from <ucontext.h>

@ GE_Missing_setjmp

Missing a type from <setjmp.h>

QualType adjustStringLiteralBaseType(QualType StrLTy) const

uint16_t getPointerAuthTypeDiscriminator(QualType T)

Return the "other" type-specific discriminator for the given type.

QualType getTypeOfExprType(Expr *E, TypeOfKind Kind) const

C23 feature and GCC extension.

QualType getSignedWCharType() const

Return the type of "signed wchar_t".

QualType getUnqualifiedArrayType(QualType T, Qualifiers &Quals) const

Return this type as a completely-unqualified array type, capturing the qualifiers in Quals.

bool hasCvrSimilarType(QualType T1, QualType T2)

Determine if two types are similar, ignoring only CVR qualifiers.

TemplateName getDeducedTemplateName(TemplateName Underlying, DefaultArguments DefaultArgs) const

Represents a TemplateName which had some of its default arguments deduced.

ObjCImplementationDecl * getObjCImplementation(ObjCInterfaceDecl *D)

Get the implementation of the ObjCInterfaceDecl D, or nullptr if none exists.

CanQualType UnsignedAccumTy

void setObjCMethodRedeclaration(const ObjCMethodDecl *MD, const ObjCMethodDecl *Redecl)

void addTypedefNameForUnnamedTagDecl(TagDecl *TD, TypedefNameDecl *TND)

bool isDependenceAllowed() const

QualType getConstantMatrixType(QualType ElementType, unsigned NumRows, unsigned NumColumns) const

Return the unique reference to the matrix type of the specified element type and size.

QualType getWIntType() const

In C99, this returns a type compatible with the type defined in <stddef.h> as defined by the target.

QualType getVariableArrayDecayedType(QualType Ty) const

Returns a vla type where known sizes are replaced with [*].

bool isInSameModule(const Module *M1, const Module *M2)

If the two module M1 and M2 are in the same module.

void setCFConstantStringType(QualType T)

const SYCLKernelInfo * findSYCLKernelInfo(QualType T) const

Returns a pointer to the metadata generated from the corresponding SYCLkernel entry point if the prov...

ASTContext & operator=(const ASTContext &)=delete

Module * getCurrentNamedModule() const

Get module under construction, nullptr if this is not a C++20 module.

unsigned getParameterIndex(const ParmVarDecl *D) const

Used by ParmVarDecl to retrieve on the side the index of the parameter when it exceeds the size of th...

void setPrintingPolicy(const clang::PrintingPolicy &Policy)

void AddDeallocation(void(*Callback)(void *), void *Data) const

Add a deallocation callback that will be invoked when the ASTContext is destroyed.

AttrVec & getDeclAttrs(const Decl *D)

Retrieve the attributes for the given declaration.

CXXMethodVector::const_iterator overridden_cxx_method_iterator

RawComment * getRawCommentForDeclNoCacheImpl(const Decl *D, const SourceLocation RepresentativeLocForDecl, const std::map< unsigned, RawComment * > &CommentsInFile) const

unsigned getTypeAlign(QualType T) const

Return the ABI-specified alignment of a (complete) type T, in bits.

QualType mergeTransparentUnionType(QualType, QualType, bool OfBlockPointer=false, bool Unqualified=false)

mergeTransparentUnionType - if T is a transparent union type and a member of T is compatible with Sub...

QualType isPromotableBitField(Expr *E) const

Whether this is a promotable bitfield reference according to C99 6.3.1.1p2, bullet 2 (and GCC extensi...

bool isSentinelNullExpr(const Expr *E)

CanQualType getNSUIntegerType() const

IdentifierInfo * getNSCopyingName()

Retrieve the identifier 'NSCopying'.

uint64_t getCharWidth() const

Return the size of the character type, in bits.

CanQualType getPointerType(CanQualType T) const

QualType getUnqualifiedArrayType(QualType T) const

import_range local_imports() const

QualType getBitIntType(bool Unsigned, unsigned NumBits) const

Return a bit-precise integer type with the specified signedness and bit count.

const DependentSizedArrayType * getAsDependentSizedArrayType(QualType T) const

unsigned NumImplicitMoveAssignmentOperators

The number of implicitly-declared move assignment operators.

An abstract interface that should be implemented by listeners that want to be notified when an AST en...

Reads an AST files chain containing the contents of a translation unit.

ASTRecordLayout - This class contains layout information for one RecordDecl, which is a struct/union/...

Writes an AST file containing the contents of a translation unit.

Represents a loop initializing the elements of an array.

Represents an array type, per C99 6.7.5.2 - Array Declarators.

AtomicExpr - Variadic atomic builtins: __atomic_exchange, __atomic_fetch_*, __atomic_load,...

Attr - This represents one attribute.

BlockExpr - Adaptor class for mixing a BlockDecl with expressions.

Represents the builtin template declaration which is used to implement __make_integer_seq and other b...

This class is used for builtin types like 'int'.

Holds information about both target-independent and target-specific builtins, allowing easy queries b...

Implements C++ ABI-specific semantic analysis functions.

Represents a C++ constructor within a class.

Represents a static or instance method of a struct/union/class.

Represents a C++ struct/union/class.

static CanQual< Type > CreateUnsafe(QualType Other)

Builds a canonical type from a QualType.

const T * getTypePtr() const

Retrieve the underlying type pointer, which refers to a canonical type.

CharUnits - This is an opaque type for sizes expressed in character units.

Declaration of a C++20 concept.

Represents the canonical version of C arrays with a specified constant size.

DeclContext - This is used only as base class of specific decl types that can act as declaration cont...

A list storing NamedDecls in the lookup tables.

Decl - This represents one declaration (or definition), e.g.

Decl * getMostRecentDecl()

Retrieve the most recent declaration that declares the same entity as this declaration (which may be ...

ObjCDeclQualifier

ObjCDeclQualifier - 'Qualifiers' written next to the return and parameter types in method declaration...

The name of a declaration.

Represents a ValueDecl that came out of a declarator.

Common base class for placeholders for types that get replaced by placeholder type deduction: C++11 a...

Represents an array type in C++ whose size is a value-dependent expression.

An allocator for DiagnosticStorage objects, which uses a small cache to objects, used to reduce mallo...

Concrete class used by the front-end to report problems and issues.

Container for either a single DynTypedNode or for an ArrayRef to DynTypedNode.

This represents one expression.

Declaration context for names declared as extern "C" in C++.

Abstract interface for external sources of AST nodes.

Represents a member of a struct/union/class.

A SourceLocation and its associated SourceManager.

Represents a function declaration or definition.

Represents a prototype with parameter type info, e.g.

A class which abstracts out some details necessary for making a call.

FunctionType - C99 6.7.5.3 - Function Declarators.

GlobalDecl - represents a global declaration.

One of these records is kept for each identifier that is lexed.

Implements an efficient mapping from strings to IdentifierInfo nodes.

IdentifierInfo & get(StringRef Name)

Return the identifier token info for the specified named identifier.

Describes a module import declaration, which makes the contents of the named module visible in the cu...

Represents a C array with an unspecified size.

Provides support for incremental compilation.

Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...

MangleContext - Context for tracking state which persists across multiple calls to the C++ name mangl...

Keeps track of the mangled names of lambda expressions and block literals within a particular context...

Provides information a specialization of a member of a class template, which may be a member function...

Describes a module or submodule.

This represents a decl that may have a name.

Represents a C++ nested name specifier, such as "\::std::vector<int>::".

Helper data structure representing the traits in a match clause of an declare variant or metadirectiv...

ObjCCategoryDecl - Represents a category declaration.

ObjCCategoryImplDecl - An object of this class encapsulates a category @implementation declaration.

ObjCContainerDecl - Represents a container for method declarations.

ObjCImplementationDecl - Represents a class definition - this is where method definitions are specifi...

Represents an ObjC class declaration.

ObjCIvarDecl - Represents an ObjC instance variable.

ObjCMethodDecl - Represents an instance or class method declaration.

Represents a pointer to an Objective C object.

Represents a class type in Objective C.

Represents one property declaration in an Objective-C interface.

ObjCPropertyImplDecl - Represents implementation declaration of a property in a class or category imp...

Represents an Objective-C protocol declaration.

Represents the declaration of an Objective-C type parameter.

Represents a parameter to a function.

Pointer-authentication qualifiers.

Engages in a tight little dance with the lexer to efficiently preprocess tokens.

A (possibly-)qualified type.

PointerAuthQualifier getPointerAuth() const

const Type * getTypePtr() const

Retrieves a pointer to the underlying (unqualified) type.

A qualifier set is used to build a set of qualifiers.

const Type * strip(QualType type)

Collect any qualifiers on the given type and return an unqualified type.

The collection of all-type qualifiers we support.

@ OCL_None

There is no lifetime qualification on this type.

void removeObjCLifetime()

bool hasNonFastQualifiers() const

Return true if the set contains any qualifiers which require an ExtQuals node to be allocated.

unsigned getFastQualifiers() const

static Qualifiers fromCVRMask(unsigned CVR)

void setPointerAuth(PointerAuthQualifier Q)

void addObjCLifetime(ObjCLifetime type)

Represents a struct/union/class.

void setPreviousDecl(decl_type *PrevDecl)

Set the previous declaration.

This table allows us to fully hide how we implement multi-keyword caching.

Selector getSelector(unsigned NumArgs, const IdentifierInfo **IIV)

Can create any sort of selector.

Smart pointer class that efficiently represents Objective-C method names.

Encodes a location in the source.

This class handles loading and caching of source files into memory.

A trivial tuple used to represent a source range.

The streaming interface shared between DiagnosticBuilder and PartialDiagnostic.

StringLiteral - This represents a string literal expression, e.g.

Represents the declaration of a struct/union/class/enum.

Kind

The basic C++ ABI kind.

Exposes information about the current target.

A convenient class for passing around template argument information.

Represents a template argument.

Represents a C++ template name within the type system.

A template parameter object.

Stores a list of template parameters for a TemplateDecl and its derived classes.

Declaration of a template type parameter.

The top declaration context.

static TranslationUnitDecl * Create(ASTContext &C)

Models the abbreviated syntax to constrain a template type parameter: template <convertible_to<string...

Represents a declaration of a type.

A container of type source information.

The base class of the type hierarchy.

bool isSignedIntegerOrEnumerationType() const

Determines whether this is an integer type that is signed or an enumeration types whose underlying ty...

bool isObjCNSObjectType() const

bool isDependentType() const

Whether this type is a dependent type, meaning that its definition somehow depends on a template para...

QualType getCanonicalTypeInternal() const

bool isIncompleteType(NamedDecl **Def=nullptr) const

Types are partitioned into 3 broad categories (C99 6.2.5p1): object types, function types,...

std::optional< NullabilityKind > getNullability() const

Determine the nullability of the given type.

Represents the declaration of a typedef-name via the 'typedef' type specifier.

Base class for declarations which introduce a typedef-name.

An artificial decl, representing a global anonymous constant value which is uniquified by value withi...

The iterator over UnresolvedSets.

Represents a dependent using declaration which was marked with typename.

Represents a C++ using-enum-declaration.

Represents a shadow declaration implicitly introduced into a scope by a (resolved) using-declaration ...

Represent the declaration of a variable (in which case it is an lvalue) a function (in which case it ...

Represents a variable declaration or definition.

Represents a C array with a specified size that is not an integer-constant-expression.

Represents a GCC generic vector type.

Holds all information required to evaluate constexpr code in a module.

bool operator!=(const CommonEntityInfo &LHS, const CommonEntityInfo &RHS)

const internal::VariadicAllOfMatcher< Type > type

Matches Types in the clang AST.

const internal::VariadicDynCastAllOfMatcher< Stmt, BlockExpr > blockExpr

Matches a reference to a block.

llvm::FixedPointSemantics FixedPointSemantics

The JSON file list parser is used to communicate input to InstallAPI.

OverloadedOperatorKind

Enumeration specifying the different kinds of C++ overloaded operators.

GVALinkage

A more specific kind of linkage than enum Linkage.

AutoTypeKeyword

Which keyword(s) were used to create an AutoType.

bool isTargetAddressSpace(LangAS AS)

OpenCLTypeKind

OpenCL type kinds.

NullabilityKind

Describes the nullability of a particular type.

@ Nullable

Values of this type can be null.

@ Unspecified

Whether values of this type can be null is (explicitly) unspecified.

@ NonNull

Values of this type can never be null.

TypeOfKind

The kind of 'typeof' expression we're after.

bool operator==(const CallGraphNode::CallRecord &LHS, const CallGraphNode::CallRecord &RHS)

CanQual< Type > CanQualType

Represents a canonical, potentially-qualified type.

const StreamingDiagnostic & operator<<(const StreamingDiagnostic &DB, const ASTContext::SectionInfo &Section)

Insertion operator for diagnostics.

@ Module

Module linkage, which indicates that the entity can be referred to from other translation units withi...

Selector GetUnarySelector(StringRef name, ASTContext &Ctx)

Utility function for constructing an unary selector.

@ Result

The result type of a method or function.

ArraySizeModifier

Capture whether this is a normal array (e.g.

SubstTemplateTypeParmTypeFlag

Selector GetNullarySelector(StringRef name, ASTContext &Ctx)

Utility function for constructing a nullary selector.

TagTypeKind

The kind of a tag type.

BuiltinTemplateKind

Kinds of BuiltinTemplateDecl.

LangAS

Defines the address space values used by the address space qualifier of QualType.

TranslationUnitKind

Describes the kind of translation unit being processed.

@ TU_Incremental

The translation unit is a is a complete translation unit that we might incrementally extend later.

const FunctionProtoType * T

SmallVector< CXXBaseSpecifier *, 4 > CXXCastPath

A simple array of base specifiers.

TemplateSpecializationKind

Describes the kind of template specialization that a particular template specialization declaration r...

CallingConv

CallingConv - Specifies the calling convention that a function uses.

@ None

The alignment was not explicit in code.

@ RequiredByEnum

The alignment comes from an alignment attribute on a enum type.

@ RequiredByTypedef

The alignment comes from an alignment attribute on a typedef.

@ RequiredByRecord

The alignment comes from an alignment attribute on a record type.

ElaboratedTypeKeyword

The elaboration keyword that precedes a qualified type name or introduces an elaborated-type-specifie...

@ Other

Other implicit parameter.

Diagnostic wrappers for TextAPI types for error reporting.

BuiltinVectorTypeInfo(QualType ElementType, llvm::ElementCount EC, unsigned NumVectors)

bool NoWrongSidedVars

Do not allow wrong-sided variables in constant expressions.

SourceLocation PragmaSectionLocation

SectionInfo(NamedDecl *Decl, SourceLocation PragmaSectionLocation, int SectionFlags)

Copy initialization expr of a __block variable and a boolean flag that indicates whether the expressi...

DeclarationNameInfo - A collector data type for bundling together a DeclarationName and the correspon...

Holds information about the various types of exception specification.

Extra information about a function prototype.

A cache of the value of this pointer, in the most recent generation in which we queried it.

A lazy value (of type T) that is within an AST node of type Owner, where the value might change in la...

llvm::PointerUnion< T, LazyData * > ValueType

Parts of a decomposed MSGuidDecl.

Contains information gathered from parsing the contents of TargetAttr.

Describes how types, statements, expressions, and declarations should be printed.

A std::pair-like structure for storing a qualified type split into its local qualifiers and its local...

const Type * Ty

The locally-unqualified type.

Qualifiers Quals

The local qualifiers.

AlignRequirementKind AlignRequirement

TypeInfoChars(CharUnits Width, CharUnits Align, AlignRequirementKind AlignRequirement)

AlignRequirementKind AlignRequirement

TypeInfo(uint64_t Width, unsigned Align, AlignRequirementKind AlignRequirement)


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4