mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
208 lines
7.0 KiB
JSON
208 lines
7.0 KiB
JSON
{
|
|
"absolutePath": "a",
|
|
"id": 7,
|
|
"nodeType": "SourceUnit",
|
|
"nodes":
|
|
[
|
|
{
|
|
"abstract": false,
|
|
"baseContracts": [],
|
|
"contractDependencies": [],
|
|
"contractKind": "contract",
|
|
"id": 6,
|
|
"name": "C",
|
|
"nameLocation": "9:1:1",
|
|
"nodeType": "ContractDefinition",
|
|
"nodes":
|
|
[
|
|
{
|
|
"body":
|
|
{
|
|
"id": 4,
|
|
"nodeType": "Block",
|
|
"src": "42:154:1",
|
|
"statements":
|
|
[
|
|
{
|
|
"AST":
|
|
{
|
|
"nativeSrc": "61:129:1",
|
|
"nodeType": "YulBlock",
|
|
"src": "61:129:1",
|
|
"statements":
|
|
[
|
|
{
|
|
"nativeSrc": "75:10:1",
|
|
"nodeType": "YulVariableDeclaration",
|
|
"src": "75:10:1",
|
|
"value":
|
|
{
|
|
"kind": "number",
|
|
"nativeSrc": "84:1:1",
|
|
"nodeType": "YulLiteral",
|
|
"src": "84:1:1",
|
|
"type": "",
|
|
"value": "0"
|
|
},
|
|
"variables":
|
|
[
|
|
{
|
|
"name": "v",
|
|
"nativeSrc": "79:1:1",
|
|
"nodeType": "YulTypedName",
|
|
"src": "79:1:1",
|
|
"type": ""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"cases":
|
|
[
|
|
{
|
|
"body":
|
|
{
|
|
"nativeSrc": "139:10:1",
|
|
"nodeType": "YulBlock",
|
|
"src": "139:10:1",
|
|
"statements":
|
|
[
|
|
{
|
|
"nativeSrc": "141:6:1",
|
|
"nodeType": "YulAssignment",
|
|
"src": "141:6:1",
|
|
"value":
|
|
{
|
|
"kind": "number",
|
|
"nativeSrc": "146:1:1",
|
|
"nodeType": "YulLiteral",
|
|
"src": "146:1:1",
|
|
"type": "",
|
|
"value": "1"
|
|
},
|
|
"variableNames":
|
|
[
|
|
{
|
|
"name": "v",
|
|
"nativeSrc": "141:1:1",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "141:1:1"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"nativeSrc": "132:17:1",
|
|
"nodeType": "YulCase",
|
|
"src": "132:17:1",
|
|
"value":
|
|
{
|
|
"kind": "number",
|
|
"nativeSrc": "137:1:1",
|
|
"nodeType": "YulLiteral",
|
|
"src": "137:1:1",
|
|
"type": "",
|
|
"value": "0"
|
|
}
|
|
},
|
|
{
|
|
"body":
|
|
{
|
|
"nativeSrc": "170:10:1",
|
|
"nodeType": "YulBlock",
|
|
"src": "170:10:1",
|
|
"statements":
|
|
[
|
|
{
|
|
"nativeSrc": "172:6:1",
|
|
"nodeType": "YulAssignment",
|
|
"src": "172:6:1",
|
|
"value":
|
|
{
|
|
"kind": "number",
|
|
"nativeSrc": "177:1:1",
|
|
"nodeType": "YulLiteral",
|
|
"src": "177:1:1",
|
|
"type": "",
|
|
"value": "2"
|
|
},
|
|
"variableNames":
|
|
[
|
|
{
|
|
"name": "v",
|
|
"nativeSrc": "172:1:1",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "172:1:1"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"nativeSrc": "162:18:1",
|
|
"nodeType": "YulCase",
|
|
"src": "162:18:1",
|
|
"value": "default"
|
|
}
|
|
],
|
|
"expression":
|
|
{
|
|
"arguments": [],
|
|
"functionName":
|
|
{
|
|
"name": "calldatasize",
|
|
"nativeSrc": "105:12:1",
|
|
"nodeType": "YulIdentifier",
|
|
"src": "105:12:1"
|
|
},
|
|
"nativeSrc": "105:14:1",
|
|
"nodeType": "YulFunctionCall",
|
|
"src": "105:14:1"
|
|
},
|
|
"nativeSrc": "98:82:1",
|
|
"nodeType": "YulSwitch",
|
|
"src": "98:82:1"
|
|
}
|
|
]
|
|
},
|
|
"evmVersion": %EVMVERSION%,
|
|
"externalReferences": [],
|
|
"id": 3,
|
|
"nodeType": "InlineAssembly",
|
|
"src": "52:138:1"
|
|
}
|
|
]
|
|
},
|
|
"id": 5,
|
|
"implemented": true,
|
|
"kind": "function",
|
|
"modifiers": [],
|
|
"name": "f",
|
|
"nameLocation": "26:1:1",
|
|
"nodeType": "FunctionDefinition",
|
|
"parameters":
|
|
{
|
|
"id": 1,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "27:2:1"
|
|
},
|
|
"returnParameters":
|
|
{
|
|
"id": 2,
|
|
"nodeType": "ParameterList",
|
|
"parameters": [],
|
|
"src": "42:0:1"
|
|
},
|
|
"src": "17:179:1",
|
|
"stateMutability": "pure",
|
|
"virtual": false,
|
|
"visibility": "public"
|
|
}
|
|
],
|
|
"src": "0:198:1",
|
|
"usedErrors": [],
|
|
"usedEvents": []
|
|
}
|
|
],
|
|
"src": "0:199:1"
|
|
}
|