mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
fa78e0f3d4
Co-authored-by: Hari <webmail.hari@gmail.com> test: add parser and abi test cases docs: add example on using named parameters for mappings - Add changelog feat: update antlr grammar to allow named parameters in mappings fix: prevent conflicting mapping parameter names ref: change order of mapping initializers test: update expectations and fix build test: add more tests fix: use common error & code for conflicting params fix: issue with accessing nested mapping test: add conflicting params tests for more nested levels Update libsolidity/analysis/DeclarationTypeChecker.cpp Co-authored-by: Nikola Matić <nikola.matic@ethereum.org> fix: error reported with the same code twice test: add more tests for 3 level nested mapping Address review comments
25 lines
1018 B
Solidity
25 lines
1018 B
Solidity
// Example which where scanning hits EOS, so we reset.
|
|
// Here we recover in the contractDefinition.
|
|
// There should be an an AST created this contract (with errors).
|
|
contract Error2 {
|
|
mapping (address => uint balances) // missing ;
|
|
}
|
|
|
|
// There is no error in this contract
|
|
contract SendCoin {
|
|
function sendCoin(address receiver, uint amount) public returns(bool sufficient) {
|
|
if (balances[msg.sender] < amount) return false;
|
|
balances[msg.sender] -= amount;
|
|
balances[receiver] += amount;
|
|
emit Transfer(msg.sender, receiver, amount);
|
|
return true;
|
|
}
|
|
}
|
|
|
|
// ----
|
|
// ParserError 6635: (235-236): Expected identifier but got '}'
|
|
// ParserError 6635: (276-284): Expected ';' but got 'contract'
|
|
// ParserError 9182: (276-284): Function, variable, struct or modifier declaration expected.
|
|
// Warning 3796: (572-573): Recovered in ContractDefinition at '}'.
|
|
// ParserError 7858: (574-575): Expected pragma, import directive or contract/interface/library/struct/enum/constant/function/error definition.
|