From 8688b63fa624fbf14982c3c4340ab83c13144f66 Mon Sep 17 00:00:00 2001 From: Alex Beregszaszi Date: Wed, 3 May 2017 19:32:38 +0100 Subject: Use boost range adaptors in AsmPrinter --- libsolidity/inlineasm/AsmPrinter.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'libsolidity/inlineasm') diff --git a/libsolidity/inlineasm/AsmPrinter.cpp b/libsolidity/inlineasm/AsmPrinter.cpp index 94829371..f3b66aee 100644 --- a/libsolidity/inlineasm/AsmPrinter.cpp +++ b/libsolidity/inlineasm/AsmPrinter.cpp @@ -119,14 +119,22 @@ string AsmPrinter::operator()(assembly::VariableDeclaration const& _variableDecl string AsmPrinter::operator()(assembly::FunctionDefinition const& _functionDefinition) { string out = "function " + _functionDefinition.name + "("; - for (auto const& argument: _functionDefinition.arguments) - out += argument.name + appendTypeName(argument.type) + ","; + out += boost::algorithm::join( + _functionDefinition.arguments | boost::adaptors::transformed( + [this](TypedName argument) { return argument.name + appendTypeName(argument.type); } + ), + ", " + ); out += ")"; if (!_functionDefinition.returns.empty()) { out += " -> "; - for (auto const& argument: _functionDefinition.returns) - out += argument.name + appendTypeName(argument.type) + ","; + out += boost::algorithm::join( + _functionDefinition.returns | boost::adaptors::transformed( + [this](TypedName argument) { return argument.name + appendTypeName(argument.type); } + ), + ", " + ); } return out + "\n" + (*this)(_functionDefinition.body); -- cgit