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
190 lines
4.8 KiB
JSON
190 lines
4.8 KiB
JSON
{
|
|
"absolutePath": "a",
|
|
"id": 20,
|
|
"nodeType": "SourceUnit",
|
|
"nodes":
|
|
[
|
|
{
|
|
"abstract": false,
|
|
"baseContracts": [],
|
|
"contractDependencies": [],
|
|
"contractKind": "contract",
|
|
"id": 19,
|
|
"name": "C",
|
|
"nameLocation": "9:1:1",
|
|
"nodeType": "ContractDefinition",
|
|
"nodes":
|
|
[
|
|
{
|
|
"id": 4,
|
|
"members":
|
|
[
|
|
{
|
|
"id": 1,
|
|
"name": "A",
|
|
"nameLocation": "26:1:1",
|
|
"nodeType": "EnumValue",
|
|
"src": "26:1:1"
|
|
},
|
|
{
|
|
"id": 2,
|
|
"name": "B",
|
|
"nameLocation": "29:1:1",
|
|
"nodeType": "EnumValue",
|
|
"src": "29:1:1"
|
|
},
|
|
{
|
|
"id": 3,
|
|
"name": "C",
|
|
"nameLocation": "32:1:1",
|
|
"nodeType": "EnumValue",
|
|
"src": "32:1:1"
|
|
}
|
|
],
|
|
"name": "E",
|
|
"nameLocation": "22:1:1",
|
|
"nodeType": "EnumDefinition",
|
|
"src": "17:18:1"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 9,
|
|
"mutability": "mutable",
|
|
"name": "a",
|
|
"nameLocation": "59:1:1",
|
|
"nodeType": "VariableDeclaration",
|
|
"src": "40:20:1",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {},
|
|
"typeName":
|
|
{
|
|
"id": 8,
|
|
"keyName": "",
|
|
"keyType":
|
|
{
|
|
"id": 6,
|
|
"nodeType": "UserDefinedTypeName",
|
|
"pathNode":
|
|
{
|
|
"id": 5,
|
|
"name": "C",
|
|
"nameLocations":
|
|
[
|
|
"48:1:1"
|
|
],
|
|
"nodeType": "IdentifierPath",
|
|
"src": "48:1:1"
|
|
},
|
|
"src": "48:1:1",
|
|
"typeDescriptions": {}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "40:18:1",
|
|
"typeDescriptions": {},
|
|
"valueName": "",
|
|
"valueType":
|
|
{
|
|
"id": 7,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "53:4:1",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 13,
|
|
"mutability": "mutable",
|
|
"name": "b",
|
|
"nameLocation": "91:1:1",
|
|
"nodeType": "VariableDeclaration",
|
|
"src": "66:26:1",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {},
|
|
"typeName":
|
|
{
|
|
"id": 12,
|
|
"keyName": "",
|
|
"keyType":
|
|
{
|
|
"id": 10,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "74:7:1",
|
|
"typeDescriptions": {}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "66:24:1",
|
|
"typeDescriptions": {},
|
|
"valueName": "",
|
|
"valueType":
|
|
{
|
|
"id": 11,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "85:4:1",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
},
|
|
{
|
|
"constant": false,
|
|
"id": 18,
|
|
"mutability": "mutable",
|
|
"name": "c",
|
|
"nameLocation": "117:1:1",
|
|
"nodeType": "VariableDeclaration",
|
|
"src": "98:20:1",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions": {},
|
|
"typeName":
|
|
{
|
|
"id": 17,
|
|
"keyName": "",
|
|
"keyType":
|
|
{
|
|
"id": 15,
|
|
"nodeType": "UserDefinedTypeName",
|
|
"pathNode":
|
|
{
|
|
"id": 14,
|
|
"name": "E",
|
|
"nameLocations":
|
|
[
|
|
"106:1:1"
|
|
],
|
|
"nodeType": "IdentifierPath",
|
|
"src": "106:1:1"
|
|
},
|
|
"src": "106:1:1",
|
|
"typeDescriptions": {}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "98:18:1",
|
|
"typeDescriptions": {},
|
|
"valueName": "",
|
|
"valueType":
|
|
{
|
|
"id": 16,
|
|
"name": "bool",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "111:4:1",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "0:121:1",
|
|
"usedErrors": []
|
|
}
|
|
],
|
|
"src": "0:122:1"
|
|
}
|