aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/inlineasm/AsmStack.h
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2016-08-16 22:27:20 +0800
committerGitHub <noreply@github.com>2016-08-16 22:27:20 +0800
commit77f442458934d2f0d9ffde34784bb58bd177b3ef (patch)
tree5443b8b9414fc21c0551dd57ee30b8c3a2ac4762 /libsolidity/inlineasm/AsmStack.h
parentc547f9c24b5bd57840ddd5543ab6e5288ddc5563 (diff)
downloaddexon-solidity-77f442458934d2f0d9ffde34784bb58bd177b3ef.tar
dexon-solidity-77f442458934d2f0d9ffde34784bb58bd177b3ef.tar.gz
dexon-solidity-77f442458934d2f0d9ffde34784bb58bd177b3ef.tar.bz2
dexon-solidity-77f442458934d2f0d9ffde34784bb58bd177b3ef.tar.lz
dexon-solidity-77f442458934d2f0d9ffde34784bb58bd177b3ef.tar.xz
dexon-solidity-77f442458934d2f0d9ffde34784bb58bd177b3ef.tar.zst
dexon-solidity-77f442458934d2f0d9ffde34784bb58bd177b3ef.zip
Provide inline assembly to the code generator. (#840)
* Directly usable inline assembly. * Add missing header.
Diffstat (limited to 'libsolidity/inlineasm/AsmStack.h')
-rw-r--r--libsolidity/inlineasm/AsmStack.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/libsolidity/inlineasm/AsmStack.h b/libsolidity/inlineasm/AsmStack.h
index 8a860e46..521f5fe7 100644
--- a/libsolidity/inlineasm/AsmStack.h
+++ b/libsolidity/inlineasm/AsmStack.h
@@ -25,6 +25,7 @@
#include <string>
#include <functional>
#include <libsolidity/interface/Exceptions.h>
+#include <libsolidity/inlineasm/AsmCodeGen.h>
namespace dev
{
@@ -47,6 +48,13 @@ public:
bool parse(std::shared_ptr<Scanner> const& _scanner);
eth::Assembly assemble();
+ /// Parse and assemble a string in one run - for use in Solidity code generation itself.
+ bool parseAndAssemble(
+ std::string const& _input,
+ eth::Assembly& _assembly,
+ CodeGenerator::IdentifierAccess const& _identifierAccess = CodeGenerator::IdentifierAccess()
+ );
+
ErrorList const& errors() const { return m_errors; }
private: