aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/inlineasm/AsmPrinter.cpp
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2017-06-19 17:53:22 +0800
committerGitHub <noreply@github.com>2017-06-19 17:53:22 +0800
commit0c75afb2c1b9c8e81295c76aa1caa2a48b239aaf (patch)
tree49cfc2be091c868bdc5865a9d718ea33b1a1269e /libsolidity/inlineasm/AsmPrinter.cpp
parente0b9589e5a5b961541aefe783045b93fac347773 (diff)
parentc5339037e9c1d25c95093f905ebe443a38d419f0 (diff)
downloaddexon-solidity-0c75afb2c1b9c8e81295c76aa1caa2a48b239aaf.tar
dexon-solidity-0c75afb2c1b9c8e81295c76aa1caa2a48b239aaf.tar.gz
dexon-solidity-0c75afb2c1b9c8e81295c76aa1caa2a48b239aaf.tar.bz2
dexon-solidity-0c75afb2c1b9c8e81295c76aa1caa2a48b239aaf.tar.lz
dexon-solidity-0c75afb2c1b9c8e81295c76aa1caa2a48b239aaf.tar.xz
dexon-solidity-0c75afb2c1b9c8e81295c76aa1caa2a48b239aaf.tar.zst
dexon-solidity-0c75afb2c1b9c8e81295c76aa1caa2a48b239aaf.zip
Merge pull request #2225 from ethereum/julia-for
Implement for statement in assembly parser / printer / code generator
Diffstat (limited to 'libsolidity/inlineasm/AsmPrinter.cpp')
-rw-r--r--libsolidity/inlineasm/AsmPrinter.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/libsolidity/inlineasm/AsmPrinter.cpp b/libsolidity/inlineasm/AsmPrinter.cpp
index e282e5e8..0d06fedd 100644
--- a/libsolidity/inlineasm/AsmPrinter.cpp
+++ b/libsolidity/inlineasm/AsmPrinter.cpp
@@ -181,6 +181,19 @@ string AsmPrinter::operator()(Switch const& _switch)
return out;
}
+string AsmPrinter::operator()(assembly::ForLoop const& _forLoop)
+{
+ string out = "for ";
+ out += (*this)(_forLoop.pre);
+ out += "\n";
+ out += boost::apply_visitor(*this, *_forLoop.condition);
+ out += "\n";
+ out += (*this)(_forLoop.post);
+ out += "\n";
+ out += (*this)(_forLoop.body);
+ return out;
+}
+
string AsmPrinter::operator()(Block const& _block)
{
if (_block.statements.empty())