aboutsummaryrefslogtreecommitdiffstats
path: root/ExpressionCompiler.cpp
diff options
context:
space:
mode:
authorChristian <c@ethdev.com>2015-02-22 01:25:08 +0800
committerChristian <c@ethdev.com>2015-02-22 01:25:08 +0800
commit261786d909262e6cb4e9602cced76a3a22b7cb88 (patch)
treef4003a11a769bd9c15758b23fe24ec7f38482f57 /ExpressionCompiler.cpp
parentbe15e0b424d9a7bd181c8525dbb2eb0a26806c13 (diff)
downloaddexon-solidity-261786d909262e6cb4e9602cced76a3a22b7cb88.tar.gz
dexon-solidity-261786d909262e6cb4e9602cced76a3a22b7cb88.tar.zst
dexon-solidity-261786d909262e6cb4e9602cced76a3a22b7cb88.zip
Allow conversion to dynamic arrays and update grammar.
Diffstat (limited to 'ExpressionCompiler.cpp')
-rw-r--r--ExpressionCompiler.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/ExpressionCompiler.cpp b/ExpressionCompiler.cpp
index cdad4840..94f65b93 100644
--- a/ExpressionCompiler.cpp
+++ b/ExpressionCompiler.cpp
@@ -562,7 +562,8 @@ bool ExpressionCompiler::visit(IndexAccess const& _indexAccess)
solAssert(baseType.getCategory() == Type::Category::Mapping, "");
Type const& keyType = *dynamic_cast<MappingType const&>(baseType).getKeyType();
m_context << u256(0);
- appendExpressionCopyToMemory(keyType, _indexAccess.getIndexExpression());
+ solAssert(_indexAccess.getIndexExpression(), "Index expression expected.");
+ appendExpressionCopyToMemory(keyType, *_indexAccess.getIndexExpression());
solAssert(baseType.getSizeOnStack() == 1,
"Unexpected: Not exactly one stack slot taken by subscriptable expression.");
m_context << eth::Instruction::SWAP1;