Compiler version stamp.

This commit is contained in:
chriseth
2015-10-06 14:20:06 +02:00
parent 44e42bf52e
commit 99351aebe0
7 changed files with 71 additions and 3 deletions
+9
View File
@@ -20,10 +20,12 @@
* Utilities for the solidity compiler.
*/
#include <libsolidity/CompilerContext.h>
#include <utility>
#include <numeric>
#include <libsolidity/AST.h>
#include <libsolidity/Compiler.h>
#include <libsolidity/Version.h>
using namespace std;
@@ -177,6 +179,13 @@ void CompilerContext::resetVisitedNodes(ASTNode const* _node)
updateSourceLocation();
}
void CompilerContext::injectVersionStampIntoSub(size_t _subIndex)
{
eth::Assembly& sub = m_asm.sub(_subIndex);
sub.injectStart(eth::Instruction::POP);
sub.injectStart(fromBigEndian<u256>(binaryVersion()));
}
eth::AssemblyItem CompilerContext::virtualFunctionEntryLabel(
FunctionDefinition const& _function,
vector<ContractDefinition const*>::const_iterator _searchStart