#include "clang/AST/ODRHash.h"
#include "clang/AST/DeclVisitor.h"
#include "clang/AST/NestedNameSpecifier.h"
#include "clang/AST/StmtVisitor.h"
#include "clang/AST/TypeVisitor.h"
usingnamespaceclang;
void ODRHash::AddStmt(const Stmt *S) { … }
void ODRHash::AddIdentifierInfo(const IdentifierInfo *II) { … }
void ODRHash::AddDeclarationName(DeclarationName Name, bool TreatAsDecl) { … }
void ODRHash::AddDeclarationNameImpl(DeclarationName Name) { … }
void ODRHash::AddNestedNameSpecifier(const NestedNameSpecifier *NNS) { … }
void ODRHash::AddTemplateName(TemplateName Name) { … }
void ODRHash::AddTemplateArgument(TemplateArgument TA) { … }
void ODRHash::AddTemplateParameterList(const TemplateParameterList *TPL) { … }
void ODRHash::clear() { … }
unsigned ODRHash::CalculateHash() { … }
namespace {
class ODRDeclVisitor : public ConstDeclVisitor<ODRDeclVisitor> { … };
}
bool ODRHash::isSubDeclToBeProcessed(const Decl *D, const DeclContext *Parent) { … }
void ODRHash::AddSubDecl(const Decl *D) { … }
void ODRHash::AddCXXRecordDecl(const CXXRecordDecl *Record) { … }
void ODRHash::AddRecordDecl(const RecordDecl *Record) { … }
void ODRHash::AddObjCInterfaceDecl(const ObjCInterfaceDecl *IF) { … }
void ODRHash::AddFunctionDecl(const FunctionDecl *Function,
bool SkipBody) { … }
void ODRHash::AddEnumDecl(const EnumDecl *Enum) { … }
void ODRHash::AddObjCProtocolDecl(const ObjCProtocolDecl *P) { … }
void ODRHash::AddDecl(const Decl *D) { … }
namespace {
class ODRTypeVisitor : public TypeVisitor<ODRTypeVisitor> { … };
}
void ODRHash::AddType(const Type *T) { … }
void ODRHash::AddQualType(QualType T) { … }
void ODRHash::AddBoolean(bool Value) { … }
void ODRHash::AddStructuralValue(const APValue &Value) { … }