From e88a8daa10bb27a0617c74f3bc6eec66823f3a99 Mon Sep 17 00:00:00 2001 From: Nico Weber Date: Thu, 19 Jun 2014 16:00:35 -0700 Subject: make Stat() a const method --- src/disk_interface.cc | 2 +- src/disk_interface.h | 6 +++--- src/disk_interface_test.cc | 8 ++++---- src/test.cc | 4 ++-- src/test.h | 2 +- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/disk_interface.cc b/src/disk_interface.cc index c329aa3..ae2146e 100644 --- a/src/disk_interface.cc +++ b/src/disk_interface.cc @@ -152,7 +152,7 @@ bool DiskInterface::MakeDirs(const string& path) { // RealDiskInterface ----------------------------------------------------------- -TimeStamp RealDiskInterface::Stat(const string& path) { +TimeStamp RealDiskInterface::Stat(const string& path) const { #ifdef _WIN32 // MSDN: "Naming Files, Paths, and Namespaces" // http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx diff --git a/src/disk_interface.h b/src/disk_interface.h index b152a62..a13bced 100644 --- a/src/disk_interface.h +++ b/src/disk_interface.h @@ -30,7 +30,7 @@ struct DiskInterface { /// stat() a file, returning the mtime, or 0 if missing and -1 on /// other errors. - virtual TimeStamp Stat(const string& path) = 0; + virtual TimeStamp Stat(const string& path) const = 0; /// Create a directory, returning false on failure. virtual bool MakeDir(const string& path) = 0; @@ -62,7 +62,7 @@ struct RealDiskInterface : public DiskInterface { #endif {} virtual ~RealDiskInterface() {} - virtual TimeStamp Stat(const string& path); + virtual TimeStamp Stat(const string& path) const; virtual bool MakeDir(const string& path); virtual bool WriteFile(const string& path, const string& contents); virtual string ReadFile(const string& path, string* err); @@ -83,7 +83,7 @@ struct RealDiskInterface : public DiskInterface { // TODO: Neither a map nor a hashmap seems ideal here. If the statcache // works out, come up with a better data structure. typedef map Cache; - Cache cache_; + mutable Cache cache_; #endif }; diff --git a/src/disk_interface_test.cc b/src/disk_interface_test.cc index 69fd1ab..f4e0bb0 100644 --- a/src/disk_interface_test.cc +++ b/src/disk_interface_test.cc @@ -147,7 +147,7 @@ struct StatTest : public StateTestWithBuiltinRules, StatTest() : scan_(&state_, NULL, NULL, this) {} // DiskInterface implementation. - virtual TimeStamp Stat(const string& path); + virtual TimeStamp Stat(const string& path) const; virtual bool WriteFile(const string& path, const string& contents) { assert(false); return true; @@ -167,12 +167,12 @@ struct StatTest : public StateTestWithBuiltinRules, DependencyScan scan_; map mtimes_; - vector stats_; + mutable vector stats_; }; -TimeStamp StatTest::Stat(const string& path) { +TimeStamp StatTest::Stat(const string& path) const { stats_.push_back(path); - map::iterator i = mtimes_.find(path); + map::const_iterator i = mtimes_.find(path); if (i == mtimes_.end()) return 0; // File not found. return i->second; diff --git a/src/test.cc b/src/test.cc index 45a9226..21015ed 100644 --- a/src/test.cc +++ b/src/test.cc @@ -105,8 +105,8 @@ void VirtualFileSystem::Create(const string& path, files_created_.insert(path); } -TimeStamp VirtualFileSystem::Stat(const string& path) { - FileMap::iterator i = files_.find(path); +TimeStamp VirtualFileSystem::Stat(const string& path) const { + FileMap::const_iterator i = files_.find(path); if (i != files_.end()) return i->second.mtime; return 0; diff --git a/src/test.h b/src/test.h index 9f29e07..f34b877 100644 --- a/src/test.h +++ b/src/test.h @@ -59,7 +59,7 @@ struct VirtualFileSystem : public DiskInterface { } // DiskInterface - virtual TimeStamp Stat(const string& path); + virtual TimeStamp Stat(const string& path) const; virtual bool WriteFile(const string& path, const string& contents); virtual bool MakeDir(const string& path); virtual string ReadFile(const string& path, string* err); -- cgit v0.12