diff options
author | Gav Wood <i@gavwood.com> | 2015-03-03 18:20:12 +0800 |
---|---|---|
committer | Gav Wood <i@gavwood.com> | 2015-03-03 18:20:12 +0800 |
commit | f7f2861f5fd3b629026ea7ad31419a86784549e8 (patch) | |
tree | eec4aac7d02969147e2397369166c9745d991174 /ExpressionCompiler.cpp | |
parent | 226c4a89b2510d69b49513f8863c25d16729adfd (diff) | |
parent | 5efd2fbab73b39b03b10332a6644ed19708c1c91 (diff) | |
download | dexon-solidity-f7f2861f5fd3b629026ea7ad31419a86784549e8.tar dexon-solidity-f7f2861f5fd3b629026ea7ad31419a86784549e8.tar.gz dexon-solidity-f7f2861f5fd3b629026ea7ad31419a86784549e8.tar.bz2 dexon-solidity-f7f2861f5fd3b629026ea7ad31419a86784549e8.tar.lz dexon-solidity-f7f2861f5fd3b629026ea7ad31419a86784549e8.tar.xz dexon-solidity-f7f2861f5fd3b629026ea7ad31419a86784549e8.tar.zst dexon-solidity-f7f2861f5fd3b629026ea7ad31419a86784549e8.zip |
Merge branch 'develop' of github.com:ethereum/cpp-ethereum into develop
Diffstat (limited to 'ExpressionCompiler.cpp')
-rw-r--r-- | ExpressionCompiler.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/ExpressionCompiler.cpp b/ExpressionCompiler.cpp index 63aa8a3c..619b0673 100644 --- a/ExpressionCompiler.cpp +++ b/ExpressionCompiler.cpp @@ -93,7 +93,7 @@ void ExpressionCompiler::appendStateVariableAccessor(VariableDeclaration const& m_context << eth::Instruction::DUP1 << structType->getStorageOffsetOfMember(names[i]) << eth::Instruction::ADD; - StorageItem(m_context, types[i]).retrieveValue(SourceLocation(), true); + StorageItem(m_context, *types[i]).retrieveValue(SourceLocation(), true); solAssert(types[i]->getSizeOnStack() == 1, "Returning struct elements with stack size != 1 not yet implemented."); m_context << eth::Instruction::SWAP1; retSizeOnStack += types[i]->getSizeOnStack(); @@ -104,7 +104,7 @@ void ExpressionCompiler::appendStateVariableAccessor(VariableDeclaration const& { // simple value solAssert(accessorType.getReturnParameterTypes().size() == 1, ""); - StorageItem(m_context, returnType).retrieveValue(SourceLocation(), true); + StorageItem(m_context, *returnType).retrieveValue(SourceLocation(), true); retSizeOnStack = returnType->getSizeOnStack(); } solAssert(retSizeOnStack <= 15, "Stack too deep."); @@ -680,7 +680,7 @@ void ExpressionCompiler::endVisit(MemberAccess const& _memberAccess) m_context << eth::Instruction::SWAP1 << eth::Instruction::POP; break; case ArrayType::Location::Storage: - setLValueToStorageItem(_memberAccess); + setLValue<StorageArrayLength>(_memberAccess, type); break; default: solAssert(false, "Unsupported array location."); @@ -1047,7 +1047,7 @@ void ExpressionCompiler::setLValueFromDeclaration(Declaration const& _declaratio void ExpressionCompiler::setLValueToStorageItem(Expression const& _expression) { - setLValue<StorageItem>(_expression, _expression.getType()); + setLValue<StorageItem>(_expression, *_expression.getType()); } } |