From 85719c9858ae9822fb00925fd5be08045afaf77b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20=C5=9Aliwak?= Date: Fri, 29 Jan 2021 12:21:22 +0100 Subject: [PATCH] [FIXUP] Use ranges-v3 --- libsolidity/analysis/FunctionCallGraph.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/libsolidity/analysis/FunctionCallGraph.cpp b/libsolidity/analysis/FunctionCallGraph.cpp index 1e964a264..f05feeefe 100644 --- a/libsolidity/analysis/FunctionCallGraph.cpp +++ b/libsolidity/analysis/FunctionCallGraph.cpp @@ -17,9 +17,12 @@ // SPDX-License-Identifier: GPL-3.0 #include -#include + +#include +#include using namespace std; +using namespace ranges; using namespace solidity::frontend; FunctionCallGraphBuilder::FunctionCallGraphBuilder(ContractDefinition const& _contract): @@ -30,7 +33,7 @@ FunctionCallGraphBuilder::FunctionCallGraphBuilder(ContractDefinition const& _co m_currentNode = SpecialNode::EntryCreation; m_currentDispatch = SpecialNode::InternalCreationDispatch; - for (ContractDefinition const* contract: _contract.annotation().linearizedBaseContracts | boost::adaptors::reversed) + for (ContractDefinition const* contract: _contract.annotation().linearizedBaseContracts | views::reverse) { for (auto const* stateVar: contract->stateVariables()) stateVar->accept(*this); @@ -49,10 +52,11 @@ FunctionCallGraphBuilder::FunctionCallGraphBuilder(ContractDefinition const& _co m_currentNode.reset(); m_currentDispatch = SpecialNode::InternalDispatch; + auto getSecondElement = [](auto const& _tuple){ return get<1>(_tuple); }; + // Create graph for all publicly reachable functions - for (auto& [hash, functionType]: _contract.interfaceFunctionList()) + for (FunctionTypePointer functionType: _contract.interfaceFunctionList() | views::transform(getSecondElement)) { - (void)hash; if (auto const* funcDef = dynamic_cast(&functionType->declaration())) if (!m_graph->edges.count(funcDef)) visitCallable(funcDef);