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 (NestedNameSpecifier NNS)
void AddDependentTemplateName (const DependentTemplateStorage &Name)
void AddTemplateName (TemplateName Name)
void AddDeclarationNameInfo (DeclarationNameInfo NameInfo, bool TreatAsDecl=false)
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 816 of file ODRHash.cpp.

References AddBoolean(), AddDeclarationName(), AddDeclarationNameInfo(), AddTemplateArgument(), clang::Decl::getCanonicalDecl(), clang::NamedDecl::getDeclName(), and clang::Decl::getKind().

Referenced by AddCXXRecordDecl(), AddFunctionDecl(), AddNestedNameSpecifier(), AddObjCInterfaceDecl(), AddObjCProtocolDecl(), AddRecordDecl(), AddStructuralValue(), AddTemplateArgument(), and AddTemplateName().

AddDeclarationName()

AddDeclarationNameInfo()

AddDependentTemplateName()

AddEnumDecl()

void ODRHash::AddEnumDecl ( const EnumDecl * Enum )

AddFunctionDecl()

Definition at line 670 of file ODRHash.cpp.

References AddBoolean(), AddDecl(), AddQualType(), AddStmt(), AddSubDecl(), AddTemplateArgument(), clang::Function, clang::StringLiteral::getBytes(), clang::DeclContext::getLexicalParent(), clang::DeclContext::getParent(), clang::isa(), clang::DeclContext::isFileContext(), isSubDeclToBeProcessed(), and clang::Method.

Referenced by clang::ODRDiagsEmitter::diagnoseMismatch(), and clang::FunctionDecl::getODRHash().

AddIdentifierInfo()

AddNestedNameSpecifier()

Definition at line 114 of file ODRHash.cpp.

References AddDecl(), AddNestedNameSpecifier(), AddType(), clang::NestedNameSpecifier::getAsNamespaceAndPrefix(), clang::NestedNameSpecifier::getAsType(), clang::NestedNameSpecifier::getKind(), clang::NestedNameSpecifier::Global, clang::NestedNameSpecifier::MicrosoftSuper, clang::NestedNameSpecifier::Namespace, clang::NestedNameSpecifier::Null, and clang::NestedNameSpecifier::Type.

Referenced by AddDependentTemplateName(), 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 )

AddSubDecl()

void ODRHash::AddSubDecl ( const Decl * D )

AddTemplateArgument()

Definition at line 174 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 143 of file ODRHash.cpp.

References AddBoolean(), AddDecl(), AddDependentTemplateName(), AddNestedNameSpecifier(), AddTemplateName(), clang::TemplateName::AssumedTemplate, clang::TemplateName::DeducedTemplate, clang::TemplateName::DependentTemplate, clang::TemplateName::getAsDependentTemplateName(), clang::TemplateName::getAsQualifiedTemplateName(), clang::TemplateName::getAsTemplateDecl(), clang::TemplateName::getKind(), 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()

Definition at line 231 of file ODRHash.cpp.

References CHAR_BIT, and remainder.

Referenced by computeODRHash(), computeODRHash(), computeODRHash(), computeODRHash(), clang::ODRDiagsEmitter::diagnoseMismatch(), clang::CXXRecordDecl::getODRHash(), clang::EnumDecl::getODRHash(), clang::FunctionDecl::getODRHash(), clang::ObjCInterfaceDecl::getODRHash(), clang::ObjCProtocolDecl::getODRHash(), clang::RecordDecl::getODRHash(), and clang::ExplicitSpecifier::isEquivalent().

clear()

isSubDeclToBeProcessed()

Definition at line 546 of file ODRHash.cpp.

References clang::Decl::getDeclContext(), clang::Decl::getKind(), and clang::Decl::isImplicit().

Referenced by AddCXXRecordDecl(), AddEnumDecl(), AddFunctionDecl(), AddObjCInterfaceDecl(), AddObjCProtocolDecl(), AddRecordDecl(), clang::ODRDiagsEmitter::diagnoseMismatch(), clang::ODRDiagsEmitter::diagnoseMismatch(), clang::ODRDiagsEmitter::diagnoseMismatch(), clang::ODRDiagsEmitter::diagnoseMismatch(), and clang::ODRDiagsEmitter::diagnoseMismatch().


The documentation for this class was generated from the following files: