parent
ffa8dd8bcc
commit
c4f43ddd50
@ -1,62 +1,51 @@ |
||||
{ |
||||
"attributes": { |
||||
"operator": "=", |
||||
"type": "uint256" |
||||
}, |
||||
"children": [ |
||||
{ |
||||
"attributes": { |
||||
"type": "uint256" |
||||
}, |
||||
"children": [ |
||||
{ |
||||
"attributes": { |
||||
"type": "mapping(address => uint256)", |
||||
"value": "c" |
||||
}, |
||||
"id": 61, |
||||
"name": "Identifier", |
||||
"src": "873:1:0" |
||||
}, |
||||
{ |
||||
"attributes": { |
||||
"member_name": "sender", |
||||
"type": "address" |
||||
}, |
||||
"children": [ |
||||
{ |
||||
"attributes": { |
||||
"type": "msg", |
||||
"value": "msg" |
||||
}, |
||||
"id": 62, |
||||
"name": "Identifier", |
||||
"src": "875:3:0" |
||||
} |
||||
], |
||||
"id": 63, |
||||
"name": "MemberAccess", |
||||
"src": "875:10:0" |
||||
} |
||||
], |
||||
"id": 64, |
||||
"name": "IndexAccess", |
||||
"src": "873:13:0" |
||||
}, |
||||
{ |
||||
"attributes": { |
||||
"hexvalue": "30", |
||||
"subdenomination": null, |
||||
"token": null, |
||||
"type": "int_const 0", |
||||
"value": "0" |
||||
}, |
||||
"id": 65, |
||||
"name": "Literal", |
||||
"src": "889:1:0" |
||||
} |
||||
], |
||||
"id": 66, |
||||
"name": "Assignment", |
||||
"src": "873:17:0" |
||||
} |
||||
"argumentTypes": null, |
||||
"id": 5, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": false, |
||||
"lValueRequested": false, |
||||
"leftHandSide": |
||||
{ |
||||
"argumentTypes": null, |
||||
"id": 3, |
||||
"name": "a", |
||||
"nodeType": "Identifier", |
||||
"overloadedDeclarations": [], |
||||
"referencedDeclaration": 22, |
||||
"src": "52:1:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_uint256", |
||||
"typeString": "uint256" |
||||
} |
||||
}, |
||||
"nodeType": "Assignment", |
||||
"operator": "=", |
||||
"rightHandSide": |
||||
{ |
||||
"argumentTypes": null, |
||||
"hexValue": "31", |
||||
"id": 4, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": true, |
||||
"kind": "number", |
||||
"lValueRequested": false, |
||||
"nodeType": "Literal", |
||||
"src": "56:5:0", |
||||
"subdenomination": "wei", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_rational_1_by_1", |
||||
"typeString": "int_const 1" |
||||
}, |
||||
"value": "1" |
||||
}, |
||||
"src": "52:9:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_uint256", |
||||
"typeString": "uint256" |
||||
} |
||||
} |
@ -1,16 +1,19 @@ |
||||
{ |
||||
"attributes": { |
||||
"member_name": "blockhash", |
||||
"type": "function (uint256) returns (bytes32)" |
||||
}, |
||||
"children": [ |
||||
"argumentTypes":[ |
||||
{ |
||||
"attributes": { |
||||
"type": "block", |
||||
"value": "block" |
||||
}, |
||||
"name": "Identifier" |
||||
"typeIdentifier": "t_rational_3_by_1", |
||||
"typeString": "int_const 3" |
||||
} |
||||
], |
||||
"name": "MemberAccess" |
||||
"id": 5, |
||||
"name": "blockhash", |
||||
"nodeType": "Identifier", |
||||
"overloadedDeclarations": [], |
||||
"referencedDeclaration": -5, |
||||
"src": "69:9:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_function_blockhash_view$_t_uint256_$returns$_t_bytes32_$", |
||||
"typeString": "function (uint256) view returns (bytes32)" |
||||
} |
||||
} |
@ -1,204 +1,96 @@ |
||||
{ |
||||
"children": |
||||
[ |
||||
{ |
||||
"attributes": |
||||
"body": |
||||
{ |
||||
"id": 10, |
||||
"nodeType": "Block", |
||||
"src": "113:2:0", |
||||
"statements": [] |
||||
}, |
||||
"condition": |
||||
{ |
||||
"argumentTypes": null, |
||||
"expression": |
||||
{ |
||||
"argumentTypes": null, |
||||
"components": |
||||
[ |
||||
{ |
||||
"argumentTypes": null, |
||||
"commonType": |
||||
{ |
||||
"typeIdentifier": "t_uint256", |
||||
"typeString": "uint256" |
||||
}, |
||||
"id": 13, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": false, |
||||
"lValueRequested": false, |
||||
"operator": "<", |
||||
"type": "bool" |
||||
}, |
||||
"children": |
||||
[ |
||||
"leftHandSide": |
||||
{ |
||||
"attributes": |
||||
"argumentTypes": null, |
||||
"id": 11, |
||||
"name": "c", |
||||
"nodeType": "Identifier", |
||||
"overloadedDeclarations": [], |
||||
"referencedDeclaration": 8, |
||||
"src": "123:1:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"argumentTypes": null, |
||||
"overloadedDeclarations": |
||||
[ |
||||
null |
||||
], |
||||
"referencedDeclaration": 69, |
||||
"type": "uint256", |
||||
"value": "i" |
||||
}, |
||||
"id": 82, |
||||
"name": "Identifier", |
||||
"src": "592:1:0" |
||||
"typeIdentifier": "t_struct$_S_$3_storage_ptr", |
||||
"typeString": "struct C.S storage pointer" |
||||
} |
||||
}, |
||||
"nodeType": "Assignment", |
||||
"operator": "=", |
||||
"rightHandSide": |
||||
{ |
||||
"attributes": |
||||
"argumentTypes": null, |
||||
"id": 12, |
||||
"name": "s", |
||||
"nodeType": "Identifier", |
||||
"overloadedDeclarations": [], |
||||
"referencedDeclaration": 5, |
||||
"src": "127:1:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"argumentTypes": null, |
||||
"hexvalue": "3130", |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": true, |
||||
"lValueRequested": false, |
||||
"subdenomination": null, |
||||
"token": "number", |
||||
"type": "int_const 10", |
||||
"value": "10" |
||||
}, |
||||
"id": 83, |
||||
"name": "Literal", |
||||
"src": "596:2:0" |
||||
} |
||||
], |
||||
"id": 84, |
||||
"name": "BinaryOperation", |
||||
"src": "592:6:0" |
||||
}, |
||||
{ |
||||
"children": |
||||
[ |
||||
{ |
||||
"children": |
||||
[ |
||||
{ |
||||
"attributes": |
||||
{ |
||||
"argumentTypes": null, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": false, |
||||
"isStructConstructorCall": false, |
||||
"lValueRequested": false, |
||||
"names": |
||||
[ |
||||
null |
||||
], |
||||
"type": "uint256", |
||||
"type_conversion": false |
||||
}, |
||||
"children": |
||||
[ |
||||
{ |
||||
"attributes": |
||||
{ |
||||
"argumentTypes": |
||||
[ |
||||
{ |
||||
"typeIdentifier": "t_uint256", |
||||
"typeString": "uint256" |
||||
} |
||||
], |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": false, |
||||
"lValueRequested": false, |
||||
"member_name": "push", |
||||
"referencedDeclaration": null, |
||||
"type": "function (uint256) returns (uint256)" |
||||
}, |
||||
"children": |
||||
[ |
||||
{ |
||||
"attributes": |
||||
{ |
||||
"argumentTypes": null, |
||||
"overloadedDeclarations": |
||||
[ |
||||
null |
||||
], |
||||
"referencedDeclaration": 4, |
||||
"type": "uint256[] storage ref", |
||||
"value": "array" |
||||
}, |
||||
"id": 72, |
||||
"name": "Identifier", |
||||
"src": "544:5:0" |
||||
} |
||||
], |
||||
"id": 74, |
||||
"name": "MemberAccess", |
||||
"src": "544:10:0" |
||||
}, |
||||
{ |
||||
"attributes": |
||||
{ |
||||
"argumentTypes": null, |
||||
"overloadedDeclarations": |
||||
[ |
||||
null |
||||
], |
||||
"referencedDeclaration": 69, |
||||
"type": "uint256", |
||||
"value": "i" |
||||
}, |
||||
"id": 75, |
||||
"name": "Identifier", |
||||
"src": "555:1:0" |
||||
} |
||||
], |
||||
"id": 76, |
||||
"name": "FunctionCall", |
||||
"src": "544:13:0" |
||||
} |
||||
], |
||||
"id": 77, |
||||
"name": "ExpressionStatement", |
||||
"src": "544:13:0" |
||||
"typeIdentifier": "t_struct$_S_$3_storage", |
||||
"typeString": "struct C.S storage ref" |
||||
} |
||||
}, |
||||
"src": "123:5:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"children": |
||||
[ |
||||
{ |
||||
"attributes": |
||||
{ |
||||
"argumentTypes": null, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": false, |
||||
"lValueRequested": false, |
||||
"operator": "++", |
||||
"prefix": false, |
||||
"type": "uint256" |
||||
}, |
||||
"children": |
||||
[ |
||||
{ |
||||
"attributes": |
||||
{ |
||||
"argumentTypes": null, |
||||
"overloadedDeclarations": |
||||
[ |
||||
null |
||||
], |
||||
"referencedDeclaration": 69, |
||||
"type": "uint256", |
||||
"value": "i" |
||||
}, |
||||
"id": 78, |
||||
"name": "Identifier", |
||||
"src": "571:1:0" |
||||
} |
||||
], |
||||
"id": 79, |
||||
"name": "UnaryOperation", |
||||
"src": "571:3:0" |
||||
} |
||||
], |
||||
"id": 80, |
||||
"name": "ExpressionStatement", |
||||
"src": "571:3:0" |
||||
"typeIdentifier": "t_struct$_S_$3_storage_ptr", |
||||
"typeString": "struct C.S storage pointer" |
||||
} |
||||
], |
||||
"id": 81, |
||||
"name": "Block", |
||||
"src": "530:55:0" |
||||
} |
||||
], |
||||
"id": 14, |
||||
"isConstant": false, |
||||
"isInlineArray": false, |
||||
"isLValue": false, |
||||
"isPure": false, |
||||
"lValueRequested": false, |
||||
"nodeType": "TupleExpression", |
||||
"src": "122:7:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_struct$_S_$3_storage_ptr", |
||||
"typeString": "struct C.S storage pointer" |
||||
} |
||||
], |
||||
"id": 85, |
||||
"name": "DoWhileStatement", |
||||
"src": "528:72:0" |
||||
} |
||||
}, |
||||
"id": 15, |
||||
"isConstant": false, |
||||
"isLValue": true, |
||||
"isPure": false, |
||||
"lValueRequested": false, |
||||
"memberName": "f", |
||||
"nodeType": "MemberAccess", |
||||
"referencedDeclaration": 2, |
||||
"src": "122:9:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_bool", |
||||
"typeString": "bool" |
||||
} |
||||
}, |
||||
"id": 16, |
||||
"nodeType": "DoWhileStatement", |
||||
"src": "110:23:0" |
||||
} |
@ -1,264 +1,260 @@ |
||||
{ |
||||
"children": |
||||
"body": |
||||
{ |
||||
"id": 20, |
||||
"nodeType": "Block", |
||||
"src": "81:58:0", |
||||
"statements": |
||||
[ |
||||
{ |
||||
"attributes": |
||||
{ |
||||
"assignments": |
||||
[ |
||||
21 |
||||
] |
||||
}, |
||||
"children": |
||||
"id": 13, |
||||
"nodeType": "Break", |
||||
"src": "95:5:0" |
||||
}, |
||||
{ |
||||
"assignments": |
||||
[ |
||||
15 |
||||
], |
||||
"declarations": |
||||
[ |
||||
{ |
||||
"attributes": |
||||
"constant": false, |
||||
"id": 15, |
||||
"name": "b", |
||||
"nodeType": "VariableDeclaration", |
||||
"overrides": null, |
||||
"scope": 20, |
||||
"src": "114:6:0", |
||||
"stateVariable": false, |
||||
"storageLocation": "default", |
||||
"typeDescriptions": |
||||
{ |
||||
"constant": false, |
||||
"name": "i", |
||||
"scope": 39, |
||||
"stateVariable": false, |
||||
"storageLocation": "default", |
||||
"type": "uint256", |
||||
"value": null, |
||||
"visibility": "internal" |
||||
"typeIdentifier": "t_uint256", |
||||
"typeString": "uint256" |
||||
}, |
||||
"children": |
||||
[ |
||||
"typeName": |
||||
{ |
||||
"id": 14, |
||||
"name": "uint", |
||||
"nodeType": "ElementaryTypeName", |
||||
"src": "114:4:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"attributes": |
||||
{ |
||||
"name": "uint", |
||||
"type": "uint256" |
||||
}, |
||||
"id": 20, |
||||
"name": "ElementaryTypeName", |
||||
"src": "207:4:0" |
||||
"typeIdentifier": "t_uint256", |
||||
"typeString": "uint256" |
||||
} |
||||
], |
||||
"id": 21, |
||||
"name": "VariableDeclaration", |
||||
"src": "207:6:0" |
||||
}, |
||||
{ |
||||
"attributes": |
||||
{ |
||||
"argumentTypes": null, |
||||
"overloadedDeclarations": |
||||
[ |
||||
null |
||||
], |
||||
"referencedDeclaration": 17, |
||||
"type": "uint256", |
||||
"value": "index" |
||||
}, |
||||
"id": 22, |
||||
"name": "Identifier", |
||||
"src": "216:5:0" |
||||
"value": null, |
||||
"visibility": "internal" |
||||
} |
||||
], |
||||
"id": 23, |
||||
"name": "VariableDeclarationStatement", |
||||
"src": "207:14:0" |
||||
}, |
||||
{ |
||||
"attributes": |
||||
"id": 17, |
||||
"initialValue": |
||||
{ |
||||
"argumentTypes": null, |
||||
"commonType": |
||||
{ |
||||
"typeIdentifier": "t_uint256", |
||||
"typeString": "uint256" |
||||
}, |
||||
"hexValue": "3432", |
||||
"id": 16, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": false, |
||||
"isPure": true, |
||||
"kind": "number", |
||||
"lValueRequested": false, |
||||
"operator": "<", |
||||
"type": "bool" |
||||
}, |
||||
"children": |
||||
[ |
||||
"nodeType": "Literal", |
||||
"src": "123:2:0", |
||||
"subdenomination": null, |
||||
"typeDescriptions": |
||||
{ |
||||
"attributes": |
||||
{ |
||||
"argumentTypes": null, |
||||
"overloadedDeclarations": |
||||
[ |
||||
null |
||||
], |
||||
"referencedDeclaration": 21, |
||||
"type": "uint256", |
||||
"value": "i" |
||||
}, |
||||
"id": 24, |
||||
"name": "Identifier", |
||||
"src": "223:1:0" |
||||
"typeIdentifier": "t_rational_42_by_1", |
||||
"typeString": "int_const 42" |
||||
}, |
||||
{ |
||||
"attributes": |
||||
{ |
||||
"argumentTypes": null, |
||||
"hexvalue": "3130", |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": true, |
||||
"lValueRequested": false, |
||||
"subdenomination": null, |
||||
"token": "number", |
||||
"type": "int_const 10", |
||||
"value": "10" |
||||
}, |
||||
"id": 25, |
||||
"name": "Literal", |
||||
"src": "227:2:0" |
||||
} |
||||
], |
||||
"id": 26, |
||||
"name": "BinaryOperation", |
||||
"src": "223:6:0" |
||||
"value": "42" |
||||
}, |
||||
"nodeType": "VariableDeclarationStatement", |
||||
"src": "114:11:0" |
||||
}, |
||||
{ |
||||
"children": |
||||
[ |
||||
"expression": |
||||
{ |
||||
"argumentTypes": null, |
||||
"id": 18, |
||||
"name": "b", |
||||
"nodeType": "Identifier", |
||||
"overloadedDeclarations": [], |
||||
"referencedDeclaration": 15, |
||||
"src": "127:1:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"attributes": |
||||
{ |
||||
"argumentTypes": null, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": false, |
||||
"lValueRequested": false, |
||||
"operator": "++", |
||||
"prefix": false, |
||||
"type": "uint256" |
||||
}, |
||||
"children": |
||||
[ |
||||
{ |
||||
"attributes": |
||||
{ |
||||
"argumentTypes": null, |
||||
"overloadedDeclarations": |
||||
[ |
||||
null |
||||
], |
||||
"referencedDeclaration": 21, |
||||
"type": "uint256", |
||||
"value": "i" |
||||
}, |
||||
"id": 27, |
||||
"name": "Identifier", |
||||
"src": "231:1:0" |
||||
} |
||||
], |
||||
"id": 28, |
||||
"name": "UnaryOperation", |
||||
"src": "231:3:0" |
||||
"typeIdentifier": "t_uint256", |
||||
"typeString": "uint256" |
||||
} |
||||
], |
||||
"id": 29, |
||||
"name": "ExpressionStatement", |
||||
"src": "231:3:0" |
||||
}, |
||||
"id": 19, |
||||
"nodeType": "ExpressionStatement", |
||||
"src": "127:1:0" |
||||
} |
||||
] |
||||
}, |
||||
"condition": |
||||
{ |
||||
"argumentTypes": null, |
||||
"commonType": |
||||
{ |
||||
"typeIdentifier": "t_uint256", |
||||
"typeString": "uint256" |
||||
}, |
||||
"id": 9, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": false, |
||||
"lValueRequested": false, |
||||
"leftExpression": |
||||
{ |
||||
"argumentTypes": null, |
||||
"id": 7, |
||||
"name": "a", |
||||
"nodeType": "Identifier", |
||||
"overloadedDeclarations": [], |
||||
"referencedDeclaration": 4, |
||||
"src": "69:1:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_uint256", |
||||
"typeString": "uint256" |
||||
} |
||||
}, |
||||
"nodeType": "BinaryOperation", |
||||
"operator": "<", |
||||
"rightExpression": |
||||
{ |
||||
"argumentTypes": null, |
||||
"hexValue": "31", |
||||
"id": 8, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": true, |
||||
"kind": "number", |
||||
"lValueRequested": false, |
||||
"nodeType": "Literal", |
||||
"src": "73:1:0", |
||||
"subdenomination": null, |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_rational_1_by_1", |
||||
"typeString": "int_const 1" |
||||
}, |
||||
"value": "1" |
||||
}, |
||||
"src": "69:5:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_bool", |
||||
"typeString": "bool" |
||||
} |
||||
}, |
||||
"id": 21, |
||||
"initializationExpression": |
||||
{ |
||||
"assignments": |
||||
[ |
||||
4 |
||||
], |
||||
"declarations": |
||||
[ |
||||
{ |
||||
"children": |
||||
[ |
||||
"constant": false, |
||||
"id": 4, |
||||
"name": "a", |
||||
"nodeType": "VariableDeclaration", |
||||
"overrides": null, |
||||
"scope": 21, |
||||
"src": "57:6:0", |
||||
"stateVariable": false, |
||||
"storageLocation": "default", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_uint256", |
||||
"typeString": "uint256" |
||||
}, |
||||
"typeName": |
||||
{ |
||||
"id": 3, |
||||
"name": "uint", |
||||
"nodeType": "ElementaryTypeName", |
||||
"src": "57:4:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"children": |
||||
[ |
||||
{ |
||||
"attributes": |
||||
{ |
||||
"argumentTypes": null, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": false, |
||||
"isStructConstructorCall": false, |
||||
"lValueRequested": false, |
||||
"names": |
||||
[ |
||||
null |
||||
], |
||||
"type": "uint256", |
||||
"type_conversion": false |
||||
}, |
||||
"children": |
||||
[ |
||||
{ |
||||
"attributes": |
||||
{ |
||||
"argumentTypes": |
||||
[ |
||||
{ |
||||
"typeIdentifier": "t_uint256", |
||||
"typeString": "uint256" |
||||
} |
||||
], |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": false, |
||||
"lValueRequested": false, |
||||
"member_name": "push", |
||||
"referencedDeclaration": null, |
||||
"type": "function (uint256) returns (uint256)" |
||||
}, |
||||
"children": |
||||
[ |
||||
{ |
||||
"attributes": |
||||
{ |
||||
"argumentTypes": null, |
||||
"overloadedDeclarations": |
||||
[ |
||||
null |
||||
], |
||||
"referencedDeclaration": 4, |
||||
"type": "uint256[] storage ref", |
||||
"value": "array" |
||||
}, |
||||
"id": 30, |
||||
"name": "Identifier", |
||||
"src": "250:5:0" |
||||
} |
||||
], |
||||
"id": 32, |
||||
"name": "MemberAccess", |
||||
"src": "250:10:0" |
||||
}, |
||||
{ |
||||
"attributes": |
||||
{ |
||||
"argumentTypes": null, |
||||
"overloadedDeclarations": |
||||
[ |
||||
null |
||||
], |
||||
"referencedDeclaration": 21, |
||||
"type": "uint256", |
||||
"value": "i" |
||||
}, |
||||
"id": 33, |
||||
"name": "Identifier", |
||||
"src": "261:1:0" |
||||
} |
||||
], |
||||
"id": 34, |
||||
"name": "FunctionCall", |
||||
"src": "250:13:0" |
||||
} |
||||
], |
||||
"id": 35, |
||||
"name": "ExpressionStatement", |
||||
"src": "250:13:0" |
||||
"typeIdentifier": "t_uint256", |
||||
"typeString": "uint256" |
||||
} |
||||
], |
||||
"id": 36, |
||||
"name": "Block", |
||||
"src": "236:38:0" |
||||
}, |
||||
"value": null, |
||||
"visibility": "internal" |
||||
} |
||||
], |
||||
"id": 37, |
||||
"name": "ForStatement", |
||||
"src": "202:72:0" |
||||
} |
||||
"id": 6, |
||||
"initialValue": |
||||
{ |
||||
"argumentTypes": null, |
||||
"hexValue": "30", |
||||
"id": 5, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": true, |
||||
"kind": "number", |
||||
"lValueRequested": false, |
||||
"nodeType": "Literal", |
||||
"src": "66:1:0", |
||||
"subdenomination": null, |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_rational_0_by_1", |
||||
"typeString": "int_const 0" |
||||
}, |
||||
"value": "0" |
||||
}, |
||||
"nodeType": "VariableDeclarationStatement", |
||||
"src": "57:10:0" |
||||
}, |
||||
"loopExpression": |
||||
{ |
||||
"expression": |
||||
{ |
||||
"argumentTypes": null, |
||||
"id": 11, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": false, |
||||
"lValueRequested": false, |
||||
"nodeType": "UnaryOperation", |
||||
"operator": "++", |
||||
"prefix": false, |
||||
"src": "76:3:0", |
||||
"subExpression": |
||||
{ |
||||
"argumentTypes": null, |
||||
"id": 10, |
||||
"name": "a", |
||||
"nodeType": "Identifier", |
||||
"overloadedDeclarations": [], |
||||
"referencedDeclaration": 4, |
||||
"src": "76:1:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_uint256", |
||||
"typeString": "uint256" |
||||
} |
||||
}, |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_uint256", |
||||
"typeString": "uint256" |
||||
} |
||||
}, |
||||
"id": 12, |
||||
"nodeType": "ExpressionStatement", |
||||
"src": "76:3:0" |
||||
}, |
||||
"nodeType": "ForStatement", |
||||
"src": "52:87:0" |
||||
} |
@ -1,24 +1,82 @@ |
||||
{ |
||||
"attributes": { |
||||
"constant": true, |
||||
"name": "winnerName", |
||||
"payable": false, |
||||
"visibility": "public" |
||||
}, |
||||
"children": [ |
||||
{ |
||||
"children": [ |
||||
], |
||||
"name": "ParameterList" |
||||
}, |
||||
{ |
||||
"children": [], |
||||
"name": "ParameterList" |
||||
}, |
||||
{ |
||||
"children": [], |
||||
"name": "Block" |
||||
} |
||||
], |
||||
"name": "FunctionDefinition" |
||||
} |
||||
"body": |
||||
{ |
||||
"id": 6, |
||||
"nodeType": "Block", |
||||
"src": "42:23:0", |
||||
"statements": |
||||
[ |
||||
{ |
||||
"assignments": |
||||
[ |
||||
4 |
||||
], |
||||
"declarations": |
||||
[ |
||||
{ |
||||
"constant": false, |
||||
"id": 4, |
||||
"name": "a", |
||||
"nodeType": "VariableDeclaration", |
||||
"overrides": null, |
||||
"scope": 6, |
||||
"src": "52:6:0", |
||||
"stateVariable": false, |
||||
"storageLocation": "default", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_uint256", |
||||
"typeString": "uint256" |
||||
}, |
||||
"typeName": |
||||
{ |
||||
"id": 3, |
||||
"name": "uint", |
||||
"nodeType": "ElementaryTypeName", |
||||
"src": "52:4:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_uint256", |
||||
"typeString": "uint256" |
||||
} |
||||
}, |
||||
"value": null, |
||||
"visibility": "internal" |
||||
} |
||||
], |
||||
"id": 5, |
||||
"initialValue": null, |
||||
"nodeType": "VariableDeclarationStatement", |
||||
"src": "52:6:0" |
||||
} |
||||
] |
||||
}, |
||||
"documentation": null, |
||||
"functionSelector": "26121ff0", |
||||
"id": 7, |
||||
"implemented": true, |
||||
"kind": "function", |
||||
"modifiers": [], |
||||
"name": "f", |
||||
"nodeType": "FunctionDefinition", |
||||
"overrides": null, |
||||
"parameters": |
||||
{ |
||||
"id": 1, |
||||
"nodeType": "ParameterList", |
||||
"parameters": [], |
||||
"src": "27:2:0" |
||||
}, |
||||
"returnParameters": |
||||
{ |
||||
"id": 2, |
||||
"nodeType": "ParameterList", |
||||
"parameters": [], |
||||
"src": "42:0:0" |
||||
}, |
||||
"scope": 8, |
||||
"src": "17:48:0", |
||||
"stateMutability": "pure", |
||||
"virtual": false, |
||||
"visibility": "public" |
||||
} |
@ -1,15 +1,20 @@ |
||||
{ |
||||
"children": [ |
||||
"arguments": null, |
||||
"baseName": |
||||
{ |
||||
"contractScope": null, |
||||
"id": 19, |
||||
"name": "A", |
||||
"nodeType": "UserDefinedTypeName", |
||||
"referencedDeclaration": 9, |
||||
"src": "176:1:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"attributes": { |
||||
"name": "r" |
||||
}, |
||||
"id": 7, |
||||
"name": "UserDefinedTypeName", |
||||
"src": "84:1:0" |
||||
"typeIdentifier": "t_contract$_A_$9", |
||||
"typeString": "contract A" |
||||
} |
||||
], |
||||
"id": 8, |
||||
"name": "InheritanceSpecifier", |
||||
"src": "84:1:0" |
||||
}, |
||||
"id": 20, |
||||
"nodeType": "InheritanceSpecifier", |
||||
"src": "176:1:0" |
||||
} |
@ -1,7 +1,95 @@ |
||||
{ |
||||
"children": [ |
||||
], |
||||
"id": 21, |
||||
"name": "InlineAssembly", |
||||
"src": "809:41:0" |
||||
} |
||||
"AST": |
||||
{ |
||||
"nodeType": "YulBlock", |
||||
"src": "148:83:0", |
||||
"statements": |
||||
[ |
||||
{ |
||||
"nodeType": "YulVariableDeclaration", |
||||
"src": "162:11:0", |
||||
"value": |
||||
{ |
||||
"name": "x", |
||||
"nodeType": "YulIdentifier", |
||||
"src": "172:1:0" |
||||
}, |
||||
"variables": |
||||
[ |
||||
{ |
||||
"name": "c1", |
||||
"nodeType": "YulTypedName", |
||||
"src": "166:2:0", |
||||
"type": "" |
||||
} |
||||
] |
||||
}, |
||||
{ |
||||
"nodeType": "YulVariableDeclaration", |
||||
"src": "186:11:0", |
||||
"value": |
||||
{ |
||||
"name": "b", |
||||
"nodeType": "YulIdentifier", |
||||
"src": "196:1:0" |
||||
}, |
||||
"variables": |
||||
[ |
||||
{ |
||||
"name": "c2", |
||||
"nodeType": "YulTypedName", |
||||
"src": "190:2:0", |
||||
"type": "" |
||||
} |
||||
] |
||||
}, |
||||
{ |
||||
"nodeType": "YulVariableDeclaration", |
||||
"src": "210:11:0", |
||||
"value": |
||||
{ |
||||
"name": "s", |
||||
"nodeType": "YulIdentifier", |
||||
"src": "220:1:0" |
||||
}, |
||||
"variables": |
||||
[ |
||||
{ |
||||
"name": "c3", |
||||
"nodeType": "YulTypedName", |
||||
"src": "214:2:0", |
||||
"type": "" |
||||
} |
||||
] |
||||
} |
||||
] |
||||
}, |
||||
"evmVersion": "istanbul", |
||||
"externalReferences": |
||||
[ |
||||
{ |
||||
"declaration": 8, |
||||
"isOffset": false, |
||||
"isSlot": false, |
||||
"src": "196:1:0", |
||||
"valueSize": 1 |
||||
}, |
||||
{ |
||||
"declaration": 11, |
||||
"isOffset": false, |
||||
"isSlot": false, |
||||
"src": "220:1:0", |
||||
"valueSize": 1 |
||||
}, |
||||
{ |
||||
"declaration": 5, |
||||
"isOffset": false, |
||||
"isSlot": false, |
||||
"src": "172:1:0", |
||||
"valueSize": 1 |
||||
} |
||||
], |
||||
"id": 14, |
||||
"nodeType": "InlineAssembly", |
||||
"src": "139:92:0" |
||||
} |
@ -1,16 +1,32 @@ |
||||
{ |
||||
"attributes": { |
||||
"member_name": "insert", |
||||
"type": "function (struct Set.Data storage pointer,uint256) returns (bool)" |
||||
}, |
||||
"children": [ |
||||
"argumentTypes": null, |
||||
"expression": |
||||
{ |
||||
"argumentTypes": null, |
||||
"id": 33, |
||||
"name": "L", |
||||
"nodeType": "Identifier", |
||||
"overloadedDeclarations": [], |
||||
"referencedDeclaration": 21, |
||||
"src": "244:1:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"attributes": { |
||||
"type": "type(library Set)", |
||||
"value": "Set" |
||||
}, |
||||
"name": "Identifier" |
||||
"typeIdentifier": "t_type$_t_contract$_L_$21_$", |
||||
"typeString": "type(library L)" |
||||
} |
||||
], |
||||
"name": "MemberAccess" |
||||
}, |
||||
"id": 34, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": false, |
||||
"lValueRequested": false, |
||||
"memberName": "f", |
||||
"nodeType": "MemberAccess", |
||||
"referencedDeclaration": 6, |
||||
"src": "244:3:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_function_delegatecall_nonpayable$_t_uint256_$returns$__$", |
||||
"typeString": "function (uint256)" |
||||
} |
||||
} |
@ -1,29 +1,34 @@ |
||||
{ |
||||
"attributes": { |
||||
"type": "tuple()", |
||||
"type_conversion": false |
||||
}, |
||||
"children": [ |
||||
{ |
||||
"attributes": { |
||||
"type": "function (struct Ballot.Voter storage pointer)", |
||||
"value": "bli" |
||||
}, |
||||
"id": 37, |
||||
"name": "Identifier", |
||||
"src": "540:3:0" |
||||
}, |
||||
"argumentTypes": null, |
||||
"arguments": [], |
||||
"expression": |
||||
{ |
||||
"argumentTypes": [], |
||||
"id": 13, |
||||
"name": "sha3", |
||||
"nodeType": "Identifier", |
||||
"overloadedDeclarations": [], |
||||
"referencedDeclaration": 8, |
||||
"src": "129:4:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"attributes": { |
||||
"type": "struct Ballot.Voter storage pointer", |
||||
"value": "x" |
||||
}, |
||||
"id": 38, |
||||
"name": "Identifier", |
||||
"src": "544:1:0" |
||||
"typeIdentifier": "t_function_internal_pure$__$returns$_t_bool_$", |
||||
"typeString": "function () pure returns (bool)" |
||||
} |
||||
], |
||||
"id": 39, |
||||
"name": "FunctionCall", |
||||
"src": "540:6:0" |
||||
} |
||||
}, |
||||
"id": 14, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": false, |
||||
"kind": "functionCall", |
||||
"lValueRequested": false, |
||||
"names": [], |
||||
"nodeType": "FunctionCall", |
||||
"src": "129:6:0", |
||||
"tryCall": false, |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_bool", |
||||
"typeString": "bool" |
||||
} |
||||
} |
@ -1,42 +1,142 @@ |
||||
{ |
||||
"sendAst": { "name": "MemberAccess", |
||||
"children": [ |
||||
{ |
||||
"attributes": { |
||||
"value": "d", |
||||
"type": "address" |
||||
} |
||||
}], |
||||
"attributes": { |
||||
"value": "send", |
||||
"type": "function (uint256) returns (bool)" } |
||||
}, |
||||
"callAst": { "name": "MemberAccess", "children": [{ |
||||
"attributes": { |
||||
"value": "f", |
||||
"type": "address" |
||||
}}], |
||||
"attributes": { |
||||
"member_name": "call", |
||||
"type": "function () payable returns (bool)" } }, |
||||
"callcodeAst": { |
||||
"name": "MemberAccess", |
||||
"children": [{ |
||||
"attributes": { |
||||
"value": "f", |
||||
"type": "address" |
||||
}}], |
||||
"attributes": { |
||||
"member_name": "callcode", |
||||
"type": "function () payable returns (bool)" } }, |
||||
"delegatecallAst": { |
||||
"name": "MemberAccess", |
||||
"children": [{ |
||||
"attributes": { |
||||
"value": "g", |
||||
"type": "address" |
||||
}}], |
||||
"attributes": { |
||||
"member_name": "delegatecall", |
||||
"type": "function () returns (bool)" } } |
||||
"sendAst": { |
||||
"argumentTypes": |
||||
[ |
||||
{ |
||||
"typeIdentifier": "t_rational_1_by_1", |
||||
"typeString": "int_const 1" |
||||
} |
||||
], |
||||
"expression": |
||||
{ |
||||
"argumentTypes": null, |
||||
"id": 27, |
||||
"name": "addr", |
||||
"nodeType": "Identifier", |
||||
"overloadedDeclarations": [], |
||||
"referencedDeclaration": 4, |
||||
"src": "227:4:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_address_payable", |
||||
"typeString": "address payable" |
||||
} |
||||
}, |
||||
"id": 28, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": false, |
||||
"lValueRequested": false, |
||||
"memberName": "send", |
||||
"nodeType": "MemberAccess", |
||||
"referencedDeclaration": null, |
||||
"src": "227:9:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$", |
||||
"typeString": "function (uint256) returns (bool)" |
||||
} |
||||
}, |
||||
"callAst": { |
||||
"argumentTypes": null, |
||||
"expression": |
||||
{ |
||||
"argumentTypes": null, |
||||
"id": 9, |
||||
"name": "a", |
||||
"nodeType": "Identifier", |
||||
"overloadedDeclarations": [], |
||||
"referencedDeclaration": 6, |
||||
"src": "91:1:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_address", |
||||
"typeString": "address" |
||||
} |
||||
}, |
||||
"id": 12, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": false, |
||||
"lValueRequested": false, |
||||
"memberName": "call", |
||||
"nodeType": "MemberAccess", |
||||
"referencedDeclaration": null, |
||||
"src": "91:6:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", |
||||
"typeString": "function (bytes memory) payable returns (bool,bytes memory)" |
||||
} |
||||
}, |
||||
"callcodeAst": { |
||||
"argumentTypes": [], |
||||
"expression": |
||||
{ |
||||
"argumentTypes": null, |
||||
"id": 3, |
||||
"name": "test", |
||||
"nodeType": "Identifier", |
||||
"overloadedDeclarations": [], |
||||
"referencedDeclaration": 10, |
||||
"src": "62:4:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_type$_t_contract$_test_$10_$", |
||||
"typeString": "type(contract test)" |
||||
} |
||||
}, |
||||
"id": 5, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": false, |
||||
"lValueRequested": false, |
||||
"memberName": "callcode", |
||||
"nodeType": "MemberAccess", |
||||
"referencedDeclaration": 9, |
||||
"src": "62:13:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_function_internal_pure$__$returns$__$", |
||||
"typeString": "function () pure" |
||||
} |
||||
}, |
||||
"delegatecallAst": { |
||||
"argumentTypes": |
||||
[ |
||||
{ |
||||
"typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", |
||||
"typeString": "literal_string \"\"" |
||||
} |
||||
], |
||||
"expression": |
||||
{ |
||||
"argumentTypes": null, |
||||
"id": 20, |
||||
"name": "addr", |
||||
"nodeType": "Identifier", |
||||
"overloadedDeclarations": [], |
||||
"referencedDeclaration": 4, |
||||
"src": "181:4:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_address_payable", |
||||
"typeString": "address payable" |
||||
} |
||||
}, |
||||
"id": 21, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": false, |
||||
"lValueRequested": false, |
||||
"memberName": "delegatecall", |
||||
"nodeType": "MemberAccess", |
||||
"referencedDeclaration": null, |
||||
"src": "181:17:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", |
||||
"typeString": "function (bytes memory) returns (bool,bytes memory)" |
||||
} |
||||
} |
||||
} |
@ -1,71 +1,93 @@ |
||||
{ |
||||
"attributes": { |
||||
"argumentTypes": null, |
||||
"arguments": |
||||
[ |
||||
{ |
||||
"argumentTypes": null, |
||||
"hexValue": "32", |
||||
"id": 37, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": false, |
||||
"isStructConstructorCall": false, |
||||
"isPure": true, |
||||
"kind": "number", |
||||
"lValueRequested": false, |
||||
"names": [ |
||||
null |
||||
], |
||||
"type": "uint256", |
||||
"type_conversion": false |
||||
"nodeType": "Literal", |
||||
"src": "234:1:0", |
||||
"subdenomination": null, |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_rational_2_by_1", |
||||
"typeString": "int_const 2" |
||||
}, |
||||
"value": "2" |
||||
}, |
||||
"children": [ |
||||
{ |
||||
"argumentTypes": null, |
||||
"hexValue": "31", |
||||
"id": 38, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": true, |
||||
"kind": "number", |
||||
"lValueRequested": false, |
||||
"nodeType": "Literal", |
||||
"src": "240:1:0", |
||||
"subdenomination": null, |
||||
"typeDescriptions": |
||||
{ |
||||
"attributes": { |
||||
"argumentTypes": [ |
||||
{ |
||||
"typeIdentifier": "t_uint256", |
||||
"typeString": "uint256" |
||||
}, |
||||
{ |
||||
"typeIdentifier": "t_uint256", |
||||
"typeString": "uint256" |
||||
} |
||||
], |
||||
"overloadedDeclarations": [ |
||||
null |
||||
], |
||||
"referencedDeclaration": 25, |
||||
"type": "function (uint256,uint256) pure returns (uint256)", |
||||
"value": "f" |
||||
}, |
||||
"id": 34, |
||||
"name": "Identifier", |
||||
"src": "267:1:0" |
||||
"typeIdentifier": "t_rational_1_by_1", |
||||
"typeString": "int_const 1" |
||||
}, |
||||
"value": "1" |
||||
} |
||||
], |
||||
"expression": |
||||
{ |
||||
"argumentTypes": |
||||
[ |
||||
{ |
||||
"attributes": { |
||||
"argumentTypes": null, |
||||
"overloadedDeclarations": [ |
||||
null |
||||
], |
||||
"referencedDeclaration": 27, |
||||
"type": "uint256", |
||||
"value": "x" |
||||
}, |
||||
"id": 35, |
||||
"name": "Identifier", |
||||
"src": "269:1:0" |
||||
"typeIdentifier": "t_rational_2_by_1", |
||||
"typeString": "int_const 2" |
||||
}, |
||||
{ |
||||
"attributes": { |
||||
"argumentTypes": null, |
||||
"overloadedDeclarations": [ |
||||
null |
||||
], |
||||
"referencedDeclaration": 29, |
||||
"type": "uint256", |
||||
"value": "y" |
||||
}, |
||||
"id": 36, |
||||
"name": "Identifier", |
||||
"src": "272:1:0" |
||||
"typeIdentifier": "t_rational_1_by_1", |
||||
"typeString": "int_const 1" |
||||
} |
||||
], |
||||
"id": 37, |
||||
"name": "FunctionCall", |
||||
"src": "267:7:0" |
||||
} |
||||
"id": 36, |
||||
"name": "f", |
||||
"nodeType": "Identifier", |
||||
"overloadedDeclarations": |
||||
[ |
||||
6, |
||||
14, |
||||
24 |
||||
], |
||||
"referencedDeclaration": 14, |
||||
"src": "228:1:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$", |
||||
"typeString": "function (uint256,uint256)" |
||||
} |
||||
}, |
||||
"id": 39, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": false, |
||||
"kind": "functionCall", |
||||
"lValueRequested": false, |
||||
"names": |
||||
[ |
||||
"y", |
||||
"x" |
||||
], |
||||
"nodeType": "FunctionCall", |
||||
"src": "228:15:0", |
||||
"tryCall": false, |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_tuple$__$", |
||||
"typeString": "tuple()" |
||||
} |
||||
} |
@ -1,23 +1,56 @@ |
||||
{ |
||||
"attributes": { |
||||
"type": "tuple()", |
||||
"type_conversion": false |
||||
}, |
||||
"children": [ |
||||
{ |
||||
"attributes": { |
||||
"type": "function (address)", |
||||
"value": "selfdestruct" |
||||
}, |
||||
"name": "Identifier" |
||||
}, |
||||
{ |
||||
"attributes": { |
||||
"type": "address", |
||||
"value": "a" |
||||
}, |
||||
"name": "Identifier" |
||||
} |
||||
], |
||||
"name": "FunctionCall" |
||||
} |
||||
"argumentTypes": null, |
||||
"arguments": |
||||
[ |
||||
{ |
||||
"argumentTypes": null, |
||||
"id": 6, |
||||
"name": "a", |
||||
"nodeType": "Identifier", |
||||
"overloadedDeclarations": [], |
||||
"referencedDeclaration": 2, |
||||
"src": "77:1:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_address_payable", |
||||
"typeString": "address payable" |
||||
} |
||||
} |
||||
], |
||||
"expression": |
||||
{ |
||||
"argumentTypes": |
||||
[ |
||||
{ |
||||
"typeIdentifier": "t_address_payable", |
||||
"typeString": "address payable" |
||||
} |
||||
], |
||||
"id": 5, |
||||
"name": "selfdestruct", |
||||
"nodeType": "Identifier", |
||||
"overloadedDeclarations": [], |
||||
"referencedDeclaration": -21, |
||||
"src": "64:12:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_function_selfdestruct_nonpayable$_t_address_payable_$returns$__$", |
||||
"typeString": "function (address payable)" |
||||
} |
||||
}, |
||||
"id": 7, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": false, |
||||
"kind": "functionCall", |
||||
"lValueRequested": false, |
||||
"names": [], |
||||
"nodeType": "FunctionCall", |
||||
"src": "64:15:0", |
||||
"tryCall": false, |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_tuple$__$", |
||||
"typeString": "tuple()" |
||||
} |
||||
} |
@ -1,108 +1,336 @@ |
||||
{ |
||||
"attributes": { |
||||
"fullyImplemented": true, |
||||
"isLibrary": false, |
||||
"linearizedBaseContracts": [ |
||||
274 |
||||
], |
||||
"name": "Ballot" |
||||
}, |
||||
"children": [ |
||||
"abstract": false, |
||||
"baseContracts": [], |
||||
"contractDependencies": [], |
||||
"contractKind": "contract", |
||||
"documentation": null, |
||||
"fullyImplemented": true, |
||||
"id": 24, |
||||
"linearizedBaseContracts": |
||||
[ |
||||
24 |
||||
], |
||||
"name": "C", |
||||
"nodeType": "ContractDefinition", |
||||
"nodes": |
||||
[ |
||||
{ |
||||
"body": |
||||
{ |
||||
"attributes": { |
||||
"name": "Voter" |
||||
}, |
||||
"children": [], |
||||
"name": "StructDefinition" |
||||
}, |
||||
{ |
||||
"attributes": { |
||||
"name": "Proposal" |
||||
}, |
||||
"children": [], |
||||
"name": "StructDefinition" |
||||
}, |
||||
{ |
||||
"attributes": { |
||||
"name": "chairperson", |
||||
"type": "address" |
||||
}, |
||||
"children": [ |
||||
{ |
||||
"attributes": { |
||||
"name": "address" |
||||
}, |
||||
"name": "ElementaryTypeName" |
||||
} |
||||
], |
||||
"name": "VariableDeclaration" |
||||
}, |
||||
{ |
||||
"attributes": { |
||||
"name": "voters", |
||||
"type": "mapping(address => struct Ballot.Voter storage ref)" |
||||
}, |
||||
"children": [ |
||||
"id": 22, |
||||
"nodeType": "Block", |
||||
"src": "52:69:0", |
||||
"statements": |
||||
[ |
||||
{ |
||||
"children": [ |
||||
"assignments": |
||||
[ |
||||
10 |
||||
], |
||||
"declarations": |
||||
[ |
||||
{ |
||||
"attributes": { |
||||
"name": "address" |
||||
"constant": false, |
||||
"id": 10, |
||||
"name": "z", |
||||
"nodeType": "VariableDeclaration", |
||||
"overrides": null, |
||||
"scope": 22, |
||||
"src": "62:17:0", |
||||
"stateVariable": false, |
||||
"storageLocation": "memory", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_array$_t_uint8_$4_memory_ptr", |
||||
"typeString": "uint8[4]" |
||||
}, |
||||
"name": "ElementaryTypeName" |
||||
}, |
||||
{ |
||||
"attributes": { |
||||
"name": "Voter" |
||||
"typeName": |
||||
{ |
||||
"baseType": |
||||
{ |
||||
"id": 8, |
||||
"name": "uint8", |
||||
"nodeType": "ElementaryTypeName", |
||||
"src": "62:5:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_uint8", |
||||
"typeString": "uint8" |
||||
} |
||||
}, |
||||
"id": 9, |
||||
"length": |
||||
{ |
||||
"argumentTypes": null, |
||||
"hexValue": "34", |
||||
"id": 7, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": true, |
||||
"kind": "number", |
||||
"lValueRequested": false, |
||||
"nodeType": "Literal", |
||||
"src": "68:1:0", |
||||
"subdenomination": null, |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_rational_4_by_1", |
||||
"typeString": "int_const 4" |
||||
}, |
||||
"value": "4" |
||||
}, |
||||
"nodeType": "ArrayTypeName", |
||||
"src": "62:8:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_array$_t_uint8_$4_storage_ptr", |
||||
"typeString": "uint8[4]" |
||||
} |
||||
}, |
||||
"name": "UserDefinedTypeName" |
||||
"value": null, |
||||
"visibility": "internal" |
||||
} |
||||
], |
||||
"name": "Mapping" |
||||
"id": 16, |
||||
"initialValue": |
||||
{ |
||||
"argumentTypes": null, |
||||
"components": |
||||
[ |
||||
{ |
||||
"argumentTypes": null, |
||||
"hexValue": "31", |
||||
"id": 11, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": true, |
||||
"kind": "number", |
||||
"lValueRequested": false, |
||||
"nodeType": "Literal", |
||||
"src": "83:1:0", |
||||
"subdenomination": null, |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_rational_1_by_1", |
||||
"typeString": "int_const 1" |
||||
}, |
||||
"value": "1" |
||||
}, |
||||
{ |
||||
"argumentTypes": null, |
||||
"hexValue": "32", |
||||
"id": 12, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": true, |
||||
"kind": "number", |
||||
"lValueRequested": false, |
||||
"nodeType": "Literal", |
||||
"src": "85:1:0", |
||||
"subdenomination": null, |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_rational_2_by_1", |
||||
"typeString": "int_const 2" |
||||
}, |
||||
"value": "2" |
||||
}, |
||||
{ |
||||
"argumentTypes": null, |
||||
"hexValue": "33", |
||||
"id": 13, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": true, |
||||
"kind": "number", |
||||
"lValueRequested": false, |
||||
"nodeType": "Literal", |
||||
"src": "87:1:0", |
||||
"subdenomination": null, |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_rational_3_by_1", |
||||
"typeString": "int_const 3" |
||||
}, |
||||
"value": "3" |
||||
}, |
||||
{ |
||||
"argumentTypes": null, |
||||
"hexValue": "35", |
||||
"id": 14, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": true, |
||||
"kind": "number", |
||||
"lValueRequested": false, |
||||
"nodeType": "Literal", |
||||
"src": "89:1:0", |
||||
"subdenomination": null, |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_rational_5_by_1", |
||||
"typeString": "int_const 5" |
||||
}, |
||||
"value": "5" |
||||
} |
||||
], |
||||
"id": 15, |
||||
"isConstant": false, |
||||
"isInlineArray": true, |
||||
"isLValue": false, |
||||
"isPure": true, |
||||
"lValueRequested": false, |
||||
"nodeType": "TupleExpression", |
||||
"src": "82:9:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_array$_t_uint8_$4_memory_ptr", |
||||
"typeString": "uint8[4] memory" |
||||
} |
||||
}, |
||||
"nodeType": "VariableDeclarationStatement", |
||||
"src": "62:29:0" |
||||
}, |
||||
{ |
||||
"expression": |
||||
{ |
||||
"argumentTypes": null, |
||||
"components": |
||||
[ |
||||
{ |
||||
"argumentTypes": null, |
||||
"baseExpression": |
||||
{ |
||||
"argumentTypes": null, |
||||
"id": 17, |
||||
"name": "z", |
||||
"nodeType": "Identifier", |
||||
"overloadedDeclarations": [], |
||||
"referencedDeclaration": 10, |
||||
"src": "109:1:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_array$_t_uint8_$4_memory_ptr", |
||||
"typeString": "uint8[4] memory" |
||||
} |
||||
}, |
||||
"id": 19, |
||||
"indexExpression": |
||||
{ |
||||
"argumentTypes": null, |
||||
"hexValue": "30", |
||||
"id": 18, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": true, |
||||
"kind": "number", |
||||
"lValueRequested": false, |
||||
"nodeType": "Literal", |
||||
"src": "111:1:0", |
||||
"subdenomination": null, |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_rational_0_by_1", |
||||
"typeString": "int_const 0" |
||||
}, |
||||
"value": "0" |
||||
}, |
||||
"isConstant": false, |
||||
"isLValue": true, |
||||
"isPure": false, |
||||
"lValueRequested": false, |
||||
"nodeType": "IndexAccess", |
||||
"src": "109:4:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_uint8", |
||||
"typeString": "uint8" |
||||
} |
||||
} |
||||
], |
||||
"id": 20, |
||||
"isConstant": false, |
||||
"isInlineArray": false, |
||||
"isLValue": false, |
||||
"isPure": false, |
||||
"lValueRequested": false, |
||||
"nodeType": "TupleExpression", |
||||
"src": "108:6:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_uint8", |
||||
"typeString": "uint8" |
||||
} |
||||
}, |
||||
"functionReturnParameters": 4, |
||||
"id": 21, |
||||
"nodeType": "Return", |
||||
"src": "101:13:0" |
||||
} |
||||
], |
||||
"name": "VariableDeclaration" |
||||
] |
||||
}, |
||||
"documentation": null, |
||||
"functionSelector": "26121ff0", |
||||
"id": 23, |
||||
"implemented": true, |
||||
"kind": "function", |
||||
"modifiers": [], |
||||
"name": "f", |
||||
"nodeType": "FunctionDefinition", |
||||
"overrides": null, |
||||
"parameters": |
||||
{ |
||||
"id": 1, |
||||
"nodeType": "ParameterList", |
||||
"parameters": [], |
||||
"src": "27:2:0" |
||||
}, |
||||
"returnParameters": |
||||
{ |
||||
"attributes": { |
||||
"name": "proposals", |
||||
"type": "struct Ballot.Proposal storage ref[] storage ref" |
||||
}, |
||||
"children": [ |
||||
"id": 4, |
||||
"nodeType": "ParameterList", |
||||
"parameters": |
||||
[ |
||||
{ |
||||
"children": [ |
||||
"constant": false, |
||||
"id": 3, |
||||
"name": "", |
||||
"nodeType": "VariableDeclaration", |
||||
"overrides": null, |
||||
"scope": 23, |
||||
"src": "46:4:0", |
||||
"stateVariable": false, |
||||
"storageLocation": "default", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_uint256", |
||||
"typeString": "uint256" |
||||
}, |
||||
"typeName": |
||||
{ |
||||
"id": 2, |
||||
"name": "uint", |
||||
"nodeType": "ElementaryTypeName", |
||||
"src": "46:4:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"attributes": { |
||||
"name": "Proposal" |
||||
}, |
||||
"name": "UserDefinedTypeName" |
||||
"typeIdentifier": "t_uint256", |
||||
"typeString": "uint256" |
||||
} |
||||
], |
||||
"name": "ArrayTypeName" |
||||
}, |
||||
"value": null, |
||||
"visibility": "internal" |
||||
} |
||||
], |
||||
"name": "VariableDeclaration" |
||||
}, |
||||
{ |
||||
"attributes": { |
||||
"constant": false, |
||||
"name": "Ballot", |
||||
"payable": false, |
||||
"visibility": "public" |
||||
}, |
||||
"children": [], |
||||
"name": "FunctionDefinition" |
||||
"src": "45:6:0" |
||||
}, |
||||
{ |
||||
"attributes": { |
||||
"constant": false, |
||||
"name": "giveRightToVote", |
||||
"payable": false, |
||||
"visibility": "public" |
||||
}, |
||||
"children": [], |
||||
"name": "FunctionDefinition" |
||||
} |
||||
], |
||||
"name": "ContractDefinition" |
||||
} |
||||
"scope": 24, |
||||
"src": "17:104:0", |
||||
"stateMutability": "nonpayable", |
||||
"virtual": false, |
||||
"visibility": "public" |
||||
} |
||||
], |
||||
"scope": 25, |
||||
"src": "0:123:0" |
||||
} |
@ -1,16 +1,32 @@ |
||||
{ |
||||
"attributes": { |
||||
"member_name": "duper", |
||||
"type": "function ()" |
||||
}, |
||||
"children": [ |
||||
"argumentTypes": [], |
||||
"expression": |
||||
{ |
||||
"argumentTypes": null, |
||||
"id": 10, |
||||
"name": "super", |
||||
"nodeType": "Identifier", |
||||
"overloadedDeclarations": [], |
||||
"referencedDeclaration": -25, |
||||
"src": "162:5:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"attributes": { |
||||
"type": "contract super a", |
||||
"value": "super" |
||||
}, |
||||
"name": "Identifier" |
||||
"typeIdentifier": "t_super$_B_$17", |
||||
"typeString": "contract super B" |
||||
} |
||||
], |
||||
"name": "MemberAccess" |
||||
}, |
||||
"id": 12, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": false, |
||||
"lValueRequested": false, |
||||
"memberName": "x", |
||||
"nodeType": "MemberAccess", |
||||
"referencedDeclaration": 4, |
||||
"src": "162:7:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_function_internal_pure$__$returns$__$", |
||||
"typeString": "function () pure" |
||||
} |
||||
} |
@ -1,10 +1,32 @@ |
||||
{ |
||||
"name": "MemberAccess", |
||||
"children": [ { |
||||
"attributes": { |
||||
"value": "this", |
||||
"type": "contract test" }, |
||||
"name": "Identifier" } ], |
||||
"attributes": { |
||||
"value": "b", |
||||
"type": "function (bytes32,address) returns (bool)" } } |
||||
{ |
||||
"argumentTypes": null, |
||||
"expression": |
||||
{ |
||||
"argumentTypes": null, |
||||
"id": 13, |
||||
"name": "this", |
||||
"nodeType": "Identifier", |
||||
"overloadedDeclarations": [], |
||||
"referencedDeclaration": -28, |
||||
"src": "138:4:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_contract$_C_$21", |
||||
"typeString": "contract C" |
||||
} |
||||
}, |
||||
"id": 14, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": false, |
||||
"lValueRequested": false, |
||||
"memberName": "h", |
||||
"nodeType": "MemberAccess", |
||||
"referencedDeclaration": 4, |
||||
"src": "138:6:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_function_external_payable$__$returns$__$", |
||||
"typeString": "function () payable external" |
||||
} |
||||
} |
@ -1,204 +1,101 @@ |
||||
{ |
||||
"children": |
||||
[ |
||||
"body": |
||||
{ |
||||
"id": 13, |
||||
"nodeType": "Block", |
||||
"src": "89:27:0", |
||||
"statements": |
||||
[ |
||||
{ |
||||
"expression": |
||||
{ |
||||
"argumentTypes": null, |
||||
"id": 9, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": false, |
||||
"lValueRequested": false, |
||||
"leftHandSide": |
||||
{ |
||||
"attributes": |
||||
"argumentTypes": null, |
||||
"id": 7, |
||||
"name": "x", |
||||
"nodeType": "Identifier", |
||||
"overloadedDeclarations": [], |
||||
"referencedDeclaration": 4, |
||||
"src": "91:1:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"argumentTypes": null, |
||||
"commonType": |
||||
{ |
||||
"typeIdentifier": "t_uint256", |
||||
"typeString": "uint256" |
||||
}, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": false, |
||||
"lValueRequested": false, |
||||
"operator": "<", |
||||
"type": "bool" |
||||
"typeIdentifier": "t_uint256", |
||||
"typeString": "uint256" |
||||
} |
||||
}, |
||||
"nodeType": "Assignment", |
||||
"operator": "=", |
||||
"rightHandSide": |
||||
{ |
||||
"argumentTypes": null, |
||||
"hexValue": "31", |
||||
"id": 8, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": true, |
||||
"kind": "number", |
||||
"lValueRequested": false, |
||||
"nodeType": "Literal", |
||||
"src": "95:1:0", |
||||
"subdenomination": null, |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_rational_1_by_1", |
||||
"typeString": "int_const 1" |
||||
}, |
||||
"children": |
||||
[ |
||||
{ |
||||
"attributes": |
||||
{ |
||||
"argumentTypes": null, |
||||
"overloadedDeclarations": |
||||
[ |
||||
null |
||||
], |
||||
"referencedDeclaration": 45, |
||||
"type": "uint256", |
||||
"value": "i" |
||||
}, |
||||
"id": 48, |
||||
"name": "Identifier", |
||||
"src": "372:1:0" |
||||
}, |
||||
{ |
||||
"attributes": |
||||
{ |
||||
"argumentTypes": null, |
||||
"hexvalue": "3130", |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": true, |
||||
"lValueRequested": false, |
||||
"subdenomination": null, |
||||
"token": "number", |
||||
"type": "int_const 10", |
||||
"value": "10" |
||||
}, |
||||
"id": 49, |
||||
"name": "Literal", |
||||
"src": "376:2:0" |
||||
} |
||||
], |
||||
"id": 50, |
||||
"name": "BinaryOperation", |
||||
"src": "372:6:0" |
||||
"value": "1" |
||||
}, |
||||
"src": "91:5:0", |
||||
"typeDescriptions": |
||||
{ |
||||
"children": |
||||
[ |
||||
{ |
||||
"children": |
||||
[ |
||||
{ |
||||
"attributes": |
||||
{ |
||||
"argumentTypes": null, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": false, |
||||
"isStructConstructorCall": false, |
||||
"lValueRequested": false, |
||||
"names": |
||||
[ |
||||
null |
||||
], |
||||
"type": "uint256", |
||||
"type_conversion": false |
||||
}, |
||||
"children": |
||||
[ |
||||
{ |
||||
"attributes": |
||||
{ |
||||
"argumentTypes": |
||||
[ |
||||
{ |
||||
"typeIdentifier": "t_uint256", |
||||
"typeString": "uint256" |
||||
} |
||||
], |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": false, |
||||
"lValueRequested": false, |
||||
"member_name": "push", |
||||
"referencedDeclaration": null, |
||||
"type": "function (uint256) returns (uint256)" |
||||
}, |
||||
"children": |
||||
[ |
||||
{ |
||||
"attributes": |
||||
{ |
||||
"argumentTypes": null, |
||||
"overloadedDeclarations": |
||||
[ |
||||
null |
||||
], |
||||
"referencedDeclaration": 4, |
||||
"type": "uint256[] storage ref", |
||||
"value": "array" |
||||
}, |
||||
"id": 51, |
||||
"name": "Identifier", |
||||
"src": "394:5:0" |
||||
} |
||||
], |
||||
"id": 53, |
||||
"name": "MemberAccess", |
||||
"src": "394:10:0" |
||||
}, |
||||
{ |
||||
"attributes": |
||||
{ |
||||
"argumentTypes": null, |
||||
"overloadedDeclarations": |
||||
[ |
||||
null |
||||
], |
||||
"referencedDeclaration": 45, |
||||
"type": "uint256", |
||||
"value": "i" |
||||
}, |
||||
"id": 54, |
||||
"name": "Identifier", |
||||
"src": "405:1:0" |
||||
} |
||||
], |
||||
"id": 55, |
||||
"name": "FunctionCall", |
||||
"src": "394:13:0" |
||||
} |
||||
], |
||||
"id": 56, |
||||
"name": "ExpressionStatement", |
||||
"src": "394:13:0" |
||||
}, |
||||
{ |
||||
"children": |
||||
[ |
||||
{ |
||||
"attributes": |
||||
{ |
||||
"argumentTypes": null, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": false, |
||||
"lValueRequested": false, |
||||
"operator": "++", |
||||
"prefix": false, |
||||
"type": "uint256" |
||||
}, |
||||
"children": |
||||
[ |
||||
{ |
||||
"attributes": |
||||
{ |
||||
"argumentTypes": null, |
||||
"overloadedDeclarations": |
||||
[ |
||||
null |
||||
], |
||||
"referencedDeclaration": 45, |
||||
"type": "uint256", |
||||
"value": "i" |
||||
}, |
||||
"id": 57, |
||||
"name": "Identifier", |
||||
"src": "421:1:0" |
||||
} |
||||
], |
||||
"id": 58, |
||||
"name": "UnaryOperation", |
||||
"src": "421:3:0" |
||||
} |
||||
], |
||||
"id": 59, |
||||
"name": "ExpressionStatement", |
||||
"src": "421:3:0" |
||||
} |
||||
], |
||||
"id": 60, |
||||
"name": "Block", |
||||
"src": "380:55:0" |
||||
"typeIdentifier": "t_uint256", |
||||
"typeString": "uint256" |
||||
} |
||||
], |
||||
"id": 61, |
||||
"name": "WhileStatement", |
||||
"src": "365:70:0" |
||||
} |
||||
}, |
||||
"id": 10, |
||||
"nodeType": "ExpressionStatement", |
||||
"src": "91:5:0" |
||||
}, |
||||
{ |
||||
"id": 11, |
||||
"nodeType": "Break", |
||||
"src": "98:5:0" |
||||
}, |
||||
{ |
||||
"id": 12, |
||||
"nodeType": "Continue", |
||||
"src": "105:8:0" |
||||
} |
||||
] |
||||
}, |
||||
"condition": |
||||
{ |
||||
"argumentTypes": null, |
||||
"hexValue": "74727565", |
||||
"id": 6, |
||||
"isConstant": false, |
||||
"isLValue": false, |
||||
"isPure": true, |
||||
"kind": "bool", |
||||
"lValueRequested": false, |
||||
"nodeType": "Literal", |
||||
"src": "83:4:0", |
||||
"subdenomination": null, |
||||
"typeDescriptions": |
||||
{ |
||||
"typeIdentifier": "t_bool", |
||||
"typeString": "bool" |
||||
}, |
||||
"value": "true" |
||||
}, |
||||
"id": 14, |
||||
"nodeType": "WhileStatement", |
||||
"src": "76:40:0" |
||||
} |
Loading…
Reference in new issue