aboutsummaryrefslogtreecommitdiffstats
path: root/Compiler.h
diff options
context:
space:
mode:
authorchriseth <c@ethdev.com>2015-06-26 00:52:19 +0800
committerchriseth <c@ethdev.com>2015-06-26 00:52:19 +0800
commit2e5c52bfabdc7ac221bf4617ed98d9a9abef85b8 (patch)
treee2cf306d37298b8de3da3a9c0c29a024bfc3f080 /Compiler.h
parentfb14a586f4084d8acb3a765f3995e2a5e7b3a5b3 (diff)
parent529ed468df4c8fc9947cf92b42a5da84c7434b49 (diff)
downloaddexon-solidity-2e5c52bfabdc7ac221bf4617ed98d9a9abef85b8.tar
dexon-solidity-2e5c52bfabdc7ac221bf4617ed98d9a9abef85b8.tar.gz
dexon-solidity-2e5c52bfabdc7ac221bf4617ed98d9a9abef85b8.tar.bz2
dexon-solidity-2e5c52bfabdc7ac221bf4617ed98d9a9abef85b8.tar.lz
dexon-solidity-2e5c52bfabdc7ac221bf4617ed98d9a9abef85b8.tar.xz
dexon-solidity-2e5c52bfabdc7ac221bf4617ed98d9a9abef85b8.tar.zst
dexon-solidity-2e5c52bfabdc7ac221bf4617ed98d9a9abef85b8.zip
Merge pull request #2276 from chriseth/sol_memoryArrays7
Copy routines for non-byte arrays.
Diffstat (limited to 'Compiler.h')
-rw-r--r--Compiler.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/Compiler.h b/Compiler.h
index 60ca00e8..ac794f89 100644
--- a/Compiler.h
+++ b/Compiler.h
@@ -84,6 +84,13 @@ private:
void registerStateVariables(ContractDefinition const& _contract);
void initializeStateVariables(ContractDefinition const& _contract);
+ /// Initialises all memory arrays in the local variables to point to an empty location.
+ void initialiseMemoryArrays(std::vector<VariableDeclaration const*> _variables);
+ /// Pushes the initialised value of the given type to the stack. If the type is a memory
+ /// reference type, allocates memory and pushes the memory pointer.
+ /// Not to be used for storage references.
+ void initialiseInMemory(Type const& _type);
+
virtual bool visit(VariableDeclaration const& _variableDeclaration) override;
virtual bool visit(FunctionDefinition const& _function) override;
virtual bool visit(IfStatement const& _ifStatement) override;
@@ -100,6 +107,7 @@ private:
/// body itself if the last modifier was reached.
void appendModifierOrFunctionCode();
+ void appendStackVariableInitialisation(VariableDeclaration const& _variable);
void compileExpression(Expression const& _expression, TypePointer const& _targetType = TypePointer());
bool const m_optimize;