aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/codegen
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2017-04-13 00:32:25 +0800
committerchriseth <chris@ethereum.org>2017-04-25 22:49:04 +0800
commitdfb7d5ebd955d390142241a2abcb95995ef1ba04 (patch)
tree6a6c4bf8091fd8d6e60272f9fb94b9b38fda4530 /libsolidity/codegen
parent4afd54b23594563036498943087bcd06ef021f94 (diff)
downloaddexon-solidity-dfb7d5ebd955d390142241a2abcb95995ef1ba04.tar.gz
dexon-solidity-dfb7d5ebd955d390142241a2abcb95995ef1ba04.tar.zst
dexon-solidity-dfb7d5ebd955d390142241a2abcb95995ef1ba04.zip
Move analysis out of code generator.
Diffstat (limited to 'libsolidity/codegen')
-rw-r--r--libsolidity/codegen/ContractCompiler.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/libsolidity/codegen/ContractCompiler.cpp b/libsolidity/codegen/ContractCompiler.cpp
index 9bef8a8f..5257b1f7 100644
--- a/libsolidity/codegen/ContractCompiler.cpp
+++ b/libsolidity/codegen/ContractCompiler.cpp
@@ -520,7 +520,7 @@ bool ContractCompiler::visit(FunctionDefinition const& _function)
bool ContractCompiler::visit(InlineAssembly const& _inlineAssembly)
{
ErrorList errors;
- assembly::CodeGenerator codeGen(_inlineAssembly.operations(), errors);
+ assembly::CodeGenerator codeGen(errors);
unsigned startStackHeight = m_context.stackHeight();
assembly::ExternalIdentifierAccess identifierAccess;
identifierAccess.resolve = [&](assembly::Identifier const& _identifier, assembly::IdentifierContext)
@@ -598,6 +598,8 @@ bool ContractCompiler::visit(InlineAssembly const& _inlineAssembly)
}
};
codeGen.assemble(
+ _inlineAssembly.operations(),
+ _inlineAssembly.annotation().scopes,
m_context.nonConstAssembly(),
identifierAccess
);