diff options
author | Christian <c@ethdev.com> | 2015-01-17 01:52:27 +0800 |
---|---|---|
committer | Christian <c@ethdev.com> | 2015-01-20 06:35:04 +0800 |
commit | e6c0a9b922a28001fcbdc4e4ee729659c987caef (patch) | |
tree | 3f74de859e357b84b8489aa8332a1b8e67abb281 /Compiler.cpp | |
parent | 6633fbb6030cda64bd5c16ac5d59bbaad71967b2 (diff) | |
download | dexon-solidity-e6c0a9b922a28001fcbdc4e4ee729659c987caef.tar dexon-solidity-e6c0a9b922a28001fcbdc4e4ee729659c987caef.tar.gz dexon-solidity-e6c0a9b922a28001fcbdc4e4ee729659c987caef.tar.bz2 dexon-solidity-e6c0a9b922a28001fcbdc4e4ee729659c987caef.tar.lz dexon-solidity-e6c0a9b922a28001fcbdc4e4ee729659c987caef.tar.xz dexon-solidity-e6c0a9b922a28001fcbdc4e4ee729659c987caef.tar.zst dexon-solidity-e6c0a9b922a28001fcbdc4e4ee729659c987caef.zip |
Magic variables are only needed durinng name and type resolution, not during compilation.
Diffstat (limited to 'Compiler.cpp')
-rw-r--r-- | Compiler.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/Compiler.cpp b/Compiler.cpp index bd6571b9..d86c939c 100644 --- a/Compiler.cpp +++ b/Compiler.cpp @@ -34,11 +34,11 @@ using namespace std; namespace dev { namespace solidity { -void Compiler::compileContract(ContractDefinition const& _contract, vector<MagicVariableDeclaration const*> const& _magicGlobals, +void Compiler::compileContract(ContractDefinition const& _contract, map<ContractDefinition const*, bytes const*> const& _contracts) { m_context = CompilerContext(); // clear it just in case - initializeContext(_contract, _magicGlobals, _contracts); + initializeContext(_contract, _contracts); for (ASTPointer<FunctionDefinition> const& function: _contract.getDefinedFunctions()) if (function->getName() != _contract.getName()) // don't add the constructor here @@ -51,16 +51,14 @@ void Compiler::compileContract(ContractDefinition const& _contract, vector<Magic // Swap the runtime context with the creation-time context swap(m_context, m_runtimeContext); - initializeContext(_contract, _magicGlobals, _contracts); + initializeContext(_contract, _contracts); packIntoContractCreator(_contract, m_runtimeContext); } -void Compiler::initializeContext(ContractDefinition const& _contract, vector<MagicVariableDeclaration const*> const& _magicGlobals, +void Compiler::initializeContext(ContractDefinition const& _contract, map<ContractDefinition const*, bytes const*> const& _contracts) { m_context.setCompiledContracts(_contracts); - for (MagicVariableDeclaration const* variable: _magicGlobals) - m_context.addMagicGlobal(*variable); registerStateVariables(_contract); } |