{ "absolutePath": "a", "id": 12, "nodeType": "SourceUnit", "nodes": [ { "abstract": false, "baseContracts": [], "contractDependencies": [], "contractKind": "contract", "id": 11, "name": "C", "nodeType": "ContractDefinition", "nodes": [ { "id": 3, "members": [ { "constant": false, "id": 2, "mutability": "mutable", "name": "x", "nodeType": "VariableDeclaration", "src": "28:6:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": {}, "typeName": { "id": 1, "name": "uint", "nodeType": "ElementaryTypeName", "src": "28:4:1", "typeDescriptions": {} }, "visibility": "internal" } ], "name": "S", "nodeType": "StructDefinition", "src": "17:20:1", "visibility": "public" }, { "constant": false, "id": 5, "mutability": "mutable", "name": "s", "nodeType": "VariableDeclaration", "src": "42:3:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": {}, "typeName": { "id": 4, "name": "S", "nodeType": "UserDefinedTypeName", "src": "42:1:1", "typeDescriptions": {} }, "visibility": "internal" }, { "body": { "id": 9, "nodeType": "Block", "src": "76:70:1", "statements": [ { "AST": { "nodeType": "YulBlock", "src": "95:45:1", "statements": [ { "nodeType": "YulVariableDeclaration", "src": "97:17:1", "value": { "name": "s.offset", "nodeType": "YulIdentifier", "src": "106:8:1" }, "variables": [ { "name": "x", "nodeType": "YulTypedName", "src": "101:1:1", "type": "" } ] }, { "nodeType": "YulVariableDeclaration", "src": "115:23:1", "value": { "arguments": [ { "name": "s.slot", "nodeType": "YulIdentifier", "src": "128:6:1" }, { "kind": "number", "nodeType": "YulLiteral", "src": "136:1:1", "type": "", "value": "2" } ], "functionName": { "name": "mul", "nodeType": "YulIdentifier", "src": "124:3:1" }, "nodeType": "YulFunctionCall", "src": "124:14:1" }, "variables": [ { "name": "y", "nodeType": "YulTypedName", "src": "119:1:1", "type": "" } ] } ] }, "evmVersion": %EVMVERSION%, "externalReferences": [], "id": 8, "nodeType": "InlineAssembly", "src": "86:54:1" } ] }, "id": 10, "implemented": true, "kind": "function", "modifiers": [], "name": "e", "nodeType": "FunctionDefinition", "parameters": { "id": 6, "nodeType": "ParameterList", "parameters": [], "src": "61:2:1" }, "returnParameters": { "id": 7, "nodeType": "ParameterList", "parameters": [], "src": "76:0:1" }, "src": "51:95:1", "stateMutability": "pure", "virtual": false, "visibility": "public" } ], "src": "0:148:1" } ], "src": "0:149:1" }