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: