|
clang
3.8.0
|
#include "clang/AST/ASTContext.h"#include "CXXABI.h"#include "clang/AST/ASTMutationListener.h"#include "clang/AST/Attr.h"#include "clang/AST/CharUnits.h"#include "clang/AST/Comment.h"#include "clang/AST/CommentCommandTraits.h"#include "clang/AST/DeclCXX.h"#include "clang/AST/DeclContextInternals.h"#include "clang/AST/DeclObjC.h"#include "clang/AST/DeclTemplate.h"#include "clang/AST/Expr.h"#include "clang/AST/ExprCXX.h"#include "clang/AST/ExternalASTSource.h"#include "clang/AST/Mangle.h"#include "clang/AST/MangleNumberingContext.h"#include "clang/AST/RecordLayout.h"#include "clang/AST/RecursiveASTVisitor.h"#include "clang/AST/TypeLoc.h"#include "clang/AST/VTableBuilder.h"#include "clang/Basic/Builtins.h"#include "clang/Basic/SourceManager.h"#include "clang/Basic/TargetInfo.h"#include "llvm/ADT/SmallString.h"#include "llvm/ADT/StringExtras.h"#include "llvm/ADT/Triple.h"#include "llvm/Support/Capacity.h"#include "llvm/Support/MathExtras.h"#include "llvm/Support/raw_ostream.h"#include <map>#include "clang/AST/TypeNodes.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 | 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 | TYPE(Class, Base) |
| #define | ABSTRACT_TYPE(Class, Base) |
| #define | NON_CANONICAL_TYPE(Class, Base) case Type::Class: |
| #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 { HalfRank, FloatRank, DoubleRank, LongDoubleRank } |
Functions | |
| static void | addRedeclaredMethods (const ObjCMethodDecl *ObjCMethod, SmallVectorImpl< const NamedDecl * > &Redeclared) |
| static const LangAS::Map * | getAddressSpaceMap (const TargetInfo &T, const LangOptions &LOpts) |
| static bool | isAddrSpaceMapManglingEnabled (const TargetInfo &TI, const LangOptions &LangOpts) |
| static std::pair< CharUnits, CharUnits > | 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 QualType | getFunctionTypeWithExceptionSpec (ASTContext &Context, QualType Orig, const FunctionProtoType::ExceptionSpecInfo &ESI) |
| Get a function type and produce the equivalent function type with the specified exception specification. More... | |
| static bool | isCanonicalResultType (QualType T) |
Determine whether T is canonical as the result type of a function. More... | |
| static bool | NeedsInjectedClassNameType (const RecordDecl *D) |
| static bool | hasAnyPackExpansions (const TemplateArgument *Args, unsigned NumArgs) |
| 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 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 | getObjCEncodingForPrimitiveKind (const ASTContext *C, BuiltinType::Kind kind) |
| static char | ObjCEncodingForEnumType (const ASTContext *C, const EnumType *ET) |
| static void | EncodeBitField (const ASTContext *Ctx, std::string &S, QualType T, const FieldDecl *FD) |
| 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 * | 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 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 (GVALinkage L, const Decl *D) |
| static GVALinkage | basicGVALinkageForVariable (const ASTContext &Context, const VarDecl *VD) |
| template<typename NodeTy , typename MapTy > | |
| static ASTContext::DynTypedNodeList | getDynNodeFromMap (const NodeTy &Node, const MapTy &Map) |
| #define ABSTRACT_TYPE | ( | Name, | |
| Parent | |||
| ) |
| #define ABSTRACT_TYPE | ( | Name, | |
| Parent | |||
| ) |
| #define ABSTRACT_TYPE | ( | Class, | |
| Base | |||
| ) |
| #define ABSTRACT_TYPE | ( | Class, | |
| Base | |||
| ) |
| #define ABSTRACT_TYPE | ( | KIND, | |
| BASE | |||
| ) |
| #define ABSTRACT_TYPE | ( | Class, | |
| Base | |||
| ) |
| #define BUILTIN_TYPE | ( | KIND, | |
| ID | |||
| ) |
| #define DEPENDENT_TYPE | ( | Class, | |
| Base | |||
| ) | case Type::Class: |
| #define DEPENDENT_TYPE | ( | KIND, | |
| BASE | |||
| ) | case Type::KIND: |
| #define DEPENDENT_TYPE | ( | Class, | |
| Base | |||
| ) | case Type::Class: |
| #define NON_CANONICAL_TYPE | ( | Class, | |
| Base | |||
| ) |
| #define NON_CANONICAL_TYPE | ( | Class, | |
| Base | |||
| ) | case Type::Class: |
| #define NON_CANONICAL_TYPE | ( | KIND, | |
| BASE | |||
| ) | case Type::KIND: |
| #define NON_CANONICAL_TYPE | ( | Class, | |
| Base | |||
| ) | case Type::Class: |
| #define NON_CANONICAL_UNLESS_DEPENDENT_TYPE | ( | Class, | |
| Base | |||
| ) |
| #define NON_CANONICAL_UNLESS_DEPENDENT_TYPE | ( | KIND, | |
| BASE | |||
| ) | case Type::KIND: |
| #define NON_CANONICAL_UNLESS_DEPENDENT_TYPE | ( | Class, | |
| Base | |||
| ) | case Type::Class: |
| #define PLACEHOLDER_TYPE | ( | KIND, | |
| ID | |||
| ) | case BuiltinType::KIND: |
| #define TYPE | ( | Name, | |
| Parent | |||
| ) | 0, |
| #define TYPE | ( | Name, | |
| Parent | |||
| ) |
| #define TYPE | ( | Class, | |
| Base | |||
| ) |
| #define TYPE | ( | Class, | |
| Base | |||
| ) |
| #define TYPE | ( | KIND, | |
| BASE | |||
| ) |
| #define TYPE | ( | Class, | |
| Base | |||
| ) |
| enum FloatingRank |
| Enumerator | |
|---|---|
| HalfRank | |
| FloatRank | |
| DoubleRank | |
| LongDoubleRank | |
Definition at line 60 of file ASTContext.cpp.
|
static |
Definition at line 404 of file ASTContext.cpp.
References clang::Decl::getDeclContext(), clang::ObjCMethodDecl::getSelector(), clang::ObjCMethodDecl::isInstanceMethod(), and clang::ObjCInterfaceDecl::known_extensions().
Referenced by clang::ASTContext::getCommentForDecl().
|
static |
Definition at line 8377 of file ASTContext.cpp.
References clang::GVA_AvailableExternally, clang::GVA_DiscardableODR, clang::GVA_StrongODR, and clang::Decl::hasAttr().
Referenced by clang::ASTContext::GetGVALinkageForFunction(), and clang::ASTContext::GetGVALinkageForVariable().
|
static |
areCompatVectorTypes - Return true if the two specified vector types are compatible.
Definition at line 6696 of file ASTContext.cpp.
References clang::VectorType::getElementType(), clang::VectorType::getNumElements(), and clang::Type::isCanonicalUnqualified().
Referenced by clang::ASTContext::mergeTypes().
|
static |
Definition at line 3695 of file ASTContext.cpp.
References CmpProtocolNames().
Referenced by clang::ASTContext::getObjCObjectType().
|
static |
Definition at line 8321 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().
|
static |
Definition at line 8395 of file ASTContext.cpp.
References clang::TargetInfo::getCXXABI(), clang::ASTContext::GetGVALinkageForFunction(), 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::TSK_ExplicitInstantiationDeclaration, clang::TSK_ExplicitInstantiationDefinition, clang::TSK_ExplicitSpecialization, clang::TSK_ImplicitInstantiation, and clang::TSK_Undeclared.
Referenced by clang::ASTContext::GetGVALinkageForVariable().
|
static |
Determine whether the first type is a subtype of the second.
Definition at line 7063 of file ASTContext.cpp.
References clang::ASTContext::canAssignObjCInterfaces(), clang::Type::getAs(), clang::ObjCObjectPointerType::isObjCIdType(), and clang::ASTContext::typesAreBlockPointerCompatible().
Referenced by sameObjCTypeArgs().
|
inlinestatic |
Definition at line 5100 of file ASTContext.cpp.
References clang::CharUnits::getQuantity().
Referenced by clang::ASTContext::getObjCEncodingForBlock(), clang::ASTContext::getObjCEncodingForFunctionDecl(), and clang::ASTContext::getObjCEncodingForMethodDecl().
|
static |
CmpProtocolNames - Comparison predicate for sorting protocols alphabetically.
Definition at line 3690 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 6990 of file ASTContext.cpp.
Referenced by getIntersectionOfProtocols().
|
static |
Definition at line 6324 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::setAccess(), clang::Decl::setDeclContext(), clang::Decl::setImplicit(), clang::TagDecl::startDefinition(), and clang::ASTContext::VoidTy.
Referenced by CreateVaListDecl().
|
static |
Definition at line 6134 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::setAccess(), clang::Decl::setDeclContext(), clang::Decl::setImplicit(), clang::TagDecl::startDefinition(), clang::ASTContext::VaListTagDecl, and clang::ASTContext::VoidTy.
Referenced by CreateVaListDecl().
|
static |
Definition at line 6123 of file ASTContext.cpp.
References CreateCharPtrNamedVaListDecl().
Referenced by CreateVaListDecl().
|
static |
Definition at line 6112 of file ASTContext.cpp.
References clang::ASTContext::buildImplicitTypedef(), clang::ASTContext::CharTy, and clang::ASTContext::getPointerType().
Referenced by CreateCharPtrBuiltinVaListDecl(), and CreateMSVaListDecl().
|
static |
Definition at line 6119 of file ASTContext.cpp.
References CreateCharPtrNamedVaListDecl().
Referenced by clang::ASTContext::getBuiltinMSVaListDecl().
|
static |
Definition at line 6314 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 6197 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::Decl::setAccess(), clang::TagDecl::startDefinition(), clang::ASTContext::UnsignedCharTy, clang::ASTContext::UnsignedShortTy, clang::ASTContext::VaListTagDecl, and clang::ASTContext::VoidTy.
Referenced by CreateVaListDecl().
|
static |
Definition at line 6364 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::Decl::setAccess(), clang::TagDecl::startDefinition(), clang::ASTContext::VaListTagDecl, and clang::ASTContext::VoidTy.
Referenced by CreateVaListDecl().
|
static |
Definition at line 6418 of file ASTContext.cpp.
References clang::TargetInfo::AAPCSABIBuiltinVaList, clang::TargetInfo::AArch64ABIBuiltinVaList, clang::TargetInfo::CharPtrBuiltinVaList, CreateAAPCSABIBuiltinVaListDecl(), CreateAArch64ABIBuiltinVaListDecl(), CreateCharPtrBuiltinVaListDecl(), CreatePNaClABIBuiltinVaListDecl(), CreatePowerABIBuiltinVaListDecl(), CreateSystemZBuiltinVaListDecl(), CreateVoidPtrBuiltinVaListDecl(), CreateX86_64ABIBuiltinVaListDecl(), 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 6127 of file ASTContext.cpp.
References clang::ASTContext::buildImplicitTypedef(), clang::ASTContext::getPointerType(), and clang::ASTContext::VoidTy.
Referenced by CreateVaListDecl().
|
static |
Definition at line 6261 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::Decl::setAccess(), 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 8013 of file ASTContext.cpp.
References clang::ASTContext::BoolTy, clang::ASTContext::CharTy, clang::ASTContext::DoubleTy, End, 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::ASTContext::getjmp_bufType(), clang::ASTContext::getLValueReferenceType(), clang::ASTContext::getObjCIdType(), clang::ASTContext::getObjCSelType(), clang::ASTContext::getObjCSuperType(), clang::ASTContext::getPointerDiffType(), clang::ASTContext::getPointerType(), clang::ASTContext::getProcessIDType(), clang::ASTContext::getsigjmp_bufType(), clang::ASTContext::getSizeType(), clang::ASTContext::getTargetInfo(), clang::ASTContext::getucontext_tType(), clang::ASTContext::getVectorType(), clang::ASTContext::getVolatileType(), clang::ASTContext::HalfTy, clang::ASTContext::Int128Ty, clang::ASTContext::IntTy, clang::Type::isArrayType(), clang::Type::isIntegralOrEnumerationType(), clang::QualType::isNull(), clang::ASTContext::LongDoubleTy, clang::ASTContext::LongLongTy, clang::ASTContext::LongTy, clang::ASTContext::ShortTy, clang::ASTContext::SignedCharTy, clang::TargetInfo::SignedLong, clang::TargetInfo::SignedLongLong, clang::ASTContext::UnsignedCharTy, clang::ASTContext::UnsignedInt128Ty, clang::ASTContext::UnsignedIntTy, clang::ASTContext::UnsignedLongLongTy, clang::ASTContext::UnsignedLongTy, clang::ASTContext::UnsignedShortTy, clang::ASTContext::VoidTy, clang::QualType::withConst(), and clang::QualType::withRestrict().
Referenced by clang::ASTContext::GetBuiltinType().
|
static |
Definition at line 5503 of file ASTContext.cpp.
References clang::Type::castAs(), clang::Type::getAs(), clang::ASTContext::getASTRecordLayout(), clang::FieldDecl::getBitWidthValue(), clang::FieldDecl::getFieldIndex(), clang::ASTRecordLayout::getFieldOffset(), clang::BuiltinType::getKind(), clang::ASTContext::getLangOpts(), getObjCEncodingForPrimitiveKind(), clang::FieldDecl::getParent(), clang::FieldDecl::isBitField(), clang::ObjCRuntime::isGNUFamily(), ObjCEncodingForEnumType(), and clang::LangOptions::ObjCRuntime.
|
static |
Definition at line 697 of file ASTContext.cpp.
References clang::TargetInfo::getAddressSpaceMap().
Referenced by clang::ASTContext::InitBuiltinTypes().
|
static |
getConstantArrayInfoInChars - Performing the computation in CharUnits instead of in bits prevents overflowing the uint64_t for some large arrays.
Definition at line 1471 of file ASTContext.cpp.
References clang::CharUnits::fromQuantity(), clang::TargetInfo::getCXXABI(), clang::ArrayType::getElementType(), clang::TargetInfo::getPointerWidth(), clang::ConstantArrayType::getSize(), clang::ASTContext::getTargetInfo(), clang::ASTContext::getTypeInfoInChars(), and clang::TargetCXXABI::isMicrosoft().
Referenced by clang::ASTContext::getTypeInfoInChars().
|
static |
Definition at line 8917 of file ASTContext.cpp.
References I.
Referenced by clang::ASTContext::getParents().
|
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 4615 of file ASTContext.cpp.
References DoubleRank, FloatRank, clang::Type::getAs(), clang::BuiltinType::getKind(), HalfRank, and LongDoubleRank.
Referenced by clang::ASTContext::getFloatingTypeOfSizeWithinDomain(), and clang::ASTContext::getFloatingTypeOrder().
|
static |
Get a function type and produce the equivalent function type with the specified exception specification.
Type sugar that can be present on a declaration of a function with an exception specification is permitted and preserved. Other type sugar (for instance, typedefs) is not.
Definition at line 2270 of file ASTContext.cpp.
References clang::ASTContext::getAttributedType(), clang::FunctionProtoType::getExtProtoInfo(), clang::ASTContext::getFunctionType(), clang::FunctionProtoType::getParamTypes(), clang::ASTContext::getParenType(), clang::FunctionType::getReturnType(), and clang::FunctionProtoType::ExtProtoInfo::withExceptionSpec().
Referenced by clang::ASTContext::adjustExceptionSpec().
Definition at line 4815 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 7002 of file ASTContext.cpp.
References clang::ASTContext::CollectInheritedProtocols(), compareObjCProtocolsByName(), clang::ObjCObjectType::getInterface(), clang::ObjCObjectPointerType::getObjectType(), and clang::ObjCObjectType::quals().
Referenced by clang::ASTContext::areCommonBaseCompatible().
|
static |
Definition at line 5423 of file ASTContext.cpp.
References clang::TargetInfo::getLongWidth(), and clang::ASTContext::getTargetInfo().
Referenced by EncodeBitField(), and ObjCEncodingForEnumType().
|
static |
Definition at line 3409 of file ASTContext.cpp.
References I, and clang::NumArgs.
Referenced by clang::ASTContext::getTemplateSpecializationType().
|
static |
Definition at line 717 of file ASTContext.cpp.
References clang::LangOptions::ASMM_Off, clang::LangOptions::ASMM_On, clang::LangOptions::ASMM_Target, and clang::TargetInfo::useAddressSpaceMapMangling().
Referenced by clang::ASTContext::InitBuiltinTypes().
Determine whether T is canonical as the result type of a function.
Definition at line 3030 of file ASTContext.cpp.
References clang::QualType::getObjCLifetime(), clang::QualType::isCanonical(), clang::Qualifiers::OCL_ExplicitNone, and clang::Qualifiers::OCL_None.
Referenced by clang::ASTContext::getFunctionType().
Definition at line 5067 of file ASTContext.cpp.
References clang::TagType::getDecl(), and clang::NamedDecl::getIdentifier().
|
static |
Given that we have an enum type and a non-enum type, try to merge them.
Definition at line 7543 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 3155 of file ASTContext.cpp.
References clang::CXXRecordDecl::getDescribedClassTemplate().
Referenced by clang::ASTContext::getInjectedClassNameType().
|
static |
Definition at line 5491 of file ASTContext.cpp.
References clang::Type::castAs(), clang::EnumType::getDecl(), clang::EnumDecl::getIntegerType(), clang::BuiltinType::getKind(), getObjCEncodingForPrimitiveKind(), and clang::EnumDecl::isFixed().
Referenced by EncodeBitField().
|
static |
Definition at line 7087 of file ASTContext.cpp.
References clang::ObjCTypeParamList::begin(), canAssignObjCObjectTypes(), clang::Contravariant, clang::Covariant, clang::ObjCInterfaceDecl::getTypeParamList(), clang::ASTContext::hasSameType(), and clang::Invariant.
Referenced by clang::ASTContext::areCommonBaseCompatible(), and clang::ASTContext::canAssignObjCInterfaces().
|
static |
Definition at line 3709 of file ASTContext.cpp.
References CmpProtocolNames(), and P.
Referenced by clang::ASTContext::getObjCObjectType().
1.8.6