diff options
author | Christian <c@ethdev.com> | 2014-12-09 05:18:19 +0800 |
---|---|---|
committer | Christian <c@ethdev.com> | 2014-12-09 05:26:22 +0800 |
commit | 35d5b28faeee5e19d0dbbeb3c75454249d636abd (patch) | |
tree | 227b04a23f5d66e442fc824e4cfcbba802989ccd /ExpressionCompiler.h | |
parent | b7d856ed5fee1f0f918e30218e3a95fd8fc20dd3 (diff) | |
download | dexon-solidity-35d5b28faeee5e19d0dbbeb3c75454249d636abd.tar.gz dexon-solidity-35d5b28faeee5e19d0dbbeb3c75454249d636abd.tar.zst dexon-solidity-35d5b28faeee5e19d0dbbeb3c75454249d636abd.zip |
Variable-size stack elements for expression compiler.
Diffstat (limited to 'ExpressionCompiler.h')
-rw-r--r-- | ExpressionCompiler.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/ExpressionCompiler.h b/ExpressionCompiler.h index fbecbdc8..966be30e 100644 --- a/ExpressionCompiler.h +++ b/ExpressionCompiler.h @@ -93,8 +93,7 @@ private: enum LValueType { NONE, STACK, MEMORY, STORAGE }; explicit LValue(CompilerContext& _compilerContext): m_context(&_compilerContext) { reset(); } - LValue(CompilerContext& _compilerContext, LValueType _type, unsigned _baseStackOffset = 0): - m_context(&_compilerContext), m_type(_type), m_baseStackOffset(_baseStackOffset) {} + LValue(CompilerContext& _compilerContext, LValueType _type, Type const& _dataType, unsigned _baseStackOffset = 0); /// Set type according to the declaration and retrieve the reference. /// @a _expression is the current expression @@ -129,6 +128,8 @@ private: /// If m_type is STACK, this is base stack offset (@see /// CompilerContext::getBaseStackOffsetOfVariable) of a local variable. unsigned m_baseStackOffset; + /// Size of the value of this lvalue on the stack. + unsigned m_stackSize; }; CompilerContext& m_context; |