clang
15.0.0git
|
#include "clang/AST/ASTContext.h"
#include "CXXABI.h"
#include "Interp/Context.h"
#include "clang/AST/APValue.h"
#include "clang/AST/ASTConcept.h"
#include "clang/AST/ASTMutationListener.h"
#include "clang/AST/ASTTypeTraits.h"
#include "clang/AST/Attr.h"
#include "clang/AST/AttrIterator.h"
#include "clang/AST/CharUnits.h"
#include "clang/AST/Comment.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclBase.h"
#include "clang/AST/DeclCXX.h"
#include "clang/AST/DeclContextInternals.h"
#include "clang/AST/DeclObjC.h"
#include "clang/AST/DeclOpenMP.h"
#include "clang/AST/DeclTemplate.h"
#include "clang/AST/DeclarationName.h"
#include "clang/AST/DependenceFlags.h"
#include "clang/AST/Expr.h"
#include "clang/AST/ExprCXX.h"
#include "clang/AST/ExprConcepts.h"
#include "clang/AST/ExternalASTSource.h"
#include "clang/AST/Mangle.h"
#include "clang/AST/MangleNumberingContext.h"
#include "clang/AST/NestedNameSpecifier.h"
#include "clang/AST/ParentMapContext.h"
#include "clang/AST/RawCommentList.h"
#include "clang/AST/RecordLayout.h"
#include "clang/AST/Stmt.h"
#include "clang/AST/TemplateBase.h"
#include "clang/AST/TemplateName.h"
#include "clang/AST/Type.h"
#include "clang/AST/TypeLoc.h"
#include "clang/AST/UnresolvedSet.h"
#include "clang/AST/VTableBuilder.h"
#include "clang/Basic/AddressSpaces.h"
#include "clang/Basic/Builtins.h"
#include "clang/Basic/CommentOptions.h"
#include "clang/Basic/ExceptionSpecificationType.h"
#include "clang/Basic/IdentifierTable.h"
#include "clang/Basic/LLVM.h"
#include "clang/Basic/LangOptions.h"
#include "clang/Basic/Linkage.h"
#include "clang/Basic/Module.h"
#include "clang/Basic/NoSanitizeList.h"
#include "clang/Basic/ObjCRuntime.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Basic/SourceManager.h"
#include "clang/Basic/Specifiers.h"
#include "clang/Basic/TargetCXXABI.h"
#include "clang/Basic/TargetInfo.h"
#include "clang/Basic/XRayLists.h"
#include "llvm/ADT/APFixedPoint.h"
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/APSInt.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/FoldingSet.h"
#include "llvm/ADT/None.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/PointerUnion.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Triple.h"
#include "llvm/Support/Capacity.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MD5.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <cstdlib>
#include <map>
#include <memory>
#include <string>
#include <tuple>
#include <utility>
#include "clang/AST/TypeNodes.inc"
#include "clang/Basic/OpenCLImageTypes.def"
#include "clang/Basic/OpenCLExtensionTypes.def"
#include "clang/Basic/AArch64SVEACLETypes.def"
#include "clang/Basic/PPCTypes.def"
#include "clang/Basic/RISCVVTypes.def"
#include "clang/AST/BuiltinTypes.def"
Go to the source code of this file.
Macros | |
#define | TYPE(Name, Parent) 0, |
#define | ABSTRACT_TYPE(Name, Parent) |
#define | TYPE(Name, Parent) |
#define | ABSTRACT_TYPE(Name, Parent) |
#define | IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) InitBuiltinType(SingletonId, BuiltinType::Id); |
#define | EXT_OPAQUE_TYPE(ExtType, Id, Ext) InitBuiltinType(Id##Ty, BuiltinType::Id); |
#define | SVE_TYPE(Name, Id, SingletonId) InitBuiltinType(SingletonId, BuiltinType::Id); |
#define | PPC_VECTOR_MMA_TYPE(Name, Id, Size) InitBuiltinType(Id##Ty, BuiltinType::Id); |
#define | PPC_VECTOR_VSX_TYPE(Name, Id, Size) InitBuiltinType(Id##Ty, BuiltinType::Id); |
#define | RVV_TYPE(Name, Id, SingletonId) InitBuiltinType(SingletonId, BuiltinType::Id); |
#define | TYPE(Class, Base) |
#define | ABSTRACT_TYPE(Class, Base) |
#define | NON_CANONICAL_TYPE(Class, Base) |
#define | DEPENDENT_TYPE(Class, Base) case Type::Class: |
#define | NON_CANONICAL_UNLESS_DEPENDENT_TYPE(Class, Base) |
#define | IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) case BuiltinType::Id: |
#define | EXT_OPAQUE_TYPE(ExtType, Id, Ext) case BuiltinType::Id: |
#define | SVE_VECTOR_TYPE(Name, MangledName, Id, SingletonId, NumEls, ElBits, IsSigned, IsFP, IsBF) |
#define | SVE_PREDICATE_TYPE(Name, MangledName, Id, SingletonId, NumEls) |
#define | PPC_VECTOR_TYPE(Name, Id, Size) |
#define | RVV_VECTOR_TYPE(Name, Id, SingletonId, ElKind, ElBits, NF, IsSigned, IsFP) |
#define | RVV_PREDICATE_TYPE(Name, Id, SingletonId, ElKind) |
#define | TYPE(Class, Base) |
#define | ABSTRACT_TYPE(Class, Base) |
#define | NON_CANONICAL_TYPE(Class, Base) case Type::Class: |
#define | SVE_INT_ELTTY(BITS, ELTS, SIGNED, NUMVECTORS) |
#define | SVE_ELTTY(ELTTY, ELTS, NUMVECTORS) {ELTTY, llvm::ElementCount::getScalable(ELTS), NUMVECTORS}; |
#define | RVV_VECTOR_TYPE_INT(Name, Id, SingletonId, NumEls, ElBits, NF, IsSigned) |
#define | RVV_VECTOR_TYPE_FLOAT(Name, Id, SingletonId, NumEls, ElBits, NF) |
#define | RVV_PREDICATE_TYPE(Name, Id, SingletonId, NumEls) |
#define | SVE_VECTOR_TYPE(Name, MangledName, Id, SingletonId, NumEls, ElBits, IsSigned, IsFP, IsBF) |
#define | SVE_PREDICATE_TYPE(Name, MangledName, Id, SingletonId, NumEls) |
#define | RVV_VECTOR_TYPE(Name, Id, SingletonId, NumEls, ElBits, NF, IsSigned, IsFP) |
#define | RVV_PREDICATE_TYPE(Name, Id, SingletonId, NumEls) |
#define | IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) |
#define | SVE_TYPE(Name, Id, SingletonId) case BuiltinType::Id: |
#define | RVV_TYPE(Name, Id, SingletonId) case BuiltinType::Id: |
#define | IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) case BuiltinType::Id: |
#define | EXT_OPAQUE_TYPE(ExtType, Id, Ext) case BuiltinType::Id: |
#define | PPC_VECTOR_TYPE(Name, Id, Size) case BuiltinType::Id: |
#define | BUILTIN_TYPE(KIND, ID) |
#define | PLACEHOLDER_TYPE(KIND, ID) case BuiltinType::KIND: |
#define | ABSTRACT_TYPE(KIND, BASE) |
#define | TYPE(KIND, BASE) |
#define | DEPENDENT_TYPE(KIND, BASE) case Type::KIND: |
#define | NON_CANONICAL_TYPE(KIND, BASE) case Type::KIND: |
#define | NON_CANONICAL_UNLESS_DEPENDENT_TYPE(KIND, BASE) case Type::KIND: |
#define | TYPE(Class, Base) |
#define | ABSTRACT_TYPE(Class, Base) |
#define | NON_CANONICAL_UNLESS_DEPENDENT_TYPE(Class, Base) case Type::Class: |
#define | NON_CANONICAL_TYPE(Class, Base) case Type::Class: |
#define | DEPENDENT_TYPE(Class, Base) case Type::Class: |
Enumerations | |
enum | FloatingRank { BFloat16Rank, Float16Rank, HalfRank, FloatRank, DoubleRank, LongDoubleRank, Float128Rank, Ibm128Rank } |
Functions | |
static SourceLocation | getDeclLocForCommentSearch (const Decl *D, SourceManager &SourceMgr) |
static const Decl & | adjustDeclToTemplate (const Decl &D) |
If we have a 'templated' declaration for a template, adjust 'D' to refer to the actual template. More... | |
static void | addRedeclaredMethods (const ObjCMethodDecl *ObjCMethod, SmallVectorImpl< const NamedDecl * > &Redeclared) |
static Expr * | canonicalizeImmediatelyDeclaredConstraint (const ASTContext &C, Expr *IDC, QualType ConstrainedType) |
static const LangASMap * | getAddressSpaceMap (const TargetInfo &T, const LangOptions &LOpts) |
static bool | isAddrSpaceMapManglingEnabled (const TargetInfo &TI, const LangOptions &LangOpts) |
static TypeInfoChars | getConstantArrayInfoInChars (const ASTContext &Context, const ConstantArrayType *CAT) |
getConstantArrayInfoInChars - Performing the computation in CharUnits instead of in bits prevents overflowing the uint64_t for some large arrays. More... | |
static bool | unionHasUniqueObjectRepresentations (const ASTContext &Context, const RecordDecl *RD) |
static int64_t | getSubobjectOffset (const FieldDecl *Field, const ASTContext &Context, const clang::ASTRecordLayout &) |
static int64_t | getSubobjectOffset (const CXXRecordDecl *RD, const ASTContext &Context, const clang::ASTRecordLayout &Layout) |
static llvm::Optional< int64_t > | structHasUniqueObjectRepresentations (const ASTContext &Context, const RecordDecl *RD) |
static llvm::Optional< int64_t > | getSubobjectSizeInBits (const FieldDecl *Field, const ASTContext &Context) |
static llvm::Optional< int64_t > | getSubobjectSizeInBits (const CXXRecordDecl *RD, const ASTContext &Context) |
template<typename RangeT > | |
static llvm::Optional< int64_t > | structSubobjectsHaveUniqueObjectRepresentations (const RangeT &Subobjects, int64_t CurOffsetInBits, const ASTContext &Context, const clang::ASTRecordLayout &Layout) |
static bool | isCanonicalResultType (QualType T) |
Determine whether T is canonical as the result type of a function. More... | |
static bool | isCanonicalExceptionSpecification (const FunctionProtoType::ExceptionSpecInfo &ESI, bool NoexceptInType) |
static bool | NeedsInjectedClassNameType (const RecordDecl *D) |
static bool | hasAnyPackExpansions (ArrayRef< TemplateArgument > Args) |
static bool | getCanonicalTemplateArguments (const ASTContext &C, ArrayRef< TemplateArgument > OrigArgs, SmallVectorImpl< TemplateArgument > &CanonArgs) |
static int | CmpProtocolNames (ObjCProtocolDecl *const *LHS, ObjCProtocolDecl *const *RHS) |
CmpProtocolNames - Comparison predicate for sorting protocols alphabetically. More... | |
static bool | areSortedAndUniqued (ArrayRef< ObjCProtocolDecl * > Protocols) |
static void | SortAndUniqueProtocols (SmallVectorImpl< ObjCProtocolDecl * > &Protocols) |
static NamespaceDecl * | getNamespace (const NestedNameSpecifier *X) |
static bool | isSameQualifier (const NestedNameSpecifier *X, const NestedNameSpecifier *Y) |
static bool | hasSameOverloadableAttrs (const FunctionDecl *A, const FunctionDecl *B) |
Determine whether the attributes we can overload on are identical for A and B. More... | |
static FloatingRank | getFloatingRank (QualType T) |
getFloatingRank - Return a relative rank for floating point types. More... | |
static const Type * | getIntegerTypeForEnum (const EnumType *ET) |
static bool | isTypeTypedefedAsBOOL (QualType T) |
static std::string | charUnitsToString (const CharUnits &CU) |
static char | getObjCEncodingForPrimitiveType (const ASTContext *C, const BuiltinType *BT) |
static char | ObjCEncodingForEnumType (const ASTContext *C, const EnumType *ET) |
static void | EncodeBitField (const ASTContext *Ctx, std::string &S, QualType T, const FieldDecl *FD) |
static bool | hasTemplateSpecializationInEncodedString (const Type *T, bool VisitBasesAndFields) |
static TypedefDecl * | CreateCharPtrNamedVaListDecl (const ASTContext *Context, StringRef Name) |
static TypedefDecl * | CreateMSVaListDecl (const ASTContext *Context) |
static TypedefDecl * | CreateCharPtrBuiltinVaListDecl (const ASTContext *Context) |
static TypedefDecl * | CreateVoidPtrBuiltinVaListDecl (const ASTContext *Context) |
static TypedefDecl * | CreateAArch64ABIBuiltinVaListDecl (const ASTContext *Context) |
static TypedefDecl * | CreatePowerABIBuiltinVaListDecl (const ASTContext *Context) |
static TypedefDecl * | CreateX86_64ABIBuiltinVaListDecl (const ASTContext *Context) |
static TypedefDecl * | CreatePNaClABIBuiltinVaListDecl (const ASTContext *Context) |
static TypedefDecl * | CreateAAPCSABIBuiltinVaListDecl (const ASTContext *Context) |
static TypedefDecl * | CreateSystemZBuiltinVaListDecl (const ASTContext *Context) |
static TypedefDecl * | CreateHexagonBuiltinVaListDecl (const ASTContext *Context) |
static TypedefDecl * | CreateVaListDecl (const ASTContext *Context, TargetInfo::BuiltinVaListKind Kind) |
static bool | areCompatVectorTypes (const VectorType *LHS, const VectorType *RHS) |
areCompatVectorTypes - Return true if the two specified vector types are compatible. More... | |
static bool | areCompatMatrixTypes (const ConstantMatrixType *LHS, const ConstantMatrixType *RHS) |
areCompatMatrixTypes - Return true if the two specified matrix types are compatible. More... | |
static uint64_t | getSVETypeSize (ASTContext &Context, const BuiltinType *Ty) |
getSVETypeSize - Return SVE vector or predicate register size. More... | |
static int | compareObjCProtocolsByName (ObjCProtocolDecl *const *lhs, ObjCProtocolDecl *const *rhs) |
Comparison routine for Objective-C protocols to be used with llvm::array_pod_sort. More... | |
static void | getIntersectionOfProtocols (ASTContext &Context, const ObjCInterfaceDecl *CommonBase, const ObjCObjectPointerType *LHSOPT, const ObjCObjectPointerType *RHSOPT, SmallVectorImpl< ObjCProtocolDecl * > &IntersectionSet) |
getIntersectionOfProtocols - This routine finds the intersection of set of protocols inherited from two distinct objective-c pointer objects with the given common base. More... | |
static bool | canAssignObjCObjectTypes (ASTContext &ctx, QualType lhs, QualType rhs) |
Determine whether the first type is a subtype of the second. More... | |
static bool | sameObjCTypeArgs (ASTContext &ctx, const ObjCInterfaceDecl *iface, ArrayRef< QualType > lhsArgs, ArrayRef< QualType > rhsArgs, bool stripKindOf) |
static QualType | mergeEnumWithInteger (ASTContext &Context, const EnumType *ET, QualType other, bool isBlockReturnType) |
Given that we have an enum type and a non-enum type, try to merge them. More... | |
static QualType | DecodeTypeFromStr (const char *&Str, const ASTContext &Context, ASTContext::GetBuiltinTypeError &Error, bool &RequiresICE, bool AllowTypeModifiers) |
DecodeTypeFromStr - This decodes one type descriptor from Str, advancing the pointer over the consumed characters. More... | |
static GVALinkage | basicGVALinkageForFunction (const ASTContext &Context, const FunctionDecl *FD) |
static GVALinkage | adjustGVALinkageForAttributes (const ASTContext &Context, const Decl *D, GVALinkage L) |
static GVALinkage | adjustGVALinkageForExternalDefinitionKind (const ASTContext &Ctx, const Decl *D, GVALinkage L) |
Adjust the GVALinkage for a declaration based on what an external AST source knows about whether there can be other definitions of this declaration. More... | |
static GVALinkage | basicGVALinkageForVariable (const ASTContext &Context, const VarDecl *VD) |
#define ABSTRACT_TYPE | ( | Class, | |
Base | |||
) |
#define ABSTRACT_TYPE | ( | Class, | |
Base | |||
) |
#define ABSTRACT_TYPE | ( | Class, | |
Base | |||
) |
#define ABSTRACT_TYPE | ( | KIND, | |
BASE | |||
) |
#define ABSTRACT_TYPE | ( | Name, | |
Parent | |||
) |
#define ABSTRACT_TYPE | ( | Name, | |
Parent | |||
) |
#define BUILTIN_TYPE | ( | KIND, | |
ID | |||
) |
#define DEPENDENT_TYPE | ( | Class, | |
Base | |||
) | case Type::Class: |
#define DEPENDENT_TYPE | ( | Class, | |
Base | |||
) | case Type::Class: |
#define DEPENDENT_TYPE | ( | KIND, | |
BASE | |||
) | case Type::KIND: |
#define EXT_OPAQUE_TYPE | ( | ExtType, | |
Id, | |||
Ext | |||
) | InitBuiltinType(Id##Ty, BuiltinType::Id); |
#define EXT_OPAQUE_TYPE | ( | ExtType, | |
Id, | |||
Ext | |||
) | case BuiltinType::Id: |
#define EXT_OPAQUE_TYPE | ( | ExtType, | |
Id, | |||
Ext | |||
) | case BuiltinType::Id: |
#define IMAGE_TYPE | ( | ImgType, | |
Id, | |||
SingletonId, | |||
Access, | |||
Suffix | |||
) | InitBuiltinType(SingletonId, BuiltinType::Id); |
#define IMAGE_TYPE | ( | ImgType, | |
Id, | |||
SingletonId, | |||
Access, | |||
Suffix | |||
) | case BuiltinType::Id: |
#define IMAGE_TYPE | ( | ImgType, | |
Id, | |||
SingletonId, | |||
Access, | |||
Suffix | |||
) |
#define IMAGE_TYPE | ( | ImgType, | |
Id, | |||
SingletonId, | |||
Access, | |||
Suffix | |||
) | case BuiltinType::Id: |
#define NON_CANONICAL_TYPE | ( | Class, | |
Base | |||
) |
#define NON_CANONICAL_TYPE | ( | Class, | |
Base | |||
) | case Type::Class: |
#define NON_CANONICAL_TYPE | ( | Class, | |
Base | |||
) | case Type::Class: |
#define NON_CANONICAL_TYPE | ( | KIND, | |
BASE | |||
) | case Type::KIND: |
#define NON_CANONICAL_UNLESS_DEPENDENT_TYPE | ( | Class, | |
Base | |||
) |
#define NON_CANONICAL_UNLESS_DEPENDENT_TYPE | ( | Class, | |
Base | |||
) | case Type::Class: |
#define NON_CANONICAL_UNLESS_DEPENDENT_TYPE | ( | KIND, | |
BASE | |||
) | case Type::KIND: |
#define PLACEHOLDER_TYPE | ( | KIND, | |
ID | |||
) | case BuiltinType::KIND: |
#define PPC_VECTOR_MMA_TYPE | ( | Name, | |
Id, | |||
Size | |||
) | InitBuiltinType(Id##Ty, BuiltinType::Id); |
#define PPC_VECTOR_TYPE | ( | Name, | |
Id, | |||
Size | |||
) |
#define PPC_VECTOR_TYPE | ( | Name, | |
Id, | |||
Size | |||
) | case BuiltinType::Id: |
#define PPC_VECTOR_VSX_TYPE | ( | Name, | |
Id, | |||
Size | |||
) | InitBuiltinType(Id##Ty, BuiltinType::Id); |
#define RVV_PREDICATE_TYPE | ( | Name, | |
Id, | |||
SingletonId, | |||
ElKind | |||
) |
#define RVV_PREDICATE_TYPE | ( | Name, | |
Id, | |||
SingletonId, | |||
NumEls | |||
) |
#define RVV_PREDICATE_TYPE | ( | Name, | |
Id, | |||
SingletonId, | |||
NumEls | |||
) |
#define RVV_TYPE | ( | Name, | |
Id, | |||
SingletonId | |||
) | InitBuiltinType(SingletonId, BuiltinType::Id); |
#define RVV_TYPE | ( | Name, | |
Id, | |||
SingletonId | |||
) | case BuiltinType::Id: |
#define RVV_VECTOR_TYPE | ( | Name, | |
Id, | |||
SingletonId, | |||
ElKind, | |||
ElBits, | |||
NF, | |||
IsSigned, | |||
IsFP | |||
) |
#define RVV_VECTOR_TYPE | ( | Name, | |
Id, | |||
SingletonId, | |||
NumEls, | |||
ElBits, | |||
NF, | |||
IsSigned, | |||
IsFP | |||
) |
#define RVV_VECTOR_TYPE_FLOAT | ( | Name, | |
Id, | |||
SingletonId, | |||
NumEls, | |||
ElBits, | |||
NF | |||
) |
#define RVV_VECTOR_TYPE_INT | ( | Name, | |
Id, | |||
SingletonId, | |||
NumEls, | |||
ElBits, | |||
NF, | |||
IsSigned | |||
) |
#define SVE_ELTTY | ( | ELTTY, | |
ELTS, | |||
NUMVECTORS | |||
) | {ELTTY, llvm::ElementCount::getScalable(ELTS), NUMVECTORS}; |
#define SVE_INT_ELTTY | ( | BITS, | |
ELTS, | |||
SIGNED, | |||
NUMVECTORS | |||
) |
#define SVE_PREDICATE_TYPE | ( | Name, | |
MangledName, | |||
Id, | |||
SingletonId, | |||
NumEls | |||
) |
#define SVE_PREDICATE_TYPE | ( | Name, | |
MangledName, | |||
Id, | |||
SingletonId, | |||
NumEls | |||
) |
#define SVE_TYPE | ( | Name, | |
Id, | |||
SingletonId | |||
) | InitBuiltinType(SingletonId, BuiltinType::Id); |
#define SVE_TYPE | ( | Name, | |
Id, | |||
SingletonId | |||
) | case BuiltinType::Id: |
#define SVE_VECTOR_TYPE | ( | Name, | |
MangledName, | |||
Id, | |||
SingletonId, | |||
NumEls, | |||
ElBits, | |||
IsSigned, | |||
IsFP, | |||
IsBF | |||
) |
#define SVE_VECTOR_TYPE | ( | Name, | |
MangledName, | |||
Id, | |||
SingletonId, | |||
NumEls, | |||
ElBits, | |||
IsSigned, | |||
IsFP, | |||
IsBF | |||
) |
#define TYPE | ( | Class, | |
Base | |||
) |
#define TYPE | ( | Class, | |
Base | |||
) |
#define TYPE | ( | Class, | |
Base | |||
) |
#define TYPE | ( | KIND, | |
BASE | |||
) |
#define TYPE | ( | Name, | |
Parent | |||
) | 0, |
#define TYPE | ( | Name, | |
Parent | |||
) |
enum FloatingRank |
Enumerator | |
---|---|
BFloat16Rank | |
Float16Rank | |
HalfRank | |
FloatRank | |
DoubleRank | |
LongDoubleRank | |
Float128Rank | |
Ibm128Rank |
Definition at line 103 of file ASTContext.cpp.
|
static |
Definition at line 464 of file ASTContext.cpp.
References clang::Decl::getDeclContext(), clang::ObjCMethodDecl::getSelector(), and clang::ObjCMethodDecl::isInstanceMethod().
Referenced by clang::ASTContext::getCommentForDecl().
If we have a 'templated' declaration for a template, adjust 'D' to refer to the actual template.
If we have an implicit instantiation, adjust 'D' to refer to template.
Definition at line 317 of file ASTContext.cpp.
References clang::EnumDecl::getInstantiatedFromMemberEnum(), clang::FunctionDecl::getInstantiatedFromMemberFunction(), clang::VarDecl::getInstantiatedFromStaticDataMember(), clang::ClassTemplateSpecializationDecl::getSpecializedTemplateOrPartial(), and clang::TSK_ImplicitInstantiation.
Referenced by clang::ASTContext::attachCommentsToJustParsedDecls(), clang::ASTContext::getCommentForDecl(), and clang::ASTContext::getRawCommentForAnyRedecl().
|
static |
Definition at line 11320 of file ASTContext.cpp.
References clang::ASTContext::getLangOpts(), clang::GVA_AvailableExternally, clang::GVA_DiscardableODR, clang::GVA_Internal, clang::GVA_StrongExternal, clang::GVA_StrongODR, clang::Decl::hasAttr(), and clang::ASTContext::shouldExternalize().
Referenced by clang::ASTContext::GetGVALinkageForFunction(), and clang::ASTContext::GetGVALinkageForVariable().
|
static |
Adjust the GVALinkage for a declaration based on what an external AST source knows about whether there can be other definitions of this declaration.
Definition at line 11351 of file ASTContext.cpp.
References clang::ExternalASTSource::EK_Always, clang::ExternalASTSource::EK_Never, clang::ExternalASTSource::EK_ReplyHazy, clang::ASTContext::getExternalSource(), clang::GVA_AvailableExternally, clang::GVA_DiscardableODR, clang::GVA_StrongODR, and clang::ExternalASTSource::hasExternalDefinitions().
Referenced by clang::ASTContext::GetGVALinkageForFunction(), and clang::ASTContext::GetGVALinkageForVariable().
|
static |
areCompatMatrixTypes - Return true if the two specified matrix types are compatible.
Definition at line 9186 of file ASTContext.cpp.
References clang::MatrixType::getElementType(), clang::ConstantMatrixType::getNumColumns(), clang::ConstantMatrixType::getNumRows(), and clang::Type::isCanonicalUnqualified().
Referenced by clang::ASTContext::mergeTypes().
|
static |
areCompatVectorTypes - Return true if the two specified vector types are compatible.
Definition at line 9177 of file ASTContext.cpp.
References clang::VectorType::getElementType(), clang::VectorType::getNumElements(), and clang::Type::isCanonicalUnqualified().
Referenced by clang::ASTContext::mergeTypes().
|
static |
Definition at line 5191 of file ASTContext.cpp.
References CmpProtocolNames(), and getCanonicalDecl().
Referenced by clang::ASTContext::getObjCObjectType().
|
static |
Definition at line 11258 of file ASTContext.cpp.
References clang::TargetInfo::getCXXABI(), clang::ASTContext::getLangOpts(), clang::ASTContext::getTargetInfo(), clang::FunctionDecl::getTemplateSpecializationKind(), clang::GVA_AvailableExternally, clang::GVA_DiscardableODR, clang::GVA_Internal, clang::GVA_StrongExternal, clang::GVA_StrongODR, clang::Decl::hasAttr(), clang::NamedDecl::isExternallyVisible(), clang::FunctionDecl::isInlined(), clang::FunctionDecl::isInlineDefinitionExternallyVisible(), clang::TargetCXXABI::isMicrosoft(), clang::FunctionDecl::isMSExternInline(), clang::TSK_ExplicitInstantiationDeclaration, clang::TSK_ExplicitInstantiationDefinition, clang::TSK_ExplicitSpecialization, clang::TSK_ImplicitInstantiation, and clang::TSK_Undeclared.
Referenced by clang::ASTContext::GetGVALinkageForFunction(), and clang::ASTContext::mayExternalize().
|
static |
Definition at line 11379 of file ASTContext.cpp.
References clang::TargetInfo::getCXXABI(), clang::ASTContext::GetGVALinkageForFunction(), clang::ASTContext::getInlineVariableDefinitionKind(), clang::DeclContext::getLexicalParent(), clang::Decl::getParentFunctionOrMethod(), clang::ASTContext::getTargetInfo(), clang::VarDecl::getTemplateSpecializationKind(), clang::GVA_AvailableExternally, clang::GVA_DiscardableODR, clang::GVA_Internal, clang::GVA_StrongExternal, clang::GVA_StrongODR, clang::NamedDecl::isExternallyVisible(), clang::TargetCXXABI::isMicrosoft(), clang::ASTContext::isMSStaticDataMemberInlineDefinition(), clang::VarDecl::isStaticDataMember(), clang::VarDecl::isStaticLocal(), clang::ASTContext::None, clang::ASTContext::Strong, clang::TSK_ExplicitInstantiationDeclaration, clang::TSK_ExplicitInstantiationDefinition, clang::TSK_ExplicitSpecialization, clang::TSK_ImplicitInstantiation, clang::TSK_Undeclared, clang::ASTContext::Weak, and clang::ASTContext::WeakUnknown.
Referenced by clang::ASTContext::GetGVALinkageForVariable().
|
static |
Determine whether the first type is a subtype of the second.
Definition at line 9667 of file ASTContext.cpp.
References clang::ASTContext::canAssignObjCInterfaces(), clang::Type::getAs(), clang::ObjCObjectPointerType::isObjCIdType(), and clang::ASTContext::typesAreBlockPointerCompatible().
Referenced by sameObjCTypeArgs().
|
static |
Definition at line 720 of file ASTContext.cpp.
References clang::Expr::containsUnexpandedParameterPack(), clang::ConceptSpecializationExpr::Create(), clang::ConceptReference::getNamedConcept(), clang::ConceptSpecializationExpr::getTemplateArguments(), clang::Expr::isInstantiationDependent(), clang::TemplateArgument::Pack, and clang::TemplateArgument::Type.
|
static |
Definition at line 7445 of file ASTContext.cpp.
References clang::CharUnits::getQuantity().
|
static |
CmpProtocolNames - Comparison predicate for sorting protocols alphabetically.
Definition at line 5186 of file ASTContext.cpp.
References clang::DeclarationName::compare().
Referenced by areSortedAndUniqued(), and SortAndUniqueProtocols().
|
static |
Comparison routine for Objective-C protocols to be used with llvm::array_pod_sort.
Definition at line 9599 of file ASTContext.cpp.
Referenced by getIntersectionOfProtocols().
|
static |
Definition at line 8740 of file ASTContext.cpp.
References clang::DeclContext::addDecl(), clang::AS_public, clang::ASTContext::buildImplicitRecord(), clang::ASTContext::buildImplicitTypedef(), clang::RecordDecl::completeDefinition(), clang::NamespaceDecl::Create(), clang::FieldDecl::Create(), clang::IdentifierTable::get(), clang::ASTContext::getLangOpts(), clang::ASTContext::getPointerType(), clang::ASTContext::getRecordType(), clang::ASTContext::getTranslationUnitDecl(), clang::ICIS_NoInit, clang::ASTContext::Idents, clang::Decl::setDeclContext(), clang::Decl::setImplicit(), clang::TagDecl::startDefinition(), clang::ASTContext::VaListTagDecl, and clang::ASTContext::VoidTy.
Referenced by CreateVaListDecl().
|
static |
Definition at line 8552 of file ASTContext.cpp.
References clang::DeclContext::addDecl(), clang::AS_public, clang::ASTContext::buildImplicitRecord(), clang::ASTContext::buildImplicitTypedef(), clang::RecordDecl::completeDefinition(), clang::NamespaceDecl::Create(), clang::FieldDecl::Create(), clang::IdentifierTable::get(), clang::ASTContext::getLangOpts(), clang::ASTContext::getPointerType(), clang::ASTContext::getRecordType(), clang::ASTContext::getTranslationUnitDecl(), clang::ICIS_NoInit, clang::ASTContext::Idents, clang::ASTContext::IntTy, clang::Decl::setDeclContext(), clang::TagDecl::startDefinition(), clang::ASTContext::VaListTagDecl, and clang::ASTContext::VoidTy.
Referenced by CreateVaListDecl().
|
static |
Definition at line 8541 of file ASTContext.cpp.
References CreateCharPtrNamedVaListDecl().
Referenced by CreateVaListDecl().
|
static |
Definition at line 8530 of file ASTContext.cpp.
Referenced by CreateCharPtrBuiltinVaListDecl(), and CreateMSVaListDecl().
|
static |
Definition at line 8835 of file ASTContext.cpp.
References clang::DeclContext::addDecl(), clang::AS_public, clang::ASTContext::buildImplicitRecord(), clang::ASTContext::buildImplicitTypedef(), clang::RecordDecl::completeDefinition(), clang::FieldDecl::Create(), clang::IdentifierTable::get(), clang::ASTContext::getConstantArrayType(), clang::ASTContext::getPointerType(), clang::ASTContext::getRecordType(), clang::ASTContext::getSizeType(), clang::ASTContext::getTypedefType(), clang::ASTContext::getTypeSize(), clang::ICIS_NoInit, clang::ASTContext::Idents, clang::ArrayType::Normal, clang::TagDecl::startDefinition(), clang::ASTContext::VaListTagDecl, and clang::ASTContext::VoidTy.
Referenced by CreateVaListDecl().
|
static |
Definition at line 8537 of file ASTContext.cpp.
References CreateCharPtrNamedVaListDecl().
Referenced by clang::ASTContext::getBuiltinMSVaListDecl().
|
static |
Definition at line 8731 of file ASTContext.cpp.
References clang::ASTContext::buildImplicitTypedef(), clang::ASTContext::getConstantArrayType(), clang::ASTContext::getSizeType(), clang::ASTContext::getTypeSize(), clang::ASTContext::IntTy, and clang::ArrayType::Normal.
Referenced by CreateVaListDecl().
|
static |
Definition at line 8614 of file ASTContext.cpp.
References clang::DeclContext::addDecl(), clang::AS_public, clang::ASTContext::buildImplicitRecord(), clang::ASTContext::buildImplicitTypedef(), clang::RecordDecl::completeDefinition(), clang::FieldDecl::Create(), clang::IdentifierTable::get(), clang::ASTContext::getConstantArrayType(), clang::ASTContext::getPointerType(), clang::ASTContext::getRecordType(), clang::ASTContext::getSizeType(), clang::ASTContext::getTypedefType(), clang::ASTContext::getTypeSize(), clang::ICIS_NoInit, clang::ASTContext::Idents, clang::ArrayType::Normal, clang::TagDecl::startDefinition(), clang::ASTContext::UnsignedCharTy, clang::ASTContext::UnsignedShortTy, clang::ASTContext::VaListTagDecl, and clang::ASTContext::VoidTy.
Referenced by CreateVaListDecl().
|
static |
Definition at line 8781 of file ASTContext.cpp.
References clang::DeclContext::addDecl(), clang::AS_public, clang::ASTContext::buildImplicitRecord(), clang::ASTContext::buildImplicitTypedef(), clang::RecordDecl::completeDefinition(), clang::FieldDecl::Create(), clang::IdentifierTable::get(), clang::ASTContext::getConstantArrayType(), clang::ASTContext::getPointerType(), clang::ASTContext::getRecordType(), clang::ASTContext::getSizeType(), clang::ASTContext::getTypeSize(), clang::ICIS_NoInit, clang::ASTContext::Idents, clang::ASTContext::LongTy, clang::ArrayType::Normal, clang::TagDecl::startDefinition(), clang::ASTContext::VaListTagDecl, and clang::ASTContext::VoidTy.
Referenced by CreateVaListDecl().
|
static |
Definition at line 8886 of file ASTContext.cpp.
References clang::TargetInfo::AAPCSABIBuiltinVaList, clang::TargetInfo::AArch64ABIBuiltinVaList, clang::TargetInfo::CharPtrBuiltinVaList, CreateAAPCSABIBuiltinVaListDecl(), CreateAArch64ABIBuiltinVaListDecl(), CreateCharPtrBuiltinVaListDecl(), CreateHexagonBuiltinVaListDecl(), CreatePNaClABIBuiltinVaListDecl(), CreatePowerABIBuiltinVaListDecl(), CreateSystemZBuiltinVaListDecl(), CreateVoidPtrBuiltinVaListDecl(), CreateX86_64ABIBuiltinVaListDecl(), clang::TargetInfo::HexagonBuiltinVaList, clang::TargetInfo::PNaClABIBuiltinVaList, clang::TargetInfo::PowerABIBuiltinVaList, clang::TargetInfo::SystemZBuiltinVaList, clang::TargetInfo::VoidPtrBuiltinVaList, and clang::TargetInfo::X86_64ABIBuiltinVaList.
Referenced by clang::ASTContext::getBuiltinVaListDecl().
|
static |
Definition at line 8545 of file ASTContext.cpp.
References clang::ASTContext::buildImplicitTypedef(), clang::ASTContext::getPointerType(), and clang::ASTContext::VoidTy.
Referenced by CreateVaListDecl().
|
static |
Definition at line 8678 of file ASTContext.cpp.
References clang::DeclContext::addDecl(), clang::AS_public, clang::ASTContext::buildImplicitRecord(), clang::ASTContext::buildImplicitTypedef(), clang::RecordDecl::completeDefinition(), clang::FieldDecl::Create(), clang::IdentifierTable::get(), clang::ASTContext::getConstantArrayType(), clang::ASTContext::getPointerType(), clang::ASTContext::getRecordType(), clang::ASTContext::getSizeType(), clang::ASTContext::getTypeSize(), clang::ICIS_NoInit, clang::ASTContext::Idents, clang::ArrayType::Normal, clang::TagDecl::startDefinition(), clang::ASTContext::UnsignedIntTy, clang::ASTContext::VaListTagDecl, and clang::ASTContext::VoidTy.
Referenced by CreateVaListDecl().
|
static |
DecodeTypeFromStr - This decodes one type descriptor from Str, advancing the pointer over the consumed characters.
This returns the resultant type. If AllowTypeModifiers is false then modifier like * are not parsed, just basic types. This allows "v2i*" to be parsed as a pointer to a v2i instead of a vector of "i*".
RequiresICE is filled in on return to indicate whether the value is required to be an Integer Constant Expression.
Definition at line 10847 of file ASTContext.cpp.
References clang::ASTContext::BFloat16Ty, clang::ASTContext::BoolTy, c, clang::ASTContext::CharTy, clang::ASTContext::DoubleTy, End, clang::ASTContext::Float128Ty, clang::ASTContext::Float16Ty, clang::ASTContext::FloatTy, clang::ASTContext::GE_Missing_setjmp, clang::ASTContext::GE_Missing_stdio, clang::ASTContext::GE_Missing_ucontext, clang::VectorType::GenericVector, clang::ASTContext::getAddrSpaceQualType(), clang::ASTContext::getArrayDecayedType(), clang::ASTContext::getBuiltinVaListType(), clang::ASTContext::getCFConstantStringType(), clang::ASTContext::getComplexType(), clang::ASTContext::getExtVectorType(), clang::ASTContext::getFILEType(), clang::TargetInfo::getInt64Type(), clang::TargetInfo::getIntTypeByWidth(), clang::ASTContext::getjmp_bufType(), clang::ASTContext::getLangASForBuiltinAddressSpace(), clang::ASTContext::getLangOpts(), clang::TargetInfo::getLongWidth(), clang::ASTContext::getLValueReferenceType(), clang::ASTContext::getObjCIdType(), clang::ASTContext::getObjCSelType(), clang::ASTContext::getObjCSuperType(), clang::ASTContext::getPointerDiffType(), clang::ASTContext::getPointerType(), clang::ASTContext::getProcessIDType(), clang::ASTContext::getScalableVectorType(), clang::ASTContext::getsigjmp_bufType(), clang::ASTContext::getSizeType(), clang::ASTContext::getTargetInfo(), clang::ASTContext::getucontext_tType(), clang::ASTContext::getVectorType(), clang::ASTContext::getVolatileType(), clang::ASTContext::getWideCharType(), clang::ASTContext::HalfTy, clang::ASTContext::Int128Ty, clang::ASTContext::IntTy, clang::Type::isArrayType(), clang::Type::isIntegralOrEnumerationType(), clang::ASTContext::LongDoubleTy, clang::ASTContext::LongLongTy, clang::ASTContext::LongTy, clang::ASTContext::ShortTy, clang::Signed, clang::ASTContext::SignedCharTy, clang::TransferrableTargetInfo::SignedInt, clang::TransferrableTargetInfo::SignedLong, clang::TransferrableTargetInfo::SignedLongLong, clang::Unsigned, clang::ASTContext::UnsignedCharTy, clang::ASTContext::UnsignedInt128Ty, clang::ASTContext::UnsignedIntTy, clang::ASTContext::UnsignedLongLongTy, clang::ASTContext::UnsignedLongTy, clang::ASTContext::UnsignedShortTy, and clang::ASTContext::VoidTy.
Referenced by clang::ASTContext::DecodeTypeStr(), and clang::ASTContext::GetBuiltinType().
|
static |
Definition at line 7893 of file ASTContext.cpp.
|
static |
Definition at line 927 of file ASTContext.cpp.
References clang::TargetInfo::getAddressSpaceMap().
Referenced by clang::ASTContext::InitBuiltinTypes().
|
static |
Definition at line 4896 of file ASTContext.cpp.
References clang::TemplateArgument::structurallyEquals().
Referenced by clang::ASTContext::getCanonicalTemplateSpecializationType().
|
static |
getConstantArrayInfoInChars - Performing the computation in CharUnits instead of in bits prevents overflowing the uint64_t for some large arrays.
Definition at line 1857 of file ASTContext.cpp.
References clang::TypeInfoChars::Align, clang::TypeInfoChars::AlignRequirement, clang::CharUnits::fromQuantity(), clang::TargetInfo::getCXXABI(), clang::ArrayType::getElementType(), clang::TargetInfo::getPointerWidth(), clang::CharUnits::getQuantity(), clang::ConstantArrayType::getSize(), clang::ASTContext::getTargetInfo(), clang::ASTContext::getTypeInfoInChars(), clang::TargetCXXABI::isMicrosoft(), and clang::TypeInfoChars::Width.
Referenced by clang::ASTContext::getTypeInfoInChars().
|
static |
D
. Definition at line 116 of file ASTContext.cpp.
References clang::Decl::getBeginLoc(), clang::SourceManager::getExpansionLoc(), clang::Decl::getLocation(), clang::Decl::isImplicit(), clang::SourceManager::isMacroArgExpansion(), clang::SourceLocation::isMacroID(), clang::TSK_ImplicitInstantiation, and clang::TSK_Undeclared.
Referenced by clang::ASTContext::attachCommentsToJustParsedDecls(), and clang::ASTContext::getRawCommentForDeclNoCache().
|
static |
getFloatingRank - Return a relative rank for floating point types.
This routine will assert if passed a built-in type that isn't a float.
Definition at line 6821 of file ASTContext.cpp.
References BFloat16Rank, clang::Type::castAs(), DoubleRank, clang::RISCV::Float, Float128Rank, Float16Rank, FloatRank, clang::Type::getAs(), clang::BuiltinType::getKind(), HalfRank, Ibm128Rank, and LongDoubleRank.
Referenced by clang::ASTContext::getFloatingTypeOrder().
Definition at line 7018 of file ASTContext.cpp.
References clang::EnumType::getDecl(), clang::EnumDecl::getIntegerType(), clang::QualType::getTypePtr(), clang::EnumDecl::isComplete(), and clang::EnumDecl::isScoped().
Referenced by clang::ASTContext::getIntegerTypeOrder().
|
static |
getIntersectionOfProtocols - This routine finds the intersection of set of protocols inherited from two distinct objective-c pointer objects with the given common base.
It is used to build composite qualifier list of the composite type of the conditional expression involving two objective-c pointer objects.
Definition at line 9610 of file ASTContext.cpp.
References clang::ASTContext::CollectInheritedProtocols(), compareObjCProtocolsByName(), clang::ObjCObjectType::getInterface(), clang::ObjCObjectPointerType::getObjectType(), and clang::ObjCProtocolQualifiers< T >::quals().
Referenced by clang::ASTContext::areCommonBaseCompatible().
|
static |
Definition at line 6270 of file ASTContext.cpp.
References clang::tooling::X().
Referenced by isSameQualifier().
|
static |
Definition at line 7774 of file ASTContext.cpp.
References clang::DiagnosticsEngine::Error, clang::RISCV::Float, clang::DiagnosticsEngine::getCustomDiagID(), clang::BuiltinType::getKind(), clang::BuiltinType::getName(), and clang::DiagnosticsEngine::Report().
Referenced by ObjCEncodingForEnumType().
|
static |
Definition at line 2670 of file ASTContext.cpp.
References clang::ASTRecordLayout::getBaseClassOffset(), and clang::ASTContext::toBits().
|
static |
Definition at line 2664 of file ASTContext.cpp.
References clang::ASTContext::getFieldOffset().
Referenced by structSubobjectsHaveUniqueObjectRepresentations().
|
static |
Definition at line 2703 of file ASTContext.cpp.
References structHasUniqueObjectRepresentations().
|
static |
Definition at line 2681 of file ASTContext.cpp.
References clang::ASTContext::getTypeSizeInChars(), clang::ASTContext::hasUniqueObjectRepresentations(), clang::TagDecl::isUnion(), structHasUniqueObjectRepresentations(), and clang::ASTContext::toBits().
Referenced by structSubobjectsHaveUniqueObjectRepresentations().
|
static |
getSVETypeSize - Return SVE vector or predicate register size.
Definition at line 9222 of file ASTContext.cpp.
References clang::ASTContext::getCharWidth(), clang::BuiltinType::getKind(), clang::ASTContext::getLangOpts(), and clang::Type::isVLSTBuiltinType().
Referenced by clang::ASTContext::areCompatibleSveTypes(), and clang::ASTContext::areLaxCompatibleSveTypes().
|
static |
Definition at line 4847 of file ASTContext.cpp.
Referenced by clang::ASTContext::getTemplateSpecializationType().
|
static |
Determine whether the attributes we can overload on are identical for A and B.
Will ignore any overloadable attrs represented in the type of A and B.
Definition at line 6319 of file ASTContext.cpp.
References clang::Decl::getASTContext(), and clang::Decl::specific_attrs().
Referenced by clang::ASTContext::isSameEntity().
|
static |
Definition at line 7938 of file ASTContext.cpp.
References clang::Type::getAs(), clang::Type::getAsCXXRecordDecl(), and clang::Type::getBaseElementTypeUnsafe().
|
static |
Definition at line 959 of file ASTContext.cpp.
Referenced by clang::ASTContext::InitBuiltinTypes().
|
static |
Definition at line 4294 of file ASTContext.cpp.
References clang::EST_BasicNoexcept, clang::EST_DependentNoexcept, clang::EST_Dynamic, clang::EST_None, clang::FunctionProtoType::ExceptionSpecInfo::Exceptions, clang::Type::getAs(), clang::QualType::isCanonical(), and clang::FunctionProtoType::ExceptionSpecInfo::Type.
Determine whether T
is canonical as the result type of a function.
Definition at line 4234 of file ASTContext.cpp.
References clang::QualType::getObjCLifetime(), clang::QualType::isCanonical(), clang::Qualifiers::OCL_ExplicitNone, and clang::Qualifiers::OCL_None.
Referenced by clang::ASTContext::getFunctionNoProtoType().
|
static |
Definition at line 6278 of file ASTContext.cpp.
References clang::NestedNameSpecifier::getAsIdentifier(), clang::NestedNameSpecifier::getAsType(), clang::Type::getCanonicalTypeInternal(), clang::NestedNameSpecifier::getKind(), getNamespace(), clang::NestedNameSpecifier::getPrefix(), clang::NestedNameSpecifier::Global, clang::NestedNameSpecifier::Identifier, clang::NestedNameSpecifier::Namespace, clang::NestedNameSpecifier::NamespaceAlias, clang::NestedNameSpecifier::Super, clang::NestedNameSpecifier::TypeSpec, clang::NestedNameSpecifier::TypeSpecWithTemplate, and clang::tooling::X().
Referenced by clang::ASTContext::isSameEntity().
Definition at line 7392 of file ASTContext.cpp.
|
static |
Given that we have an enum type and a non-enum type, try to merge them.
Definition at line 10172 of file ASTContext.cpp.
References clang::EnumType::getDecl(), clang::EnumDecl::getIntegerType(), clang::ASTContext::getTypeSize(), clang::ASTContext::hasSameType(), clang::Type::isIntegerType(), and clang::QualType::isNull().
Referenced by clang::ASTContext::mergeTypes().
|
static |
Definition at line 4542 of file ASTContext.cpp.
Referenced by clang::ASTContext::getInjectedClassNameType().
|
static |
Definition at line 7881 of file ASTContext.cpp.
References clang::EnumType::getDecl(), and getObjCEncodingForPrimitiveType().
|
static |
Definition at line 9691 of file ASTContext.cpp.
References clang::ObjCTypeParamList::begin(), canAssignObjCObjectTypes(), clang::Contravariant, clang::Covariant, clang::ObjCInterfaceDecl::getTypeParamList(), clang::ObjCTypeParamDecl::getVariance(), clang::ASTContext::hasSameType(), and clang::Invariant.
Referenced by clang::ASTContext::areCommonBaseCompatible(), and clang::ASTContext::canAssignObjCInterfaces().
|
static |
Definition at line 5205 of file ASTContext.cpp.
References CmpProtocolNames(), and P.
Referenced by clang::ASTContext::getObjCObjectType().
|
static |
Definition at line 2727 of file ASTContext.cpp.
References clang::RecordDecl::fields(), clang::ASTContext::getASTRecordLayout(), clang::TagDecl::isUnion(), and structSubobjectsHaveUniqueObjectRepresentations().
Referenced by getSubobjectSizeInBits(), and clang::ASTContext::hasUniqueObjectRepresentations().
|
static |
Definition at line 2708 of file ASTContext.cpp.
References getSubobjectOffset(), getSubobjectSizeInBits(), and Offset.
Referenced by structHasUniqueObjectRepresentations().
|
static |
Definition at line 2649 of file ASTContext.cpp.
References clang::RecordDecl::field_empty(), clang::RecordDecl::fields(), clang::TypeDecl::getTypeForDecl(), clang::ASTContext::getTypeSizeInChars(), clang::ASTContext::hasUniqueObjectRepresentations(), and clang::TagDecl::isUnion().
Referenced by clang::ASTContext::hasUniqueObjectRepresentations().