diff options
author | chriseth <chris@ethereum.org> | 2017-06-19 18:01:19 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-19 18:01:19 +0800 |
commit | 622703c0c0a4b215f759c509569c9df6dcc9ce3a (patch) | |
tree | 00ea273f45a64ebd407fff030e21797c73f9aacb /libsolidity/parsing | |
parent | b3a7b5a145ba66e5ce99c04cc99418e995543355 (diff) | |
parent | 60bfae75e51c4f5213c82d17d32e10d939ebf0bf (diff) | |
download | dexon-solidity-622703c0c0a4b215f759c509569c9df6dcc9ce3a.tar.gz dexon-solidity-622703c0c0a4b215f759c509569c9df6dcc9ce3a.tar.zst dexon-solidity-622703c0c0a4b215f759c509569c9df6dcc9ce3a.zip |
Merge pull request #2409 from federicobond/trailing-commas-2
Improve error reporting of trailing commas
Diffstat (limited to 'libsolidity/parsing')
-rw-r--r-- | libsolidity/parsing/Parser.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/libsolidity/parsing/Parser.cpp b/libsolidity/parsing/Parser.cpp index ec6d11f4..b0cf364e 100644 --- a/libsolidity/parsing/Parser.cpp +++ b/libsolidity/parsing/Parser.cpp @@ -1350,13 +1350,19 @@ pair<vector<ASTPointer<Expression>>, vector<ASTPointer<ASTString>>> Parser::pars if (!first) expectToken(Token::Comma); - if (m_scanner->currentToken() == Token::RBrace) - fatalParserError("Unexpected trailing comma."); - ret.second.push_back(expectIdentifierToken()); expectToken(Token::Colon); ret.first.push_back(parseExpression()); + if ( + m_scanner->currentToken() == Token::Comma && + m_scanner->peekNextToken() == Token::RBrace + ) + { + parserError("Unexpected trailing comma."); + m_scanner->next(); + } + first = false; } expectToken(Token::RBrace); |