aboutsummaryrefslogtreecommitdiffstats
path: root/Compiler.cpp
diff options
context:
space:
mode:
authorChristian <c@ethdev.com>2015-01-17 01:52:27 +0800
committerChristian <c@ethdev.com>2015-01-20 06:35:04 +0800
commite6c0a9b922a28001fcbdc4e4ee729659c987caef (patch)
tree3f74de859e357b84b8489aa8332a1b8e67abb281 /Compiler.cpp
parent6633fbb6030cda64bd5c16ac5d59bbaad71967b2 (diff)
downloaddexon-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.cpp10
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);
}