14 #ifndef LLVM_CLANG_LIB_SERIALIZATION_ASTCOMMON_H
15 #define LLVM_CLANG_LIB_SERIALIZATION_ASTCOMMON_H
23 namespace serialization {
47 template <
typename IdxForTypeTy>
56 return IdxForType(T).asTypeID(FastQuals);
68 return IdxForType(T).asTypeID(FastQuals);
99 if (
auto *FD = dyn_cast<FriendDecl>(LexicalD))
100 LexicalD = FD->getFriendDecl();
102 auto *ND = dyn_cast_or_null<NamedDecl>(LexicalD);
Defines the clang::ASTContext interface.
Smart pointer class that efficiently represents Objective-C method names.
bool isRedeclarableDeclKind(unsigned Kind)
Determine whether the given declaration kind is redeclarable.
A (possibly-)qualified type.
decl_range decls() const
decls_begin/decls_end - Iterate over the declarations stored in this context.
const DeclContext * getDefinitiveDeclContext(const DeclContext *DC)
Retrieve the "definitive" declaration that provides all of the visible entries for the given declarat...
Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...
TypeID MakeTypeID(ASTContext &Context, QualType T, IdxForTypeTy IdxForType)
The "auto &&" deduction type.
bool hasLocalQualifiers() const
Determine whether this particular QualType instance has any qualifiers, without looking through any t...
The "auto" deduction type.
unsigned getLocalFastQualifiers() const
const Type * getTypePtr() const
Retrieves a pointer to the underlying (unqualified) type.
TypeIdx TypeIdxFromBuiltin(const BuiltinType *BT)
unsigned ComputeHash(Selector Sel)
DeclContext - This is used only as base class of specific decl types that can act as declaration cont...
void removeLocalFastQualifiers()
bool hasLocalNonFastQualifiers() const
Determine whether this particular QualType instance has any "non-fast" qualifiers, e.g., those that are stored in an ExtQualType instance.
QualType AutoRRefDeductTy
TypeID asTypeID(unsigned FastQuals) const
bool needsAnonymousDeclarationNumber(const NamedDecl *D)
Determine whether the given declaration needs an anonymous declaration number.
This class is used for builtin types like 'int'.
uint32_t TypeID
An ID number that refers to a type in an AST file.
NamedDecl - This represents a decl with a name.
void numberAnonymousDeclsWithin(const DeclContext *DC, Fn Visit)
Visit each declaration within DC that needs an anonymous declaration number and call Visit with the d...
bool isNull() const
Return true if this QualType doesn't point to a type yet.
A type index; the type ID with the qualifier bits removed.