aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/codegen/CompilerContext.cpp
diff options
context:
space:
mode:
authorchriseth <c@ethdev.com>2016-11-14 18:46:43 +0800
committerchriseth <c@ethdev.com>2016-12-01 23:03:59 +0800
commit5789eaa78d0e00f6289101e02f7de5e9decdc7e5 (patch)
tree8964f493235d310baa50806fdff65138054d2439 /libsolidity/codegen/CompilerContext.cpp
parent55a719a79c1ab5b78ea6e1bcb4f27a888494a538 (diff)
downloaddexon-solidity-5789eaa78d0e00f6289101e02f7de5e9decdc7e5.tar
dexon-solidity-5789eaa78d0e00f6289101e02f7de5e9decdc7e5.tar.gz
dexon-solidity-5789eaa78d0e00f6289101e02f7de5e9decdc7e5.tar.bz2
dexon-solidity-5789eaa78d0e00f6289101e02f7de5e9decdc7e5.tar.lz
dexon-solidity-5789eaa78d0e00f6289101e02f7de5e9decdc7e5.tar.xz
dexon-solidity-5789eaa78d0e00f6289101e02f7de5e9decdc7e5.tar.zst
dexon-solidity-5789eaa78d0e00f6289101e02f7de5e9decdc7e5.zip
Metadata stamp.
Diffstat (limited to 'libsolidity/codegen/CompilerContext.cpp')
-rw-r--r--libsolidity/codegen/CompilerContext.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/libsolidity/codegen/CompilerContext.cpp b/libsolidity/codegen/CompilerContext.cpp
index b99b0548..9b921e9d 100644
--- a/libsolidity/codegen/CompilerContext.cpp
+++ b/libsolidity/codegen/CompilerContext.cpp
@@ -227,6 +227,13 @@ void CompilerContext::injectVersionStampIntoSub(size_t _subIndex)
sub.injectStart(fromBigEndian<u256>(binaryVersion()));
}
+void CompilerContext::injectMetadataHashIntoSub(size_t _subIndex, h256 const& _metadataHash)
+{
+ eth::Assembly& sub = m_asm->sub(_subIndex);
+ sub.injectStart(Instruction::POP);
+ sub.injectStart(u256(_metadataHash));
+}
+
FunctionDefinition const& CompilerContext::resolveVirtualFunction(
FunctionDefinition const& _function,
vector<ContractDefinition const*>::const_iterator _searchStart