aboutsummaryrefslogtreecommitdiffstats
path: root/solc/CommandLineInterface.h
diff options
context:
space:
mode:
authorchriseth <c@ethdev.com>2016-03-30 20:42:05 +0800
committerchriseth <c@ethdev.com>2016-03-30 20:42:05 +0800
commit9ca29aa508a25b5ccd9261ab7fd441df27d7da5f (patch)
treedaca1d62b8253827bf8086dba3bd8679404a8660 /solc/CommandLineInterface.h
parent8236732e9a5d2535afd3a3573a70d5aab3da3efe (diff)
parentb336f6261c2373cc769bcafb0466a251576f3fdd (diff)
downloaddexon-solidity-9ca29aa508a25b5ccd9261ab7fd441df27d7da5f.tar
dexon-solidity-9ca29aa508a25b5ccd9261ab7fd441df27d7da5f.tar.gz
dexon-solidity-9ca29aa508a25b5ccd9261ab7fd441df27d7da5f.tar.bz2
dexon-solidity-9ca29aa508a25b5ccd9261ab7fd441df27d7da5f.tar.lz
dexon-solidity-9ca29aa508a25b5ccd9261ab7fd441df27d7da5f.tar.xz
dexon-solidity-9ca29aa508a25b5ccd9261ab7fd441df27d7da5f.tar.zst
dexon-solidity-9ca29aa508a25b5ccd9261ab7fd441df27d7da5f.zip
Merge pull request #430 from chriseth/assembly
Inline Assembly
Diffstat (limited to 'solc/CommandLineInterface.h')
-rw-r--r--solc/CommandLineInterface.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/solc/CommandLineInterface.h b/solc/CommandLineInterface.h
index d288b5c1..52854bac 100644
--- a/solc/CommandLineInterface.h
+++ b/solc/CommandLineInterface.h
@@ -21,10 +21,11 @@
*/
#pragma once
-#include <libsolidity/interface/CompilerStack.h>
#include <memory>
#include <boost/program_options.hpp>
#include <boost/filesystem/path.hpp>
+#include <libsolidity/interface/CompilerStack.h>
+#include <libsolidity/inlineasm/AsmStack.h>
namespace dev
{
@@ -50,6 +51,10 @@ private:
bool link();
void writeLinkedFiles();
+ /// Parse assembly input.
+ bool assemble();
+ void outputAssembly();
+
void outputCompilationResults();
void handleCombinedJSON();
@@ -73,6 +78,7 @@ private:
/// @arg _data to be written
void createFile(std::string const& _fileName, std::string const& _data);
+ bool m_onlyAssemble = false;
bool m_onlyLink = false;
/// Compiler arguments variable map
@@ -87,6 +93,8 @@ private:
std::map<std::string, h160> m_libraries;
/// Solidity compiler stack
std::unique_ptr<dev::solidity::CompilerStack> m_compiler;
+ /// Assembly stacks for assembly-only mode
+ std::map<std::string, assembly::InlineAssemblyStack> m_assemblyStacks;
};
}