1{ 2 "absolutePath": "a", 3 "exportedSymbols": 4 { 5 "C": 6 [ 7 39 8 ] 9 }, 10 "id": 40, 11 "nodeType": "SourceUnit", 12 "nodes": 13 [ 14 { 15 "abstract": false, 16 "baseContracts": [], 17 "canonicalName": "C", 18 "contractDependencies": [], 19 "contractKind": "contract", 20 "fullyImplemented": true, 21 "id": 39, 22 "linearizedBaseContracts": 23 [ 24 39 25 ], 26 "name": "C", 27 "nameLocation": "9:1:1", 28 "nodeType": "ContractDefinition", 29 "nodes": 30 [ 31 { 32 "constant": false, 33 "functionSelector": "97682884", 34 "id": 4, 35 "mutability": "mutable", 36 "name": "m", 37 "nameLocation": "60:1:1", 38 "nodeType": "VariableDeclaration", 39 "scope": 39, 40 "src": "17:44:1", 41 "stateVariable": true, 42 "storageLocation": "default", 43 "typeDescriptions": 44 { 45 "typeIdentifier": "t_mapping$_t_address_$_t_address_payable_$", 46 "typeString": "mapping(address => address payable)" 47 }, 48 "typeName": 49 { 50 "id": 3, 51 "keyType": 52 { 53 "id": 1, 54 "name": "address", 55 "nodeType": "ElementaryTypeName", 56 "src": "25:7:1", 57 "typeDescriptions": 58 { 59 "typeIdentifier": "t_address", 60 "typeString": "address" 61 } 62 }, 63 "nodeType": "Mapping", 64 "src": "17:35:1", 65 "typeDescriptions": 66 { 67 "typeIdentifier": "t_mapping$_t_address_$_t_address_payable_$", 68 "typeString": "mapping(address => address payable)" 69 }, 70 "valueType": 71 { 72 "id": 2, 73 "name": "address", 74 "nodeType": "ElementaryTypeName", 75 "src": "36:15:1", 76 "stateMutability": "payable", 77 "typeDescriptions": 78 { 79 "typeIdentifier": "t_address_payable", 80 "typeString": "address payable" 81 } 82 } 83 }, 84 "visibility": "public" 85 }, 86 { 87 "body": 88 { 89 "id": 37, 90 "nodeType": "Block", 91 "src": "134:122:1", 92 "statements": 93 [ 94 { 95 "assignments": 96 [ 97 12 98 ], 99 "declarations": 100 [ 101 { 102 "constant": false, 103 "id": 12, 104 "mutability": "mutable", 105 "name": "a", 106 "nameLocation": "160:1:1", 107 "nodeType": "VariableDeclaration", 108 "scope": 37, 109 "src": "144:17:1", 110 "stateVariable": false, 111 "storageLocation": "default", 112 "typeDescriptions": 113 { 114 "typeIdentifier": "t_address_payable", 115 "typeString": "address payable" 116 }, 117 "typeName": 118 { 119 "id": 11, 120 "name": "address", 121 "nodeType": "ElementaryTypeName", 122 "src": "144:15:1", 123 "stateMutability": "payable", 124 "typeDescriptions": 125 { 126 "typeIdentifier": "t_address_payable", 127 "typeString": "address payable" 128 } 129 }, 130 "visibility": "internal" 131 } 132 ], 133 "id": 16, 134 "initialValue": 135 { 136 "baseExpression": 137 { 138 "id": 13, 139 "name": "m", 140 "nodeType": "Identifier", 141 "overloadedDeclarations": [], 142 "referencedDeclaration": 4, 143 "src": "164:1:1", 144 "typeDescriptions": 145 { 146 "typeIdentifier": "t_mapping$_t_address_$_t_address_payable_$", 147 "typeString": "mapping(address => address payable)" 148 } 149 }, 150 "id": 15, 151 "indexExpression": 152 { 153 "id": 14, 154 "name": "arg", 155 "nodeType": "Identifier", 156 "overloadedDeclarations": [], 157 "referencedDeclaration": 6, 158 "src": "166:3:1", 159 "typeDescriptions": 160 { 161 "typeIdentifier": "t_address_payable", 162 "typeString": "address payable" 163 } 164 }, 165 "isConstant": false, 166 "isLValue": true, 167 "isPure": false, 168 "lValueRequested": false, 169 "nodeType": "IndexAccess", 170 "src": "164:6:1", 171 "typeDescriptions": 172 { 173 "typeIdentifier": "t_address_payable", 174 "typeString": "address payable" 175 } 176 }, 177 "nodeType": "VariableDeclarationStatement", 178 "src": "144:26:1" 179 }, 180 { 181 "expression": 182 { 183 "id": 19, 184 "isConstant": false, 185 "isLValue": false, 186 "isPure": false, 187 "lValueRequested": false, 188 "leftHandSide": 189 { 190 "id": 17, 191 "name": "r", 192 "nodeType": "Identifier", 193 "overloadedDeclarations": [], 194 "referencedDeclaration": 9, 195 "src": "180:1:1", 196 "typeDescriptions": 197 { 198 "typeIdentifier": "t_address_payable", 199 "typeString": "address payable" 200 } 201 }, 202 "nodeType": "Assignment", 203 "operator": "=", 204 "rightHandSide": 205 { 206 "id": 18, 207 "name": "arg", 208 "nodeType": "Identifier", 209 "overloadedDeclarations": [], 210 "referencedDeclaration": 6, 211 "src": "184:3:1", 212 "typeDescriptions": 213 { 214 "typeIdentifier": "t_address_payable", 215 "typeString": "address payable" 216 } 217 }, 218 "src": "180:7:1", 219 "typeDescriptions": 220 { 221 "typeIdentifier": "t_address_payable", 222 "typeString": "address payable" 223 } 224 }, 225 "id": 20, 226 "nodeType": "ExpressionStatement", 227 "src": "180:7:1" 228 }, 229 { 230 "assignments": 231 [ 232 22 233 ], 234 "declarations": 235 [ 236 { 237 "constant": false, 238 "id": 22, 239 "mutability": "mutable", 240 "name": "c", 241 "nameLocation": "205:1:1", 242 "nodeType": "VariableDeclaration", 243 "scope": 37, 244 "src": "197:9:1", 245 "stateVariable": false, 246 "storageLocation": "default", 247 "typeDescriptions": 248 { 249 "typeIdentifier": "t_address", 250 "typeString": "address" 251 }, 252 "typeName": 253 { 254 "id": 21, 255 "name": "address", 256 "nodeType": "ElementaryTypeName", 257 "src": "197:7:1", 258 "stateMutability": "nonpayable", 259 "typeDescriptions": 260 { 261 "typeIdentifier": "t_address", 262 "typeString": "address" 263 } 264 }, 265 "visibility": "internal" 266 } 267 ], 268 "id": 27, 269 "initialValue": 270 { 271 "arguments": 272 [ 273 { 274 "id": 25, 275 "name": "this", 276 "nodeType": "Identifier", 277 "overloadedDeclarations": [], 278 "referencedDeclaration": -28, 279 "src": "217:4:1", 280 "typeDescriptions": 281 { 282 "typeIdentifier": "t_contract$_C_$39", 283 "typeString": "contract C" 284 } 285 } 286 ], 287 "expression": 288 { 289 "argumentTypes": 290 [ 291 { 292 "typeIdentifier": "t_contract$_C_$39", 293 "typeString": "contract C" 294 } 295 ], 296 "id": 24, 297 "isConstant": false, 298 "isLValue": false, 299 "isPure": true, 300 "lValueRequested": false, 301 "nodeType": "ElementaryTypeNameExpression", 302 "src": "209:7:1", 303 "typeDescriptions": 304 { 305 "typeIdentifier": "t_type$_t_address_$", 306 "typeString": "type(address)" 307 }, 308 "typeName": 309 { 310 "id": 23, 311 "name": "address", 312 "nodeType": "ElementaryTypeName", 313 "src": "209:7:1", 314 "typeDescriptions": {} 315 } 316 }, 317 "id": 26, 318 "isConstant": false, 319 "isLValue": false, 320 "isPure": false, 321 "kind": "typeConversion", 322 "lValueRequested": false, 323 "names": [], 324 "nodeType": "FunctionCall", 325 "src": "209:13:1", 326 "tryCall": false, 327 "typeDescriptions": 328 { 329 "typeIdentifier": "t_address", 330 "typeString": "address" 331 } 332 }, 333 "nodeType": "VariableDeclarationStatement", 334 "src": "197:25:1" 335 }, 336 { 337 "expression": 338 { 339 "id": 35, 340 "isConstant": false, 341 "isLValue": false, 342 "isPure": false, 343 "lValueRequested": false, 344 "leftHandSide": 345 { 346 "baseExpression": 347 { 348 "id": 28, 349 "name": "m", 350 "nodeType": "Identifier", 351 "overloadedDeclarations": [], 352 "referencedDeclaration": 4, 353 "src": "232:1:1", 354 "typeDescriptions": 355 { 356 "typeIdentifier": "t_mapping$_t_address_$_t_address_payable_$", 357 "typeString": "mapping(address => address payable)" 358 } 359 }, 360 "id": 30, 361 "indexExpression": 362 { 363 "id": 29, 364 "name": "c", 365 "nodeType": "Identifier", 366 "overloadedDeclarations": [], 367 "referencedDeclaration": 22, 368 "src": "234:1:1", 369 "typeDescriptions": 370 { 371 "typeIdentifier": "t_address", 372 "typeString": "address" 373 } 374 }, 375 "isConstant": false, 376 "isLValue": true, 377 "isPure": false, 378 "lValueRequested": true, 379 "nodeType": "IndexAccess", 380 "src": "232:4:1", 381 "typeDescriptions": 382 { 383 "typeIdentifier": "t_address_payable", 384 "typeString": "address payable" 385 } 386 }, 387 "nodeType": "Assignment", 388 "operator": "=", 389 "rightHandSide": 390 { 391 "arguments": 392 [ 393 { 394 "hexValue": "30", 395 "id": 33, 396 "isConstant": false, 397 "isLValue": false, 398 "isPure": true, 399 "kind": "number", 400 "lValueRequested": false, 401 "nodeType": "Literal", 402 "src": "247:1:1", 403 "typeDescriptions": 404 { 405 "typeIdentifier": "t_rational_0_by_1", 406 "typeString": "int_const 0" 407 }, 408 "value": "0" 409 } 410 ], 411 "expression": 412 { 413 "argumentTypes": 414 [ 415 { 416 "typeIdentifier": "t_rational_0_by_1", 417 "typeString": "int_const 0" 418 } 419 ], 420 "id": 32, 421 "isConstant": false, 422 "isLValue": false, 423 "isPure": true, 424 "lValueRequested": false, 425 "nodeType": "ElementaryTypeNameExpression", 426 "src": "239:7:1", 427 "typeDescriptions": 428 { 429 "typeIdentifier": "t_type$_t_address_$", 430 "typeString": "type(address)" 431 }, 432 "typeName": 433 { 434 "id": 31, 435 "name": "address", 436 "nodeType": "ElementaryTypeName", 437 "src": "239:7:1", 438 "typeDescriptions": {} 439 } 440 }, 441 "id": 34, 442 "isConstant": false, 443 "isLValue": false, 444 "isPure": true, 445 "kind": "typeConversion", 446 "lValueRequested": false, 447 "names": [], 448 "nodeType": "FunctionCall", 449 "src": "239:10:1", 450 "tryCall": false, 451 "typeDescriptions": 452 { 453 "typeIdentifier": "t_address", 454 "typeString": "address" 455 } 456 }, 457 "src": "232:17:1", 458 "typeDescriptions": 459 { 460 "typeIdentifier": "t_address_payable", 461 "typeString": "address payable" 462 } 463 }, 464 "id": 36, 465 "nodeType": "ExpressionStatement", 466 "src": "232:17:1" 467 } 468 ] 469 }, 470 "functionSelector": "fc68521a", 471 "id": 38, 472 "implemented": true, 473 "kind": "function", 474 "modifiers": [], 475 "name": "f", 476 "nameLocation": "76:1:1", 477 "nodeType": "FunctionDefinition", 478 "parameters": 479 { 480 "id": 7, 481 "nodeType": "ParameterList", 482 "parameters": 483 [ 484 { 485 "constant": false, 486 "id": 6, 487 "mutability": "mutable", 488 "name": "arg", 489 "nameLocation": "94:3:1", 490 "nodeType": "VariableDeclaration", 491 "scope": 38, 492 "src": "78:19:1", 493 "stateVariable": false, 494 "storageLocation": "default", 495 "typeDescriptions": 496 { 497 "typeIdentifier": "t_address_payable", 498 "typeString": "address payable" 499 }, 500 "typeName": 501 { 502 "id": 5, 503 "name": "address", 504 "nodeType": "ElementaryTypeName", 505 "src": "78:15:1", 506 "stateMutability": "payable", 507 "typeDescriptions": 508 { 509 "typeIdentifier": "t_address_payable", 510 "typeString": "address payable" 511 } 512 }, 513 "visibility": "internal" 514 } 515 ], 516 "src": "77:21:1" 517 }, 518 "returnParameters": 519 { 520 "id": 10, 521 "nodeType": "ParameterList", 522 "parameters": 523 [ 524 { 525 "constant": false, 526 "id": 9, 527 "mutability": "mutable", 528 "name": "r", 529 "nameLocation": "131:1:1", 530 "nodeType": "VariableDeclaration", 531 "scope": 38, 532 "src": "115:17:1", 533 "stateVariable": false, 534 "storageLocation": "default", 535 "typeDescriptions": 536 { 537 "typeIdentifier": "t_address_payable", 538 "typeString": "address payable" 539 }, 540 "typeName": 541 { 542 "id": 8, 543 "name": "address", 544 "nodeType": "ElementaryTypeName", 545 "src": "115:15:1", 546 "stateMutability": "payable", 547 "typeDescriptions": 548 { 549 "typeIdentifier": "t_address_payable", 550 "typeString": "address payable" 551 } 552 }, 553 "visibility": "internal" 554 } 555 ], 556 "src": "114:19:1" 557 }, 558 "scope": 39, 559 "src": "67:189:1", 560 "stateMutability": "nonpayable", 561 "virtual": false, 562 "visibility": "public" 563 } 564 ], 565 "scope": 40, 566 "src": "0:258:1", 567 "usedErrors": [] 568 } 569 ], 570 "src": "0:259:1" 571} 572