@@ -110,6 +110,8 @@ using DependencySource = llvm::PointerIntPair<SourceFile *, 1, DependencyScope>;
110
110
struct DependencyRecorder ;
111
111
112
112
struct DependencyCollector {
113
+ friend DependencyRecorder;
114
+
113
115
struct Reference {
114
116
public:
115
117
enum class Kind {
@@ -177,8 +179,12 @@ struct DependencyCollector {
177
179
};
178
180
};
179
181
182
+ public:
183
+ using ReferenceSet = llvm::DenseSet<Reference, Reference::Info>;
184
+
185
+ private:
180
186
DependencyRecorder &parent;
181
- llvm::DenseSet<Reference, Reference::Info> scratch;
187
+ ReferenceSet scratch;
182
188
183
189
public:
184
190
explicit DependencyCollector (DependencyRecorder &parent) : parent(parent) {}
@@ -229,11 +235,7 @@ struct DependencyCollector {
229
235
// / particular \c DependencyScope during the course of request evaluation.
230
236
struct DependencyRecorder {
231
237
friend DependencyCollector;
232
- private:
233
- // / A stack of dependency sources in the order they were evaluated.
234
- llvm::SmallVector<evaluator::DependencySource, 8 > dependencySources;
235
238
236
- public:
237
239
enum class Mode {
238
240
// Enables the current "status quo" behavior of the dependency collector.
239
241
//
@@ -247,14 +249,17 @@ struct DependencyRecorder {
247
249
// the primary file being acted upon instead of to the destination file.
248
250
ExperimentalPrivateDependencies,
249
251
};
250
- Mode mode;
251
- llvm::DenseMap<AnyRequest, llvm::DenseSet<DependencyCollector::Reference,
252
- DependencyCollector::Reference::Info>>
252
+
253
+ private:
254
+ // / A stack of dependency sources in the order they were evaluated.
255
+ llvm::SmallVector<evaluator::DependencySource, 8 > dependencySources;
256
+ llvm::DenseMap<AnyRequest, DependencyCollector::ReferenceSet>
253
257
requestReferences;
258
+ Mode mode;
254
259
bool isRecording;
255
260
256
- explicit DependencyRecorder (Mode mode)
257
- : mode{mode}, requestReferences{ }, isRecording{false } {};
261
+ public:
262
+ explicit DependencyRecorder (Mode mode) : mode{mode}, isRecording{false } {};
258
263
259
264
private:
260
265
void realize (const DependencyCollector::Reference &ref);
0 commit comments