diff options
author | Lu Guanqun <guanqun.lu@gmail.com> | 2016-01-04 16:11:04 +0800 |
---|---|---|
committer | Lu Guanqun <guanqun.lu@gmail.com> | 2016-01-04 16:11:36 +0800 |
commit | 568da1136992f8f188ba419bef814659f7a7794a (patch) | |
tree | 947396ddacbf9ed3d86434826b501a82f9ac7674 /libsolidity/codegen/ExpressionCompiler.cpp | |
parent | 6b711d0527823ff6287fe869579260bb27feacdd (diff) | |
download | dexon-solidity-568da1136992f8f188ba419bef814659f7a7794a.tar.gz dexon-solidity-568da1136992f8f188ba419bef814659f7a7794a.tar.zst dexon-solidity-568da1136992f8f188ba419bef814659f7a7794a.zip |
support decayed tuple expression as left value
Diffstat (limited to 'libsolidity/codegen/ExpressionCompiler.cpp')
-rw-r--r-- | libsolidity/codegen/ExpressionCompiler.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libsolidity/codegen/ExpressionCompiler.cpp b/libsolidity/codegen/ExpressionCompiler.cpp index 2fd0b2c4..b0e92b59 100644 --- a/libsolidity/codegen/ExpressionCompiler.cpp +++ b/libsolidity/codegen/ExpressionCompiler.cpp @@ -233,7 +233,12 @@ bool ExpressionCompiler::visit(TupleExpression const& _tuple) else if (_tuple.annotation().lValueRequested) lvalues.push_back(unique_ptr<LValue>()); if (_tuple.annotation().lValueRequested) - m_currentLValue.reset(new TupleObject(m_context, move(lvalues))); + { + if (_tuple.components().size() == 1) + m_currentLValue = move(lvalues[0]); + else + m_currentLValue.reset(new TupleObject(m_context, move(lvalues))); + } return false; } |