clang 22.0.0git
|
#include "clang/AST/ODRHash.h"
Static Public Member Functions | |
static bool | isSubDeclToBeProcessed (const Decl *D, const DeclContext *Parent) |
void ODRHash::AddBoolean | ( | bool | value | ) |
Definition at line 1254 of file ODRHash.cpp.
Referenced by AddCXXRecordDecl(), AddDecl(), AddDeclarationNameInfo(), AddEnumDecl(), AddFunctionDecl(), AddObjCInterfaceDecl(), AddQualType(), and AddTemplateName().
void ODRHash::AddCXXRecordDecl | ( | const CXXRecordDecl * | Record | ) |
Definition at line 578 of file ODRHash.cpp.
References AddBoolean(), AddDecl(), AddQualType(), AddSubDecl(), AddTemplateParameterList(), clang::Function, clang::DeclContext::getParent(), clang::TemplateDecl::getTemplateParameters(), clang::isa(), and isSubDeclToBeProcessed().
Referenced by clang::CXXRecordDecl::getODRHash().
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().
|
inline |
Definition at line 101 of file ODRHash.h.
References AddDeclarationNameInfo().
Referenced by AddDecl(), AddEnumDecl(), AddObjCInterfaceDecl(), and AddObjCProtocolDecl().
void ODRHash::AddDeclarationNameInfo | ( | DeclarationNameInfo | NameInfo, |
bool | TreatAsDecl = false ) |
Definition at line 33 of file ODRHash.cpp.
References AddBoolean().
Referenced by AddDecl(), and AddDeclarationName().
void ODRHash::AddDependentTemplateName | ( | const DependentTemplateStorage & | Name | ) |
Definition at line 134 of file ODRHash.cpp.
References AddIdentifierInfo(), AddNestedNameSpecifier(), clang::DependentTemplateStorage::getName(), and clang::DependentTemplateStorage::getQualifier().
Referenced by AddTemplateName().
void ODRHash::AddEnumDecl | ( | const EnumDecl * | Enum | ) |
Definition at line 763 of file ODRHash.cpp.
References AddBoolean(), AddDeclarationName(), AddQualType(), AddSubDecl(), clang::Enum, clang::isa(), and isSubDeclToBeProcessed().
Referenced by clang::EnumDecl::getODRHash().
void ODRHash::AddFunctionDecl | ( | const FunctionDecl * | Function, |
bool | SkipBody = false ) |
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().
void ODRHash::AddIdentifierInfo | ( | const IdentifierInfo * | II | ) |
Definition at line 28 of file ODRHash.cpp.
References clang::IdentifierInfo::getName().
Referenced by AddDependentTemplateName().
void ODRHash::AddNestedNameSpecifier | ( | NestedNameSpecifier | NNS | ) |
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().
void ODRHash::AddObjCInterfaceDecl | ( | const ObjCInterfaceDecl * | Record | ) |
Definition at line 643 of file ODRHash.cpp.
References AddBoolean(), AddDecl(), AddDeclarationName(), AddSubDecl(), clang::DeclContext::decls(), clang::ObjCInterfaceDecl::getReferencedProtocols(), clang::ObjCInterfaceDecl::getSuperClass(), isSubDeclToBeProcessed(), clang::ObjCInterfaceDecl::protocols(), and clang::ObjCListBase::size().
Referenced by clang::ObjCInterfaceDecl::getODRHash().
void ODRHash::AddObjCProtocolDecl | ( | const ObjCProtocolDecl * | P | ) |
Definition at line 791 of file ODRHash.cpp.
References AddDecl(), AddDeclarationName(), AddSubDecl(), clang::DeclContext::decls(), clang::ObjCProtocolDecl::getReferencedProtocols(), isSubDeclToBeProcessed(), clang::ObjCProtocolDecl::protocols(), and clang::ObjCListBase::size().
Referenced by clang::ObjCProtocolDecl::getODRHash().
void ODRHash::AddQualType | ( | QualType | T | ) |
Definition at line 1245 of file ODRHash.cpp.
References AddBoolean(), AddType(), clang::Qualifiers::getAsOpaqueValue(), clang::SplitQualType::Quals, clang::T, and clang::SplitQualType::Ty.
Referenced by AddCXXRecordDecl(), AddEnumDecl(), AddFunctionDecl(), AddTemplateArgument(), and computeODRHash().
void ODRHash::AddRecordDecl | ( | const RecordDecl * | Record | ) |
Definition at line 625 of file ODRHash.cpp.
References AddDecl(), AddSubDecl(), clang::isa(), and isSubDeclToBeProcessed().
Referenced by clang::RecordDecl::getODRHash().
void ODRHash::AddStmt | ( | const Stmt * | S | ) |
Definition at line 23 of file ODRHash.cpp.
References clang::Stmt::ProcessODRHash().
Referenced by AddFunctionDecl(), AddTemplateArgument(), computeODRHash(), and clang::ExplicitSpecifier::isEquivalent().
void ODRHash::AddStructuralValue | ( | const APValue & | Value | ) |
Definition at line 1258 of file ODRHash.cpp.
References AddDecl(), clang::cast(), clang::Type::getAsArrayTypeUnsafe(), clang::Decl::getASTContext(), clang::ASTContext::getCanonicalTagType(), clang::Value::getKind(), clang::ASTContext::getMemberPointerPathAdjustment(), clang::CharUnits::getQuantity(), clang::APValue::LValue, and clang::APValue::MemberPointer.
Referenced by AddTemplateArgument().
void ODRHash::AddSubDecl | ( | const Decl * | D | ) |
Definition at line 572 of file ODRHash.cpp.
Referenced by AddCXXRecordDecl(), AddEnumDecl(), AddFunctionDecl(), AddObjCInterfaceDecl(), AddObjCProtocolDecl(), AddRecordDecl(), AddTemplateParameterList(), and computeODRHash().
void ODRHash::AddTemplateArgument | ( | TemplateArgument | TA | ) |
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().
void ODRHash::AddTemplateName | ( | TemplateName | Name | ) |
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().
void ODRHash::AddTemplateParameterList | ( | const TemplateParameterList * | TPL | ) |
Definition at line 216 of file ODRHash.cpp.
References AddSubDecl(), clang::TemplateParameterList::asArray(), and clang::TemplateParameterList::size().
Referenced by AddCXXRecordDecl(), and clang::ODRDiagsEmitter::diagnoseMismatch().
void ODRHash::AddType | ( | const Type * | T | ) |
Definition at line 1240 of file ODRHash.cpp.
References clang::T.
Referenced by AddNestedNameSpecifier(), and AddQualType().
unsigned ODRHash::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().
void ODRHash::clear | ( | ) |
Definition at line 225 of file ODRHash.cpp.
|
static |
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().