mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
564 lines
18 KiB
JSON
564 lines
18 KiB
JSON
{
|
|
"absolutePath": "a",
|
|
"exportedSymbols":
|
|
{
|
|
"C":
|
|
[
|
|
39
|
|
]
|
|
},
|
|
"id": 40,
|
|
"nodeType": "SourceUnit",
|
|
"nodes":
|
|
[
|
|
{
|
|
"abstract": false,
|
|
"baseContracts": [],
|
|
"contractDependencies": [],
|
|
"contractKind": "contract",
|
|
"fullyImplemented": true,
|
|
"id": 39,
|
|
"linearizedBaseContracts":
|
|
[
|
|
39
|
|
],
|
|
"name": "C",
|
|
"nodeType": "ContractDefinition",
|
|
"nodes":
|
|
[
|
|
{
|
|
"constant": false,
|
|
"functionSelector": "97682884",
|
|
"id": 4,
|
|
"mutability": "mutable",
|
|
"name": "m",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 39,
|
|
"src": "17:44:1",
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"typeDescriptions":
|
|
{
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_address_payable_$",
|
|
"typeString": "mapping(address => address payable)"
|
|
},
|
|
"typeName":
|
|
{
|
|
"id": 3,
|
|
"keyType":
|
|
{
|
|
"id": 1,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "25:7:1",
|
|
"typeDescriptions":
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "Mapping",
|
|
"src": "17:35:1",
|
|
"typeDescriptions":
|
|
{
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_address_payable_$",
|
|
"typeString": "mapping(address => address payable)"
|
|
},
|
|
"valueType":
|
|
{
|
|
"id": 2,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "36:15:1",
|
|
"stateMutability": "payable",
|
|
"typeDescriptions":
|
|
{
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
}
|
|
},
|
|
"visibility": "public"
|
|
},
|
|
{
|
|
"body":
|
|
{
|
|
"id": 37,
|
|
"nodeType": "Block",
|
|
"src": "134:122:1",
|
|
"statements":
|
|
[
|
|
{
|
|
"assignments":
|
|
[
|
|
12
|
|
],
|
|
"declarations":
|
|
[
|
|
{
|
|
"constant": false,
|
|
"id": 12,
|
|
"mutability": "mutable",
|
|
"name": "a",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 37,
|
|
"src": "144:17:1",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions":
|
|
{
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
},
|
|
"typeName":
|
|
{
|
|
"id": 11,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "144:15:1",
|
|
"stateMutability": "payable",
|
|
"typeDescriptions":
|
|
{
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 16,
|
|
"initialValue":
|
|
{
|
|
"baseExpression":
|
|
{
|
|
"id": 13,
|
|
"name": "m",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4,
|
|
"src": "164:1:1",
|
|
"typeDescriptions":
|
|
{
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_address_payable_$",
|
|
"typeString": "mapping(address => address payable)"
|
|
}
|
|
},
|
|
"id": 15,
|
|
"indexExpression":
|
|
{
|
|
"id": 14,
|
|
"name": "arg",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 6,
|
|
"src": "166:3:1",
|
|
"typeDescriptions":
|
|
{
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"nodeType": "IndexAccess",
|
|
"src": "164:6:1",
|
|
"typeDescriptions":
|
|
{
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "144:26:1"
|
|
},
|
|
{
|
|
"expression":
|
|
{
|
|
"id": 19,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide":
|
|
{
|
|
"id": 17,
|
|
"name": "r",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 9,
|
|
"src": "180:1:1",
|
|
"typeDescriptions":
|
|
{
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide":
|
|
{
|
|
"id": 18,
|
|
"name": "arg",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 6,
|
|
"src": "184:3:1",
|
|
"typeDescriptions":
|
|
{
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
},
|
|
"src": "180:7:1",
|
|
"typeDescriptions":
|
|
{
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
},
|
|
"id": 20,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "180:7:1"
|
|
},
|
|
{
|
|
"assignments":
|
|
[
|
|
22
|
|
],
|
|
"declarations":
|
|
[
|
|
{
|
|
"constant": false,
|
|
"id": 22,
|
|
"mutability": "mutable",
|
|
"name": "c",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 37,
|
|
"src": "197:9:1",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions":
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
},
|
|
"typeName":
|
|
{
|
|
"id": 21,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "197:7:1",
|
|
"stateMutability": "nonpayable",
|
|
"typeDescriptions":
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"id": 27,
|
|
"initialValue":
|
|
{
|
|
"arguments":
|
|
[
|
|
{
|
|
"id": 25,
|
|
"name": "this",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": -28,
|
|
"src": "217:4:1",
|
|
"typeDescriptions":
|
|
{
|
|
"typeIdentifier": "t_contract$_C_$39",
|
|
"typeString": "contract C"
|
|
}
|
|
}
|
|
],
|
|
"expression":
|
|
{
|
|
"argumentTypes":
|
|
[
|
|
{
|
|
"typeIdentifier": "t_contract$_C_$39",
|
|
"typeString": "contract C"
|
|
}
|
|
],
|
|
"id": 24,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "209:7:1",
|
|
"typeDescriptions":
|
|
{
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName":
|
|
{
|
|
"id": 23,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "209:7:1",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 26,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "209:13:1",
|
|
"tryCall": false,
|
|
"typeDescriptions":
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"nodeType": "VariableDeclarationStatement",
|
|
"src": "197:25:1"
|
|
},
|
|
{
|
|
"expression":
|
|
{
|
|
"id": 35,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"leftHandSide":
|
|
{
|
|
"baseExpression":
|
|
{
|
|
"id": 28,
|
|
"name": "m",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 4,
|
|
"src": "232:1:1",
|
|
"typeDescriptions":
|
|
{
|
|
"typeIdentifier": "t_mapping$_t_address_$_t_address_payable_$",
|
|
"typeString": "mapping(address => address payable)"
|
|
}
|
|
},
|
|
"id": 30,
|
|
"indexExpression":
|
|
{
|
|
"id": 29,
|
|
"name": "c",
|
|
"nodeType": "Identifier",
|
|
"overloadedDeclarations": [],
|
|
"referencedDeclaration": 22,
|
|
"src": "234:1:1",
|
|
"typeDescriptions":
|
|
{
|
|
"typeIdentifier": "t_address",
|
|
"typeString": "address"
|
|
}
|
|
},
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"nodeType": "IndexAccess",
|
|
"src": "232:4:1",
|
|
"typeDescriptions":
|
|
{
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
},
|
|
"nodeType": "Assignment",
|
|
"operator": "=",
|
|
"rightHandSide":
|
|
{
|
|
"arguments":
|
|
[
|
|
{
|
|
"hexValue": "30",
|
|
"id": 33,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "number",
|
|
"lValueRequested": false,
|
|
"nodeType": "Literal",
|
|
"src": "247:1:1",
|
|
"typeDescriptions":
|
|
{
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
},
|
|
"value": "0"
|
|
}
|
|
],
|
|
"expression":
|
|
{
|
|
"argumentTypes":
|
|
[
|
|
{
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
}
|
|
],
|
|
"id": 32,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"nodeType": "ElementaryTypeNameExpression",
|
|
"src": "239:7:1",
|
|
"typeDescriptions":
|
|
{
|
|
"typeIdentifier": "t_type$_t_address_$",
|
|
"typeString": "type(address)"
|
|
},
|
|
"typeName":
|
|
{
|
|
"id": 31,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "239:7:1",
|
|
"typeDescriptions": {}
|
|
}
|
|
},
|
|
"id": 34,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"kind": "typeConversion",
|
|
"lValueRequested": false,
|
|
"names": [],
|
|
"nodeType": "FunctionCall",
|
|
"src": "239:10:1",
|
|
"tryCall": false,
|
|
"typeDescriptions":
|
|
{
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
},
|
|
"src": "232:17:1",
|
|
"typeDescriptions":
|
|
{
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
},
|
|
"id": 36,
|
|
"nodeType": "ExpressionStatement",
|
|
"src": "232:17:1"
|
|
}
|
|
]
|
|
},
|
|
"freeFunction": false,
|
|
"functionSelector": "fc68521a",
|
|
"id": 38,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "f",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters":
|
|
{
|
|
"id": 7,
|
|
"nodeType": "ParameterList",
|
|
"parameters":
|
|
[
|
|
{
|
|
"constant": false,
|
|
"id": 6,
|
|
"mutability": "mutable",
|
|
"name": "arg",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 38,
|
|
"src": "78:19:1",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions":
|
|
{
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
},
|
|
"typeName":
|
|
{
|
|
"id": 5,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "78:15:1",
|
|
"stateMutability": "payable",
|
|
"typeDescriptions":
|
|
{
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "77:21:1"
|
|
},
|
|
"returnParameters":
|
|
{
|
|
"id": 10,
|
|
"nodeType": "ParameterList",
|
|
"parameters":
|
|
[
|
|
{
|
|
"constant": false,
|
|
"id": 9,
|
|
"mutability": "mutable",
|
|
"name": "r",
|
|
"nodeType": "VariableDeclaration",
|
|
"scope": 38,
|
|
"src": "115:17:1",
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"typeDescriptions":
|
|
{
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
},
|
|
"typeName":
|
|
{
|
|
"id": 8,
|
|
"name": "address",
|
|
"nodeType": "ElementaryTypeName",
|
|
"src": "115:15:1",
|
|
"stateMutability": "payable",
|
|
"typeDescriptions":
|
|
{
|
|
"typeIdentifier": "t_address_payable",
|
|
"typeString": "address payable"
|
|
}
|
|
},
|
|
"visibility": "internal"
|
|
}
|
|
],
|
|
"src": "114:19:1"
|
|
},
|
|
"scope": 39,
|
|
"src": "67:189:1",
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "public"
|
|
}
|
|
],
|
|
"scope": 40,
|
|
"src": "0:258:1"
|
|
}
|
|
],
|
|
"src": "0:259:1"
|
|
}
|