14 #ifndef LLVM_CLANG_LIB_SERIALIZATION_ASTCOMMON_H 15 #define LLVM_CLANG_LIB_SERIALIZATION_ASTCOMMON_H 23 namespace serialization {
49 template <
typename IdxForTypeTy>
58 return IdxForType(T).asTypeID(FastQuals);
70 return IdxForType(T).asTypeID(FastQuals);
101 if (
auto *FD = dyn_cast<FriendDecl>(LexicalD))
102 LexicalD = FD->getFriendDecl();
104 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 - This represents one declaration (or definition), e.g.
bool hasLocalNonFastQualifiers() const
Determine whether this particular QualType instance has any "non-fast" qualifiers, e.g., those that are stored in an ExtQualType instance.
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 ...
const Type * getTypePtr() const
Retrieves a pointer to the underlying (unqualified) type.
TypeID MakeTypeID(ASTContext &Context, QualType T, IdxForTypeTy IdxForType)
unsigned getLocalFastQualifiers() const
The "auto &&" deduction type.
bool isNull() const
Return true if this QualType doesn't point to a type yet.
The "auto" deduction type.
TypeIdx TypeIdxFromBuiltin(const BuiltinType *BT)
uint32_t TypeID
An ID number that refers to a type in an AST file.
unsigned ComputeHash(Selector Sel)
Dataflow Directional Tag Classes.
DeclContext - This is used only as base class of specific decl types that can act as declaration cont...
TypeID asTypeID(unsigned FastQuals) const
void removeLocalFastQualifiers()
bool hasLocalQualifiers() const
Determine whether this particular QualType instance has any qualifiers, without looking through any t...
QualType AutoRRefDeductTy
bool needsAnonymousDeclarationNumber(const NamedDecl *D)
Determine whether the given declaration needs an anonymous declaration number.
This class is used for builtin types like 'int'.
This represents a decl that may have 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...
A type index; the type ID with the qualifier bits removed.