@newos/upgrades
Version:
Core JavaScript library for the NewOS
948 lines (947 loc) • 46.1 kB
JSON
{
"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"
}
}