From dd8b3fce03ec341c9f03acbf9c3ef0daec08a65b Mon Sep 17 00:00:00 2001 From: firewave Date: Mon, 30 May 2022 17:48:28 +0200 Subject: [PATCH] inlined `findAstNode()` calls --- lib/astutils.cpp | 13 ------------- lib/astutils.h | 15 ++++++++++++++- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/lib/astutils.cpp b/lib/astutils.cpp index e85d30b3812..03ca05daf7e 100644 --- a/lib/astutils.cpp +++ b/lib/astutils.cpp @@ -45,19 +45,6 @@ #include #include -const Token* findAstNode(const Token* ast, const std::function& pred) -{ - const Token* result = nullptr; - visitAstNodes(ast, [&](const Token* tok) { - if (pred(tok)) { - result = tok; - return ChildrenToVisit::done; - } - return ChildrenToVisit::op1_and_op2; - }); - return result; -} - const Token* findExpression(const nonneg int exprid, const Token* start, const Token* end, diff --git a/lib/astutils.h b/lib/astutils.h index 6e23b1f5c48..6bdde92b1b5 100644 --- a/lib/astutils.h +++ b/lib/astutils.h @@ -79,7 +79,20 @@ void visitAstNodes(T *ast, const TFunc &visitor) } while (true); } -const Token* findAstNode(const Token* ast, const std::function& pred); +template +const Token* findAstNode(const Token* ast, const TFunc& pred) +{ + const Token* result = nullptr; + visitAstNodes(ast, [&](const Token* tok) { + if (pred(tok)) { + result = tok; + return ChildrenToVisit::done; + } + return ChildrenToVisit::op1_and_op2; + }); + return result; +} + const Token* findExpression(const nonneg int exprid, const Token* start, const Token* end,