aboutsummaryrefslogtreecommitdiff
path: root/include/clang/Basic/SourceManager.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-01-17 03:48:08 +0000
committerChris Lattner <sabre@nondot.org>2009-01-17 03:48:08 +0000
commitc6fe32a91c7372caf09152ee31a24c4b5d24deed (patch)
tree89c7b9a3db4994a83b04bfef9f08bfc108a58c71 /include/clang/Basic/SourceManager.h
parent5bdf3a81eb53ed9ca39df6e6622ee41b81425377 (diff)
Instead of iterating over FileID's, have PTH generation iterate over the
content cache directly. Content cache has a 1-1 mapping with fileentries, whereas multiple FileIDs can be the same FileEntry. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62401 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Basic/SourceManager.h')
-rw-r--r--include/clang/Basic/SourceManager.h30
1 files changed, 5 insertions, 25 deletions
diff --git a/include/clang/Basic/SourceManager.h b/include/clang/Basic/SourceManager.h
index 1eac4f15de..9a67627485 100644
--- a/include/clang/Basic/SourceManager.h
+++ b/include/clang/Basic/SourceManager.h
@@ -478,31 +478,11 @@ public:
return getFIDInfo(FileID)->getFileCharacteristic();
}
- // Iterators over FileIDs.
-
- class fileid_iterator {
- std::vector<SrcMgr::FileIDInfo>::iterator I;
- unsigned fid;
- public:
- fileid_iterator(std::vector<SrcMgr::FileIDInfo>::iterator i, unsigned f)
- : I(i), fid(f) {}
-
- bool operator==(const fileid_iterator& X) const { return X.fid == fid; }
- bool operator!=(const fileid_iterator& X) const { return X.fid != fid; }
- fileid_iterator& operator++() { ++fid; ++I; return *this; }
-
- unsigned getFileID() const { return fid; }
- SrcMgr::FileIDInfo& getFileIDInfo() { return *I; }
- };
-
- fileid_iterator fileid_begin() {
- return fileid_iterator(FileIDs.begin(), 1);
- }
-
- fileid_iterator fileid_end() {
- return fileid_iterator(FileIDs.end(), FileIDs.size()+1);
- }
-
+ // Iterators over FileInfos.
+ typedef std::set<SrcMgr::ContentCache>::const_iterator fileinfo_iterator;
+ fileinfo_iterator fileinfo_begin() const { return FileInfos.begin(); }
+ fileinfo_iterator fileinfo_end() const { return FileInfos.end(); }
+
/// PrintStats - Print statistics to stderr.
///
void PrintStats() const;