mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Fix syntax errors in ASTJSON tests
This commit is contained in:
parent
d609409624
commit
5f7ff667b9
@ -423,18 +423,19 @@
|
||||
"isPure": true,
|
||||
"lValueRequested": false,
|
||||
"nodeType": "ElementaryTypeNameExpression",
|
||||
"src": "239:7:1",
|
||||
"src": "239:8:1",
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_type$_t_address_$",
|
||||
"typeString": "type(address)"
|
||||
"typeIdentifier": "t_type$_t_address_payable_$",
|
||||
"typeString": "type(address payable)"
|
||||
},
|
||||
"typeName":
|
||||
{
|
||||
"id": 31,
|
||||
"name": "address",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "239:7:1",
|
||||
"src": "239:8:1",
|
||||
"stateMutability": "payable",
|
||||
"typeDescriptions": {}
|
||||
}
|
||||
},
|
||||
@ -450,8 +451,8 @@
|
||||
"tryCall": false,
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_address",
|
||||
"typeString": "address"
|
||||
"typeIdentifier": "t_address_payable",
|
||||
"typeString": "address payable"
|
||||
}
|
||||
},
|
||||
"src": "232:17:1",
|
||||
|
@ -4,7 +4,7 @@ contract C {
|
||||
address payable a = m[arg];
|
||||
r = arg;
|
||||
address c = address(this);
|
||||
m[c] = address(0);
|
||||
m[c] = payable(0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -268,14 +268,15 @@
|
||||
{
|
||||
"id": 32,
|
||||
"nodeType": "ElementaryTypeNameExpression",
|
||||
"src": "239:7:1",
|
||||
"src": "239:8:1",
|
||||
"typeDescriptions": {},
|
||||
"typeName":
|
||||
{
|
||||
"id": 31,
|
||||
"name": "address",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "239:7:1",
|
||||
"src": "239:8:1",
|
||||
"stateMutability": "payable",
|
||||
"typeDescriptions": {}
|
||||
}
|
||||
},
|
||||
|
@ -17,6 +17,7 @@
|
||||
"canonicalName": "C",
|
||||
"contractDependencies": [],
|
||||
"contractKind": "contract",
|
||||
"fullyImplemented": true,
|
||||
"id": 8,
|
||||
"linearizedBaseContracts":
|
||||
[
|
||||
@ -32,21 +33,21 @@
|
||||
{
|
||||
"id": 6,
|
||||
"nodeType": "Block",
|
||||
"src": "57:97:1",
|
||||
"src": "57:95:1",
|
||||
"statements":
|
||||
[
|
||||
{
|
||||
"AST":
|
||||
{
|
||||
"nodeType": "YulBlock",
|
||||
"src": "72:78:1",
|
||||
"src": "72:76:1",
|
||||
"statements":
|
||||
[
|
||||
{
|
||||
"body":
|
||||
{
|
||||
"nodeType": "YulBlock",
|
||||
"src": "94:50:1",
|
||||
"src": "94:35:1",
|
||||
"statements":
|
||||
[
|
||||
{
|
||||
@ -59,15 +60,21 @@
|
||||
"name": "f2",
|
||||
"nodeType": "YulFunctionDefinition",
|
||||
"src": "104:17:1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"name": "f1",
|
||||
"nodeType": "YulFunctionDefinition",
|
||||
"src": "80:49:1"
|
||||
},
|
||||
{
|
||||
"nodeType": "YulAssignment",
|
||||
"src": "130:6:1",
|
||||
"src": "136:6:1",
|
||||
"value":
|
||||
{
|
||||
"kind": "number",
|
||||
"nodeType": "YulLiteral",
|
||||
"src": "135:1:1",
|
||||
"src": "141:1:1",
|
||||
"type": "",
|
||||
"value": "2"
|
||||
},
|
||||
@ -76,26 +83,30 @@
|
||||
{
|
||||
"name": "x",
|
||||
"nodeType": "YulIdentifier",
|
||||
"src": "130:1:1"
|
||||
"src": "136:1:1"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"name": "f1",
|
||||
"nodeType": "YulFunctionDefinition",
|
||||
"src": "80:64:1"
|
||||
"evmVersion": "london",
|
||||
"externalReferences":
|
||||
[
|
||||
{
|
||||
"declaration": 3,
|
||||
"isOffset": false,
|
||||
"isSlot": false,
|
||||
"src": "136:1:1",
|
||||
"valueSize": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"evmVersion": %EVMVERSION%,
|
||||
"externalReferences": [],
|
||||
],
|
||||
"id": 5,
|
||||
"nodeType": "InlineAssembly",
|
||||
"src": "63:87:1"
|
||||
"src": "63:85:1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"functionSelector": "26121ff0",
|
||||
"id": 7,
|
||||
"implemented": true,
|
||||
"kind": "function",
|
||||
@ -127,14 +138,22 @@
|
||||
"src": "49:6:1",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {},
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
},
|
||||
"typeName":
|
||||
{
|
||||
"id": 2,
|
||||
"name": "uint",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "49:4:1",
|
||||
"typeDescriptions": {}
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
@ -142,16 +161,16 @@
|
||||
"src": "48:8:1"
|
||||
},
|
||||
"scope": 8,
|
||||
"src": "15:139:1",
|
||||
"src": "15:137:1",
|
||||
"stateMutability": "pure",
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
],
|
||||
"scope": 9,
|
||||
"src": "0:156:1",
|
||||
"src": "0:154:1",
|
||||
"usedErrors": []
|
||||
}
|
||||
],
|
||||
"src": "0:157:1"
|
||||
"src": "0:155:1"
|
||||
}
|
||||
|
@ -3,8 +3,8 @@ contract C {
|
||||
assembly {
|
||||
function f1() {
|
||||
function f2() { }
|
||||
x := 2
|
||||
}
|
||||
x := 2
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -20,21 +20,21 @@
|
||||
{
|
||||
"id": 6,
|
||||
"nodeType": "Block",
|
||||
"src": "57:97:1",
|
||||
"src": "57:95:1",
|
||||
"statements":
|
||||
[
|
||||
{
|
||||
"AST":
|
||||
{
|
||||
"nodeType": "YulBlock",
|
||||
"src": "72:78:1",
|
||||
"src": "72:76:1",
|
||||
"statements":
|
||||
[
|
||||
{
|
||||
"body":
|
||||
{
|
||||
"nodeType": "YulBlock",
|
||||
"src": "94:50:1",
|
||||
"src": "94:35:1",
|
||||
"statements":
|
||||
[
|
||||
{
|
||||
@ -47,15 +47,21 @@
|
||||
"name": "f2",
|
||||
"nodeType": "YulFunctionDefinition",
|
||||
"src": "104:17:1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"name": "f1",
|
||||
"nodeType": "YulFunctionDefinition",
|
||||
"src": "80:49:1"
|
||||
},
|
||||
{
|
||||
"nodeType": "YulAssignment",
|
||||
"src": "130:6:1",
|
||||
"src": "136:6:1",
|
||||
"value":
|
||||
{
|
||||
"kind": "number",
|
||||
"nodeType": "YulLiteral",
|
||||
"src": "135:1:1",
|
||||
"src": "141:1:1",
|
||||
"type": "",
|
||||
"value": "2"
|
||||
},
|
||||
@ -64,23 +70,17 @@
|
||||
{
|
||||
"name": "x",
|
||||
"nodeType": "YulIdentifier",
|
||||
"src": "130:1:1"
|
||||
"src": "136:1:1"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"name": "f1",
|
||||
"nodeType": "YulFunctionDefinition",
|
||||
"src": "80:64:1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"evmVersion": %EVMVERSION%,
|
||||
"evmVersion": "london",
|
||||
"externalReferences": [],
|
||||
"id": 5,
|
||||
"nodeType": "InlineAssembly",
|
||||
"src": "63:87:1"
|
||||
"src": "63:85:1"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -128,15 +128,15 @@
|
||||
],
|
||||
"src": "48:8:1"
|
||||
},
|
||||
"src": "15:139:1",
|
||||
"src": "15:137:1",
|
||||
"stateMutability": "pure",
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
],
|
||||
"src": "0:156:1",
|
||||
"src": "0:154:1",
|
||||
"usedErrors": []
|
||||
}
|
||||
],
|
||||
"src": "0:157:1"
|
||||
"src": "0:155:1"
|
||||
}
|
||||
|
@ -17,6 +17,7 @@
|
||||
"canonicalName": "C",
|
||||
"contractDependencies": [],
|
||||
"contractKind": "contract",
|
||||
"fullyImplemented": true,
|
||||
"id": 6,
|
||||
"linearizedBaseContracts":
|
||||
[
|
||||
@ -56,7 +57,7 @@
|
||||
"variables":
|
||||
[
|
||||
{
|
||||
"name": "f",
|
||||
"name": "v",
|
||||
"nodeType": "YulTypedName",
|
||||
"src": "79:1:1",
|
||||
"type": ""
|
||||
@ -87,7 +88,7 @@
|
||||
"variableNames":
|
||||
[
|
||||
{
|
||||
"name": "f",
|
||||
"name": "v",
|
||||
"nodeType": "YulIdentifier",
|
||||
"src": "141:1:1"
|
||||
}
|
||||
@ -127,7 +128,7 @@
|
||||
"variableNames":
|
||||
[
|
||||
{
|
||||
"name": "f",
|
||||
"name": "v",
|
||||
"nodeType": "YulIdentifier",
|
||||
"src": "172:1:1"
|
||||
}
|
||||
@ -158,29 +159,14 @@
|
||||
]
|
||||
},
|
||||
"evmVersion": %EVMVERSION%,
|
||||
"externalReferences":
|
||||
[
|
||||
{
|
||||
"declaration": 5,
|
||||
"isOffset": false,
|
||||
"isSlot": false,
|
||||
"src": "141:1:1",
|
||||
"valueSize": 18446744073709551615
|
||||
},
|
||||
{
|
||||
"declaration": 5,
|
||||
"isOffset": false,
|
||||
"isSlot": false,
|
||||
"src": "172:1:1",
|
||||
"valueSize": 18446744073709551615
|
||||
}
|
||||
],
|
||||
"externalReferences": [],
|
||||
"id": 3,
|
||||
"nodeType": "InlineAssembly",
|
||||
"src": "52:138:1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"functionSelector": "26121ff0",
|
||||
"id": 5,
|
||||
"implemented": true,
|
||||
"kind": "function",
|
||||
|
@ -1,10 +1,10 @@
|
||||
contract C {
|
||||
function f() pure public {
|
||||
assembly {
|
||||
let f := 0
|
||||
let v := 0
|
||||
switch calldatasize()
|
||||
case 0 { f := 1 }
|
||||
default { f := 2 }
|
||||
case 0 { v := 1 }
|
||||
default { v := 2 }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -44,7 +44,7 @@
|
||||
"variables":
|
||||
[
|
||||
{
|
||||
"name": "f",
|
||||
"name": "v",
|
||||
"nodeType": "YulTypedName",
|
||||
"src": "79:1:1",
|
||||
"type": ""
|
||||
@ -75,7 +75,7 @@
|
||||
"variableNames":
|
||||
[
|
||||
{
|
||||
"name": "f",
|
||||
"name": "v",
|
||||
"nodeType": "YulIdentifier",
|
||||
"src": "141:1:1"
|
||||
}
|
||||
@ -115,7 +115,7 @@
|
||||
"variableNames":
|
||||
[
|
||||
{
|
||||
"name": "f",
|
||||
"name": "v",
|
||||
"nodeType": "YulIdentifier",
|
||||
"src": "172:1:1"
|
||||
}
|
||||
|
@ -33,7 +33,7 @@
|
||||
{
|
||||
"id": 15,
|
||||
"nodeType": "Block",
|
||||
"src": "120:2:1",
|
||||
"src": "127:2:1",
|
||||
"statements": []
|
||||
},
|
||||
"functionSelector": "d6cd4974",
|
||||
@ -144,7 +144,7 @@
|
||||
"nameLocation": "-1:-1:-1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 16,
|
||||
"src": "79:40:1",
|
||||
"src": "86:40:1",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions":
|
||||
@ -161,7 +161,7 @@
|
||||
"id": 8,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "87:2:1"
|
||||
"src": "94:2:1"
|
||||
},
|
||||
"returnParameterTypes":
|
||||
{
|
||||
@ -177,7 +177,7 @@
|
||||
"nameLocation": "-1:-1:-1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 12,
|
||||
"src": "113:4:1",
|
||||
"src": "120:4:1",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions":
|
||||
@ -190,7 +190,7 @@
|
||||
"id": 9,
|
||||
"name": "uint",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "113:4:1",
|
||||
"src": "120:4:1",
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_uint256",
|
||||
@ -200,9 +200,9 @@
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "112:6:1"
|
||||
"src": "119:6:1"
|
||||
},
|
||||
"src": "79:40:1",
|
||||
"src": "86:40:1",
|
||||
"stateMutability": "view",
|
||||
"typeDescriptions":
|
||||
{
|
||||
@ -214,19 +214,19 @@
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "78:41:1"
|
||||
"src": "85:41:1"
|
||||
},
|
||||
"scope": 17,
|
||||
"src": "13:109:1",
|
||||
"src": "13:116:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
],
|
||||
"scope": 18,
|
||||
"src": "0:124:1",
|
||||
"src": "0:131:1",
|
||||
"usedErrors": []
|
||||
}
|
||||
],
|
||||
"src": "0:125:1"
|
||||
"src": "0:132:1"
|
||||
}
|
||||
|
@ -1,3 +1,3 @@
|
||||
contract C { function f(function() external payable returns (uint) x) returns (function() external view returns (uint)) {} }
|
||||
contract C { function f(function() external payable returns (uint) x) public returns (function() external view returns (uint)) {} }
|
||||
|
||||
// ----
|
||||
|
@ -20,7 +20,7 @@
|
||||
{
|
||||
"id": 15,
|
||||
"nodeType": "Block",
|
||||
"src": "120:2:1",
|
||||
"src": "127:2:1",
|
||||
"statements": []
|
||||
},
|
||||
"id": 16,
|
||||
@ -111,7 +111,7 @@
|
||||
"name": "",
|
||||
"nameLocation": "-1:-1:-1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"src": "79:40:1",
|
||||
"src": "86:40:1",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {},
|
||||
@ -124,7 +124,7 @@
|
||||
"id": 8,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "87:2:1"
|
||||
"src": "94:2:1"
|
||||
},
|
||||
"returnParameterTypes":
|
||||
{
|
||||
@ -139,7 +139,7 @@
|
||||
"name": "",
|
||||
"nameLocation": "-1:-1:-1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"src": "113:4:1",
|
||||
"src": "120:4:1",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {},
|
||||
@ -148,15 +148,15 @@
|
||||
"id": 9,
|
||||
"name": "uint",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "113:4:1",
|
||||
"src": "120:4:1",
|
||||
"typeDescriptions": {}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "112:6:1"
|
||||
"src": "119:6:1"
|
||||
},
|
||||
"src": "79:40:1",
|
||||
"src": "86:40:1",
|
||||
"stateMutability": "view",
|
||||
"typeDescriptions": {},
|
||||
"visibility": "external"
|
||||
@ -164,17 +164,17 @@
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "78:41:1"
|
||||
"src": "85:41:1"
|
||||
},
|
||||
"src": "13:109:1",
|
||||
"src": "13:116:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
],
|
||||
"src": "0:124:1",
|
||||
"src": "0:131:1",
|
||||
"usedErrors": []
|
||||
}
|
||||
],
|
||||
"src": "0:125:1"
|
||||
"src": "0:132:1"
|
||||
}
|
||||
|
@ -4,10 +4,10 @@
|
||||
{
|
||||
"C":
|
||||
[
|
||||
9
|
||||
15
|
||||
]
|
||||
},
|
||||
"id": 10,
|
||||
"id": 16,
|
||||
"nodeType": "SourceUnit",
|
||||
"nodes":
|
||||
[
|
||||
@ -18,10 +18,10 @@
|
||||
"contractDependencies": [],
|
||||
"contractKind": "contract",
|
||||
"fullyImplemented": true,
|
||||
"id": 9,
|
||||
"id": 15,
|
||||
"linearizedBaseContracts":
|
||||
[
|
||||
9
|
||||
15
|
||||
],
|
||||
"name": "C",
|
||||
"nameLocation": "9:1:1",
|
||||
@ -31,9 +31,9 @@
|
||||
{
|
||||
"body":
|
||||
{
|
||||
"id": 7,
|
||||
"id": 13,
|
||||
"nodeType": "Block",
|
||||
"src": "33:30:1",
|
||||
"src": "33:45:1",
|
||||
"statements":
|
||||
[
|
||||
{
|
||||
@ -50,7 +50,7 @@
|
||||
"name": "x",
|
||||
"nameLocation": "49:1:1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 7,
|
||||
"scope": 13,
|
||||
"src": "35:15:1",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "memory",
|
||||
@ -74,31 +74,131 @@
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"id": 6,
|
||||
"id": 12,
|
||||
"initialValue":
|
||||
{
|
||||
"arguments":
|
||||
[
|
||||
{
|
||||
"arguments":
|
||||
[
|
||||
{
|
||||
"hexValue": "ff",
|
||||
"id": 5,
|
||||
"id": 9,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": true,
|
||||
"kind": "hexString",
|
||||
"lValueRequested": false,
|
||||
"nodeType": "Literal",
|
||||
"src": "53:7:1",
|
||||
"src": "66:7:1",
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_stringliteral_8b1a944cf13a9a1c08facb2c9e98623ef3254d2ddb48113885c3e8e97fec8db9",
|
||||
"typeString": "literal_string hex\"ff\""
|
||||
}
|
||||
}
|
||||
],
|
||||
"expression":
|
||||
{
|
||||
"argumentTypes":
|
||||
[
|
||||
{
|
||||
"typeIdentifier": "t_stringliteral_8b1a944cf13a9a1c08facb2c9e98623ef3254d2ddb48113885c3e8e97fec8db9",
|
||||
"typeString": "literal_string hex\"ff\""
|
||||
}
|
||||
],
|
||||
"id": 8,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": true,
|
||||
"lValueRequested": false,
|
||||
"nodeType": "ElementaryTypeNameExpression",
|
||||
"src": "60:5:1",
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_type$_t_bytes_storage_ptr_$",
|
||||
"typeString": "type(bytes storage pointer)"
|
||||
},
|
||||
"typeName":
|
||||
{
|
||||
"id": 7,
|
||||
"name": "bytes",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "60:5:1",
|
||||
"typeDescriptions": {}
|
||||
}
|
||||
},
|
||||
"id": 10,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": true,
|
||||
"kind": "typeConversion",
|
||||
"lValueRequested": false,
|
||||
"names": [],
|
||||
"nodeType": "FunctionCall",
|
||||
"src": "60:14:1",
|
||||
"tryCall": false,
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_bytes_memory_ptr",
|
||||
"typeString": "bytes memory"
|
||||
}
|
||||
}
|
||||
],
|
||||
"expression":
|
||||
{
|
||||
"argumentTypes":
|
||||
[
|
||||
{
|
||||
"typeIdentifier": "t_bytes_memory_ptr",
|
||||
"typeString": "bytes memory"
|
||||
}
|
||||
],
|
||||
"id": 6,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": true,
|
||||
"lValueRequested": false,
|
||||
"nodeType": "ElementaryTypeNameExpression",
|
||||
"src": "53:6:1",
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_type$_t_string_storage_ptr_$",
|
||||
"typeString": "type(string storage pointer)"
|
||||
},
|
||||
"typeName":
|
||||
{
|
||||
"id": 5,
|
||||
"name": "string",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "53:6:1",
|
||||
"typeDescriptions": {}
|
||||
}
|
||||
},
|
||||
"id": 11,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": true,
|
||||
"kind": "typeConversion",
|
||||
"lValueRequested": false,
|
||||
"names": [],
|
||||
"nodeType": "FunctionCall",
|
||||
"src": "53:22:1",
|
||||
"tryCall": false,
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_string_memory_ptr",
|
||||
"typeString": "string memory"
|
||||
}
|
||||
},
|
||||
"nodeType": "VariableDeclarationStatement",
|
||||
"src": "35:25:1"
|
||||
"src": "35:40:1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"functionSelector": "26121ff0",
|
||||
"id": 8,
|
||||
"id": 14,
|
||||
"implemented": true,
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
@ -119,17 +219,17 @@
|
||||
"parameters": [],
|
||||
"src": "33:0:1"
|
||||
},
|
||||
"scope": 9,
|
||||
"src": "13:50:1",
|
||||
"scope": 15,
|
||||
"src": "13:65:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
],
|
||||
"scope": 10,
|
||||
"src": "0:65:1",
|
||||
"scope": 16,
|
||||
"src": "0:80:1",
|
||||
"usedErrors": []
|
||||
}
|
||||
],
|
||||
"src": "0:66:1"
|
||||
"src": "0:81:1"
|
||||
}
|
||||
|
@ -1,3 +1,3 @@
|
||||
contract C { function f() public { string memory x = hex"ff"; } }
|
||||
contract C { function f() public { string memory x = string(bytes(hex"ff")); } }
|
||||
|
||||
// ----
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"absolutePath": "a",
|
||||
"id": 10,
|
||||
"id": 16,
|
||||
"nodeType": "SourceUnit",
|
||||
"nodes":
|
||||
[
|
||||
@ -9,7 +9,7 @@
|
||||
"baseContracts": [],
|
||||
"contractDependencies": [],
|
||||
"contractKind": "contract",
|
||||
"id": 9,
|
||||
"id": 15,
|
||||
"name": "C",
|
||||
"nameLocation": "9:1:1",
|
||||
"nodeType": "ContractDefinition",
|
||||
@ -18,9 +18,9 @@
|
||||
{
|
||||
"body":
|
||||
{
|
||||
"id": 7,
|
||||
"id": 13,
|
||||
"nodeType": "Block",
|
||||
"src": "33:30:1",
|
||||
"src": "33:45:1",
|
||||
"statements":
|
||||
[
|
||||
{
|
||||
@ -52,22 +52,74 @@
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"id": 6,
|
||||
"id": 12,
|
||||
"initialValue":
|
||||
{
|
||||
"arguments":
|
||||
[
|
||||
{
|
||||
"arguments":
|
||||
[
|
||||
{
|
||||
"hexValue": "ff",
|
||||
"id": 5,
|
||||
"id": 9,
|
||||
"kind": "hexString",
|
||||
"nodeType": "Literal",
|
||||
"src": "53:7:1",
|
||||
"src": "66:7:1",
|
||||
"typeDescriptions": {}
|
||||
}
|
||||
],
|
||||
"expression":
|
||||
{
|
||||
"id": 8,
|
||||
"nodeType": "ElementaryTypeNameExpression",
|
||||
"src": "60:5:1",
|
||||
"typeDescriptions": {},
|
||||
"typeName":
|
||||
{
|
||||
"id": 7,
|
||||
"name": "bytes",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "60:5:1",
|
||||
"typeDescriptions": {}
|
||||
}
|
||||
},
|
||||
"id": 10,
|
||||
"names": [],
|
||||
"nodeType": "FunctionCall",
|
||||
"src": "60:14:1",
|
||||
"tryCall": false,
|
||||
"typeDescriptions": {}
|
||||
}
|
||||
],
|
||||
"expression":
|
||||
{
|
||||
"id": 6,
|
||||
"nodeType": "ElementaryTypeNameExpression",
|
||||
"src": "53:6:1",
|
||||
"typeDescriptions": {},
|
||||
"typeName":
|
||||
{
|
||||
"id": 5,
|
||||
"name": "string",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "53:6:1",
|
||||
"typeDescriptions": {}
|
||||
}
|
||||
},
|
||||
"id": 11,
|
||||
"names": [],
|
||||
"nodeType": "FunctionCall",
|
||||
"src": "53:22:1",
|
||||
"tryCall": false,
|
||||
"typeDescriptions": {}
|
||||
},
|
||||
"nodeType": "VariableDeclarationStatement",
|
||||
"src": "35:25:1"
|
||||
"src": "35:40:1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": 8,
|
||||
"id": 14,
|
||||
"implemented": true,
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
@ -88,15 +140,15 @@
|
||||
"parameters": [],
|
||||
"src": "33:0:1"
|
||||
},
|
||||
"src": "13:50:1",
|
||||
"src": "13:65:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
],
|
||||
"src": "0:65:1",
|
||||
"src": "0:80:1",
|
||||
"usedErrors": []
|
||||
}
|
||||
],
|
||||
"src": "0:66:1"
|
||||
"src": "0:81:1"
|
||||
}
|
||||
|
@ -33,7 +33,7 @@
|
||||
{
|
||||
"id": 10,
|
||||
"nodeType": "Block",
|
||||
"src": "26:20:1",
|
||||
"src": "33:20:1",
|
||||
"statements":
|
||||
[
|
||||
{
|
||||
@ -48,10 +48,10 @@
|
||||
"id": 4,
|
||||
"mutability": "mutable",
|
||||
"name": "x",
|
||||
"nameLocation": "33:1:1",
|
||||
"nameLocation": "40:1:1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 10,
|
||||
"src": "28:6:1",
|
||||
"src": "35:6:1",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions":
|
||||
@ -64,7 +64,7 @@
|
||||
"id": 3,
|
||||
"name": "uint",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "28:4:1",
|
||||
"src": "35:4:1",
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_uint256",
|
||||
@ -85,7 +85,7 @@
|
||||
"kind": "number",
|
||||
"lValueRequested": false,
|
||||
"nodeType": "Literal",
|
||||
"src": "37:1:1",
|
||||
"src": "44:1:1",
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_rational_2_by_1",
|
||||
@ -94,7 +94,7 @@
|
||||
"value": "2"
|
||||
},
|
||||
"nodeType": "VariableDeclarationStatement",
|
||||
"src": "28:10:1"
|
||||
"src": "35:10:1"
|
||||
},
|
||||
{
|
||||
"expression":
|
||||
@ -107,7 +107,7 @@
|
||||
"nodeType": "UnaryOperation",
|
||||
"operator": "++",
|
||||
"prefix": false,
|
||||
"src": "40:3:1",
|
||||
"src": "47:3:1",
|
||||
"subExpression":
|
||||
{
|
||||
"id": 7,
|
||||
@ -115,7 +115,7 @@
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"referencedDeclaration": 4,
|
||||
"src": "40:1:1",
|
||||
"src": "47:1:1",
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_uint256",
|
||||
@ -130,7 +130,7 @@
|
||||
},
|
||||
"id": 9,
|
||||
"nodeType": "ExpressionStatement",
|
||||
"src": "40:3:1"
|
||||
"src": "47:3:1"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -154,19 +154,19 @@
|
||||
"id": 2,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "26:0:1"
|
||||
"src": "33:0:1"
|
||||
},
|
||||
"scope": 12,
|
||||
"src": "13:33:1",
|
||||
"src": "13:40:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
],
|
||||
"scope": 13,
|
||||
"src": "0:48:1",
|
||||
"src": "0:55:1",
|
||||
"usedErrors": []
|
||||
}
|
||||
],
|
||||
"src": "0:49:1"
|
||||
"src": "0:56:1"
|
||||
}
|
||||
|
@ -1,3 +1,3 @@
|
||||
contract C { function f() { uint x = 2; x++; } }
|
||||
contract C { function f() public { uint x = 2; x++; } }
|
||||
|
||||
// ----
|
||||
|
@ -20,7 +20,7 @@
|
||||
{
|
||||
"id": 10,
|
||||
"nodeType": "Block",
|
||||
"src": "26:20:1",
|
||||
"src": "33:20:1",
|
||||
"statements":
|
||||
[
|
||||
{
|
||||
@ -35,9 +35,9 @@
|
||||
"id": 4,
|
||||
"mutability": "mutable",
|
||||
"name": "x",
|
||||
"nameLocation": "33:1:1",
|
||||
"nameLocation": "40:1:1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"src": "28:6:1",
|
||||
"src": "35:6:1",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {},
|
||||
@ -46,7 +46,7 @@
|
||||
"id": 3,
|
||||
"name": "uint",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "28:4:1",
|
||||
"src": "35:4:1",
|
||||
"typeDescriptions": {}
|
||||
},
|
||||
"visibility": "internal"
|
||||
@ -59,12 +59,12 @@
|
||||
"id": 5,
|
||||
"kind": "number",
|
||||
"nodeType": "Literal",
|
||||
"src": "37:1:1",
|
||||
"src": "44:1:1",
|
||||
"typeDescriptions": {},
|
||||
"value": "2"
|
||||
},
|
||||
"nodeType": "VariableDeclarationStatement",
|
||||
"src": "28:10:1"
|
||||
"src": "35:10:1"
|
||||
},
|
||||
{
|
||||
"expression":
|
||||
@ -73,21 +73,21 @@
|
||||
"nodeType": "UnaryOperation",
|
||||
"operator": "++",
|
||||
"prefix": false,
|
||||
"src": "40:3:1",
|
||||
"src": "47:3:1",
|
||||
"subExpression":
|
||||
{
|
||||
"id": 7,
|
||||
"name": "x",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"src": "40:1:1",
|
||||
"src": "47:1:1",
|
||||
"typeDescriptions": {}
|
||||
},
|
||||
"typeDescriptions": {}
|
||||
},
|
||||
"id": 9,
|
||||
"nodeType": "ExpressionStatement",
|
||||
"src": "40:3:1"
|
||||
"src": "47:3:1"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -110,17 +110,17 @@
|
||||
"id": 2,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "26:0:1"
|
||||
"src": "33:0:1"
|
||||
},
|
||||
"src": "13:33:1",
|
||||
"src": "13:40:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
],
|
||||
"src": "0:48:1",
|
||||
"src": "0:55:1",
|
||||
"usedErrors": []
|
||||
}
|
||||
],
|
||||
"src": "0:49:1"
|
||||
"src": "0:56:1"
|
||||
}
|
||||
|
@ -39,7 +39,7 @@
|
||||
{
|
||||
"id": 8,
|
||||
"nodeType": "Block",
|
||||
"src": "24:15:1",
|
||||
"src": "29:15:1",
|
||||
"statements":
|
||||
[
|
||||
{
|
||||
@ -54,7 +54,7 @@
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"referencedDeclaration": 2,
|
||||
"src": "33:1:1",
|
||||
"src": "38:1:1",
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_function_error_pure$__$returns$__$",
|
||||
@ -69,7 +69,7 @@
|
||||
"lValueRequested": false,
|
||||
"names": [],
|
||||
"nodeType": "FunctionCall",
|
||||
"src": "33:3:1",
|
||||
"src": "38:3:1",
|
||||
"tryCall": false,
|
||||
"typeDescriptions":
|
||||
{
|
||||
@ -79,7 +79,7 @@
|
||||
},
|
||||
"id": 7,
|
||||
"nodeType": "RevertStatement",
|
||||
"src": "26:10:1"
|
||||
"src": "31:10:1"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -102,11 +102,11 @@
|
||||
"id": 4,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "24:0:1"
|
||||
"src": "29:0:1"
|
||||
},
|
||||
"scope": 20,
|
||||
"src": "11:28:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"src": "11:33:1",
|
||||
"stateMutability": "pure",
|
||||
"virtual": false,
|
||||
"visibility": "internal"
|
||||
},
|
||||
@ -123,7 +123,7 @@
|
||||
19
|
||||
],
|
||||
"name": "C",
|
||||
"nameLocation": "49:1:1",
|
||||
"nameLocation": "54:1:1",
|
||||
"nodeType": "ContractDefinition",
|
||||
"nodes":
|
||||
[
|
||||
@ -131,23 +131,23 @@
|
||||
"errorSelector": "2bc80f3a",
|
||||
"id": 11,
|
||||
"name": "T",
|
||||
"nameLocation": "63:1:1",
|
||||
"nameLocation": "68:1:1",
|
||||
"nodeType": "ErrorDefinition",
|
||||
"parameters":
|
||||
{
|
||||
"id": 10,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "64:2:1"
|
||||
"src": "69:2:1"
|
||||
},
|
||||
"src": "57:10:1"
|
||||
"src": "62:10:1"
|
||||
},
|
||||
{
|
||||
"body":
|
||||
{
|
||||
"id": 17,
|
||||
"nodeType": "Block",
|
||||
"src": "92:8:1",
|
||||
"src": "97:8:1",
|
||||
"statements":
|
||||
[
|
||||
{
|
||||
@ -162,11 +162,11 @@
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"referencedDeclaration": 9,
|
||||
"src": "94:1:1",
|
||||
"src": "99:1:1",
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
|
||||
"typeString": "function ()"
|
||||
"typeIdentifier": "t_function_internal_pure$__$returns$__$",
|
||||
"typeString": "function () pure"
|
||||
}
|
||||
},
|
||||
"id": 15,
|
||||
@ -177,7 +177,7 @@
|
||||
"lValueRequested": false,
|
||||
"names": [],
|
||||
"nodeType": "FunctionCall",
|
||||
"src": "94:3:1",
|
||||
"src": "99:3:1",
|
||||
"tryCall": false,
|
||||
"typeDescriptions":
|
||||
{
|
||||
@ -187,7 +187,7 @@
|
||||
},
|
||||
"id": 16,
|
||||
"nodeType": "ExpressionStatement",
|
||||
"src": "94:3:1"
|
||||
"src": "99:3:1"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -197,31 +197,31 @@
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
"name": "h",
|
||||
"nameLocation": "81:1:1",
|
||||
"nameLocation": "86:1:1",
|
||||
"nodeType": "FunctionDefinition",
|
||||
"parameters":
|
||||
{
|
||||
"id": 12,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "82:2:1"
|
||||
"src": "87:2:1"
|
||||
},
|
||||
"returnParameters":
|
||||
{
|
||||
"id": 13,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "92:0:1"
|
||||
"src": "97:0:1"
|
||||
},
|
||||
"scope": 19,
|
||||
"src": "72:28:1",
|
||||
"src": "77:28:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
],
|
||||
"scope": 20,
|
||||
"src": "40:62:1",
|
||||
"src": "45:62:1",
|
||||
"usedErrors":
|
||||
[
|
||||
2,
|
||||
@ -229,5 +229,5 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
"src": "0:103:1"
|
||||
"src": "0:108:1"
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
error X();
|
||||
function f() { revert X(); }
|
||||
function f() pure { revert X(); }
|
||||
contract C {
|
||||
error T();
|
||||
function h() public { f(); }
|
||||
|
@ -23,7 +23,7 @@
|
||||
{
|
||||
"id": 8,
|
||||
"nodeType": "Block",
|
||||
"src": "24:15:1",
|
||||
"src": "29:15:1",
|
||||
"statements":
|
||||
[
|
||||
{
|
||||
@ -36,19 +36,19 @@
|
||||
"name": "X",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"src": "33:1:1",
|
||||
"src": "38:1:1",
|
||||
"typeDescriptions": {}
|
||||
},
|
||||
"id": 6,
|
||||
"names": [],
|
||||
"nodeType": "FunctionCall",
|
||||
"src": "33:3:1",
|
||||
"src": "38:3:1",
|
||||
"tryCall": false,
|
||||
"typeDescriptions": {}
|
||||
},
|
||||
"id": 7,
|
||||
"nodeType": "RevertStatement",
|
||||
"src": "26:10:1"
|
||||
"src": "31:10:1"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -71,10 +71,10 @@
|
||||
"id": 4,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "24:0:1"
|
||||
"src": "29:0:1"
|
||||
},
|
||||
"src": "11:28:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"src": "11:33:1",
|
||||
"stateMutability": "pure",
|
||||
"virtual": false,
|
||||
"visibility": "internal"
|
||||
},
|
||||
@ -85,30 +85,30 @@
|
||||
"contractKind": "contract",
|
||||
"id": 19,
|
||||
"name": "C",
|
||||
"nameLocation": "49:1:1",
|
||||
"nameLocation": "54:1:1",
|
||||
"nodeType": "ContractDefinition",
|
||||
"nodes":
|
||||
[
|
||||
{
|
||||
"id": 11,
|
||||
"name": "T",
|
||||
"nameLocation": "63:1:1",
|
||||
"nameLocation": "68:1:1",
|
||||
"nodeType": "ErrorDefinition",
|
||||
"parameters":
|
||||
{
|
||||
"id": 10,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "64:2:1"
|
||||
"src": "69:2:1"
|
||||
},
|
||||
"src": "57:10:1"
|
||||
"src": "62:10:1"
|
||||
},
|
||||
{
|
||||
"body":
|
||||
{
|
||||
"id": 17,
|
||||
"nodeType": "Block",
|
||||
"src": "92:8:1",
|
||||
"src": "97:8:1",
|
||||
"statements":
|
||||
[
|
||||
{
|
||||
@ -121,19 +121,19 @@
|
||||
"name": "f",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"src": "94:1:1",
|
||||
"src": "99:1:1",
|
||||
"typeDescriptions": {}
|
||||
},
|
||||
"id": 15,
|
||||
"names": [],
|
||||
"nodeType": "FunctionCall",
|
||||
"src": "94:3:1",
|
||||
"src": "99:3:1",
|
||||
"tryCall": false,
|
||||
"typeDescriptions": {}
|
||||
},
|
||||
"id": 16,
|
||||
"nodeType": "ExpressionStatement",
|
||||
"src": "94:3:1"
|
||||
"src": "99:3:1"
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -142,31 +142,31 @@
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
"name": "h",
|
||||
"nameLocation": "81:1:1",
|
||||
"nameLocation": "86:1:1",
|
||||
"nodeType": "FunctionDefinition",
|
||||
"parameters":
|
||||
{
|
||||
"id": 12,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "82:2:1"
|
||||
"src": "87:2:1"
|
||||
},
|
||||
"returnParameters":
|
||||
{
|
||||
"id": 13,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "92:0:1"
|
||||
"src": "97:0:1"
|
||||
},
|
||||
"src": "72:28:1",
|
||||
"src": "77:28:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
],
|
||||
"src": "40:62:1",
|
||||
"src": "45:62:1",
|
||||
"usedErrors": []
|
||||
}
|
||||
],
|
||||
"src": "0:103:1"
|
||||
"src": "0:108:1"
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user