Yul AST output on the CLI and in Standard JSON

This commit is contained in:
GiokaMarkella
2023-05-26 12:35:31 +02:00
committed by Kamil Śliwak
parent bb16f61e1c
commit 28a1abf89a
62 changed files with 4542 additions and 43 deletions
+1
View File
@@ -0,0 +1 @@
--ir-ast-json --ir-optimized-ast-json --optimize --pretty-json --json-indent 4
+4
View File
@@ -0,0 +1,4 @@
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.0;
contract C {}
File diff suppressed because it is too large Load Diff
@@ -9,6 +9,7 @@
{
"ast":
{
"nativeSrc": "0:1856:1",
"nodeType": "YulBlock",
"src": "0:1856:1",
"statements":
@@ -16,11 +17,13 @@
{
"body":
{
"nativeSrc": "47:35:1",
"nodeType": "YulBlock",
"src": "47:35:1",
"statements":
[
{
"nativeSrc": "57:19:1",
"nodeType": "YulAssignment",
"src": "57:19:1",
"value":
@@ -29,6 +32,7 @@
[
{
"kind": "number",
"nativeSrc": "73:2:1",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
@@ -38,9 +42,11 @@
"functionName":
{
"name": "mload",
"nativeSrc": "67:5:1",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nativeSrc": "67:9:1",
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
@@ -48,6 +54,7 @@
[
{
"name": "memPtr",
"nativeSrc": "57:6:1",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
@@ -56,11 +63,13 @@
]
},
"name": "allocate_unbounded",
"nativeSrc": "7:75:1",
"nodeType": "YulFunctionDefinition",
"returnVariables":
[
{
"name": "memPtr",
"nativeSrc": "40:6:1",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
@@ -71,6 +80,7 @@
{
"body":
{
"nativeSrc": "177:28:1",
"nodeType": "YulBlock",
"src": "177:28:1",
"statements":
@@ -82,6 +92,7 @@
[
{
"kind": "number",
"nativeSrc": "194:1:1",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
@@ -89,6 +100,7 @@
},
{
"kind": "number",
"nativeSrc": "197:1:1",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
@@ -98,24 +110,29 @@
"functionName":
{
"name": "revert",
"nativeSrc": "187:6:1",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nativeSrc": "187:12:1",
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nativeSrc": "187:12:1",
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "88:117:1",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body":
{
"nativeSrc": "300:28:1",
"nodeType": "YulBlock",
"src": "300:28:1",
"statements":
@@ -127,6 +144,7 @@
[
{
"kind": "number",
"nativeSrc": "317:1:1",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
@@ -134,6 +152,7 @@
},
{
"kind": "number",
"nativeSrc": "320:1:1",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
@@ -143,24 +162,29 @@
"functionName":
{
"name": "revert",
"nativeSrc": "310:6:1",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nativeSrc": "310:12:1",
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nativeSrc": "310:12:1",
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "211:117:1",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body":
{
"nativeSrc": "423:28:1",
"nodeType": "YulBlock",
"src": "423:28:1",
"statements":
@@ -172,6 +196,7 @@
[
{
"kind": "number",
"nativeSrc": "440:1:1",
"nodeType": "YulLiteral",
"src": "440:1:1",
"type": "",
@@ -179,6 +204,7 @@
},
{
"kind": "number",
"nativeSrc": "443:1:1",
"nodeType": "YulLiteral",
"src": "443:1:1",
"type": "",
@@ -188,24 +214,29 @@
"functionName":
{
"name": "revert",
"nativeSrc": "433:6:1",
"nodeType": "YulIdentifier",
"src": "433:6:1"
},
"nativeSrc": "433:12:1",
"nodeType": "YulFunctionCall",
"src": "433:12:1"
},
"nativeSrc": "433:12:1",
"nodeType": "YulExpressionStatement",
"src": "433:12:1"
}
]
},
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nativeSrc": "334:117:1",
"nodeType": "YulFunctionDefinition",
"src": "334:117:1"
},
{
"body":
{
"nativeSrc": "546:28:1",
"nodeType": "YulBlock",
"src": "546:28:1",
"statements":
@@ -217,6 +248,7 @@
[
{
"kind": "number",
"nativeSrc": "563:1:1",
"nodeType": "YulLiteral",
"src": "563:1:1",
"type": "",
@@ -224,6 +256,7 @@
},
{
"kind": "number",
"nativeSrc": "566:1:1",
"nodeType": "YulLiteral",
"src": "566:1:1",
"type": "",
@@ -233,24 +266,29 @@
"functionName":
{
"name": "revert",
"nativeSrc": "556:6:1",
"nodeType": "YulIdentifier",
"src": "556:6:1"
},
"nativeSrc": "556:12:1",
"nodeType": "YulFunctionCall",
"src": "556:12:1"
},
"nativeSrc": "556:12:1",
"nodeType": "YulExpressionStatement",
"src": "556:12:1"
}
]
},
"name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490",
"nativeSrc": "457:117:1",
"nodeType": "YulFunctionDefinition",
"src": "457:117:1"
},
{
"body":
{
"nativeSrc": "669:28:1",
"nodeType": "YulBlock",
"src": "669:28:1",
"statements":
@@ -262,6 +300,7 @@
[
{
"kind": "number",
"nativeSrc": "686:1:1",
"nodeType": "YulLiteral",
"src": "686:1:1",
"type": "",
@@ -269,6 +308,7 @@
},
{
"kind": "number",
"nativeSrc": "689:1:1",
"nodeType": "YulLiteral",
"src": "689:1:1",
"type": "",
@@ -278,24 +318,29 @@
"functionName":
{
"name": "revert",
"nativeSrc": "679:6:1",
"nodeType": "YulIdentifier",
"src": "679:6:1"
},
"nativeSrc": "679:12:1",
"nodeType": "YulFunctionCall",
"src": "679:12:1"
},
"nativeSrc": "679:12:1",
"nodeType": "YulExpressionStatement",
"src": "679:12:1"
}
]
},
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nativeSrc": "580:117:1",
"nodeType": "YulFunctionDefinition",
"src": "580:117:1"
},
{
"body":
{
"nativeSrc": "810:478:1",
"nodeType": "YulBlock",
"src": "810:478:1",
"statements":
@@ -303,6 +348,7 @@
{
"body":
{
"nativeSrc": "859:83:1",
"nodeType": "YulBlock",
"src": "859:83:1",
"statements":
@@ -314,12 +360,15 @@
"functionName":
{
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
"nativeSrc": "861:77:1",
"nodeType": "YulIdentifier",
"src": "861:77:1"
},
"nativeSrc": "861:79:1",
"nodeType": "YulFunctionCall",
"src": "861:79:1"
},
"nativeSrc": "861:79:1",
"nodeType": "YulExpressionStatement",
"src": "861:79:1"
}
@@ -337,11 +386,13 @@
[
{
"name": "offset",
"nativeSrc": "838:6:1",
"nodeType": "YulIdentifier",
"src": "838:6:1"
},
{
"kind": "number",
"nativeSrc": "846:4:1",
"nodeType": "YulLiteral",
"src": "846:4:1",
"type": "",
@@ -351,14 +402,17 @@
"functionName":
{
"name": "add",
"nativeSrc": "834:3:1",
"nodeType": "YulIdentifier",
"src": "834:3:1"
},
"nativeSrc": "834:17:1",
"nodeType": "YulFunctionCall",
"src": "834:17:1"
},
{
"name": "end",
"nativeSrc": "853:3:1",
"nodeType": "YulIdentifier",
"src": "853:3:1"
}
@@ -366,9 +420,11 @@
"functionName":
{
"name": "slt",
"nativeSrc": "830:3:1",
"nodeType": "YulIdentifier",
"src": "830:3:1"
},
"nativeSrc": "830:27:1",
"nodeType": "YulFunctionCall",
"src": "830:27:1"
}
@@ -376,16 +432,20 @@
"functionName":
{
"name": "iszero",
"nativeSrc": "823:6:1",
"nodeType": "YulIdentifier",
"src": "823:6:1"
},
"nativeSrc": "823:35:1",
"nodeType": "YulFunctionCall",
"src": "823:35:1"
},
"nativeSrc": "820:122:1",
"nodeType": "YulIf",
"src": "820:122:1"
},
{
"nativeSrc": "951:30:1",
"nodeType": "YulAssignment",
"src": "951:30:1",
"value":
@@ -394,6 +454,7 @@
[
{
"name": "offset",
"nativeSrc": "974:6:1",
"nodeType": "YulIdentifier",
"src": "974:6:1"
}
@@ -401,9 +462,11 @@
"functionName":
{
"name": "calldataload",
"nativeSrc": "961:12:1",
"nodeType": "YulIdentifier",
"src": "961:12:1"
},
"nativeSrc": "961:20:1",
"nodeType": "YulFunctionCall",
"src": "961:20:1"
},
@@ -411,6 +474,7 @@
[
{
"name": "length",
"nativeSrc": "951:6:1",
"nodeType": "YulIdentifier",
"src": "951:6:1"
}
@@ -419,6 +483,7 @@
{
"body":
{
"nativeSrc": "1024:83:1",
"nodeType": "YulBlock",
"src": "1024:83:1",
"statements":
@@ -430,12 +495,15 @@
"functionName":
{
"name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490",
"nativeSrc": "1026:77:1",
"nodeType": "YulIdentifier",
"src": "1026:77:1"
},
"nativeSrc": "1026:79:1",
"nodeType": "YulFunctionCall",
"src": "1026:79:1"
},
"nativeSrc": "1026:79:1",
"nodeType": "YulExpressionStatement",
"src": "1026:79:1"
}
@@ -447,11 +515,13 @@
[
{
"name": "length",
"nativeSrc": "996:6:1",
"nodeType": "YulIdentifier",
"src": "996:6:1"
},
{
"kind": "number",
"nativeSrc": "1004:18:1",
"nodeType": "YulLiteral",
"src": "1004:18:1",
"type": "",
@@ -461,16 +531,20 @@
"functionName":
{
"name": "gt",
"nativeSrc": "993:2:1",
"nodeType": "YulIdentifier",
"src": "993:2:1"
},
"nativeSrc": "993:30:1",
"nodeType": "YulFunctionCall",
"src": "993:30:1"
},
"nativeSrc": "990:117:1",
"nodeType": "YulIf",
"src": "990:117:1"
},
{
"nativeSrc": "1116:29:1",
"nodeType": "YulAssignment",
"src": "1116:29:1",
"value":
@@ -479,11 +553,13 @@
[
{
"name": "offset",
"nativeSrc": "1132:6:1",
"nodeType": "YulIdentifier",
"src": "1132:6:1"
},
{
"kind": "number",
"nativeSrc": "1140:4:1",
"nodeType": "YulLiteral",
"src": "1140:4:1",
"type": "",
@@ -493,9 +569,11 @@
"functionName":
{
"name": "add",
"nativeSrc": "1128:3:1",
"nodeType": "YulIdentifier",
"src": "1128:3:1"
},
"nativeSrc": "1128:17:1",
"nodeType": "YulFunctionCall",
"src": "1128:17:1"
},
@@ -503,6 +581,7 @@
[
{
"name": "arrayPos",
"nativeSrc": "1116:8:1",
"nodeType": "YulIdentifier",
"src": "1116:8:1"
}
@@ -511,6 +590,7 @@
{
"body":
{
"nativeSrc": "1199:83:1",
"nodeType": "YulBlock",
"src": "1199:83:1",
"statements":
@@ -522,12 +602,15 @@
"functionName":
{
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
"nativeSrc": "1201:77:1",
"nodeType": "YulIdentifier",
"src": "1201:77:1"
},
"nativeSrc": "1201:79:1",
"nodeType": "YulFunctionCall",
"src": "1201:79:1"
},
"nativeSrc": "1201:79:1",
"nodeType": "YulExpressionStatement",
"src": "1201:79:1"
}
@@ -542,6 +625,7 @@
[
{
"name": "arrayPos",
"nativeSrc": "1164:8:1",
"nodeType": "YulIdentifier",
"src": "1164:8:1"
},
@@ -550,11 +634,13 @@
[
{
"name": "length",
"nativeSrc": "1178:6:1",
"nodeType": "YulIdentifier",
"src": "1178:6:1"
},
{
"kind": "number",
"nativeSrc": "1186:4:1",
"nodeType": "YulLiteral",
"src": "1186:4:1",
"type": "",
@@ -564,9 +650,11 @@
"functionName":
{
"name": "mul",
"nativeSrc": "1174:3:1",
"nodeType": "YulIdentifier",
"src": "1174:3:1"
},
"nativeSrc": "1174:17:1",
"nodeType": "YulFunctionCall",
"src": "1174:17:1"
}
@@ -574,14 +662,17 @@
"functionName":
{
"name": "add",
"nativeSrc": "1160:3:1",
"nodeType": "YulIdentifier",
"src": "1160:3:1"
},
"nativeSrc": "1160:32:1",
"nodeType": "YulFunctionCall",
"src": "1160:32:1"
},
{
"name": "end",
"nativeSrc": "1194:3:1",
"nodeType": "YulIdentifier",
"src": "1194:3:1"
}
@@ -589,29 +680,35 @@
"functionName":
{
"name": "gt",
"nativeSrc": "1157:2:1",
"nodeType": "YulIdentifier",
"src": "1157:2:1"
},
"nativeSrc": "1157:41:1",
"nodeType": "YulFunctionCall",
"src": "1157:41:1"
},
"nativeSrc": "1154:128:1",
"nodeType": "YulIf",
"src": "1154:128:1"
}
]
},
"name": "abi_decode_t_array$_t_uint256_$dyn_calldata_ptr",
"nativeSrc": "720:568:1",
"nodeType": "YulFunctionDefinition",
"parameters":
[
{
"name": "offset",
"nativeSrc": "777:6:1",
"nodeType": "YulTypedName",
"src": "777:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "785:3:1",
"nodeType": "YulTypedName",
"src": "785:3:1",
"type": ""
@@ -621,12 +718,14 @@
[
{
"name": "arrayPos",
"nativeSrc": "793:8:1",
"nodeType": "YulTypedName",
"src": "793:8:1",
"type": ""
},
{
"name": "length",
"nativeSrc": "803:6:1",
"nodeType": "YulTypedName",
"src": "803:6:1",
"type": ""
@@ -637,6 +736,7 @@
{
"body":
{
"nativeSrc": "1395:458:1",
"nodeType": "YulBlock",
"src": "1395:458:1",
"statements":
@@ -644,6 +744,7 @@
{
"body":
{
"nativeSrc": "1441:83:1",
"nodeType": "YulBlock",
"src": "1441:83:1",
"statements":
@@ -655,12 +756,15 @@
"functionName":
{
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "1443:77:1",
"nodeType": "YulIdentifier",
"src": "1443:77:1"
},
"nativeSrc": "1443:79:1",
"nodeType": "YulFunctionCall",
"src": "1443:79:1"
},
"nativeSrc": "1443:79:1",
"nodeType": "YulExpressionStatement",
"src": "1443:79:1"
}
@@ -675,11 +779,13 @@
[
{
"name": "dataEnd",
"nativeSrc": "1416:7:1",
"nodeType": "YulIdentifier",
"src": "1416:7:1"
},
{
"name": "headStart",
"nativeSrc": "1425:9:1",
"nodeType": "YulIdentifier",
"src": "1425:9:1"
}
@@ -687,14 +793,17 @@
"functionName":
{
"name": "sub",
"nativeSrc": "1412:3:1",
"nodeType": "YulIdentifier",
"src": "1412:3:1"
},
"nativeSrc": "1412:23:1",
"nodeType": "YulFunctionCall",
"src": "1412:23:1"
},
{
"kind": "number",
"nativeSrc": "1437:2:1",
"nodeType": "YulLiteral",
"src": "1437:2:1",
"type": "",
@@ -704,21 +813,26 @@
"functionName":
{
"name": "slt",
"nativeSrc": "1408:3:1",
"nodeType": "YulIdentifier",
"src": "1408:3:1"
},
"nativeSrc": "1408:32:1",
"nodeType": "YulFunctionCall",
"src": "1408:32:1"
},
"nativeSrc": "1405:119:1",
"nodeType": "YulIf",
"src": "1405:119:1"
},
{
"nativeSrc": "1534:312:1",
"nodeType": "YulBlock",
"src": "1534:312:1",
"statements":
[
{
"nativeSrc": "1549:45:1",
"nodeType": "YulVariableDeclaration",
"src": "1549:45:1",
"value":
@@ -730,11 +844,13 @@
[
{
"name": "headStart",
"nativeSrc": "1580:9:1",
"nodeType": "YulIdentifier",
"src": "1580:9:1"
},
{
"kind": "number",
"nativeSrc": "1591:1:1",
"nodeType": "YulLiteral",
"src": "1591:1:1",
"type": "",
@@ -744,9 +860,11 @@
"functionName":
{
"name": "add",
"nativeSrc": "1576:3:1",
"nodeType": "YulIdentifier",
"src": "1576:3:1"
},
"nativeSrc": "1576:17:1",
"nodeType": "YulFunctionCall",
"src": "1576:17:1"
}
@@ -754,9 +872,11 @@
"functionName":
{
"name": "calldataload",
"nativeSrc": "1563:12:1",
"nodeType": "YulIdentifier",
"src": "1563:12:1"
},
"nativeSrc": "1563:31:1",
"nodeType": "YulFunctionCall",
"src": "1563:31:1"
},
@@ -764,6 +884,7 @@
[
{
"name": "offset",
"nativeSrc": "1553:6:1",
"nodeType": "YulTypedName",
"src": "1553:6:1",
"type": ""
@@ -773,6 +894,7 @@
{
"body":
{
"nativeSrc": "1641:83:1",
"nodeType": "YulBlock",
"src": "1641:83:1",
"statements":
@@ -784,12 +906,15 @@
"functionName":
{
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "1643:77:1",
"nodeType": "YulIdentifier",
"src": "1643:77:1"
},
"nativeSrc": "1643:79:1",
"nodeType": "YulFunctionCall",
"src": "1643:79:1"
},
"nativeSrc": "1643:79:1",
"nodeType": "YulExpressionStatement",
"src": "1643:79:1"
}
@@ -801,11 +926,13 @@
[
{
"name": "offset",
"nativeSrc": "1613:6:1",
"nodeType": "YulIdentifier",
"src": "1613:6:1"
},
{
"kind": "number",
"nativeSrc": "1621:18:1",
"nodeType": "YulLiteral",
"src": "1621:18:1",
"type": "",
@@ -815,16 +942,20 @@
"functionName":
{
"name": "gt",
"nativeSrc": "1610:2:1",
"nodeType": "YulIdentifier",
"src": "1610:2:1"
},
"nativeSrc": "1610:30:1",
"nodeType": "YulFunctionCall",
"src": "1610:30:1"
},
"nativeSrc": "1607:117:1",
"nodeType": "YulIf",
"src": "1607:117:1"
},
{
"nativeSrc": "1738:98:1",
"nodeType": "YulAssignment",
"src": "1738:98:1",
"value":
@@ -836,11 +967,13 @@
[
{
"name": "headStart",
"nativeSrc": "1808:9:1",
"nodeType": "YulIdentifier",
"src": "1808:9:1"
},
{
"name": "offset",
"nativeSrc": "1819:6:1",
"nodeType": "YulIdentifier",
"src": "1819:6:1"
}
@@ -848,14 +981,17 @@
"functionName":
{
"name": "add",
"nativeSrc": "1804:3:1",
"nodeType": "YulIdentifier",
"src": "1804:3:1"
},
"nativeSrc": "1804:22:1",
"nodeType": "YulFunctionCall",
"src": "1804:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "1828:7:1",
"nodeType": "YulIdentifier",
"src": "1828:7:1"
}
@@ -863,9 +999,11 @@
"functionName":
{
"name": "abi_decode_t_array$_t_uint256_$dyn_calldata_ptr",
"nativeSrc": "1756:47:1",
"nodeType": "YulIdentifier",
"src": "1756:47:1"
},
"nativeSrc": "1756:80:1",
"nodeType": "YulFunctionCall",
"src": "1756:80:1"
},
@@ -873,11 +1011,13 @@
[
{
"name": "value0",
"nativeSrc": "1738:6:1",
"nodeType": "YulIdentifier",
"src": "1738:6:1"
},
{
"name": "value1",
"nativeSrc": "1746:6:1",
"nodeType": "YulIdentifier",
"src": "1746:6:1"
}
@@ -888,17 +1028,20 @@
]
},
"name": "abi_decode_tuple_t_array$_t_uint256_$dyn_calldata_ptr",
"nativeSrc": "1294:559:1",
"nodeType": "YulFunctionDefinition",
"parameters":
[
{
"name": "headStart",
"nativeSrc": "1357:9:1",
"nodeType": "YulTypedName",
"src": "1357:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "1368:7:1",
"nodeType": "YulTypedName",
"src": "1368:7:1",
"type": ""
@@ -908,12 +1051,14 @@
[
{
"name": "value0",
"nativeSrc": "1380:6:1",
"nodeType": "YulTypedName",
"src": "1380:6:1",
"type": ""
},
{
"name": "value1",
"nativeSrc": "1388:6:1",
"nodeType": "YulTypedName",
"src": "1388:6:1",
"type": ""
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,4 @@
// SPDX-License-Identifier: GPL-3.0
pragma solidity *;
contract C {}
@@ -0,0 +1,9 @@
{
"language": "Solidity",
"sources": {
"C": {"urls": ["standard_irOptimized_ast_requested/in.sol"]}
},
"settings": {
"outputSelection": {"*": {"*": ["irOptimizedAst"]}}
}
}
@@ -0,0 +1,729 @@
{
"contracts":
{
"C":
{
"C":
{
"irOptimizedAst":
{
"code":
{
"block":
{
"nativeSrc": "44:790:0",
"nodeType": "YulBlock",
"src": "-1:-1:0",
"statements":
[
{
"expression":
{
"arguments":
[
{
"kind": "number",
"nativeSrc": "103:2:0",
"nodeType": "YulLiteral",
"src": "56:13:0",
"type": "",
"value": "64"
},
{
"arguments":
[
{
"kind": "number",
"nativeSrc": "119:3:0",
"nodeType": "YulLiteral",
"src": "56:13:0",
"type": "",
"value": "128"
}
],
"functionName":
{
"name": "memoryguard",
"nativeSrc": "107:11:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "107:16:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
}
],
"functionName":
{
"name": "mstore",
"nativeSrc": "96:6:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "96:28:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
},
"nativeSrc": "96:28:0",
"nodeType": "YulExpressionStatement",
"src": "56:13:0"
},
{
"body":
{
"nativeSrc": "148:83:0",
"nodeType": "YulBlock",
"src": "56:13:0",
"statements":
[
{
"expression":
{
"arguments": [],
"functionName":
{
"name": "revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb",
"nativeSrc": "150:77:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "150:79:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
},
"nativeSrc": "150:79:0",
"nodeType": "YulExpressionStatement",
"src": "56:13:0"
}
]
},
"condition":
{
"arguments": [],
"functionName":
{
"name": "callvalue",
"nativeSrc": "136:9:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "136:11:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
},
"nativeSrc": "133:98:0",
"nodeType": "YulIf",
"src": "56:13:0"
},
{
"expression":
{
"arguments": [],
"functionName":
{
"name": "constructor_C_2",
"nativeSrc": "241:15:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "241:17:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
},
"nativeSrc": "241:17:0",
"nodeType": "YulExpressionStatement",
"src": "56:13:0"
},
{
"nativeSrc": "268:30:0",
"nodeType": "YulVariableDeclaration",
"src": "56:13:0",
"value":
{
"arguments": [],
"functionName":
{
"name": "allocate_unbounded",
"nativeSrc": "278:18:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "278:20:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
},
"variables":
[
{
"name": "_1",
"nativeSrc": "272:2:0",
"nodeType": "YulTypedName",
"src": "56:13:0",
"type": ""
}
]
},
{
"expression":
{
"arguments":
[
{
"name": "_1",
"nativeSrc": "316:2:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
{
"arguments":
[
{
"hexValue": "435f325f6465706c6f796564",
"kind": "string",
"nativeSrc": "331:14:0",
"nodeType": "YulLiteral",
"src": "56:13:0",
"type": "",
"value": "C_2_deployed"
}
],
"functionName":
{
"name": "dataoffset",
"nativeSrc": "320:10:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "320:26:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
},
{
"arguments":
[
{
"hexValue": "435f325f6465706c6f796564",
"kind": "string",
"nativeSrc": "357:14:0",
"nodeType": "YulLiteral",
"src": "56:13:0",
"type": "",
"value": "C_2_deployed"
}
],
"functionName":
{
"name": "datasize",
"nativeSrc": "348:8:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "348:24:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
}
],
"functionName":
{
"name": "codecopy",
"nativeSrc": "307:8:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "307:66:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
},
"nativeSrc": "307:66:0",
"nodeType": "YulExpressionStatement",
"src": "56:13:0"
},
{
"expression":
{
"arguments":
[
{
"name": "_1",
"nativeSrc": "390:2:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
{
"arguments":
[
{
"hexValue": "435f325f6465706c6f796564",
"kind": "string",
"nativeSrc": "403:14:0",
"nodeType": "YulLiteral",
"src": "56:13:0",
"type": "",
"value": "C_2_deployed"
}
],
"functionName":
{
"name": "datasize",
"nativeSrc": "394:8:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "394:24:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
}
],
"functionName":
{
"name": "return",
"nativeSrc": "383:6:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "383:36:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
},
"nativeSrc": "383:36:0",
"nodeType": "YulExpressionStatement",
"src": "56:13:0"
},
{
"body":
{
"nativeSrc": "469:43:0",
"nodeType": "YulBlock",
"src": "56:13:0",
"statements":
[
{
"nativeSrc": "483:19:0",
"nodeType": "YulAssignment",
"src": "56:13:0",
"value":
{
"arguments":
[
{
"kind": "number",
"nativeSrc": "499:2:0",
"nodeType": "YulLiteral",
"src": "56:13:0",
"type": "",
"value": "64"
}
],
"functionName":
{
"name": "mload",
"nativeSrc": "493:5:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "493:9:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
},
"variableNames":
[
{
"name": "memPtr",
"nativeSrc": "483:6:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
}
]
}
]
},
"name": "allocate_unbounded",
"nativeSrc": "429:83:0",
"nodeType": "YulFunctionDefinition",
"returnVariables":
[
{
"name": "memPtr",
"nativeSrc": "462:6:0",
"nodeType": "YulTypedName",
"src": "56:13:0",
"type": ""
}
],
"src": "56:13:0"
},
{
"body":
{
"nativeSrc": "611:36:0",
"nodeType": "YulBlock",
"src": "56:13:0",
"statements":
[
{
"expression":
{
"arguments":
[
{
"kind": "number",
"nativeSrc": "632:1:0",
"nodeType": "YulLiteral",
"src": "56:13:0",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "635:1:0",
"nodeType": "YulLiteral",
"src": "56:13:0",
"type": "",
"value": "0"
}
],
"functionName":
{
"name": "revert",
"nativeSrc": "625:6:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "625:12:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
},
"nativeSrc": "625:12:0",
"nodeType": "YulExpressionStatement",
"src": "56:13:0"
}
]
},
"name": "revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb",
"nativeSrc": "522:125:0",
"nodeType": "YulFunctionDefinition",
"src": "56:13:0"
},
{
"body":
{
"nativeSrc": "726:59:0",
"nodeType": "YulBlock",
"src": "56:13:0",
"statements": []
},
"name": "constructor_C_2",
"nativeSrc": "699:86:0",
"nodeType": "YulFunctionDefinition",
"src": "56:13:0"
}
]
},
"nodeType": "YulCode"
},
"name": "C_2",
"nodeType": "YulObject",
"subObjects":
[
{
"code":
{
"block":
{
"nativeSrc": "899:588:0",
"nodeType": "YulBlock",
"src": "-1:-1:0",
"statements":
[
{
"expression":
{
"arguments":
[
{
"kind": "number",
"nativeSrc": "966:2:0",
"nodeType": "YulLiteral",
"src": "56:13:0",
"type": "",
"value": "64"
},
{
"arguments":
[
{
"kind": "number",
"nativeSrc": "982:3:0",
"nodeType": "YulLiteral",
"src": "56:13:0",
"type": "",
"value": "128"
}
],
"functionName":
{
"name": "memoryguard",
"nativeSrc": "970:11:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "970:16:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
}
],
"functionName":
{
"name": "mstore",
"nativeSrc": "959:6:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "959:28:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
},
"nativeSrc": "959:28:0",
"nodeType": "YulExpressionStatement",
"src": "56:13:0"
},
{
"expression":
{
"arguments": [],
"functionName":
{
"name": "revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74",
"nativeSrc": "1001:77:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "1001:79:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
},
"nativeSrc": "1001:79:0",
"nodeType": "YulExpressionStatement",
"src": "56:13:0"
},
{
"body":
{
"nativeSrc": "1147:77:0",
"nodeType": "YulBlock",
"src": "56:13:0",
"statements":
[
{
"nativeSrc": "1165:44:0",
"nodeType": "YulAssignment",
"src": "56:13:0",
"value":
{
"arguments":
[
{
"kind": "number",
"nativeSrc": "1198:3:0",
"nodeType": "YulLiteral",
"src": "56:13:0",
"type": "",
"value": "224"
},
{
"name": "value",
"nativeSrc": "1203:5:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
}
],
"functionName":
{
"name": "shr",
"nativeSrc": "1194:3:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "1194:15:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
},
"variableNames":
[
{
"name": "newValue",
"nativeSrc": "1165:8:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
}
]
}
]
},
"name": "shift_right_224_unsigned",
"nativeSrc": "1094:130:0",
"nodeType": "YulFunctionDefinition",
"parameters":
[
{
"name": "value",
"nativeSrc": "1128:5:0",
"nodeType": "YulTypedName",
"src": "56:13:0",
"type": ""
}
],
"returnVariables":
[
{
"name": "newValue",
"nativeSrc": "1138:8:0",
"nodeType": "YulTypedName",
"src": "56:13:0",
"type": ""
}
],
"src": "56:13:0"
},
{
"body":
{
"nativeSrc": "1278:51:0",
"nodeType": "YulBlock",
"src": "56:13:0",
"statements":
[
{
"nativeSrc": "1296:19:0",
"nodeType": "YulAssignment",
"src": "56:13:0",
"value":
{
"arguments":
[
{
"kind": "number",
"nativeSrc": "1312:2:0",
"nodeType": "YulLiteral",
"src": "56:13:0",
"type": "",
"value": "64"
}
],
"functionName":
{
"name": "mload",
"nativeSrc": "1306:5:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "1306:9:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
},
"variableNames":
[
{
"name": "memPtr",
"nativeSrc": "1296:6:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
}
]
}
]
},
"name": "allocate_unbounded",
"nativeSrc": "1238:91:0",
"nodeType": "YulFunctionDefinition",
"returnVariables":
[
{
"name": "memPtr",
"nativeSrc": "1271:6:0",
"nodeType": "YulTypedName",
"src": "56:13:0",
"type": ""
}
],
"src": "56:13:0"
},
{
"body":
{
"nativeSrc": "1432:44:0",
"nodeType": "YulBlock",
"src": "56:13:0",
"statements":
[
{
"expression":
{
"arguments":
[
{
"kind": "number",
"nativeSrc": "1457:1:0",
"nodeType": "YulLiteral",
"src": "56:13:0",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1460:1:0",
"nodeType": "YulLiteral",
"src": "56:13:0",
"type": "",
"value": "0"
}
],
"functionName":
{
"name": "revert",
"nativeSrc": "1450:6:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "1450:12:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
},
"nativeSrc": "1450:12:0",
"nodeType": "YulExpressionStatement",
"src": "56:13:0"
}
]
},
"name": "revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74",
"nativeSrc": "1343:133:0",
"nodeType": "YulFunctionDefinition",
"src": "56:13:0"
}
]
},
"nodeType": "YulCode"
},
"name": "C_2_deployed",
"nodeType": "YulObject",
"subObjects":
[
{
"nodeType": "YulData",
"value": "<BYTECODE REMOVED>"
}
]
}
]
}
}
}
},
"sources":
{
"C":
{
"id": 0
}
}
}
@@ -0,0 +1,4 @@
// SPDX-License-Identifier: GPL-3.0
pragma solidity *;
contract C {}
@@ -0,0 +1,9 @@
{
"language": "Solidity",
"sources": {
"C": {"urls": ["standard_ir_ast_requested/in.sol"]}
},
"settings": {
"outputSelection": {"*": {"*": ["irAst"]}}
}
}
@@ -0,0 +1,729 @@
{
"contracts":
{
"C":
{
"C":
{
"irAst":
{
"code":
{
"block":
{
"nativeSrc": "44:790:0",
"nodeType": "YulBlock",
"src": "-1:-1:0",
"statements":
[
{
"expression":
{
"arguments":
[
{
"kind": "number",
"nativeSrc": "103:2:0",
"nodeType": "YulLiteral",
"src": "56:13:0",
"type": "",
"value": "64"
},
{
"arguments":
[
{
"kind": "number",
"nativeSrc": "119:3:0",
"nodeType": "YulLiteral",
"src": "56:13:0",
"type": "",
"value": "128"
}
],
"functionName":
{
"name": "memoryguard",
"nativeSrc": "107:11:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "107:16:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
}
],
"functionName":
{
"name": "mstore",
"nativeSrc": "96:6:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "96:28:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
},
"nativeSrc": "96:28:0",
"nodeType": "YulExpressionStatement",
"src": "56:13:0"
},
{
"body":
{
"nativeSrc": "148:83:0",
"nodeType": "YulBlock",
"src": "56:13:0",
"statements":
[
{
"expression":
{
"arguments": [],
"functionName":
{
"name": "revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb",
"nativeSrc": "150:77:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "150:79:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
},
"nativeSrc": "150:79:0",
"nodeType": "YulExpressionStatement",
"src": "56:13:0"
}
]
},
"condition":
{
"arguments": [],
"functionName":
{
"name": "callvalue",
"nativeSrc": "136:9:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "136:11:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
},
"nativeSrc": "133:98:0",
"nodeType": "YulIf",
"src": "56:13:0"
},
{
"expression":
{
"arguments": [],
"functionName":
{
"name": "constructor_C_2",
"nativeSrc": "241:15:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "241:17:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
},
"nativeSrc": "241:17:0",
"nodeType": "YulExpressionStatement",
"src": "56:13:0"
},
{
"nativeSrc": "268:30:0",
"nodeType": "YulVariableDeclaration",
"src": "56:13:0",
"value":
{
"arguments": [],
"functionName":
{
"name": "allocate_unbounded",
"nativeSrc": "278:18:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "278:20:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
},
"variables":
[
{
"name": "_1",
"nativeSrc": "272:2:0",
"nodeType": "YulTypedName",
"src": "56:13:0",
"type": ""
}
]
},
{
"expression":
{
"arguments":
[
{
"name": "_1",
"nativeSrc": "316:2:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
{
"arguments":
[
{
"hexValue": "435f325f6465706c6f796564",
"kind": "string",
"nativeSrc": "331:14:0",
"nodeType": "YulLiteral",
"src": "56:13:0",
"type": "",
"value": "C_2_deployed"
}
],
"functionName":
{
"name": "dataoffset",
"nativeSrc": "320:10:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "320:26:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
},
{
"arguments":
[
{
"hexValue": "435f325f6465706c6f796564",
"kind": "string",
"nativeSrc": "357:14:0",
"nodeType": "YulLiteral",
"src": "56:13:0",
"type": "",
"value": "C_2_deployed"
}
],
"functionName":
{
"name": "datasize",
"nativeSrc": "348:8:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "348:24:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
}
],
"functionName":
{
"name": "codecopy",
"nativeSrc": "307:8:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "307:66:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
},
"nativeSrc": "307:66:0",
"nodeType": "YulExpressionStatement",
"src": "56:13:0"
},
{
"expression":
{
"arguments":
[
{
"name": "_1",
"nativeSrc": "390:2:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
{
"arguments":
[
{
"hexValue": "435f325f6465706c6f796564",
"kind": "string",
"nativeSrc": "403:14:0",
"nodeType": "YulLiteral",
"src": "56:13:0",
"type": "",
"value": "C_2_deployed"
}
],
"functionName":
{
"name": "datasize",
"nativeSrc": "394:8:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "394:24:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
}
],
"functionName":
{
"name": "return",
"nativeSrc": "383:6:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "383:36:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
},
"nativeSrc": "383:36:0",
"nodeType": "YulExpressionStatement",
"src": "56:13:0"
},
{
"body":
{
"nativeSrc": "469:43:0",
"nodeType": "YulBlock",
"src": "56:13:0",
"statements":
[
{
"nativeSrc": "483:19:0",
"nodeType": "YulAssignment",
"src": "56:13:0",
"value":
{
"arguments":
[
{
"kind": "number",
"nativeSrc": "499:2:0",
"nodeType": "YulLiteral",
"src": "56:13:0",
"type": "",
"value": "64"
}
],
"functionName":
{
"name": "mload",
"nativeSrc": "493:5:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "493:9:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
},
"variableNames":
[
{
"name": "memPtr",
"nativeSrc": "483:6:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
}
]
}
]
},
"name": "allocate_unbounded",
"nativeSrc": "429:83:0",
"nodeType": "YulFunctionDefinition",
"returnVariables":
[
{
"name": "memPtr",
"nativeSrc": "462:6:0",
"nodeType": "YulTypedName",
"src": "56:13:0",
"type": ""
}
],
"src": "56:13:0"
},
{
"body":
{
"nativeSrc": "611:36:0",
"nodeType": "YulBlock",
"src": "56:13:0",
"statements":
[
{
"expression":
{
"arguments":
[
{
"kind": "number",
"nativeSrc": "632:1:0",
"nodeType": "YulLiteral",
"src": "56:13:0",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "635:1:0",
"nodeType": "YulLiteral",
"src": "56:13:0",
"type": "",
"value": "0"
}
],
"functionName":
{
"name": "revert",
"nativeSrc": "625:6:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "625:12:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
},
"nativeSrc": "625:12:0",
"nodeType": "YulExpressionStatement",
"src": "56:13:0"
}
]
},
"name": "revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb",
"nativeSrc": "522:125:0",
"nodeType": "YulFunctionDefinition",
"src": "56:13:0"
},
{
"body":
{
"nativeSrc": "726:59:0",
"nodeType": "YulBlock",
"src": "56:13:0",
"statements": []
},
"name": "constructor_C_2",
"nativeSrc": "699:86:0",
"nodeType": "YulFunctionDefinition",
"src": "56:13:0"
}
]
},
"nodeType": "YulCode"
},
"name": "C_2",
"nodeType": "YulObject",
"subObjects":
[
{
"code":
{
"block":
{
"nativeSrc": "899:588:0",
"nodeType": "YulBlock",
"src": "-1:-1:0",
"statements":
[
{
"expression":
{
"arguments":
[
{
"kind": "number",
"nativeSrc": "966:2:0",
"nodeType": "YulLiteral",
"src": "56:13:0",
"type": "",
"value": "64"
},
{
"arguments":
[
{
"kind": "number",
"nativeSrc": "982:3:0",
"nodeType": "YulLiteral",
"src": "56:13:0",
"type": "",
"value": "128"
}
],
"functionName":
{
"name": "memoryguard",
"nativeSrc": "970:11:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "970:16:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
}
],
"functionName":
{
"name": "mstore",
"nativeSrc": "959:6:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "959:28:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
},
"nativeSrc": "959:28:0",
"nodeType": "YulExpressionStatement",
"src": "56:13:0"
},
{
"expression":
{
"arguments": [],
"functionName":
{
"name": "revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74",
"nativeSrc": "1001:77:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "1001:79:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
},
"nativeSrc": "1001:79:0",
"nodeType": "YulExpressionStatement",
"src": "56:13:0"
},
{
"body":
{
"nativeSrc": "1147:77:0",
"nodeType": "YulBlock",
"src": "56:13:0",
"statements":
[
{
"nativeSrc": "1165:44:0",
"nodeType": "YulAssignment",
"src": "56:13:0",
"value":
{
"arguments":
[
{
"kind": "number",
"nativeSrc": "1198:3:0",
"nodeType": "YulLiteral",
"src": "56:13:0",
"type": "",
"value": "224"
},
{
"name": "value",
"nativeSrc": "1203:5:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
}
],
"functionName":
{
"name": "shr",
"nativeSrc": "1194:3:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "1194:15:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
},
"variableNames":
[
{
"name": "newValue",
"nativeSrc": "1165:8:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
}
]
}
]
},
"name": "shift_right_224_unsigned",
"nativeSrc": "1094:130:0",
"nodeType": "YulFunctionDefinition",
"parameters":
[
{
"name": "value",
"nativeSrc": "1128:5:0",
"nodeType": "YulTypedName",
"src": "56:13:0",
"type": ""
}
],
"returnVariables":
[
{
"name": "newValue",
"nativeSrc": "1138:8:0",
"nodeType": "YulTypedName",
"src": "56:13:0",
"type": ""
}
],
"src": "56:13:0"
},
{
"body":
{
"nativeSrc": "1278:51:0",
"nodeType": "YulBlock",
"src": "56:13:0",
"statements":
[
{
"nativeSrc": "1296:19:0",
"nodeType": "YulAssignment",
"src": "56:13:0",
"value":
{
"arguments":
[
{
"kind": "number",
"nativeSrc": "1312:2:0",
"nodeType": "YulLiteral",
"src": "56:13:0",
"type": "",
"value": "64"
}
],
"functionName":
{
"name": "mload",
"nativeSrc": "1306:5:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "1306:9:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
},
"variableNames":
[
{
"name": "memPtr",
"nativeSrc": "1296:6:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
}
]
}
]
},
"name": "allocate_unbounded",
"nativeSrc": "1238:91:0",
"nodeType": "YulFunctionDefinition",
"returnVariables":
[
{
"name": "memPtr",
"nativeSrc": "1271:6:0",
"nodeType": "YulTypedName",
"src": "56:13:0",
"type": ""
}
],
"src": "56:13:0"
},
{
"body":
{
"nativeSrc": "1432:44:0",
"nodeType": "YulBlock",
"src": "56:13:0",
"statements":
[
{
"expression":
{
"arguments":
[
{
"kind": "number",
"nativeSrc": "1457:1:0",
"nodeType": "YulLiteral",
"src": "56:13:0",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1460:1:0",
"nodeType": "YulLiteral",
"src": "56:13:0",
"type": "",
"value": "0"
}
],
"functionName":
{
"name": "revert",
"nativeSrc": "1450:6:0",
"nodeType": "YulIdentifier",
"src": "56:13:0"
},
"nativeSrc": "1450:12:0",
"nodeType": "YulFunctionCall",
"src": "56:13:0"
},
"nativeSrc": "1450:12:0",
"nodeType": "YulExpressionStatement",
"src": "56:13:0"
}
]
},
"name": "revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74",
"nativeSrc": "1343:133:0",
"nodeType": "YulFunctionDefinition",
"src": "56:13:0"
}
]
},
"nodeType": "YulCode"
},
"name": "C_2_deployed",
"nodeType": "YulObject",
"subObjects":
[
{
"nodeType": "YulData",
"value": "<BYTECODE REMOVED>"
}
]
}
]
}
}
}
},
"sources":
{
"C":
{
"id": 0
}
}
}
File diff suppressed because it is too large Load Diff
+123
View File
@@ -50,5 +50,128 @@
"
}
}
},
"sources":
{
"A":
{
"ast":
{
"code":
{
"block":
{
"nativeSrc": "0:42:0",
"nodeType": "YulBlock",
"src": "0:42:0",
"statements":
[
{
"nativeSrc": "2:17:0",
"nodeType": "YulVariableDeclaration",
"src": "2:17:0",
"value":
{
"arguments":
[
{
"kind": "number",
"nativeSrc": "17:1:0",
"nodeType": "YulLiteral",
"src": "17:1:0",
"type": "",
"value": "0"
}
],
"functionName":
{
"name": "mload",
"nativeSrc": "11:5:0",
"nodeType": "YulIdentifier",
"src": "11:5:0"
},
"nativeSrc": "11:8:0",
"nodeType": "YulFunctionCall",
"src": "11:8:0"
},
"variables":
[
{
"name": "x",
"nativeSrc": "6:1:0",
"nodeType": "YulTypedName",
"src": "6:1:0",
"type": ""
}
]
},
{
"expression":
{
"arguments":
[
{
"arguments":
[
{
"name": "x",
"nativeSrc": "31:1:0",
"nodeType": "YulIdentifier",
"src": "31:1:0"
},
{
"kind": "number",
"nativeSrc": "34:1:0",
"nodeType": "YulLiteral",
"src": "34:1:0",
"type": "",
"value": "0"
}
],
"functionName":
{
"name": "add",
"nativeSrc": "27:3:0",
"nodeType": "YulIdentifier",
"src": "27:3:0"
},
"nativeSrc": "27:9:0",
"nodeType": "YulFunctionCall",
"src": "27:9:0"
},
{
"kind": "number",
"nativeSrc": "38:1:0",
"nodeType": "YulLiteral",
"src": "38:1:0",
"type": "",
"value": "0"
}
],
"functionName":
{
"name": "sstore",
"nativeSrc": "20:6:0",
"nodeType": "YulIdentifier",
"src": "20:6:0"
},
"nativeSrc": "20:20:0",
"nodeType": "YulFunctionCall",
"src": "20:20:0"
},
"nativeSrc": "20:20:0",
"nodeType": "YulExpressionStatement",
"src": "20:20:0"
}
]
},
"nodeType": "YulCode"
},
"name": "object",
"nodeType": "YulObject",
"subObjects": []
},
"id": 1
}
}
}
@@ -52,5 +52,135 @@ data_4e03657aea45a94fc7d47ba826c8d667c0d1e6e33a64a036ec44f58fa12d6c45 616263
"
}
}
},
"sources":
{
"A":
{
"ast":
{
"code":
{
"block":
{
"nativeSrc": "28:56:0",
"nodeType": "YulBlock",
"src": "28:56:0",
"statements":
[
{
"nativeSrc": "30:31:0",
"nodeType": "YulVariableDeclaration",
"src": "30:31:0",
"value":
{
"arguments":
[
{
"hexValue": "446174614e616d65",
"kind": "string",
"nativeSrc": "50:10:0",
"nodeType": "YulLiteral",
"src": "50:10:0",
"type": "",
"value": "DataName"
}
],
"functionName":
{
"name": "dataoffset",
"nativeSrc": "39:10:0",
"nodeType": "YulIdentifier",
"src": "39:10:0"
},
"nativeSrc": "39:22:0",
"nodeType": "YulFunctionCall",
"src": "39:22:0"
},
"variables":
[
{
"name": "x",
"nativeSrc": "34:1:0",
"nodeType": "YulTypedName",
"src": "34:1:0",
"type": ""
}
]
},
{
"expression":
{
"arguments":
[
{
"arguments":
[
{
"name": "x",
"nativeSrc": "73:1:0",
"nodeType": "YulIdentifier",
"src": "73:1:0"
},
{
"kind": "number",
"nativeSrc": "76:1:0",
"nodeType": "YulLiteral",
"src": "76:1:0",
"type": "",
"value": "0"
}
],
"functionName":
{
"name": "add",
"nativeSrc": "69:3:0",
"nodeType": "YulIdentifier",
"src": "69:3:0"
},
"nativeSrc": "69:9:0",
"nodeType": "YulFunctionCall",
"src": "69:9:0"
},
{
"kind": "number",
"nativeSrc": "80:1:0",
"nodeType": "YulLiteral",
"src": "80:1:0",
"type": "",
"value": "0"
}
],
"functionName":
{
"name": "sstore",
"nativeSrc": "62:6:0",
"nodeType": "YulIdentifier",
"src": "62:6:0"
},
"nativeSrc": "62:20:0",
"nodeType": "YulFunctionCall",
"src": "62:20:0"
},
"nativeSrc": "62:20:0",
"nodeType": "YulExpressionStatement",
"src": "62:20:0"
}
]
},
"nodeType": "YulCode"
},
"name": "NamedObject",
"nodeType": "YulObject",
"subObjects":
[
{
"nodeType": "YulData",
"value": "616263"
}
]
},
"id": 1
}
}
}
@@ -77,5 +77,190 @@ sub_0: assembly {
"
}
}
},
"sources":
{
"A":
{
"ast":
{
"code":
{
"block":
{
"nativeSrc": "28:56:0",
"nodeType": "YulBlock",
"src": "28:56:0",
"statements":
[
{
"nativeSrc": "30:31:0",
"nodeType": "YulVariableDeclaration",
"src": "30:31:0",
"value":
{
"arguments":
[
{
"hexValue": "446174614e616d65",
"kind": "string",
"nativeSrc": "50:10:0",
"nodeType": "YulLiteral",
"src": "50:10:0",
"type": "",
"value": "DataName"
}
],
"functionName":
{
"name": "dataoffset",
"nativeSrc": "39:10:0",
"nodeType": "YulIdentifier",
"src": "39:10:0"
},
"nativeSrc": "39:22:0",
"nodeType": "YulFunctionCall",
"src": "39:22:0"
},
"variables":
[
{
"name": "x",
"nativeSrc": "34:1:0",
"nodeType": "YulTypedName",
"src": "34:1:0",
"type": ""
}
]
},
{
"expression":
{
"arguments":
[
{
"arguments":
[
{
"name": "x",
"nativeSrc": "73:1:0",
"nodeType": "YulIdentifier",
"src": "73:1:0"
},
{
"kind": "number",
"nativeSrc": "76:1:0",
"nodeType": "YulLiteral",
"src": "76:1:0",
"type": "",
"value": "0"
}
],
"functionName":
{
"name": "add",
"nativeSrc": "69:3:0",
"nodeType": "YulIdentifier",
"src": "69:3:0"
},
"nativeSrc": "69:9:0",
"nodeType": "YulFunctionCall",
"src": "69:9:0"
},
{
"kind": "number",
"nativeSrc": "80:1:0",
"nodeType": "YulLiteral",
"src": "80:1:0",
"type": "",
"value": "0"
}
],
"functionName":
{
"name": "sstore",
"nativeSrc": "62:6:0",
"nodeType": "YulIdentifier",
"src": "62:6:0"
},
"nativeSrc": "62:20:0",
"nodeType": "YulFunctionCall",
"src": "62:20:0"
},
"nativeSrc": "62:20:0",
"nodeType": "YulExpressionStatement",
"src": "62:20:0"
}
]
},
"nodeType": "YulCode"
},
"name": "NamedObject",
"nodeType": "YulObject",
"subObjects":
[
{
"nodeType": "YulData",
"value": "616263"
},
{
"code":
{
"block":
{
"nativeSrc": "135:16:0",
"nodeType": "YulBlock",
"src": "135:16:0",
"statements":
[
{
"expression":
{
"arguments":
[
{
"kind": "number",
"nativeSrc": "144:1:0",
"nodeType": "YulLiteral",
"src": "144:1:0",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "147:1:0",
"nodeType": "YulLiteral",
"src": "147:1:0",
"type": "",
"value": "0"
}
],
"functionName":
{
"name": "revert",
"nativeSrc": "137:6:0",
"nodeType": "YulIdentifier",
"src": "137:6:0"
},
"nativeSrc": "137:12:0",
"nodeType": "YulFunctionCall",
"src": "137:12:0"
},
"nativeSrc": "137:12:0",
"nodeType": "YulExpressionStatement",
"src": "137:12:0"
}
]
},
"nodeType": "YulCode"
},
"name": "OtherObject",
"nodeType": "YulObject",
"subObjects": []
}
]
},
"id": 1
}
}
}
@@ -45,5 +45,128 @@
"
}
}
},
"sources":
{
"A":
{
"ast":
{
"code":
{
"block":
{
"nativeSrc": "0:42:0",
"nodeType": "YulBlock",
"src": "0:42:0",
"statements":
[
{
"nativeSrc": "2:17:0",
"nodeType": "YulVariableDeclaration",
"src": "2:17:0",
"value":
{
"arguments":
[
{
"kind": "number",
"nativeSrc": "17:1:0",
"nodeType": "YulLiteral",
"src": "17:1:0",
"type": "",
"value": "0"
}
],
"functionName":
{
"name": "mload",
"nativeSrc": "11:5:0",
"nodeType": "YulIdentifier",
"src": "11:5:0"
},
"nativeSrc": "11:8:0",
"nodeType": "YulFunctionCall",
"src": "11:8:0"
},
"variables":
[
{
"name": "x",
"nativeSrc": "6:1:0",
"nodeType": "YulTypedName",
"src": "6:1:0",
"type": ""
}
]
},
{
"expression":
{
"arguments":
[
{
"arguments":
[
{
"name": "x",
"nativeSrc": "31:1:0",
"nodeType": "YulIdentifier",
"src": "31:1:0"
},
{
"kind": "number",
"nativeSrc": "34:1:0",
"nodeType": "YulLiteral",
"src": "34:1:0",
"type": "",
"value": "0"
}
],
"functionName":
{
"name": "add",
"nativeSrc": "27:3:0",
"nodeType": "YulIdentifier",
"src": "27:3:0"
},
"nativeSrc": "27:9:0",
"nodeType": "YulFunctionCall",
"src": "27:9:0"
},
{
"kind": "number",
"nativeSrc": "38:1:0",
"nodeType": "YulLiteral",
"src": "38:1:0",
"type": "",
"value": "0"
}
],
"functionName":
{
"name": "sstore",
"nativeSrc": "20:6:0",
"nodeType": "YulIdentifier",
"src": "20:6:0"
},
"nativeSrc": "20:20:0",
"nodeType": "YulFunctionCall",
"src": "20:20:0"
},
"nativeSrc": "20:20:0",
"nodeType": "YulExpressionStatement",
"src": "20:20:0"
}
]
},
"nodeType": "YulCode"
},
"name": "object",
"nodeType": "YulObject",
"subObjects": []
},
"id": 1
}
}
}
@@ -40,5 +40,128 @@
"
}
}
},
"sources":
{
"A":
{
"ast":
{
"code":
{
"block":
{
"nativeSrc": "0:42:0",
"nodeType": "YulBlock",
"src": "0:42:0",
"statements":
[
{
"nativeSrc": "2:17:0",
"nodeType": "YulVariableDeclaration",
"src": "2:17:0",
"value":
{
"arguments":
[
{
"kind": "number",
"nativeSrc": "17:1:0",
"nodeType": "YulLiteral",
"src": "17:1:0",
"type": "",
"value": "0"
}
],
"functionName":
{
"name": "mload",
"nativeSrc": "11:5:0",
"nodeType": "YulIdentifier",
"src": "11:5:0"
},
"nativeSrc": "11:8:0",
"nodeType": "YulFunctionCall",
"src": "11:8:0"
},
"variables":
[
{
"name": "x",
"nativeSrc": "6:1:0",
"nodeType": "YulTypedName",
"src": "6:1:0",
"type": ""
}
]
},
{
"expression":
{
"arguments":
[
{
"arguments":
[
{
"name": "x",
"nativeSrc": "31:1:0",
"nodeType": "YulIdentifier",
"src": "31:1:0"
},
{
"kind": "number",
"nativeSrc": "34:1:0",
"nodeType": "YulLiteral",
"src": "34:1:0",
"type": "",
"value": "0"
}
],
"functionName":
{
"name": "add",
"nativeSrc": "27:3:0",
"nodeType": "YulIdentifier",
"src": "27:3:0"
},
"nativeSrc": "27:9:0",
"nodeType": "YulFunctionCall",
"src": "27:9:0"
},
{
"kind": "number",
"nativeSrc": "38:1:0",
"nodeType": "YulLiteral",
"src": "38:1:0",
"type": "",
"value": "0"
}
],
"functionName":
{
"name": "sstore",
"nativeSrc": "20:6:0",
"nodeType": "YulIdentifier",
"src": "20:6:0"
},
"nativeSrc": "20:20:0",
"nodeType": "YulFunctionCall",
"src": "20:20:0"
},
"nativeSrc": "20:20:0",
"nodeType": "YulExpressionStatement",
"src": "20:20:0"
}
]
},
"nodeType": "YulCode"
},
"name": "object",
"nodeType": "YulObject",
"subObjects": []
},
"id": 1
}
}
}
@@ -0,0 +1 @@
--strict-assembly --ast-compact-json --pretty-json --json-indent 4
@@ -0,0 +1,15 @@
/// @use-src 0:"input.sol"
object "C_6_deployed" {
code {
/// @src 0:60:101 "contract C {..."
mstore(64, 128)
// f()
fun_f_5()
/// @src 0:77:99 "function f() public {}"
function fun_f_5() {
}
/// @src 0:60:101 "contract C {..."
}
}
@@ -0,0 +1,91 @@
======= strict_asm_ast_compact_json/input.yul (EVM) =======
AST:
{
"code":
{
"block":
{
"nativeSrc": "60:246:0",
"nodeType": "YulBlock",
"src": "-1:-1:0",
"statements":
[
{
"expression":
{
"arguments":
[
{
"kind": "number",
"nativeSrc": "122:2:0",
"nodeType": "YulLiteral",
"src": "60:41:0",
"type": "",
"value": "64"
},
{
"kind": "number",
"nativeSrc": "126:3:0",
"nodeType": "YulLiteral",
"src": "60:41:0",
"type": "",
"value": "128"
}
],
"functionName":
{
"name": "mstore",
"nativeSrc": "115:6:0",
"nodeType": "YulIdentifier",
"src": "60:41:0"
},
"nativeSrc": "115:15:0",
"nodeType": "YulFunctionCall",
"src": "60:41:0"
},
"nativeSrc": "115:15:0",
"nodeType": "YulExpressionStatement",
"src": "60:41:0"
},
{
"expression":
{
"arguments": [],
"functionName":
{
"name": "fun_f_5",
"nativeSrc": "155:7:0",
"nodeType": "YulIdentifier",
"src": "60:41:0"
},
"nativeSrc": "155:9:0",
"nodeType": "YulFunctionCall",
"src": "60:41:0"
},
"nativeSrc": "155:9:0",
"nodeType": "YulExpressionStatement",
"src": "60:41:0"
},
{
"body":
{
"nativeSrc": "244:11:0",
"nodeType": "YulBlock",
"src": "77:22:0",
"statements": []
},
"name": "fun_f_5",
"nativeSrc": "225:30:0",
"nodeType": "YulFunctionDefinition",
"src": "77:22:0"
}
]
},
"nodeType": "YulCode"
},
"name": "C_6_deployed",
"nodeType": "YulObject",
"subObjects": []
}
@@ -39,6 +39,7 @@
{
"AST":
{
"nativeSrc": "56:34:1",
"nodeType": "YulBlock",
"src": "56:34:1",
"statements":
@@ -53,6 +54,7 @@
[
{
"kind": "number",
"nativeSrc": "67:1:1",
"nodeType": "YulLiteral",
"src": "67:1:1",
"type": "",
@@ -60,6 +62,7 @@
},
{
"kind": "number",
"nativeSrc": "70:1:1",
"nodeType": "YulLiteral",
"src": "70:1:1",
"type": "",
@@ -67,6 +70,7 @@
},
{
"kind": "number",
"nativeSrc": "73:1:1",
"nodeType": "YulLiteral",
"src": "73:1:1",
"type": "",
@@ -74,6 +78,7 @@
},
{
"kind": "number",
"nativeSrc": "76:1:1",
"nodeType": "YulLiteral",
"src": "76:1:1",
"type": "",
@@ -81,6 +86,7 @@
},
{
"kind": "number",
"nativeSrc": "79:1:1",
"nodeType": "YulLiteral",
"src": "79:1:1",
"type": "",
@@ -88,6 +94,7 @@
},
{
"kind": "number",
"nativeSrc": "82:1:1",
"nodeType": "YulLiteral",
"src": "82:1:1",
"type": "",
@@ -95,6 +102,7 @@
},
{
"kind": "number",
"nativeSrc": "85:1:1",
"nodeType": "YulLiteral",
"src": "85:1:1",
"type": "",
@@ -104,9 +112,11 @@
"functionName":
{
"name": "call",
"nativeSrc": "62:4:1",
"nodeType": "YulIdentifier",
"src": "62:4:1"
},
"nativeSrc": "62:25:1",
"nodeType": "YulFunctionCall",
"src": "62:25:1"
}
@@ -114,12 +124,15 @@
"functionName":
{
"name": "pop",
"nativeSrc": "58:3:1",
"nodeType": "YulIdentifier",
"src": "58:3:1"
},
"nativeSrc": "58:30:1",
"nodeType": "YulFunctionCall",
"src": "58:30:1"
},
"nativeSrc": "58:30:1",
"nodeType": "YulExpressionStatement",
"src": "58:30:1"
}
@@ -26,6 +26,7 @@
{
"AST":
{
"nativeSrc": "56:34:1",
"nodeType": "YulBlock",
"src": "56:34:1",
"statements":
@@ -40,6 +41,7 @@
[
{
"kind": "number",
"nativeSrc": "67:1:1",
"nodeType": "YulLiteral",
"src": "67:1:1",
"type": "",
@@ -47,6 +49,7 @@
},
{
"kind": "number",
"nativeSrc": "70:1:1",
"nodeType": "YulLiteral",
"src": "70:1:1",
"type": "",
@@ -54,6 +57,7 @@
},
{
"kind": "number",
"nativeSrc": "73:1:1",
"nodeType": "YulLiteral",
"src": "73:1:1",
"type": "",
@@ -61,6 +65,7 @@
},
{
"kind": "number",
"nativeSrc": "76:1:1",
"nodeType": "YulLiteral",
"src": "76:1:1",
"type": "",
@@ -68,6 +73,7 @@
},
{
"kind": "number",
"nativeSrc": "79:1:1",
"nodeType": "YulLiteral",
"src": "79:1:1",
"type": "",
@@ -75,6 +81,7 @@
},
{
"kind": "number",
"nativeSrc": "82:1:1",
"nodeType": "YulLiteral",
"src": "82:1:1",
"type": "",
@@ -82,6 +89,7 @@
},
{
"kind": "number",
"nativeSrc": "85:1:1",
"nodeType": "YulLiteral",
"src": "85:1:1",
"type": "",
@@ -91,9 +99,11 @@
"functionName":
{
"name": "call",
"nativeSrc": "62:4:1",
"nodeType": "YulIdentifier",
"src": "62:4:1"
},
"nativeSrc": "62:25:1",
"nodeType": "YulFunctionCall",
"src": "62:25:1"
}
@@ -101,12 +111,15 @@
"functionName":
{
"name": "pop",
"nativeSrc": "58:3:1",
"nodeType": "YulIdentifier",
"src": "58:3:1"
},
"nativeSrc": "58:30:1",
"nodeType": "YulFunctionCall",
"src": "58:30:1"
},
"nativeSrc": "58:30:1",
"nodeType": "YulExpressionStatement",
"src": "58:30:1"
}
@@ -39,11 +39,13 @@
{
"AST":
{
"nativeSrc": "61:6:1",
"nodeType": "YulBlock",
"src": "61:6:1",
"statements":
[
{
"nativeSrc": "63:2:1",
"nodeType": "YulBlock",
"src": "63:2:1",
"statements": []
@@ -26,11 +26,13 @@
{
"AST":
{
"nativeSrc": "61:6:1",
"nodeType": "YulBlock",
"src": "61:6:1",
"statements":
[
{
"nativeSrc": "63:2:1",
"nodeType": "YulBlock",
"src": "63:2:1",
"statements": []
@@ -39,6 +39,7 @@
{
"AST":
{
"nativeSrc": "61:43:1",
"nodeType": "YulBlock",
"src": "61:43:1",
"statements":
@@ -46,6 +47,7 @@
{
"body":
{
"nativeSrc": "76:22:1",
"nodeType": "YulBlock",
"src": "76:22:1",
"statements":
@@ -60,6 +62,7 @@
[
{
"kind": "number",
"nativeSrc": "92:2:1",
"nodeType": "YulLiteral",
"src": "92:2:1",
"type": "",
@@ -69,9 +72,11 @@
"functionName":
{
"name": "blockhash",
"nativeSrc": "82:9:1",
"nodeType": "YulIdentifier",
"src": "82:9:1"
},
"nativeSrc": "82:13:1",
"nodeType": "YulFunctionCall",
"src": "82:13:1"
}
@@ -79,18 +84,22 @@
"functionName":
{
"name": "pop",
"nativeSrc": "78:3:1",
"nodeType": "YulIdentifier",
"src": "78:3:1"
},
"nativeSrc": "78:18:1",
"nodeType": "YulFunctionCall",
"src": "78:18:1"
},
"nativeSrc": "78:18:1",
"nodeType": "YulExpressionStatement",
"src": "78:18:1"
}
]
},
"name": "g",
"nativeSrc": "63:35:1",
"nodeType": "YulFunctionDefinition",
"src": "63:35:1"
},
@@ -101,12 +110,15 @@
"functionName":
{
"name": "g",
"nativeSrc": "99:1:1",
"nodeType": "YulIdentifier",
"src": "99:1:1"
},
"nativeSrc": "99:3:1",
"nodeType": "YulFunctionCall",
"src": "99:3:1"
},
"nativeSrc": "99:3:1",
"nodeType": "YulExpressionStatement",
"src": "99:3:1"
}
@@ -26,6 +26,7 @@
{
"AST":
{
"nativeSrc": "61:43:1",
"nodeType": "YulBlock",
"src": "61:43:1",
"statements":
@@ -33,6 +34,7 @@
{
"body":
{
"nativeSrc": "76:22:1",
"nodeType": "YulBlock",
"src": "76:22:1",
"statements":
@@ -47,6 +49,7 @@
[
{
"kind": "number",
"nativeSrc": "92:2:1",
"nodeType": "YulLiteral",
"src": "92:2:1",
"type": "",
@@ -56,9 +59,11 @@
"functionName":
{
"name": "blockhash",
"nativeSrc": "82:9:1",
"nodeType": "YulIdentifier",
"src": "82:9:1"
},
"nativeSrc": "82:13:1",
"nodeType": "YulFunctionCall",
"src": "82:13:1"
}
@@ -66,18 +71,22 @@
"functionName":
{
"name": "pop",
"nativeSrc": "78:3:1",
"nodeType": "YulIdentifier",
"src": "78:3:1"
},
"nativeSrc": "78:18:1",
"nodeType": "YulFunctionCall",
"src": "78:18:1"
},
"nativeSrc": "78:18:1",
"nodeType": "YulExpressionStatement",
"src": "78:18:1"
}
]
},
"name": "g",
"nativeSrc": "63:35:1",
"nodeType": "YulFunctionDefinition",
"src": "63:35:1"
},
@@ -88,12 +97,15 @@
"functionName":
{
"name": "g",
"nativeSrc": "99:1:1",
"nodeType": "YulIdentifier",
"src": "99:1:1"
},
"nativeSrc": "99:3:1",
"nodeType": "YulFunctionCall",
"src": "99:3:1"
},
"nativeSrc": "99:3:1",
"nodeType": "YulExpressionStatement",
"src": "99:3:1"
}
@@ -39,6 +39,7 @@
{
"AST":
{
"nativeSrc": "56:26:1",
"nodeType": "YulBlock",
"src": "56:26:1",
"statements":
@@ -46,17 +47,20 @@
{
"body":
{
"nativeSrc": "71:9:1",
"nodeType": "YulBlock",
"src": "71:9:1",
"statements":
[
{
"nativeSrc": "73:5:1",
"nodeType": "YulLeave",
"src": "73:5:1"
}
]
},
"name": "f",
"nativeSrc": "58:22:1",
"nodeType": "YulFunctionDefinition",
"src": "58:22:1"
}
@@ -26,6 +26,7 @@
{
"AST":
{
"nativeSrc": "56:26:1",
"nodeType": "YulBlock",
"src": "56:26:1",
"statements":
@@ -33,17 +34,20 @@
{
"body":
{
"nativeSrc": "71:9:1",
"nodeType": "YulBlock",
"src": "71:9:1",
"statements":
[
{
"nativeSrc": "73:5:1",
"nodeType": "YulLeave",
"src": "73:5:1"
}
]
},
"name": "f",
"nativeSrc": "58:22:1",
"nodeType": "YulFunctionDefinition",
"src": "58:22:1"
}
@@ -39,6 +39,7 @@
{
"AST":
{
"nativeSrc": "61:49:1",
"nodeType": "YulBlock",
"src": "61:49:1",
"statements":
@@ -46,15 +47,18 @@
{
"body":
{
"nativeSrc": "90:18:1",
"nodeType": "YulBlock",
"src": "90:18:1",
"statements":
[
{
"nativeSrc": "92:5:1",
"nodeType": "YulBreak",
"src": "92:5:1"
},
{
"nativeSrc": "98:8:1",
"nodeType": "YulContinue",
"src": "98:8:1"
}
@@ -63,14 +67,17 @@
"condition":
{
"kind": "number",
"nativeSrc": "70:1:1",
"nodeType": "YulLiteral",
"src": "70:1:1",
"type": "",
"value": "1"
},
"nativeSrc": "63:45:1",
"nodeType": "YulForLoop",
"post":
{
"nativeSrc": "72:17:1",
"nodeType": "YulBlock",
"src": "72:17:1",
"statements":
@@ -85,6 +92,7 @@
[
{
"kind": "number",
"nativeSrc": "84:1:1",
"nodeType": "YulLiteral",
"src": "84:1:1",
"type": "",
@@ -94,9 +102,11 @@
"functionName":
{
"name": "sload",
"nativeSrc": "78:5:1",
"nodeType": "YulIdentifier",
"src": "78:5:1"
},
"nativeSrc": "78:8:1",
"nodeType": "YulFunctionCall",
"src": "78:8:1"
}
@@ -104,12 +114,15 @@
"functionName":
{
"name": "pop",
"nativeSrc": "74:3:1",
"nodeType": "YulIdentifier",
"src": "74:3:1"
},
"nativeSrc": "74:13:1",
"nodeType": "YulFunctionCall",
"src": "74:13:1"
},
"nativeSrc": "74:13:1",
"nodeType": "YulExpressionStatement",
"src": "74:13:1"
}
@@ -117,6 +130,7 @@
},
"pre":
{
"nativeSrc": "67:2:1",
"nodeType": "YulBlock",
"src": "67:2:1",
"statements": []
@@ -26,6 +26,7 @@
{
"AST":
{
"nativeSrc": "61:49:1",
"nodeType": "YulBlock",
"src": "61:49:1",
"statements":
@@ -33,15 +34,18 @@
{
"body":
{
"nativeSrc": "90:18:1",
"nodeType": "YulBlock",
"src": "90:18:1",
"statements":
[
{
"nativeSrc": "92:5:1",
"nodeType": "YulBreak",
"src": "92:5:1"
},
{
"nativeSrc": "98:8:1",
"nodeType": "YulContinue",
"src": "98:8:1"
}
@@ -50,14 +54,17 @@
"condition":
{
"kind": "number",
"nativeSrc": "70:1:1",
"nodeType": "YulLiteral",
"src": "70:1:1",
"type": "",
"value": "1"
},
"nativeSrc": "63:45:1",
"nodeType": "YulForLoop",
"post":
{
"nativeSrc": "72:17:1",
"nodeType": "YulBlock",
"src": "72:17:1",
"statements":
@@ -72,6 +79,7 @@
[
{
"kind": "number",
"nativeSrc": "84:1:1",
"nodeType": "YulLiteral",
"src": "84:1:1",
"type": "",
@@ -81,9 +89,11 @@
"functionName":
{
"name": "sload",
"nativeSrc": "78:5:1",
"nodeType": "YulIdentifier",
"src": "78:5:1"
},
"nativeSrc": "78:8:1",
"nodeType": "YulFunctionCall",
"src": "78:8:1"
}
@@ -91,12 +101,15 @@
"functionName":
{
"name": "pop",
"nativeSrc": "74:3:1",
"nodeType": "YulIdentifier",
"src": "74:3:1"
},
"nativeSrc": "74:13:1",
"nodeType": "YulFunctionCall",
"src": "74:13:1"
},
"nativeSrc": "74:13:1",
"nodeType": "YulExpressionStatement",
"src": "74:13:1"
}
@@ -104,6 +117,7 @@
},
"pre":
{
"nativeSrc": "67:2:1",
"nodeType": "YulBlock",
"src": "67:2:1",
"statements": []
@@ -39,6 +39,7 @@
{
"AST":
{
"nativeSrc": "72:76:1",
"nodeType": "YulBlock",
"src": "72:76:1",
"statements":
@@ -46,6 +47,7 @@
{
"body":
{
"nativeSrc": "94:35:1",
"nodeType": "YulBlock",
"src": "94:35:1",
"statements":
@@ -53,26 +55,31 @@
{
"body":
{
"nativeSrc": "118:3:1",
"nodeType": "YulBlock",
"src": "118:3:1",
"statements": []
},
"name": "f2",
"nativeSrc": "104:17:1",
"nodeType": "YulFunctionDefinition",
"src": "104:17:1"
}
]
},
"name": "f1",
"nativeSrc": "80:49:1",
"nodeType": "YulFunctionDefinition",
"src": "80:49:1"
},
{
"nativeSrc": "136:6:1",
"nodeType": "YulAssignment",
"src": "136:6:1",
"value":
{
"kind": "number",
"nativeSrc": "141:1:1",
"nodeType": "YulLiteral",
"src": "141:1:1",
"type": "",
@@ -82,6 +89,7 @@
[
{
"name": "x",
"nativeSrc": "136:1:1",
"nodeType": "YulIdentifier",
"src": "136:1:1"
}
@@ -26,6 +26,7 @@
{
"AST":
{
"nativeSrc": "72:76:1",
"nodeType": "YulBlock",
"src": "72:76:1",
"statements":
@@ -33,6 +34,7 @@
{
"body":
{
"nativeSrc": "94:35:1",
"nodeType": "YulBlock",
"src": "94:35:1",
"statements":
@@ -40,26 +42,31 @@
{
"body":
{
"nativeSrc": "118:3:1",
"nodeType": "YulBlock",
"src": "118:3:1",
"statements": []
},
"name": "f2",
"nativeSrc": "104:17:1",
"nodeType": "YulFunctionDefinition",
"src": "104:17:1"
}
]
},
"name": "f1",
"nativeSrc": "80:49:1",
"nodeType": "YulFunctionDefinition",
"src": "80:49:1"
},
{
"nativeSrc": "136:6:1",
"nodeType": "YulAssignment",
"src": "136:6:1",
"value":
{
"kind": "number",
"nativeSrc": "141:1:1",
"nodeType": "YulLiteral",
"src": "141:1:1",
"type": "",
@@ -69,6 +76,7 @@
[
{
"name": "x",
"nativeSrc": "136:1:1",
"nodeType": "YulIdentifier",
"src": "136:1:1"
}
@@ -124,16 +124,19 @@
{
"AST":
{
"nativeSrc": "95:45:1",
"nodeType": "YulBlock",
"src": "95:45:1",
"statements":
[
{
"nativeSrc": "97:17:1",
"nodeType": "YulVariableDeclaration",
"src": "97:17:1",
"value":
{
"name": "s.offset",
"nativeSrc": "106:8:1",
"nodeType": "YulIdentifier",
"src": "106:8:1"
},
@@ -141,6 +144,7 @@
[
{
"name": "x",
"nativeSrc": "101:1:1",
"nodeType": "YulTypedName",
"src": "101:1:1",
"type": ""
@@ -148,6 +152,7 @@
]
},
{
"nativeSrc": "115:23:1",
"nodeType": "YulVariableDeclaration",
"src": "115:23:1",
"value":
@@ -156,11 +161,13 @@
[
{
"name": "s.slot",
"nativeSrc": "128:6:1",
"nodeType": "YulIdentifier",
"src": "128:6:1"
},
{
"kind": "number",
"nativeSrc": "136:1:1",
"nodeType": "YulLiteral",
"src": "136:1:1",
"type": "",
@@ -170,9 +177,11 @@
"functionName":
{
"name": "mul",
"nativeSrc": "124:3:1",
"nodeType": "YulIdentifier",
"src": "124:3:1"
},
"nativeSrc": "124:14:1",
"nodeType": "YulFunctionCall",
"src": "124:14:1"
},
@@ -180,6 +189,7 @@
[
{
"name": "y",
"nativeSrc": "119:1:1",
"nodeType": "YulTypedName",
"src": "119:1:1",
"type": ""
@@ -89,16 +89,19 @@
{
"AST":
{
"nativeSrc": "95:45:1",
"nodeType": "YulBlock",
"src": "95:45:1",
"statements":
[
{
"nativeSrc": "97:17:1",
"nodeType": "YulVariableDeclaration",
"src": "97:17:1",
"value":
{
"name": "s.offset",
"nativeSrc": "106:8:1",
"nodeType": "YulIdentifier",
"src": "106:8:1"
},
@@ -106,6 +109,7 @@
[
{
"name": "x",
"nativeSrc": "101:1:1",
"nodeType": "YulTypedName",
"src": "101:1:1",
"type": ""
@@ -113,6 +117,7 @@
]
},
{
"nativeSrc": "115:23:1",
"nodeType": "YulVariableDeclaration",
"src": "115:23:1",
"value":
@@ -121,11 +126,13 @@
[
{
"name": "s.slot",
"nativeSrc": "128:6:1",
"nodeType": "YulIdentifier",
"src": "128:6:1"
},
{
"kind": "number",
"nativeSrc": "136:1:1",
"nodeType": "YulLiteral",
"src": "136:1:1",
"type": "",
@@ -135,9 +142,11 @@
"functionName":
{
"name": "mul",
"nativeSrc": "124:3:1",
"nodeType": "YulIdentifier",
"src": "124:3:1"
},
"nativeSrc": "124:14:1",
"nodeType": "YulFunctionCall",
"src": "124:14:1"
},
@@ -145,6 +154,7 @@
[
{
"name": "y",
"nativeSrc": "119:1:1",
"nodeType": "YulTypedName",
"src": "119:1:1",
"type": ""
@@ -39,17 +39,20 @@
{
"AST":
{
"nativeSrc": "56:18:1",
"nodeType": "YulBlock",
"src": "56:18:1",
"statements":
[
{
"nativeSrc": "58:14:1",
"nodeType": "YulVariableDeclaration",
"src": "58:14:1",
"value":
{
"hexValue": "616263",
"kind": "string",
"nativeSrc": "67:5:1",
"nodeType": "YulLiteral",
"src": "67:5:1",
"type": "",
@@ -59,6 +62,7 @@
[
{
"name": "x",
"nativeSrc": "62:1:1",
"nodeType": "YulTypedName",
"src": "62:1:1",
"type": ""
@@ -26,17 +26,20 @@
{
"AST":
{
"nativeSrc": "56:18:1",
"nodeType": "YulBlock",
"src": "56:18:1",
"statements":
[
{
"nativeSrc": "58:14:1",
"nodeType": "YulVariableDeclaration",
"src": "58:14:1",
"value":
{
"hexValue": "616263",
"kind": "string",
"nativeSrc": "67:5:1",
"nodeType": "YulLiteral",
"src": "67:5:1",
"type": "",
@@ -46,6 +49,7 @@
[
{
"name": "x",
"nativeSrc": "62:1:1",
"nodeType": "YulTypedName",
"src": "62:1:1",
"type": ""
@@ -39,16 +39,19 @@
{
"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": "",
@@ -58,6 +61,7 @@
[
{
"name": "v",
"nativeSrc": "79:1:1",
"nodeType": "YulTypedName",
"src": "79:1:1",
"type": ""
@@ -70,16 +74,19 @@
{
"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": "",
@@ -89,6 +96,7 @@
[
{
"name": "v",
"nativeSrc": "141:1:1",
"nodeType": "YulIdentifier",
"src": "141:1:1"
}
@@ -96,11 +104,13 @@
}
]
},
"nativeSrc": "132:17:1",
"nodeType": "YulCase",
"src": "132:17:1",
"value":
{
"kind": "number",
"nativeSrc": "137:1:1",
"nodeType": "YulLiteral",
"src": "137:1:1",
"type": "",
@@ -110,16 +120,19 @@
{
"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": "",
@@ -129,6 +142,7 @@
[
{
"name": "v",
"nativeSrc": "172:1:1",
"nodeType": "YulIdentifier",
"src": "172:1:1"
}
@@ -136,6 +150,7 @@
}
]
},
"nativeSrc": "162:18:1",
"nodeType": "YulCase",
"src": "162:18:1",
"value": "default"
@@ -147,12 +162,15 @@
"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"
}
@@ -39,6 +39,7 @@
{
"AST":
{
"nativeSrc": "61:33:1",
"nodeType": "YulBlock",
"src": "61:33:1",
"statements":
@@ -49,15 +50,18 @@
{
"body":
{
"nativeSrc": "79:2:1",
"nodeType": "YulBlock",
"src": "79:2:1",
"statements": []
},
"nativeSrc": "72:9:1",
"nodeType": "YulCase",
"src": "72:9:1",
"value":
{
"kind": "number",
"nativeSrc": "77:1:1",
"nodeType": "YulLiteral",
"src": "77:1:1",
"type": "",
@@ -67,10 +71,12 @@
{
"body":
{
"nativeSrc": "90:2:1",
"nodeType": "YulBlock",
"src": "90:2:1",
"statements": []
},
"nativeSrc": "82:10:1",
"nodeType": "YulCase",
"src": "82:10:1",
"value": "default"
@@ -79,11 +85,13 @@
"expression":
{
"kind": "number",
"nativeSrc": "70:1:1",
"nodeType": "YulLiteral",
"src": "70:1:1",
"type": "",
"value": "0"
},
"nativeSrc": "63:29:1",
"nodeType": "YulSwitch",
"src": "63:29:1"
}
@@ -26,6 +26,7 @@
{
"AST":
{
"nativeSrc": "61:33:1",
"nodeType": "YulBlock",
"src": "61:33:1",
"statements":
@@ -36,15 +37,18 @@
{
"body":
{
"nativeSrc": "79:2:1",
"nodeType": "YulBlock",
"src": "79:2:1",
"statements": []
},
"nativeSrc": "72:9:1",
"nodeType": "YulCase",
"src": "72:9:1",
"value":
{
"kind": "number",
"nativeSrc": "77:1:1",
"nodeType": "YulLiteral",
"src": "77:1:1",
"type": "",
@@ -54,10 +58,12 @@
{
"body":
{
"nativeSrc": "90:2:1",
"nodeType": "YulBlock",
"src": "90:2:1",
"statements": []
},
"nativeSrc": "82:10:1",
"nodeType": "YulCase",
"src": "82:10:1",
"value": "default"
@@ -66,11 +72,13 @@
"expression":
{
"kind": "number",
"nativeSrc": "70:1:1",
"nodeType": "YulLiteral",
"src": "70:1:1",
"type": "",
"value": "0"
},
"nativeSrc": "63:29:1",
"nodeType": "YulSwitch",
"src": "63:29:1"
}
@@ -26,16 +26,19 @@
{
"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": "",
@@ -45,6 +48,7 @@
[
{
"name": "v",
"nativeSrc": "79:1:1",
"nodeType": "YulTypedName",
"src": "79:1:1",
"type": ""
@@ -57,16 +61,19 @@
{
"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": "",
@@ -76,6 +83,7 @@
[
{
"name": "v",
"nativeSrc": "141:1:1",
"nodeType": "YulIdentifier",
"src": "141:1:1"
}
@@ -83,11 +91,13 @@
}
]
},
"nativeSrc": "132:17:1",
"nodeType": "YulCase",
"src": "132:17:1",
"value":
{
"kind": "number",
"nativeSrc": "137:1:1",
"nodeType": "YulLiteral",
"src": "137:1:1",
"type": "",
@@ -97,16 +107,19 @@
{
"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": "",
@@ -116,6 +129,7 @@
[
{
"name": "v",
"nativeSrc": "172:1:1",
"nodeType": "YulIdentifier",
"src": "172:1:1"
}
@@ -123,6 +137,7 @@
}
]
},
"nativeSrc": "162:18:1",
"nodeType": "YulCase",
"src": "162:18:1",
"value": "default"
@@ -134,12 +149,15 @@
"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"
}
@@ -81,16 +81,19 @@
{
"AST":
{
"nativeSrc": "77:10:1",
"nodeType": "YulBlock",
"src": "77:10:1",
"statements":
[
{
"nativeSrc": "79:6:1",
"nodeType": "YulAssignment",
"src": "79:6:1",
"value":
{
"kind": "number",
"nativeSrc": "84:1:1",
"nodeType": "YulLiteral",
"src": "84:1:1",
"type": "",
@@ -100,6 +103,7 @@
[
{
"name": "x",
"nativeSrc": "79:1:1",
"nodeType": "YulIdentifier",
"src": "79:1:1"
}
@@ -59,16 +59,19 @@
{
"AST":
{
"nativeSrc": "77:10:1",
"nodeType": "YulBlock",
"src": "77:10:1",
"statements":
[
{
"nativeSrc": "79:6:1",
"nodeType": "YulAssignment",
"src": "79:6:1",
"value":
{
"kind": "number",
"nativeSrc": "84:1:1",
"nodeType": "YulLiteral",
"src": "84:1:1",
"type": "",
@@ -78,6 +81,7 @@
[
{
"name": "x",
"nativeSrc": "79:1:1",
"nodeType": "YulIdentifier",
"src": "79:1:1"
}
@@ -39,17 +39,20 @@
{
"AST":
{
"nativeSrc": "66:142:1",
"nodeType": "YulBlock",
"src": "66:142:1",
"statements":
[
{
"nativeSrc": "80:15:1",
"nodeType": "YulVariableDeclaration",
"src": "80:15:1",
"value":
{
"hexValue": "74657374",
"kind": "string",
"nativeSrc": "89:6:1",
"nodeType": "YulLiteral",
"src": "89:6:1",
"type": "",
@@ -59,6 +62,7 @@
[
{
"name": "a",
"nativeSrc": "84:1:1",
"nodeType": "YulTypedName",
"src": "84:1:1",
"type": ""
@@ -66,12 +70,14 @@
]
},
{
"nativeSrc": "108:54:1",
"nodeType": "YulVariableDeclaration",
"src": "108:54:1",
"value":
{
"hexValue": "112233445566778899aabbccddeeff6677889900",
"kind": "string",
"nativeSrc": "117:45:1",
"nodeType": "YulLiteral",
"src": "117:45:1",
"type": ""
@@ -80,6 +86,7 @@
[
{
"name": "b",
"nativeSrc": "112:1:1",
"nodeType": "YulTypedName",
"src": "112:1:1",
"type": ""
@@ -87,12 +94,14 @@
]
},
{
"nativeSrc": "175:23:1",
"nodeType": "YulVariableDeclaration",
"src": "175:23:1",
"value":
{
"hexValue": "1234abcd",
"kind": "string",
"nativeSrc": "184:14:1",
"nodeType": "YulLiteral",
"src": "184:14:1",
"type": ""
@@ -101,6 +110,7 @@
[
{
"name": "c",
"nativeSrc": "179:1:1",
"nodeType": "YulTypedName",
"src": "179:1:1",
"type": ""
@@ -26,17 +26,20 @@
{
"AST":
{
"nativeSrc": "66:142:1",
"nodeType": "YulBlock",
"src": "66:142:1",
"statements":
[
{
"nativeSrc": "80:15:1",
"nodeType": "YulVariableDeclaration",
"src": "80:15:1",
"value":
{
"hexValue": "74657374",
"kind": "string",
"nativeSrc": "89:6:1",
"nodeType": "YulLiteral",
"src": "89:6:1",
"type": "",
@@ -46,6 +49,7 @@
[
{
"name": "a",
"nativeSrc": "84:1:1",
"nodeType": "YulTypedName",
"src": "84:1:1",
"type": ""
@@ -53,12 +57,14 @@
]
},
{
"nativeSrc": "108:54:1",
"nodeType": "YulVariableDeclaration",
"src": "108:54:1",
"value":
{
"hexValue": "112233445566778899aabbccddeeff6677889900",
"kind": "string",
"nativeSrc": "117:45:1",
"nodeType": "YulLiteral",
"src": "117:45:1",
"type": ""
@@ -67,6 +73,7 @@
[
{
"name": "b",
"nativeSrc": "112:1:1",
"nodeType": "YulTypedName",
"src": "112:1:1",
"type": ""
@@ -74,12 +81,14 @@
]
},
{
"nativeSrc": "175:23:1",
"nodeType": "YulVariableDeclaration",
"src": "175:23:1",
"value":
{
"hexValue": "1234abcd",
"kind": "string",
"nativeSrc": "184:14:1",
"nodeType": "YulLiteral",
"src": "184:14:1",
"type": ""
@@ -88,6 +97,7 @@
[
{
"name": "c",
"nativeSrc": "179:1:1",
"nodeType": "YulTypedName",
"src": "179:1:1",
"type": ""
+5 -2
View File
@@ -132,7 +132,7 @@ BOOST_AUTO_TEST_CASE(cli_mode_options)
"dir1/file1.sol:L=0x1234567890123456789012345678901234567890,"
"dir2/file2.sol:L=0x1111122222333334444455555666667777788888",
"--ast-compact-json", "--asm", "--asm-json", "--opcodes", "--bin", "--bin-runtime", "--abi",
"--ir", "--ir-optimized", "--hashes", "--userdoc", "--devdoc", "--metadata", "--storage-layout",
"--ir", "--ir-ast-json", "--ir-optimized", "--ir-optimized-ast-json", "--hashes", "--userdoc", "--devdoc", "--metadata", "--storage-layout",
"--gas",
"--combined-json="
"abi,metadata,bin,bin-runtime,opcodes,asm,storage-layout,generated-sources,generated-sources-runtime,"
@@ -192,7 +192,8 @@ BOOST_AUTO_TEST_CASE(cli_mode_options)
expectedOptions.compiler.outputs = {
true, true, true, true, true,
true, true, true, true, true,
true, true, true, true,
true, true, true, true, true,
true,
};
expectedOptions.compiler.estimateGas = true;
expectedOptions.compiler.combinedJsonRequests = {
@@ -290,6 +291,7 @@ BOOST_AUTO_TEST_CASE(assembly_mode_options)
"--asm",
"--bin",
"--ir-optimized",
"--ast-compact-json",
};
commandLine += assemblyOptions;
if (expectedLanguage == YulStack::Language::StrictAssembly)
@@ -329,6 +331,7 @@ BOOST_AUTO_TEST_CASE(assembly_mode_options)
expectedOptions.compiler.outputs.asm_ = true;
expectedOptions.compiler.outputs.binary = true;
expectedOptions.compiler.outputs.irOptimized = true;
expectedOptions.compiler.outputs.astCompactJson = true;
if (expectedLanguage == YulStack::Language::StrictAssembly)
{
expectedOptions.optimizer.enabled = true;