UNPKG

@newos/upgrades

Version:
948 lines (947 loc) 46.1 kB
{ "fileName": "WithStructInConstructor.sol", "contractName": "WithStructInConstructor", "source": "pragma experimental ABIEncoderV2;\n\ncontract WithStructInConstructor {\n\n struct Data {\n string foo;\n string bar;\n uint256 buz;\n }\n\n Data public localData;\n address public sender;\n\n constructor(Data memory _data) public {\n localData.foo = _data.foo;\n localData.bar = _data.bar;\n localData.buz = _data.buz;\n sender = msg.sender;\n }\n\n function foo() public view returns (string memory) {\n return localData.foo;\n }\n\n function bar() public view returns (string memory) {\n return localData.bar;\n }\n\n function buz() public view returns (uint256) {\n return localData.buz;\n }\n}\n", "sourcePath": "contracts/mocks/WithStructInConstructor.sol", "sourceMap": "35:574:26:-;;;194:161;8:9:-1;5:2;;;30:1;27;20:12;5:2;194:161:26;;;;;;;;;;;;;;;;;;;;;;254:5;:9;;;238;:13;;:25;;;;;;;;;;;;:::i;:::-;;285:5;:9;;;269;:13;;:25;;;;;;;;;;;;:::i;:::-;;316:5;:9;;;300;:13;;:25;;;;340:10;331:6;;:19;;;;;;;;;;;;;;;;;;194:161;35:574;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6:436:-1:-;;115:3;108:4;100:6;96:17;92:27;85:35;82:2;;;133:1;130;123:12;82:2;163:6;157:13;185:61;200:45;238:6;200:45;;;185:61;;;176:70;;266:6;259:5;252:21;302:4;294:6;290:17;335:4;328:5;324:16;370:3;361:6;356:3;352:16;349:25;346:2;;;387:1;384;377:12;346:2;397:39;429:6;424:3;419;397:39;;;75:367;;;;;;;;492:818;;614:4;602:9;597:3;593:19;589:30;586:2;;;632:1;629;622:12;586:2;650:20;665:4;650:20;;;641:29;;740:1;729:9;725:17;719:24;763:18;755:6;752:30;749:2;;;795:1;792;785:12;749:2;829:66;891:3;882:6;871:9;867:22;829:66;;;823:3;816:5;812:15;805:91;680:227;977:2;966:9;962:18;956:25;1001:18;993:6;990:30;987:2;;;1033:1;1030;1023:12;987:2;1068:66;1130:3;1121:6;1110:9;1106:22;1068:66;;;1061:4;1054:5;1050:16;1043:92;917:229;1195:2;1228:60;1284:3;1275:6;1264:9;1260:22;1228:60;;;1221:4;1214:5;1210:16;1203:86;1156:144;580:730;;;;;1317:122;;1395:39;1426:6;1420:13;1395:39;;;1386:48;;1380:59;;;;;1446:386;;1583:2;1571:9;1562:7;1558:23;1554:32;1551:2;;;1599:1;1596;1589:12;1551:2;1655:1;1644:9;1640:17;1634:24;1678:18;1670:6;1667:30;1664:2;;;1710:1;1707;1700:12;1664:2;1730:86;1808:7;1799:6;1788:9;1784:22;1730:86;;;1720:96;;1613:209;1545:287;;;;;1839:256;;1901:2;1895:9;1885:19;;1939:4;1931:6;1927:17;2038:6;2026:10;2023:22;2002:18;1990:10;1987:34;1984:62;1981:2;;;2059:1;2056;2049:12;1981:2;2079:10;2075:2;2068:22;1879:216;;;;;2102:255;;2242:18;2234:6;2231:30;2228:2;;;2274:1;2271;2264:12;2228:2;2318:4;2314:9;2307:4;2299:6;2295:17;2291:33;2283:41;;2347:4;2341;2337:15;2329:23;;2165:192;;;;2364:79;;2433:5;2422:16;;2416:27;;;;2451:268;2516:1;2523:101;2537:6;2534:1;2531:13;2523:101;;;2613:1;2608:3;2604:11;2598:18;2594:1;2589:3;2585:11;2578:39;2559:2;2556:1;2552:10;2547:15;;2523:101;;;2639:6;2636:1;2633:13;2630:2;;;2704:1;2695:6;2690:3;2686:16;2679:27;2630:2;2500:219;;;;;35:574:26;;;;;;;", "deployedSourceMap": "35:574:26:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;35:574:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;143:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;168;;;:::i;:::-;;;;;;;;;;;;;;;;531:76;;;:::i;:::-;;;;;;;;;;;;;;;;359:82;;;:::i;:::-;;;;;;;;;;;;;;;;445;;;:::i;:::-;;;;;;;;;;;;;;;;143:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;168:::-;;;;;;;;;;;;;:::o;531:76::-;567:7;589:9;:13;;;582:20;;531:76;:::o;359:82::-;395:13;423:9;:13;;416:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;359:82;:::o;445:::-;481:13;509:9;:13;;502:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;445:82;:::o;5:120:-1:-;88:31;113:5;88:31;;;83:3;76:44;70:55;;;132:310;;244:39;277:5;244:39;;;300:6;295:3;288:19;312:63;368:6;361:4;356:3;352:14;345:4;338:5;334:16;312:63;;;407:29;429:6;407:29;;;400:4;395:3;391:14;387:50;380:57;;224:218;;;;;;449:302;;557:35;586:5;557:35;;;609:6;604:3;597:19;621:63;677:6;670:4;665:3;661:14;654:4;647:5;643:16;621:63;;;716:29;738:6;716:29;;;709:4;704:3;700:14;696:50;689:57;;537:214;;;;;;758:120;841:31;866:5;841:31;;;836:3;829:44;823:55;;;885:213;;1003:2;992:9;988:18;980:26;;1017:71;1085:1;1074:9;1070:17;1061:6;1017:71;;;974:124;;;;;1105:301;;1243:2;1232:9;1228:18;1220:26;;1293:9;1287:4;1283:20;1279:1;1268:9;1264:17;1257:47;1318:78;1391:4;1382:6;1318:78;;;1310:86;;1214:192;;;;;1413:595;;1619:2;1608:9;1604:18;1596:26;;1669:9;1663:4;1659:20;1655:1;1644:9;1640:17;1633:47;1694:74;1763:4;1754:6;1694:74;;;1686:82;;1816:9;1810:4;1806:20;1801:2;1790:9;1786:18;1779:48;1841:74;1910:4;1901:6;1841:74;;;1833:82;;1926:72;1994:2;1983:9;1979:18;1970:6;1926:72;;;1590:418;;;;;;;2015:213;;2133:2;2122:9;2118:18;2110:26;;2147:71;2215:1;2204:9;2200:17;2191:6;2147:71;;;2104:124;;;;;2235:88;;2312:5;2306:12;2296:22;;2290:33;;;;2330:92;;2411:5;2405:12;2395:22;;2389:33;;;;2429:105;;2498:31;2523:5;2498:31;;;2487:42;;2481:53;;;;2541:128;;2621:42;2614:5;2610:54;2599:65;;2593:76;;;;2676:79;;2745:5;2734:16;;2728:27;;;;2763:268;2828:1;2835:101;2849:6;2846:1;2843:13;2835:101;;;2925:1;2920:3;2916:11;2910:18;2906:1;2901:3;2897:11;2890:39;2871:2;2868:1;2864:10;2859:15;;2835:101;;;2951:6;2948:1;2945:13;2942:2;;;3016:1;3007:6;3002:3;2998:16;2991:27;2942:2;2812:219;;;;;3039:97;;3127:2;3123:7;3118:2;3111:5;3107:14;3103:28;3093:38;;3087:49;;;", "abi": [ { "constant": true, "inputs": [], "name": "localData", "outputs": [ { "name": "foo", "type": "string" }, { "name": "bar", "type": "string" }, { "name": "buz", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "sender", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "buz", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "foo", "outputs": [ { "name": "", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "bar", "outputs": [ { "name": "", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "inputs": [ { "components": [ { "name": "foo", "type": "string" }, { "name": "bar", "type": "string" }, { "name": "buz", "type": "uint256" } ], "name": "_data", "type": "tuple" } ], "payable": false, "stateMutability": "nonpayable", "type": "constructor" } ], "ast": { "absolutePath": "contracts/mocks/WithStructInConstructor.sol", "exportedSymbols": { "WithStructInConstructor": [ 4994 ] }, "id": 4995, "nodeType": "SourceUnit", "nodes": [ { "id": 4923, "literals": [ "experimental", "ABIEncoderV2" ], "nodeType": "PragmaDirective", "src": "0:33:26" }, { "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, "id": 4994, "linearizedBaseContracts": [ 4994 ], "name": "WithStructInConstructor", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "WithStructInConstructor.Data", "id": 4930, "members": [ { "constant": false, "id": 4925, "name": "foo", "nodeType": "VariableDeclaration", "scope": 4930, "src": "91:10:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }, "typeName": { "id": 4924, "name": "string", "nodeType": "ElementaryTypeName", "src": "91:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 4927, "name": "bar", "nodeType": "VariableDeclaration", "scope": 4930, "src": "107:10:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }, "typeName": { "id": 4926, "name": "string", "nodeType": "ElementaryTypeName", "src": "107:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" }, { "constant": false, "id": 4929, "name": "buz", "nodeType": "VariableDeclaration", "scope": 4930, "src": "123:11:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 4928, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "123:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "name": "Data", "nodeType": "StructDefinition", "scope": 4994, "src": "73:66:26", "visibility": "public" }, { "constant": false, "id": 4932, "name": "localData", "nodeType": "VariableDeclaration", "scope": 4994, "src": "143:21:26", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$4930_storage", "typeString": "struct WithStructInConstructor.Data" }, "typeName": { "contractScope": null, "id": 4931, "name": "Data", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4930, "src": "143:4:26", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$4930_storage_ptr", "typeString": "struct WithStructInConstructor.Data" } }, "value": null, "visibility": "public" }, { "constant": false, "id": 4934, "name": "sender", "nodeType": "VariableDeclaration", "scope": 4994, "src": "168:21:26", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 4933, "name": "address", "nodeType": "ElementaryTypeName", "src": "168:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, "visibility": "public" }, { "body": { "id": 4965, "nodeType": "Block", "src": "232:123:26", "statements": [ { "expression": { "argumentTypes": null, "id": 4944, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 4939, "name": "localData", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4932, "src": "238:9:26", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$4930_storage", "typeString": "struct WithStructInConstructor.Data storage ref" } }, "id": 4941, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "foo", "nodeType": "MemberAccess", "referencedDeclaration": 4925, "src": "238:13:26", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 4942, "name": "_data", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4936, "src": "254:5:26", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$4930_memory_ptr", "typeString": "struct WithStructInConstructor.Data memory" } }, "id": 4943, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "foo", "nodeType": "MemberAccess", "referencedDeclaration": 4925, "src": "254:9:26", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string memory" } }, "src": "238:25:26", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "id": 4945, "nodeType": "ExpressionStatement", "src": "238:25:26" }, { "expression": { "argumentTypes": null, "id": 4951, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 4946, "name": "localData", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4932, "src": "269:9:26", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$4930_storage", "typeString": "struct WithStructInConstructor.Data storage ref" } }, "id": 4948, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "bar", "nodeType": "MemberAccess", "referencedDeclaration": 4927, "src": "269:13:26", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 4949, "name": "_data", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4936, "src": "285:5:26", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$4930_memory_ptr", "typeString": "struct WithStructInConstructor.Data memory" } }, "id": 4950, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bar", "nodeType": "MemberAccess", "referencedDeclaration": 4927, "src": "285:9:26", "typeDescriptions": { "typeIdentifier": "t_string_memory", "typeString": "string memory" } }, "src": "269:25:26", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "id": 4952, "nodeType": "ExpressionStatement", "src": "269:25:26" }, { "expression": { "argumentTypes": null, "id": 4958, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 4953, "name": "localData", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4932, "src": "300:9:26", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$4930_storage", "typeString": "struct WithStructInConstructor.Data storage ref" } }, "id": 4955, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, "memberName": "buz", "nodeType": "MemberAccess", "referencedDeclaration": 4929, "src": "300:13:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 4956, "name": "_data", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4936, "src": "316:5:26", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$4930_memory_ptr", "typeString": "struct WithStructInConstructor.Data memory" } }, "id": 4957, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "buz", "nodeType": "MemberAccess", "referencedDeclaration": 4929, "src": "316:9:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "src": "300:25:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "id": 4959, "nodeType": "ExpressionStatement", "src": "300:25:26" }, { "expression": { "argumentTypes": null, "id": 4963, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, "id": 4960, "name": "sender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4934, "src": "331:6:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 4961, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 6463, "src": "340:3:26", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, "id": 4962, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, "src": "340:10:26", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, "src": "331:19:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 4964, "nodeType": "ExpressionStatement", "src": "331:19:26" } ] }, "documentation": null, "id": 4966, "implemented": true, "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { "id": 4937, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 4936, "name": "_data", "nodeType": "VariableDeclaration", "scope": 4966, "src": "206:17:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$4930_memory_ptr", "typeString": "struct WithStructInConstructor.Data" }, "typeName": { "contractScope": null, "id": 4935, "name": "Data", "nodeType": "UserDefinedTypeName", "referencedDeclaration": 4930, "src": "206:4:26", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$4930_storage_ptr", "typeString": "struct WithStructInConstructor.Data" } }, "value": null, "visibility": "internal" } ], "src": "205:19:26" }, "returnParameters": { "id": 4938, "nodeType": "ParameterList", "parameters": [], "src": "232:0:26" }, "scope": 4994, "src": "194:161:26", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { "id": 4974, "nodeType": "Block", "src": "410:31:26", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 4971, "name": "localData", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4932, "src": "423:9:26", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$4930_storage", "typeString": "struct WithStructInConstructor.Data storage ref" } }, "id": 4972, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "foo", "nodeType": "MemberAccess", "referencedDeclaration": 4925, "src": "423:13:26", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "functionReturnParameters": 4970, "id": 4973, "nodeType": "Return", "src": "416:20:26" } ] }, "documentation": null, "id": 4975, "implemented": true, "kind": "function", "modifiers": [], "name": "foo", "nodeType": "FunctionDefinition", "parameters": { "id": 4967, "nodeType": "ParameterList", "parameters": [], "src": "371:2:26" }, "returnParameters": { "id": 4970, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 4969, "name": "", "nodeType": "VariableDeclaration", "scope": 4975, "src": "395:13:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 4968, "name": "string", "nodeType": "ElementaryTypeName", "src": "395:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "394:15:26" }, "scope": 4994, "src": "359:82:26", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 4983, "nodeType": "Block", "src": "496:31:26", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 4980, "name": "localData", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4932, "src": "509:9:26", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$4930_storage", "typeString": "struct WithStructInConstructor.Data storage ref" } }, "id": 4981, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "bar", "nodeType": "MemberAccess", "referencedDeclaration": 4927, "src": "509:13:26", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, "functionReturnParameters": 4979, "id": 4982, "nodeType": "Return", "src": "502:20:26" } ] }, "documentation": null, "id": 4984, "implemented": true, "kind": "function", "modifiers": [], "name": "bar", "nodeType": "FunctionDefinition", "parameters": { "id": 4976, "nodeType": "ParameterList", "parameters": [], "src": "457:2:26" }, "returnParameters": { "id": 4979, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 4978, "name": "", "nodeType": "VariableDeclaration", "scope": 4984, "src": "481:13:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" }, "typeName": { "id": 4977, "name": "string", "nodeType": "ElementaryTypeName", "src": "481:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "value": null, "visibility": "internal" } ], "src": "480:15:26" }, "scope": 4994, "src": "445:82:26", "stateMutability": "view", "superFunction": null, "visibility": "public" }, { "body": { "id": 4992, "nodeType": "Block", "src": "576:31:26", "statements": [ { "expression": { "argumentTypes": null, "expression": { "argumentTypes": null, "id": 4989, "name": "localData", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4932, "src": "589:9:26", "typeDescriptions": { "typeIdentifier": "t_struct$_Data_$4930_storage", "typeString": "struct WithStructInConstructor.Data storage ref" } }, "id": 4990, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "buz", "nodeType": "MemberAccess", "referencedDeclaration": 4929, "src": "589:13:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "functionReturnParameters": 4988, "id": 4991, "nodeType": "Return", "src": "582:20:26" } ] }, "documentation": null, "id": 4993, "implemented": true, "kind": "function", "modifiers": [], "name": "buz", "nodeType": "FunctionDefinition", "parameters": { "id": 4985, "nodeType": "ParameterList", "parameters": [], "src": "543:2:26" }, "returnParameters": { "id": 4988, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 4987, "name": "", "nodeType": "VariableDeclaration", "scope": 4993, "src": "567:7:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 4986, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "567:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], "src": "566:9:26" }, "scope": 4994, "src": "531:76:26", "stateMutability": "view", "superFunction": null, "visibility": "public" } ], "scope": 4995, "src": "35:574:26" } ], "src": "0:610:26" }, "bytecode": "0x60806040523480156200001157600080fd5b5060405160608062000924833981018060405262000033919081019062000286565b806000015160008001908051906020019062000051929190620000c8565b5080602001516000600101908051906020019062000071929190620000c8565b50806040015160006002018190555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505062000366565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200010b57805160ff19168380011785556200013c565b828001600101855582156200013c579182015b828111156200013b5782518255916020019190600101906200011e565b5b5090506200014b91906200014f565b5090565b6200017491905b808211156200017057600081600090555060010162000156565b5090565b90565b600082601f83011215156200018b57600080fd5b8151620001a26200019c82620002f9565b620002cb565b91508082526020830160208301858383011115620001bf57600080fd5b620001cc83828462000330565b50505092915050565b600060608284031215620001e857600080fd5b620001f46060620002cb565b9050600082015167ffffffffffffffff8111156200021157600080fd5b6200021f8482850162000177565b600083015250602082015167ffffffffffffffff8111156200024057600080fd5b6200024e8482850162000177565b6020830152506040620002648482850162000270565b60408301525092915050565b60006200027e825162000326565b905092915050565b6000602082840312156200029957600080fd5b600082015167ffffffffffffffff811115620002b457600080fd5b620002c284828501620001d5565b91505092915050565b6000604051905081810181811067ffffffffffffffff82111715620002ef57600080fd5b8060405250919050565b600067ffffffffffffffff8211156200031157600080fd5b601f19601f8301169050602081019050919050565b6000819050919050565b60005b838110156200035057808201518184015260208101905062000333565b8381111562000360576000848401525b50505050565b6105ae80620003766000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80634efe82681461005c57806367e404ce1461007c578063bbe8f0841461009a578063c2985578146100b8578063febb0f7e146100d6575b600080fd5b6100646100f4565b6040516100739392919061047e565b60405180910390f35b61008461023c565b6040516100919190610441565b60405180910390f35b6100a2610262565b6040516100af91906104c3565b60405180910390f35b6100c061026e565b6040516100cd919061045c565b60405180910390f35b6100de610312565b6040516100eb919061045c565b60405180910390f35b6000806000018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561018e5780601f106101635761010080835404028352916020019161018e565b820191906000526020600020905b81548152906001019060200180831161017157829003601f168201915b505050505090806001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561022c5780601f106102015761010080835404028352916020019161022c565b820191906000526020600020905b81548152906001019060200180831161020f57829003601f168201915b5050505050908060020154905083565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060020154905090565b6060600080018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103085780601f106102dd57610100808354040283529160200191610308565b820191906000526020600020905b8154815290600101906020018083116102eb57829003601f168201915b5050505050905090565b606060006001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103ad5780601f10610382576101008083540402835291602001916103ad565b820191906000526020600020905b81548152906001019060200180831161039057829003601f168201915b5050505050905090565b6103c0816104f4565b82525050565b60006103d1826104e9565b8084526103e5816020860160208601610530565b6103ee81610563565b602085010191505092915050565b6000610407826104de565b80845261041b816020860160208601610530565b61042481610563565b602085010191505092915050565b61043b81610526565b82525050565b600060208201905061045660008301846103b7565b92915050565b6000602082019050818103600083015261047681846103c6565b905092915050565b6000606082019050818103600083015261049881866103fc565b905081810360208301526104ac81856103fc565b90506104bb6040830184610432565b949350505050565b60006020820190506104d86000830184610432565b92915050565b600081519050919050565b600081519050919050565b60006104ff82610506565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101561054e578082015181840152602081019050610533565b8381111561055d576000848401525b50505050565b6000601f19601f830116905091905056fea265627a7a723058204aabcac9fce51ca9b3b69e12097067014e2cbb007b37db1403c71af078c5a7f86c6578706572696d656e74616cf50037", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80634efe82681461005c57806367e404ce1461007c578063bbe8f0841461009a578063c2985578146100b8578063febb0f7e146100d6575b600080fd5b6100646100f4565b6040516100739392919061047e565b60405180910390f35b61008461023c565b6040516100919190610441565b60405180910390f35b6100a2610262565b6040516100af91906104c3565b60405180910390f35b6100c061026e565b6040516100cd919061045c565b60405180910390f35b6100de610312565b6040516100eb919061045c565b60405180910390f35b6000806000018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561018e5780601f106101635761010080835404028352916020019161018e565b820191906000526020600020905b81548152906001019060200180831161017157829003601f168201915b505050505090806001018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561022c5780601f106102015761010080835404028352916020019161022c565b820191906000526020600020905b81548152906001019060200180831161020f57829003601f168201915b5050505050908060020154905083565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060020154905090565b6060600080018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103085780601f106102dd57610100808354040283529160200191610308565b820191906000526020600020905b8154815290600101906020018083116102eb57829003601f168201915b5050505050905090565b606060006001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103ad5780601f10610382576101008083540402835291602001916103ad565b820191906000526020600020905b81548152906001019060200180831161039057829003601f168201915b5050505050905090565b6103c0816104f4565b82525050565b60006103d1826104e9565b8084526103e5816020860160208601610530565b6103ee81610563565b602085010191505092915050565b6000610407826104de565b80845261041b816020860160208601610530565b61042481610563565b602085010191505092915050565b61043b81610526565b82525050565b600060208201905061045660008301846103b7565b92915050565b6000602082019050818103600083015261047681846103c6565b905092915050565b6000606082019050818103600083015261049881866103fc565b905081810360208301526104ac81856103fc565b90506104bb6040830184610432565b949350505050565b60006020820190506104d86000830184610432565b92915050565b600081519050919050565b600081519050919050565b60006104ff82610506565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101561054e578082015181840152602081019050610533565b8381111561055d576000848401525b50505050565b6000601f19601f830116905091905056fea265627a7a723058204aabcac9fce51ca9b3b69e12097067014e2cbb007b37db1403c71af078c5a7f86c6578706572696d656e74616cf50037", "compiler": { "name": "solc", "version": "0.5.3+commit.10d17f24.Emscripten.clang", "optimizer": {}, "evmVersion": "constantinople" } }