aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/LValue.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libsolidity/LValue.cpp')
-rw-r--r--libsolidity/LValue.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/libsolidity/LValue.cpp b/libsolidity/LValue.cpp
index 81aaeb4d..9f33e846 100644
--- a/libsolidity/LValue.cpp
+++ b/libsolidity/LValue.cpp
@@ -435,9 +435,9 @@ StorageArrayLength::StorageArrayLength(CompilerContext& _compilerContext, const
void StorageArrayLength::retrieveValue(SourceLocation const&, bool _remove) const
{
- if (!_remove)
- m_context << eth::Instruction::DUP1;
- m_context << eth::Instruction::SLOAD;
+ ArrayUtils(m_context).retrieveLength(m_arrayType);
+ if (_remove)
+ m_context << eth::Instruction::SWAP1 << eth::Instruction::POP;
}
void StorageArrayLength::storeValue(Type const&, SourceLocation const&, bool _move) const