|
clang
5.0.0
|
#include "clang/AST/ODRHash.h"
Public Member Functions | |
| ODRHash () | |
| void | AddCXXRecordDecl (const CXXRecordDecl *Record) |
| 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) |
| void | AddTemplateArgument (TemplateArgument TA) |
| void | AddTemplateParameterList (const TemplateParameterList *TPL) |
| void | AddBoolean (bool value) |
Static Public Member Functions | |
| static bool | isWhitelistedDecl (const Decl *D, const CXXRecordDecl *Record) |
| void ODRHash::AddBoolean | ( | bool | value | ) |
Definition at line 634 of file ODRHash.cpp.
Referenced by AddDeclarationName(), AddNestedNameSpecifier(), and AddQualType().
| void ODRHash::AddCXXRecordDecl | ( | const CXXRecordDecl * | Record | ) |
Definition at line 377 of file ODRHash.cpp.
References AddDecl(), AddSubDecl(), clang::DeclContext::decls(), clang::DeclContext::getParent(), clang::CXXRecordDecl::hasDefinition(), and isWhitelistedDecl().
Referenced by clang::CXXRecordDecl::getODRHash().
| void ODRHash::AddDecl | ( | const Decl * | D | ) |
Definition at line 406 of file ODRHash.cpp.
References AddDeclarationName(), clang::Decl::getKind(), and clang::Result.
Referenced by AddCXXRecordDecl(), AddDeclarationName(), AddNestedNameSpecifier(), AddSubDecl(), and AddTemplateName().
| void ODRHash::AddDeclarationName | ( | DeclarationName | Name | ) |
Definition at line 35 of file ODRHash.cpp.
References AddBoolean(), AddDecl(), AddIdentifierInfo(), AddQualType(), clang::DeclarationName::CXXConstructorName, clang::DeclarationName::CXXConversionFunctionName, clang::DeclarationName::CXXDeductionGuideName, clang::DeclarationName::CXXDestructorName, clang::DeclarationName::CXXLiteralOperatorName, clang::DeclarationName::CXXOperatorName, clang::DeclarationName::CXXUsingDirective, clang::DeclarationName::getAsIdentifierInfo(), clang::DeclarationName::getCXXDeductionGuideTemplate(), clang::DeclarationName::getCXXLiteralIdentifier(), clang::DeclarationName::getCXXNameType(), clang::DeclarationName::getCXXOverloadedOperator(), clang::Selector::getIdentifierInfoForSlot(), clang::DeclarationName::getNameKind(), clang::Selector::getNumArgs(), clang::DeclarationName::getObjCSelector(), clang::DeclarationName::Identifier, clang::DeclarationName::isEmpty(), clang::Selector::isKeywordSelector(), clang::Selector::isNull(), clang::Selector::isUnarySelector(), clang::DeclarationName::ObjCMultiArgSelector, clang::DeclarationName::ObjCOneArgSelector, clang::DeclarationName::ObjCZeroArgSelector, and S.
Referenced by AddDecl().
| void ODRHash::AddIdentifierInfo | ( | const IdentifierInfo * | II | ) |
Definition at line 30 of file ODRHash.cpp.
References clang::IdentifierInfo::getName().
Referenced by AddDeclarationName(), and AddNestedNameSpecifier().
| void ODRHash::AddNestedNameSpecifier | ( | const NestedNameSpecifier * | NNS | ) |
Definition at line 84 of file ODRHash.cpp.
References AddBoolean(), AddDecl(), AddIdentifierInfo(), 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.
| void ODRHash::AddQualType | ( | QualType | T | ) |
Definition at line 625 of file ODRHash.cpp.
References AddBoolean(), AddType(), clang::Qualifiers::getAsOpaqueValue(), clang::QualType::isNull(), clang::SplitQualType::Quals, clang::QualType::split(), and clang::SplitQualType::Ty.
Referenced by AddDeclarationName(), and AddTemplateArgument().
| void ODRHash::AddStmt | ( | const Stmt * | S | ) |
Definition at line 25 of file ODRHash.cpp.
References clang::Stmt::ProcessODRHash().
Referenced by AddTemplateArgument().
| void ODRHash::AddSubDecl | ( | const Decl * | D | ) |
Definition at line 370 of file ODRHash.cpp.
References AddDecl(), and ODRDeclVisitor::Visit().
Referenced by AddCXXRecordDecl().
| void ODRHash::AddTemplateArgument | ( | TemplateArgument | TA | ) |
Definition at line 131 of file ODRHash.cpp.
References AddQualType(), AddStmt(), AddTemplateName(), clang::TemplateArgument::Declaration, clang::TemplateArgument::Expression, clang::TemplateArgument::getAsExpr(), clang::TemplateArgument::getAsTemplateOrTemplatePattern(), clang::TemplateArgument::getAsType(), clang::TemplateArgument::getKind(), clang::TemplateArgument::Integral, clang::TemplateArgument::Null, clang::TemplateArgument::NullPtr, clang::TemplateArgument::Pack, clang::TemplateArgument::pack_elements(), clang::TemplateArgument::pack_size(), clang::TemplateArgument::Template, clang::TemplateArgument::TemplateExpansion, and clang::TemplateArgument::Type.
| void ODRHash::AddTemplateName | ( | TemplateName | Name | ) |
Definition at line 113 of file ODRHash.cpp.
References AddDecl(), clang::TemplateName::DependentTemplate, clang::TemplateName::getAsTemplateDecl(), clang::TemplateName::getKind(), clang::TemplateName::OverloadedTemplate, clang::TemplateName::QualifiedTemplate, clang::TemplateName::SubstTemplateTemplateParm, clang::TemplateName::SubstTemplateTemplateParmPack, and clang::TemplateName::Template.
Referenced by AddTemplateArgument().
| void ODRHash::AddTemplateParameterList | ( | const TemplateParameterList * | TPL | ) |
Definition at line 161 of file ODRHash.cpp.
| void ODRHash::AddType | ( | const Type * | T | ) |
Definition at line 612 of file ODRHash.cpp.
References clang::Result, and ODRTypeVisitor::Visit().
Referenced by AddNestedNameSpecifier(), and AddQualType().
| unsigned ODRHash::CalculateHash | ( | ) |
Definition at line 170 of file ODRHash.cpp.
References CHAR_BIT, I, and remainder.
Referenced by clang::CXXRecordDecl::getODRHash().
| void ODRHash::clear | ( | ) |
Definition at line 163 of file ODRHash.cpp.
|
static |
Definition at line 349 of file ODRHash.cpp.
References clang::Decl::getDeclContext(), clang::Decl::getKind(), and clang::Decl::isImplicit().
Referenced by AddCXXRecordDecl().
1.8.6