//===--- ASTReaderDecl.cpp - Decl Deserialization ---------------*- C++ -*-===////// The LLVM Compiler Infrastructure//// This file is distributed under the University of Illinois Open Source// License. See LICENSE.TXT for details.////===----------------------------------------------------------------------===////// This file implements the ASTReader::ReadDeclRecord method, which is the// entrypoint for loading a decl.////===----------------------------------------------------------------------===//#include"clang/Serialization/ASTReader.h"#include"clang/AST/ASTConsumer.h"#include"clang/AST/ASTContext.h"#include"clang/AST/DeclVisitor.h"#include"clang/AST/DeclGroup.h"#include"clang/AST/DeclCXX.h"#include"clang/AST/DeclTemplate.h"#include"clang/AST/Expr.h"usingnamespaceclang;usingnamespaceclang::serialization;//===----------------------------------------------------------------------===//// Declaration deserialization//===----------------------------------------------------------------------===//namespaceclang{classASTDeclReader:publicDeclVisitor<ASTDeclReader,void>{ASTReader&Reader;llvm::BitstreamCursor&Cursor;constDeclIDThisDeclID;constASTReader::RecordData&Record;unsigned&Idx;TypeIDTypeIDForTypeDecl;uint64_tGetCurrentCursorOffset();public: