clang API Documentation
#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/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.
#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 | |||
) |
case Type::Class: \ assert(!T->isDependentType() && "should not see dependent types here"); \ return getTypeInfo(cast<Class##Type>(T)->desugar().getTypePtr());
#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 | |||
) |
if (counts[Idx]) \ llvm::errs() << " " << counts[Idx] << " " << #Name \ << " types\n"; \ TotalBytes += counts[Idx] * sizeof(Name##Type); \ ++Idx;
#define TYPE | ( | KIND, | |
BASE | |||
) |
enum FloatingRank |
Definition at line 59 of file ASTContext.cpp.
static void addRedeclaredMethods | ( | const ObjCMethodDecl * | ObjCMethod, |
SmallVectorImpl< const NamedDecl * > & | Redeclared | ||
) | [static] |
Definition at line 401 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 GVALinkage adjustGVALinkageForDLLAttribute | ( | GVALinkage | L, |
const Decl * | D | ||
) | [static] |
Definition at line 7881 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 bool areCompatVectorTypes | ( | const VectorType * | LHS, |
const VectorType * | RHS | ||
) | [static] |
areCompatVectorTypes - Return true if the two specified vector types are compatible.
Definition at line 6450 of file ASTContext.cpp.
References clang::VectorType::getElementType(), clang::VectorType::getNumElements(), and clang::Type::isCanonicalUnqualified().
Referenced by clang::ASTContext::mergeTypes().
static bool areSortedAndUniqued | ( | ObjCProtocolDecl *const * | Protocols, |
unsigned | NumProtocols | ||
) | [static] |
Definition at line 3506 of file ASTContext.cpp.
References CmpProtocolNames().
Referenced by clang::ASTContext::getObjCObjectType().
static GVALinkage basicGVALinkageForFunction | ( | const ASTContext & | Context, |
const FunctionDecl * | FD | ||
) | [static] |
Definition at line 7826 of file ASTContext.cpp.
References clang::ASTContext::getLangOpts(), clang::Redeclarable< decl_type >::getMostRecentDecl(), 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::FunctionDecl::isMSExternInline(), clang::TSK_ExplicitInstantiationDeclaration, clang::TSK_ExplicitInstantiationDefinition, clang::TSK_ExplicitSpecialization, clang::TSK_ImplicitInstantiation, and clang::TSK_Undeclared.
Referenced by clang::ASTContext::GetGVALinkageForFunction().
static GVALinkage basicGVALinkageForVariable | ( | const ASTContext & | Context, |
const VarDecl * | VD | ||
) | [static] |
Definition at line 7899 of file ASTContext.cpp.
References clang::ASTContext::GetGVALinkageForFunction(), clang::DeclContext::getLexicalParent(), clang::Decl::getParentFunctionOrMethod(), clang::VarDecl::getTemplateSpecializationKind(), clang::GVA_AvailableExternally, clang::GVA_DiscardableODR, clang::GVA_Internal, clang::GVA_StrongExternal, clang::GVA_StrongODR, clang::NamedDecl::isExternallyVisible(), clang::ASTContext::isMSStaticDataMemberInlineDefinition(), 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 std::string charUnitsToString | ( | const CharUnits & | CU | ) | [inline, static] |
Definition at line 4864 of file ASTContext.cpp.
References clang::CharUnits::getQuantity().
Referenced by clang::ASTContext::getObjCEncodingForBlock(), clang::ASTContext::getObjCEncodingForFunctionDecl(), and clang::ASTContext::getObjCEncodingForMethodDecl().
static bool CmpProtocolNames | ( | const ObjCProtocolDecl * | LHS, |
const ObjCProtocolDecl * | RHS | ||
) | [static] |
CmpProtocolNames - Comparison predicate for sorting protocols alphabetically.
Definition at line 3501 of file ASTContext.cpp.
References clang::NamedDecl::getDeclName().
Referenced by areSortedAndUniqued(), and SortAndUniqueProtocols().
static TypedefDecl* CreateAAPCSABIBuiltinVaListDecl | ( | const ASTContext * | Context | ) | [static] |
Definition at line 6080 of file ASTContext.cpp.
References clang::DeclContext::addDecl(), clang::AS_public, clang::ASTContext::buildImplicitRecord(), clang::ASTContext::buildImplicitTypedef(), clang::TagDecl::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 TypedefDecl* CreateAArch64ABIBuiltinVaListDecl | ( | const ASTContext * | Context | ) | [static] |
Definition at line 5884 of file ASTContext.cpp.
References clang::DeclContext::addDecl(), clang::AS_public, clang::ASTContext::buildImplicitRecord(), clang::ASTContext::buildImplicitTypedef(), clang::TagDecl::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::VaListTagTy, and clang::ASTContext::VoidTy.
Referenced by CreateVaListDecl().
static TypedefDecl* CreateCharPtrBuiltinVaListDecl | ( | const ASTContext * | Context | ) | [static] |
Definition at line 5871 of file ASTContext.cpp.
References clang::ASTContext::buildImplicitTypedef(), clang::ASTContext::CharTy, and clang::ASTContext::getPointerType().
Referenced by CreateVaListDecl().
static TypedefDecl* CreatePNaClABIBuiltinVaListDecl | ( | const ASTContext * | Context | ) | [static] |
Definition at line 6070 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 TypedefDecl* CreatePowerABIBuiltinVaListDecl | ( | const ASTContext * | Context | ) | [static] |
Definition at line 5947 of file ASTContext.cpp.
References clang::DeclContext::addDecl(), clang::AS_public, clang::ASTContext::buildImplicitRecord(), clang::ASTContext::buildImplicitTypedef(), clang::TagDecl::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::VaListTagTy, and clang::ASTContext::VoidTy.
Referenced by CreateVaListDecl().
static TypedefDecl* CreateSystemZBuiltinVaListDecl | ( | const ASTContext * | Context | ) | [static] |
Definition at line 6120 of file ASTContext.cpp.
References clang::DeclContext::addDecl(), clang::AS_public, clang::ASTContext::buildImplicitRecord(), clang::ASTContext::buildImplicitTypedef(), clang::TagDecl::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::ASTContext::LongTy, clang::ArrayType::Normal, clang::Decl::setAccess(), clang::TagDecl::startDefinition(), clang::ASTContext::VaListTagTy, and clang::ASTContext::VoidTy.
Referenced by CreateVaListDecl().
static TypedefDecl* CreateVaListDecl | ( | const ASTContext * | Context, |
TargetInfo::BuiltinVaListKind | Kind | ||
) | [static] |
Definition at line 6179 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 TypedefDecl* CreateVoidPtrBuiltinVaListDecl | ( | const ASTContext * | Context | ) | [static] |
Definition at line 5877 of file ASTContext.cpp.
References clang::ASTContext::buildImplicitTypedef(), clang::ASTContext::getPointerType(), and clang::ASTContext::VoidTy.
Referenced by CreateVaListDecl().
static TypedefDecl* CreateX86_64ABIBuiltinVaListDecl | ( | const ASTContext * | Context | ) | [static] |
Definition at line 6011 of file ASTContext.cpp.
References clang::DeclContext::addDecl(), clang::AS_public, clang::ASTContext::buildImplicitRecord(), clang::ASTContext::buildImplicitTypedef(), clang::TagDecl::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::UnsignedIntTy, clang::ASTContext::VaListTagTy, and clang::ASTContext::VoidTy.
Referenced by CreateVaListDecl().
static QualType DecodeTypeFromStr | ( | const char *& | Str, |
const ASTContext & | Context, | ||
ASTContext::GetBuiltinTypeError & | Error, | ||
bool & | RequiresICE, | ||
bool | AllowTypeModifiers | ||
) | [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 7521 of file ASTContext.cpp.
References clang::ASTContext::BoolTy, clang::ASTContext::CharTy, clang::ASTContext::DoubleTy, 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 void EncodeBitField | ( | const ASTContext * | Ctx, |
std::string & | S, | ||
QualType | T, | ||
const FieldDecl * | FD | ||
) | [static] |
Definition at line 5257 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 const LangAS::Map* getAddressSpaceMap | ( | const TargetInfo & | T, |
const LangOptions & | LOpts | ||
) | [static] |
Definition at line 693 of file ASTContext.cpp.
References clang::TargetInfo::getAddressSpaceMap().
Referenced by clang::ASTContext::InitBuiltinTypes().
static std::pair<CharUnits, CharUnits> getConstantArrayInfoInChars | ( | const ASTContext & | Context, |
const ConstantArrayType * | CAT | ||
) | [static] |
getConstantArrayInfoInChars - Performing the computation in CharUnits instead of in bits prevents overflowing the uint64_t for some large arrays.
Definition at line 1388 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 FloatingRank getFloatingRank | ( | QualType | T | ) | [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 4378 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 QualType getFunctionTypeWithExceptionSpec | ( | ASTContext & | Context, |
QualType | Orig, | ||
const FunctionProtoType::ExceptionSpecInfo & | ESI | ||
) | [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 2118 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().
static const Type* getIntegerTypeForEnum | ( | const EnumType * | ET | ) | [static] |
Definition at line 4578 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 void getIntersectionOfProtocols | ( | ASTContext & | Context, |
const ObjCObjectPointerType * | LHSOPT, | ||
const ObjCObjectPointerType * | RHSOPT, | ||
SmallVectorImpl< ObjCProtocolDecl * > & | IntersectionOfProtocols | ||
) | [static] |
getIntersectionOfProtocols - This routine finds the intersection of set of protocols inherited from two distinct objective-c pointer objects. 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 6709 of file ASTContext.cpp.
References clang::ASTContext::CollectInheritedProtocols(), clang::ObjCObjectType::getInterface(), clang::ObjCObjectType::getNumProtocols(), clang::ObjCObjectPointerType::getObjectType(), clang::ObjCObjectType::qual_begin(), and clang::ObjCObjectType::qual_end().
Referenced by clang::ASTContext::areCommonBaseCompatible().
static char getObjCEncodingForPrimitiveKind | ( | const ASTContext * | C, |
BuiltinType::Kind | kind | ||
) | [static] |
Definition at line 5187 of file ASTContext.cpp.
References clang::TargetInfo::getLongWidth(), and clang::ASTContext::getTargetInfo().
Referenced by EncodeBitField(), and ObjCEncodingForEnumType().
static bool hasAnyPackExpansions | ( | const TemplateArgument * | Args, |
unsigned | NumArgs | ||
) | [static] |
Definition at line 3221 of file ASTContext.cpp.
Referenced by clang::ASTContext::getTemplateSpecializationType().
static bool isAddrSpaceMapManglingEnabled | ( | const TargetInfo & | TI, |
const LangOptions & | LangOpts | ||
) | [static] |
Definition at line 712 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().
static bool isCanonicalResultType | ( | QualType | T | ) | [static] |
Determine whether T
is canonical as the result type of a function.
Definition at line 2876 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().
static bool isTypeTypedefedAsBOOL | ( | QualType | T | ) | [static] |
Definition at line 4832 of file ASTContext.cpp.
References clang::TagType::getDecl(), and clang::NamedDecl::getIdentifier().
static QualType mergeEnumWithInteger | ( | ASTContext & | Context, |
const EnumType * | ET, | ||
QualType | other, | ||
bool | isBlockReturnType | ||
) | [static] |
Given that we have an enum type and a non-enum type, try to merge them.
Definition at line 7073 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 bool NeedsInjectedClassNameType | ( | const RecordDecl * | D | ) | [static] |
Definition at line 2966 of file ASTContext.cpp.
References clang::CXXRecordDecl::getDescribedClassTemplate().
Referenced by clang::ASTContext::getInjectedClassNameType().
static char ObjCEncodingForEnumType | ( | const ASTContext * | C, |
const EnumType * | ET | ||
) | [static] |
Definition at line 5245 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 void SortAndUniqueProtocols | ( | ObjCProtocolDecl ** | Protocols, |
unsigned & | NumProtocols | ||
) | [static] |
Definition at line 3520 of file ASTContext.cpp.
References CmpProtocolNames().
Referenced by clang::ASTContext::getObjCObjectType().