@@ -105,11 +105,7 @@ class SwiftDispatcher {
105
105
return *l;
106
106
}
107
107
waitingForNewLabel = e;
108
- if constexpr (std::is_pointer_v<E>) {
109
- visit (*e, std::forward<Args>(args)...);
110
- } else {
111
- visit (e, std::forward<Args>(args)...);
112
- }
108
+ visit (e, std::forward<Args>(args)...);
113
109
// TODO when everything is moved to structured C++ classes, this should be moved to createEntry
114
110
if (auto l = store.get (e)) {
115
111
if constexpr (IsLocatable<E>) {
@@ -332,18 +328,15 @@ class SwiftDispatcher {
332
328
return ret;
333
329
}
334
330
335
- // TODO: for const correctness these should consistently be `const` (and maybe const references
336
- // as we don't expect `nullptr` here. However `swift::ASTVisitor` and `swift::TypeVisitor` do not
337
- // accept const pointers
338
- virtual void visit (const swift::Decl& decl) = 0;
339
- virtual void visit (const swift::Stmt& stmt) = 0;
340
- virtual void visit (const swift::StmtCondition& cond) = 0;
341
- virtual void visit (const swift::StmtConditionElement& cond) = 0;
342
- virtual void visit (const swift::CaseLabelItem& item) = 0;
343
- virtual void visit (const swift::Expr& expr) = 0;
344
- virtual void visit (const swift::Pattern& pattern) = 0;
345
- virtual void visit (const swift::TypeRepr& typeRepr, swift::Type type) = 0;
346
- virtual void visit (const swift::TypeBase& type) = 0;
331
+ virtual void visit (const swift::Decl* decl) = 0;
332
+ virtual void visit (const swift::Stmt* stmt) = 0;
333
+ virtual void visit (const swift::StmtCondition* cond) = 0;
334
+ virtual void visit (const swift::StmtConditionElement* cond) = 0;
335
+ virtual void visit (const swift::CaseLabelItem* item) = 0;
336
+ virtual void visit (const swift::Expr* expr) = 0;
337
+ virtual void visit (const swift::Pattern* pattern) = 0;
338
+ virtual void visit (const swift::TypeRepr* typeRepr, swift::Type type) = 0;
339
+ virtual void visit (const swift::TypeBase* type) = 0;
347
340
348
341
void visit (const std::filesystem::path& file) {
349
342
auto entry = createEntry (file, file.string ());
0 commit comments