Skip to content

Commit 3cb1b6a

Browse files
committed
Intro Evaluator::hasActiveRequest to prevent request cycles
1 parent be4ac2c commit 3cb1b6a

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

include/swift/AST/Evaluator.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,12 @@ class Evaluator {
309309
/// caching.
310310
void clearCache() { cache.clear(); }
311311

312+
/// Is the given request, or an equivalent, currently being evaluated?
313+
template <typename Request>
314+
bool hasActiveRequest(const Request &request) const {
315+
return activeRequests.count(AnyRequest(request));
316+
}
317+
312318
private:
313319
template <typename Request>
314320
const AnyRequest &getCanonicalRequest(const Request &request) {

0 commit comments

Comments
 (0)