mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
635 lines
21 KiB
JSON
635 lines
21 KiB
JSON
{
|
|
"attributes":
|
|
{
|
|
"absolutePath": "a",
|
|
"exportedSymbols":
|
|
{
|
|
"C":
|
|
[
|
|
39
|
|
]
|
|
}
|
|
},
|
|
"children":
|
|
[
|
|
{
|
|
"attributes":
|
|
{
|
|
"abstract": false,
|
|
"baseContracts":
|
|
[
|
|
null
|
|
],
|
|
"contractDependencies":
|
|
[
|
|
null
|
|
],
|
|
"contractKind": "contract",
|
|
"documentation": null,
|
|
"fullyImplemented": true,
|
|
"linearizedBaseContracts":
|
|
[
|
|
39
|
|
],
|
|
"name": "C",
|
|
"scope": 40
|
|
},
|
|
"children":
|
|
[
|
|
{
|
|
"attributes":
|
|
{
|
|
"constant": false,
|
|
"name": "m",
|
|
"overrides": null,
|
|
"scope": 39,
|
|
"stateVariable": true,
|
|
"storageLocation": "default",
|
|
"type": "mapping(address => address payable)",
|
|
"value": null,
|
|
"visibility": "public"
|
|
},
|
|
"children":
|
|
[
|
|
{
|
|
"attributes":
|
|
{
|
|
"type": "mapping(address => address payable)"
|
|
},
|
|
"children":
|
|
[
|
|
{
|
|
"attributes":
|
|
{
|
|
"name": "address",
|
|
"type": "address"
|
|
},
|
|
"id": 1,
|
|
"name": "ElementaryTypeName",
|
|
"src": "25:7:1"
|
|
},
|
|
{
|
|
"attributes":
|
|
{
|
|
"name": "address",
|
|
"stateMutability": "payable",
|
|
"type": "address payable"
|
|
},
|
|
"id": 2,
|
|
"name": "ElementaryTypeName",
|
|
"src": "36:15:1"
|
|
}
|
|
],
|
|
"id": 3,
|
|
"name": "Mapping",
|
|
"src": "17:35:1"
|
|
}
|
|
],
|
|
"id": 4,
|
|
"name": "VariableDeclaration",
|
|
"src": "17:44:1"
|
|
},
|
|
{
|
|
"attributes":
|
|
{
|
|
"documentation": null,
|
|
"implemented": true,
|
|
"isConstructor": false,
|
|
"kind": "function",
|
|
"modifiers":
|
|
[
|
|
null
|
|
],
|
|
"name": "f",
|
|
"overrides": null,
|
|
"scope": 39,
|
|
"stateMutability": "nonpayable",
|
|
"virtual": false,
|
|
"visibility": "public"
|
|
},
|
|
"children":
|
|
[
|
|
{
|
|
"children":
|
|
[
|
|
{
|
|
"attributes":
|
|
{
|
|
"constant": false,
|
|
"name": "arg",
|
|
"overrides": null,
|
|
"scope": 38,
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"type": "address payable",
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
"children":
|
|
[
|
|
{
|
|
"attributes":
|
|
{
|
|
"name": "address",
|
|
"stateMutability": "payable",
|
|
"type": "address payable"
|
|
},
|
|
"id": 5,
|
|
"name": "ElementaryTypeName",
|
|
"src": "78:15:1"
|
|
}
|
|
],
|
|
"id": 6,
|
|
"name": "VariableDeclaration",
|
|
"src": "78:19:1"
|
|
}
|
|
],
|
|
"id": 7,
|
|
"name": "ParameterList",
|
|
"src": "77:21:1"
|
|
},
|
|
{
|
|
"children":
|
|
[
|
|
{
|
|
"attributes":
|
|
{
|
|
"constant": false,
|
|
"name": "r",
|
|
"overrides": null,
|
|
"scope": 38,
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"type": "address payable",
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
"children":
|
|
[
|
|
{
|
|
"attributes":
|
|
{
|
|
"name": "address",
|
|
"stateMutability": "payable",
|
|
"type": "address payable"
|
|
},
|
|
"id": 8,
|
|
"name": "ElementaryTypeName",
|
|
"src": "115:15:1"
|
|
}
|
|
],
|
|
"id": 9,
|
|
"name": "VariableDeclaration",
|
|
"src": "115:17:1"
|
|
}
|
|
],
|
|
"id": 10,
|
|
"name": "ParameterList",
|
|
"src": "114:19:1"
|
|
},
|
|
{
|
|
"children":
|
|
[
|
|
{
|
|
"attributes":
|
|
{
|
|
"assignments":
|
|
[
|
|
12
|
|
]
|
|
},
|
|
"children":
|
|
[
|
|
{
|
|
"attributes":
|
|
{
|
|
"constant": false,
|
|
"name": "a",
|
|
"overrides": null,
|
|
"scope": 37,
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"type": "address payable",
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
"children":
|
|
[
|
|
{
|
|
"attributes":
|
|
{
|
|
"name": "address",
|
|
"stateMutability": "payable",
|
|
"type": "address payable"
|
|
},
|
|
"id": 11,
|
|
"name": "ElementaryTypeName",
|
|
"src": "144:15:1"
|
|
}
|
|
],
|
|
"id": 12,
|
|
"name": "VariableDeclaration",
|
|
"src": "144:17:1"
|
|
},
|
|
{
|
|
"attributes":
|
|
{
|
|
"argumentTypes": null,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"type": "address payable"
|
|
},
|
|
"children":
|
|
[
|
|
{
|
|
"attributes":
|
|
{
|
|
"argumentTypes": null,
|
|
"overloadedDeclarations":
|
|
[
|
|
null
|
|
],
|
|
"referencedDeclaration": 4,
|
|
"type": "mapping(address => address payable)",
|
|
"value": "m"
|
|
},
|
|
"id": 13,
|
|
"name": "Identifier",
|
|
"src": "164:1:1"
|
|
},
|
|
{
|
|
"attributes":
|
|
{
|
|
"argumentTypes": null,
|
|
"overloadedDeclarations":
|
|
[
|
|
null
|
|
],
|
|
"referencedDeclaration": 6,
|
|
"type": "address payable",
|
|
"value": "arg"
|
|
},
|
|
"id": 14,
|
|
"name": "Identifier",
|
|
"src": "166:3:1"
|
|
}
|
|
],
|
|
"id": 15,
|
|
"name": "IndexAccess",
|
|
"src": "164:6:1"
|
|
}
|
|
],
|
|
"id": 16,
|
|
"name": "VariableDeclarationStatement",
|
|
"src": "144:26:1"
|
|
},
|
|
{
|
|
"children":
|
|
[
|
|
{
|
|
"attributes":
|
|
{
|
|
"argumentTypes": null,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"operator": "=",
|
|
"type": "address payable"
|
|
},
|
|
"children":
|
|
[
|
|
{
|
|
"attributes":
|
|
{
|
|
"argumentTypes": null,
|
|
"overloadedDeclarations":
|
|
[
|
|
null
|
|
],
|
|
"referencedDeclaration": 9,
|
|
"type": "address payable",
|
|
"value": "r"
|
|
},
|
|
"id": 17,
|
|
"name": "Identifier",
|
|
"src": "180:1:1"
|
|
},
|
|
{
|
|
"attributes":
|
|
{
|
|
"argumentTypes": null,
|
|
"overloadedDeclarations":
|
|
[
|
|
null
|
|
],
|
|
"referencedDeclaration": 6,
|
|
"type": "address payable",
|
|
"value": "arg"
|
|
},
|
|
"id": 18,
|
|
"name": "Identifier",
|
|
"src": "184:3:1"
|
|
}
|
|
],
|
|
"id": 19,
|
|
"name": "Assignment",
|
|
"src": "180:7:1"
|
|
}
|
|
],
|
|
"id": 20,
|
|
"name": "ExpressionStatement",
|
|
"src": "180:7:1"
|
|
},
|
|
{
|
|
"attributes":
|
|
{
|
|
"assignments":
|
|
[
|
|
22
|
|
]
|
|
},
|
|
"children":
|
|
[
|
|
{
|
|
"attributes":
|
|
{
|
|
"constant": false,
|
|
"name": "c",
|
|
"overrides": null,
|
|
"scope": 37,
|
|
"stateVariable": false,
|
|
"storageLocation": "default",
|
|
"type": "address",
|
|
"value": null,
|
|
"visibility": "internal"
|
|
},
|
|
"children":
|
|
[
|
|
{
|
|
"attributes":
|
|
{
|
|
"name": "address",
|
|
"stateMutability": "nonpayable",
|
|
"type": "address"
|
|
},
|
|
"id": 21,
|
|
"name": "ElementaryTypeName",
|
|
"src": "197:7:1"
|
|
}
|
|
],
|
|
"id": 22,
|
|
"name": "VariableDeclaration",
|
|
"src": "197:9:1"
|
|
},
|
|
{
|
|
"attributes":
|
|
{
|
|
"argumentTypes": null,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"isStructConstructorCall": false,
|
|
"lValueRequested": false,
|
|
"names":
|
|
[
|
|
null
|
|
],
|
|
"tryCall": false,
|
|
"type": "address",
|
|
"type_conversion": true
|
|
},
|
|
"children":
|
|
[
|
|
{
|
|
"attributes":
|
|
{
|
|
"argumentTypes":
|
|
[
|
|
{
|
|
"typeIdentifier": "t_contract$_C_$39",
|
|
"typeString": "contract C"
|
|
}
|
|
],
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"type": "type(address)"
|
|
},
|
|
"children":
|
|
[
|
|
{
|
|
"attributes":
|
|
{
|
|
"name": "address",
|
|
"type": null
|
|
},
|
|
"id": 23,
|
|
"name": "ElementaryTypeName",
|
|
"src": "209:7:1"
|
|
}
|
|
],
|
|
"id": 24,
|
|
"name": "ElementaryTypeNameExpression",
|
|
"src": "209:7:1"
|
|
},
|
|
{
|
|
"attributes":
|
|
{
|
|
"argumentTypes": null,
|
|
"overloadedDeclarations":
|
|
[
|
|
null
|
|
],
|
|
"referencedDeclaration": 68,
|
|
"type": "contract C",
|
|
"value": "this"
|
|
},
|
|
"id": 25,
|
|
"name": "Identifier",
|
|
"src": "217:4:1"
|
|
}
|
|
],
|
|
"id": 26,
|
|
"name": "FunctionCall",
|
|
"src": "209:13:1"
|
|
}
|
|
],
|
|
"id": 27,
|
|
"name": "VariableDeclarationStatement",
|
|
"src": "197:25:1"
|
|
},
|
|
{
|
|
"children":
|
|
[
|
|
{
|
|
"attributes":
|
|
{
|
|
"argumentTypes": null,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": false,
|
|
"lValueRequested": false,
|
|
"operator": "=",
|
|
"type": "address payable"
|
|
},
|
|
"children":
|
|
[
|
|
{
|
|
"attributes":
|
|
{
|
|
"argumentTypes": null,
|
|
"isConstant": false,
|
|
"isLValue": true,
|
|
"isPure": false,
|
|
"lValueRequested": true,
|
|
"type": "address payable"
|
|
},
|
|
"children":
|
|
[
|
|
{
|
|
"attributes":
|
|
{
|
|
"argumentTypes": null,
|
|
"overloadedDeclarations":
|
|
[
|
|
null
|
|
],
|
|
"referencedDeclaration": 4,
|
|
"type": "mapping(address => address payable)",
|
|
"value": "m"
|
|
},
|
|
"id": 28,
|
|
"name": "Identifier",
|
|
"src": "232:1:1"
|
|
},
|
|
{
|
|
"attributes":
|
|
{
|
|
"argumentTypes": null,
|
|
"overloadedDeclarations":
|
|
[
|
|
null
|
|
],
|
|
"referencedDeclaration": 22,
|
|
"type": "address",
|
|
"value": "c"
|
|
},
|
|
"id": 29,
|
|
"name": "Identifier",
|
|
"src": "234:1:1"
|
|
}
|
|
],
|
|
"id": 30,
|
|
"name": "IndexAccess",
|
|
"src": "232:4:1"
|
|
},
|
|
{
|
|
"attributes":
|
|
{
|
|
"argumentTypes": null,
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"isStructConstructorCall": false,
|
|
"lValueRequested": false,
|
|
"names":
|
|
[
|
|
null
|
|
],
|
|
"tryCall": false,
|
|
"type": "address payable",
|
|
"type_conversion": true
|
|
},
|
|
"children":
|
|
[
|
|
{
|
|
"attributes":
|
|
{
|
|
"argumentTypes":
|
|
[
|
|
{
|
|
"typeIdentifier": "t_rational_0_by_1",
|
|
"typeString": "int_const 0"
|
|
}
|
|
],
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"type": "type(address)"
|
|
},
|
|
"children":
|
|
[
|
|
{
|
|
"attributes":
|
|
{
|
|
"name": "address",
|
|
"type": null
|
|
},
|
|
"id": 31,
|
|
"name": "ElementaryTypeName",
|
|
"src": "239:7:1"
|
|
}
|
|
],
|
|
"id": 32,
|
|
"name": "ElementaryTypeNameExpression",
|
|
"src": "239:7:1"
|
|
},
|
|
{
|
|
"attributes":
|
|
{
|
|
"argumentTypes": null,
|
|
"hexvalue": "30",
|
|
"isConstant": false,
|
|
"isLValue": false,
|
|
"isPure": true,
|
|
"lValueRequested": false,
|
|
"subdenomination": null,
|
|
"token": "number",
|
|
"type": "int_const 0",
|
|
"value": "0"
|
|
},
|
|
"id": 33,
|
|
"name": "Literal",
|
|
"src": "247:1:1"
|
|
}
|
|
],
|
|
"id": 34,
|
|
"name": "FunctionCall",
|
|
"src": "239:10:1"
|
|
}
|
|
],
|
|
"id": 35,
|
|
"name": "Assignment",
|
|
"src": "232:17:1"
|
|
}
|
|
],
|
|
"id": 36,
|
|
"name": "ExpressionStatement",
|
|
"src": "232:17:1"
|
|
}
|
|
],
|
|
"id": 37,
|
|
"name": "Block",
|
|
"src": "134:122:1"
|
|
}
|
|
],
|
|
"id": 38,
|
|
"name": "FunctionDefinition",
|
|
"src": "67:189:1"
|
|
}
|
|
],
|
|
"id": 39,
|
|
"name": "ContractDefinition",
|
|
"src": "0:258:1"
|
|
}
|
|
],
|
|
"id": 40,
|
|
"name": "SourceUnit",
|
|
"src": "0:259:1"
|
|
}
|