clang: clang::ODRHash Class Reference (original) (raw)
#include "[clang/AST/ODRHash.h](ODRHash%5F8h%5Fsource.html)"
Public Member Functions | |
---|---|
ODRHash () | |
void | AddCXXRecordDecl (const CXXRecordDecl *Record) |
void | AddRecordDecl (const RecordDecl *Record) |
void | AddObjCInterfaceDecl (const ObjCInterfaceDecl *Record) |
void | AddFunctionDecl (const FunctionDecl *Function, bool SkipBody=false) |
void | AddEnumDecl (const EnumDecl *Enum) |
void | AddObjCProtocolDecl (const ObjCProtocolDecl *P) |
void | AddSubDecl (const Decl *D) |
void | clear () |
unsigned | CalculateHash () |
void | AddDecl (const Decl *D) |
void | AddType (const Type *T) |
void | AddQualType (QualType T) |
void | AddStmt (const Stmt *S) |
void | AddIdentifierInfo (const IdentifierInfo *II) |
void | AddNestedNameSpecifier (const NestedNameSpecifier *NNS) |
void | AddTemplateName (TemplateName Name) |
void | AddDeclarationName (DeclarationName Name, bool TreatAsDecl=false) |
void | AddTemplateArgument (TemplateArgument TA) |
void | AddTemplateParameterList (const TemplateParameterList *TPL) |
void | AddBoolean (bool value) |
void | AddStructuralValue (const APValue &) |
Definition at line 42 of file ODRHash.h.
clang::ODRHash::ODRHash ( ) | inline |
---|
◆ AddBoolean()
void ODRHash::AddBoolean | ( | bool | value | ) |
---|
◆ AddCXXRecordDecl()
◆ AddDecl()
void ODRHash::AddDecl | ( | const Decl * | D | ) |
---|
Definition at line 808 of file ODRHash.cpp.
References AddBoolean(), AddDeclarationName(), AddTemplateArgument(), D, clang::Decl::getCanonicalDecl(), clang::NamedDecl::getDeclName(), and clang::Decl::getKind().
Referenced by AddCXXRecordDecl(), AddFunctionDecl(), AddNestedNameSpecifier(), AddObjCInterfaceDecl(), AddObjCProtocolDecl(), AddRecordDecl(), AddStructuralValue(), AddTemplateArgument(), and AddTemplateName().
◆ AddDeclarationName()
◆ AddEnumDecl()
void ODRHash::AddEnumDecl | ( | const EnumDecl * | Enum | ) |
---|
◆ AddFunctionDecl()
Definition at line 662 of file ODRHash.cpp.
References AddBoolean(), AddDecl(), AddQualType(), AddStmt(), AddSubDecl(), AddTemplateArgument(), clang::Function, clang::StringLiteral::getBytes(), clang::DeclContext::getLexicalParent(), clang::DeclContext::getParent(), clang::DeclContext::isFileContext(), and isSubDeclToBeProcessed().
Referenced by clang::ODRDiagsEmitter::diagnoseMismatch(), and clang::FunctionDecl::getODRHash().
◆ AddIdentifierInfo()
◆ AddNestedNameSpecifier()
Definition at line 111 of file ODRHash.cpp.
References AddBoolean(), AddDecl(), AddIdentifierInfo(), AddNestedNameSpecifier(), AddType(), clang::NestedNameSpecifier::getAsIdentifier(), clang::NestedNameSpecifier::getAsNamespace(), clang::NestedNameSpecifier::getAsNamespaceAlias(), clang::NestedNameSpecifier::getAsType(), clang::NestedNameSpecifier::getKind(), clang::NestedNameSpecifier::getPrefix(), clang::NestedNameSpecifier::Global, clang::NestedNameSpecifier::Identifier, clang::NestedNameSpecifier::Namespace, clang::NestedNameSpecifier::NamespaceAlias, clang::NestedNameSpecifier::Super, clang::NestedNameSpecifier::TypeSpec, and clang::NestedNameSpecifier::TypeSpecWithTemplate.
Referenced by AddNestedNameSpecifier(), and AddTemplateName().
◆ AddObjCInterfaceDecl()
◆ AddObjCProtocolDecl()
◆ AddQualType()
◆ AddRecordDecl()
void ODRHash::AddRecordDecl | ( | const RecordDecl * | Record | ) |
---|
◆ AddStmt()
void ODRHash::AddStmt | ( | const Stmt * | S | ) |
---|
◆ AddStructuralValue()
void ODRHash::AddStructuralValue | ( | const APValue & | Value | ) |
---|
Definition at line 1281 of file ODRHash.cpp.
References AddDecl(), D, E, clang::Type::getAsArrayTypeUnsafe(), clang::Decl::getASTContext(), clang::Value::getKind(), clang::ASTContext::getMemberPointerPathAdjustment(), clang::CharUnits::getQuantity(), clang::ASTContext::getRecordType(), clang::APValue::LValue, and clang::APValue::MemberPointer.
Referenced by AddTemplateArgument().
◆ AddSubDecl()
void ODRHash::AddSubDecl | ( | const Decl * | D | ) |
---|
◆ AddTemplateArgument()
Definition at line 169 of file ODRHash.cpp.
References AddDecl(), AddQualType(), AddStmt(), AddStructuralValue(), AddTemplateArgument(), AddTemplateName(), clang::TemplateArgument::Declaration, clang::TemplateArgument::Expression, clang::TemplateArgument::getAsDecl(), clang::TemplateArgument::getAsExpr(), clang::TemplateArgument::getAsIntegral(), clang::TemplateArgument::getAsStructuralValue(), clang::TemplateArgument::getAsTemplateOrTemplatePattern(), clang::TemplateArgument::getAsType(), clang::TemplateArgument::getKind(), clang::TemplateArgument::getStructuralValueType(), clang::TemplateArgument::Integral, clang::TemplateArgument::Null, clang::TemplateArgument::NullPtr, clang::TemplateArgument::Pack, clang::TemplateArgument::pack_elements(), clang::TemplateArgument::pack_size(), clang::TemplateArgument::StructuralValue, clang::TemplateArgument::Template, clang::TemplateArgument::TemplateExpansion, and clang::TemplateArgument::Type.
Referenced by AddDecl(), AddFunctionDecl(), AddTemplateArgument(), and computeODRHash().
◆ AddTemplateName()
Definition at line 140 of file ODRHash.cpp.
References AddBoolean(), AddDecl(), AddNestedNameSpecifier(), AddTemplateName(), clang::TemplateName::AssumedTemplate, clang::TemplateName::DeducedTemplate, clang::TemplateName::DependentTemplate, clang::QualifiedTemplateName::getQualifier(), clang::QualifiedTemplateName::getUnderlyingTemplate(), clang::QualifiedTemplateName::hasTemplateKeyword(), clang::TemplateName::OverloadedTemplate, clang::TemplateName::QualifiedTemplate, clang::TemplateName::SubstTemplateTemplateParm, clang::TemplateName::SubstTemplateTemplateParmPack, clang::TemplateName::Template, and clang::TemplateName::UsingTemplate.
Referenced by AddTemplateArgument(), and AddTemplateName().
◆ AddTemplateParameterList()
◆ AddType()
void ODRHash::AddType | ( | const Type * | T | ) |
---|
◆ CalculateHash()
◆ clear()
◆ isSubDeclToBeProcessed()
Definition at line 538 of file ODRHash.cpp.
References D, clang::Decl::getDeclContext(), clang::Decl::getKind(), clang::Decl::isImplicit(), and Parent.
Referenced by AddCXXRecordDecl(), AddEnumDecl(), AddFunctionDecl(), AddObjCInterfaceDecl(), AddObjCProtocolDecl(), AddRecordDecl(), and clang::ODRDiagsEmitter::diagnoseMismatch().
The documentation for this class was generated from the following files:
- include/clang/AST/ODRHash.h
- lib/AST/ODRHash.cpp