Skip to content

Commit a550c72

Browse files
committed
Improve typing
Enforce that funcs specific to IncrementalRemovers aren't used on SetRemovers and vice versa
1 parent 253e2e8 commit a550c72

2 files changed

Lines changed: 9 additions & 10 deletions

File tree

source/OneTimeRewriter.hpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -240,8 +240,8 @@ enum class RewriteResult {
240240
NONE,
241241
};
242242

243-
template <typename T>
244-
RewriteResult rewrite(T& rewriter,
243+
template <typename TDerived>
244+
RewriteResult rewrite(OneTimeRewriter<TDerived>& rewriter,
245245
std::shared_ptr<SyntaxTree>& tree,
246246
std::string stageName,
247247
std::string passIdx,
@@ -262,8 +262,8 @@ RewriteResult rewrite(T& rewriter,
262262
}
263263
}
264264

265-
template <typename T>
266-
size_t rewriteBisectFailed(T& rewriter,
265+
template <typename TDerived>
266+
size_t rewriteBisectFailed(OneTimeRewriter<TDerived>& rewriter,
267267
std::shared_ptr<SyntaxTree>& tree,
268268
std::string stageName,
269269
std::string passIdx,
@@ -287,8 +287,8 @@ size_t rewriteBisectFailed(T& rewriter,
287287
}
288288
}
289289

290-
template <typename T>
291-
size_t rewriteBisect(T& rewriter,
290+
template <typename TDerived>
291+
size_t rewriteBisect(OneTimeRewriter<TDerived>& rewriter,
292292
std::shared_ptr<SyntaxTree>& tree,
293293
std::string stageName,
294294
std::string passIdx,
@@ -320,13 +320,13 @@ size_t rewriteBisect(T& rewriter,
320320
}
321321
}
322322

323-
template <typename T>
323+
template <typename TDerived>
324324
bool rewriteLoop(std::shared_ptr<SyntaxTree>& tree,
325325
std::string stageName,
326326
std::string passIdx,
327327
SvBugpoint* svBugpoint) {
328328
using enum RewriteResult;
329-
T rewriter;
329+
OneTimeRewriter<TDerived> rewriter;
330330
bool committed = false;
331331
size_t rewriteLimit = svBugpoint->n_at_once;
332332
while (!rewriter.traversalDone) {

source/SvBugpoint.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@ using namespace slang::syntax;
1717
using namespace slang::ast;
1818
using namespace slang;
1919

20-
template <typename Rewriter>
21-
bool rewriteLoop(Rewriter rewriter,
20+
bool rewriteLoop(SetRemover rewriter,
2221
std::shared_ptr<SyntaxTree>& tree,
2322
std::string stageName,
2423
std::string passIdx,

0 commit comments

Comments
 (0)