aboutsummaryrefslogtreecommitdiffstats
path: root/ExpressionCompiler.h
diff options
context:
space:
mode:
authorChristian <c@ethdev.com>2014-12-09 05:18:19 +0800
committerChristian <c@ethdev.com>2014-12-09 05:26:22 +0800
commit35d5b28faeee5e19d0dbbeb3c75454249d636abd (patch)
tree227b04a23f5d66e442fc824e4cfcbba802989ccd /ExpressionCompiler.h
parentb7d856ed5fee1f0f918e30218e3a95fd8fc20dd3 (diff)
downloaddexon-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.h5
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;