//===--- SourceManager.h - Track and cache source files ---------*- C++ -*-===////// The LLVM Compiler Infrastructure//// This file is distributed under the University of Illinois Open Source// License. See LICENSE.TXT for details.////===----------------------------------------------------------------------===////// This file defines the SourceManager interface.////===----------------------------------------------------------------------===//#ifndef LLVM_CLANG_SOURCEMANAGER_H#define LLVM_CLANG_SOURCEMANAGER_H#include"clang/Basic/LLVM.h"#include"clang/Basic/SourceLocation.h"#include"llvm/Support/Allocator.h"#include"llvm/Support/DataTypes.h"#include"llvm/ADT/PointerIntPair.h"#include"llvm/ADT/PointerUnion.h"#include"llvm/ADT/IntrusiveRefCntPtr.h"#include"llvm/ADT/OwningPtr.h"#include"llvm/ADT/DenseMap.h"#include"llvm/ADT/DenseSet.h"#include"llvm/Support/MemoryBuffer.h"#include<map>#include<vector>#include<cassert>namespaceclang{classDiagnosticsEngine;classSourceManager;classFileManager;classFileEntry;classLineTableInfo;classLangOptions;classASTWriter;classASTReader;