summaryrefslogtreecommitdiffstats
path: root/src/clean.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/clean.h')
-rw-r--r--src/clean.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/clean.h b/src/clean.h
index 5938dff..19432ab 100644
--- a/src/clean.h
+++ b/src/clean.h
@@ -27,8 +27,7 @@ struct Node;
struct Rule;
struct DiskInterface;
-class Cleaner {
- public:
+struct Cleaner {
/// Build a cleaner object with a real disk interface.
Cleaner(State* state, const BuildConfig& config);
@@ -81,10 +80,14 @@ class Cleaner {
/// @returns whether the file @a path exists.
bool FileExists(const string& path);
void Report(const string& path);
+
/// Remove the given @a path file only if it has not been already removed.
void Remove(const string& path);
/// @return whether the given @a path has already been removed.
bool IsAlreadyRemoved(const string& path);
+ /// Remove the depfile and rspfile for an Edge.
+ void RemoveEdgeFiles(Edge* edge);
+
/// Helper recursive method for CleanTarget().
void DoCleanTarget(Node* target);
void PrintHeader();
@@ -95,6 +98,7 @@ class Cleaner {
State* state_;
const BuildConfig& config_;
set<string> removed_;
+ set<Node*> cleaned_;
int cleaned_files_count_;
DiskInterface* disk_interface_;
int status_;