253 lines
6.9 KiB
JSON
253 lines
6.9 KiB
JSON
|
{
|
||
|
"absolutePath": "a",
|
||
|
"exportedSymbols":
|
||
|
{
|
||
|
"C":
|
||
|
[
|
||
|
12
|
||
|
]
|
||
|
},
|
||
|
"id": 13,
|
||
|
"nodeType": "SourceUnit",
|
||
|
"nodes":
|
||
|
[
|
||
|
{
|
||
|
"abstract": false,
|
||
|
"baseContracts": [],
|
||
|
"canonicalName": "C",
|
||
|
"contractDependencies": [],
|
||
|
"contractKind": "contract",
|
||
|
"fullyImplemented": true,
|
||
|
"id": 12,
|
||
|
"linearizedBaseContracts":
|
||
|
[
|
||
|
12
|
||
|
],
|
||
|
"name": "C",
|
||
|
"nameLocation": "9:1:1",
|
||
|
"nodeType": "ContractDefinition",
|
||
|
"nodes":
|
||
|
[
|
||
|
{
|
||
|
"canonicalName": "C.S",
|
||
|
"id": 3,
|
||
|
"members":
|
||
|
[
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 2,
|
||
|
"mutability": "mutable",
|
||
|
"name": "x",
|
||
|
"nameLocation": "33:1:1",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"scope": 3,
|
||
|
"src": "28:6:1",
|
||
|
"stateVariable": false,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions":
|
||
|
{
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
},
|
||
|
"typeName":
|
||
|
{
|
||
|
"id": 1,
|
||
|
"name": "uint",
|
||
|
"nodeType": "ElementaryTypeName",
|
||
|
"src": "28:4:1",
|
||
|
"typeDescriptions":
|
||
|
{
|
||
|
"typeIdentifier": "t_uint256",
|
||
|
"typeString": "uint256"
|
||
|
}
|
||
|
},
|
||
|
"visibility": "internal"
|
||
|
}
|
||
|
],
|
||
|
"name": "S",
|
||
|
"nameLocation": "24:1:1",
|
||
|
"nodeType": "StructDefinition",
|
||
|
"scope": 12,
|
||
|
"src": "17:20:1",
|
||
|
"visibility": "public"
|
||
|
},
|
||
|
{
|
||
|
"constant": false,
|
||
|
"id": 6,
|
||
|
"mutability": "mutable",
|
||
|
"name": "s",
|
||
|
"nameLocation": "44:1:1",
|
||
|
"nodeType": "VariableDeclaration",
|
||
|
"scope": 12,
|
||
|
"src": "42:3:1",
|
||
|
"stateVariable": true,
|
||
|
"storageLocation": "default",
|
||
|
"typeDescriptions":
|
||
|
{
|
||
|
"typeIdentifier": "t_struct$_S_$3_storage",
|
||
|
"typeString": "struct C.S"
|
||
|
},
|
||
|
"typeName":
|
||
|
{
|
||
|
"id": 5,
|
||
|
"nodeType": "UserDefinedTypeName",
|
||
|
"pathNode":
|
||
|
{
|
||
|
"id": 4,
|
||
|
"name": "S",
|
||
|
"nameLocations":
|
||
|
[
|
||
|
"42:1:1"
|
||
|
],
|
||
|
"nodeType": "IdentifierPath",
|
||
|
"referencedDeclaration": 3,
|
||
|
"src": "42:1:1"
|
||
|
},
|
||
|
"referencedDeclaration": 3,
|
||
|
"src": "42:1:1",
|
||
|
"typeDescriptions":
|
||
|
{
|
||
|
"typeIdentifier": "t_struct$_S_$3_storage_ptr",
|
||
|
"typeString": "struct C.S"
|
||
|
}
|
||
|
},
|
||
|
"visibility": "internal"
|
||
|
},
|
||
|
{
|
||
|
"body":
|
||
|
{
|
||
|
"id": 10,
|
||
|
"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": "london",
|
||
|
"externalReferences":
|
||
|
[
|
||
|
{
|
||
|
"declaration": 6,
|
||
|
"isOffset": true,
|
||
|
"isSlot": false,
|
||
|
"src": "106:8:1",
|
||
|
"suffix": "offset",
|
||
|
"valueSize": 1
|
||
|
},
|
||
|
{
|
||
|
"declaration": 6,
|
||
|
"isOffset": false,
|
||
|
"isSlot": true,
|
||
|
"src": "128:6:1",
|
||
|
"suffix": "slot",
|
||
|
"valueSize": 1
|
||
|
}
|
||
|
],
|
||
|
"id": 9,
|
||
|
"nodeType": "InlineAssembly",
|
||
|
"src": "86:54:1"
|
||
|
}
|
||
|
]
|
||
|
},
|
||
|
"functionSelector": "ffae15ba",
|
||
|
"id": 11,
|
||
|
"implemented": true,
|
||
|
"kind": "function",
|
||
|
"modifiers": [],
|
||
|
"name": "e",
|
||
|
"nameLocation": "60:1:1",
|
||
|
"nodeType": "FunctionDefinition",
|
||
|
"parameters":
|
||
|
{
|
||
|
"id": 7,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "61:2:1"
|
||
|
},
|
||
|
"returnParameters":
|
||
|
{
|
||
|
"id": 8,
|
||
|
"nodeType": "ParameterList",
|
||
|
"parameters": [],
|
||
|
"src": "76:0:1"
|
||
|
},
|
||
|
"scope": 12,
|
||
|
"src": "51:95:1",
|
||
|
"stateMutability": "pure",
|
||
|
"virtual": false,
|
||
|
"visibility": "public"
|
||
|
}
|
||
|
],
|
||
|
"scope": 13,
|
||
|
"src": "0:148:1",
|
||
|
"usedErrors": []
|
||
|
}
|
||
|
],
|
||
|
"src": "0:149:1"
|
||
|
}
|