Merge pull request #1308 from ethereum/separate_ast_blocks
Separate AST blocks in remix-analyzer testspull/7/head
commit
062cb9b43d
@ -0,0 +1,62 @@ |
|||||||
|
{ |
||||||
|
"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" |
||||||
|
} |
@ -0,0 +1,16 @@ |
|||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"member_name": "blockhash", |
||||||
|
"type": "function (uint256) returns (bytes32)" |
||||||
|
}, |
||||||
|
"children": [ |
||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"type": "block", |
||||||
|
"value": "block" |
||||||
|
}, |
||||||
|
"name": "Identifier" |
||||||
|
} |
||||||
|
], |
||||||
|
"name": "MemberAccess" |
||||||
|
} |
@ -0,0 +1,204 @@ |
|||||||
|
{ |
||||||
|
"children": |
||||||
|
[ |
||||||
|
{ |
||||||
|
"attributes": |
||||||
|
{ |
||||||
|
"argumentTypes": null, |
||||||
|
"commonType": |
||||||
|
{ |
||||||
|
"typeIdentifier": "t_uint256", |
||||||
|
"typeString": "uint256" |
||||||
|
}, |
||||||
|
"isConstant": false, |
||||||
|
"isLValue": false, |
||||||
|
"isPure": false, |
||||||
|
"lValueRequested": false, |
||||||
|
"operator": "<", |
||||||
|
"type": "bool" |
||||||
|
}, |
||||||
|
"children": |
||||||
|
[ |
||||||
|
{ |
||||||
|
"attributes": |
||||||
|
{ |
||||||
|
"argumentTypes": null, |
||||||
|
"overloadedDeclarations": |
||||||
|
[ |
||||||
|
null |
||||||
|
], |
||||||
|
"referencedDeclaration": 69, |
||||||
|
"type": "uint256", |
||||||
|
"value": "i" |
||||||
|
}, |
||||||
|
"id": 82, |
||||||
|
"name": "Identifier", |
||||||
|
"src": "592: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": 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" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"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" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 81, |
||||||
|
"name": "Block", |
||||||
|
"src": "530:55:0" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 85, |
||||||
|
"name": "DoWhileStatement", |
||||||
|
"src": "528:72:0" |
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"member_name": "info", |
||||||
|
"type": "function () payable external returns (uint256)" |
||||||
|
}, |
||||||
|
"children": [ |
||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"type": "contract InfoFeed", |
||||||
|
"value": "f" |
||||||
|
}, |
||||||
|
"id": 30, |
||||||
|
"name": "Identifier", |
||||||
|
"src": "405:1:0" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 32, |
||||||
|
"name": "MemberAccess", |
||||||
|
"src": "405:6:0" |
||||||
|
} |
@ -0,0 +1,264 @@ |
|||||||
|
{ |
||||||
|
"children": |
||||||
|
[ |
||||||
|
{ |
||||||
|
"attributes": |
||||||
|
{ |
||||||
|
"assignments": |
||||||
|
[ |
||||||
|
21 |
||||||
|
] |
||||||
|
}, |
||||||
|
"children": |
||||||
|
[ |
||||||
|
{ |
||||||
|
"attributes": |
||||||
|
{ |
||||||
|
"constant": false, |
||||||
|
"name": "i", |
||||||
|
"scope": 39, |
||||||
|
"stateVariable": false, |
||||||
|
"storageLocation": "default", |
||||||
|
"type": "uint256", |
||||||
|
"value": null, |
||||||
|
"visibility": "internal" |
||||||
|
}, |
||||||
|
"children": |
||||||
|
[ |
||||||
|
{ |
||||||
|
"attributes": |
||||||
|
{ |
||||||
|
"name": "uint", |
||||||
|
"type": "uint256" |
||||||
|
}, |
||||||
|
"id": 20, |
||||||
|
"name": "ElementaryTypeName", |
||||||
|
"src": "207:4:0" |
||||||
|
} |
||||||
|
], |
||||||
|
"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" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 23, |
||||||
|
"name": "VariableDeclarationStatement", |
||||||
|
"src": "207:14:0" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"attributes": |
||||||
|
{ |
||||||
|
"argumentTypes": null, |
||||||
|
"commonType": |
||||||
|
{ |
||||||
|
"typeIdentifier": "t_uint256", |
||||||
|
"typeString": "uint256" |
||||||
|
}, |
||||||
|
"isConstant": false, |
||||||
|
"isLValue": false, |
||||||
|
"isPure": false, |
||||||
|
"lValueRequested": false, |
||||||
|
"operator": "<", |
||||||
|
"type": "bool" |
||||||
|
}, |
||||||
|
"children": |
||||||
|
[ |
||||||
|
{ |
||||||
|
"attributes": |
||||||
|
{ |
||||||
|
"argumentTypes": null, |
||||||
|
"overloadedDeclarations": |
||||||
|
[ |
||||||
|
null |
||||||
|
], |
||||||
|
"referencedDeclaration": 21, |
||||||
|
"type": "uint256", |
||||||
|
"value": "i" |
||||||
|
}, |
||||||
|
"id": 24, |
||||||
|
"name": "Identifier", |
||||||
|
"src": "223: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": 25, |
||||||
|
"name": "Literal", |
||||||
|
"src": "227:2:0" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 26, |
||||||
|
"name": "BinaryOperation", |
||||||
|
"src": "223:6: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": 21, |
||||||
|
"type": "uint256", |
||||||
|
"value": "i" |
||||||
|
}, |
||||||
|
"id": 27, |
||||||
|
"name": "Identifier", |
||||||
|
"src": "231:1:0" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 28, |
||||||
|
"name": "UnaryOperation", |
||||||
|
"src": "231:3:0" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 29, |
||||||
|
"name": "ExpressionStatement", |
||||||
|
"src": "231:3: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": 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" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 36, |
||||||
|
"name": "Block", |
||||||
|
"src": "236:38:0" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 37, |
||||||
|
"name": "ForStatement", |
||||||
|
"src": "202:72:0" |
||||||
|
} |
@ -0,0 +1,74 @@ |
|||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"constant": false, |
||||||
|
"name": "getY", |
||||||
|
"payable": false, |
||||||
|
"visibility": "public" |
||||||
|
}, |
||||||
|
"children": [ |
||||||
|
{ |
||||||
|
"children": [ |
||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"name": "z", |
||||||
|
"type": "uint256" |
||||||
|
}, |
||||||
|
"children": [ |
||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"name": "uint" |
||||||
|
}, |
||||||
|
"name": "ElementaryTypeName" |
||||||
|
} |
||||||
|
], |
||||||
|
"name": "VariableDeclaration" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"name": "r", |
||||||
|
"type": "bool" |
||||||
|
}, |
||||||
|
"children": [ |
||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"name": "bool" |
||||||
|
}, |
||||||
|
"name": "ElementaryTypeName" |
||||||
|
} |
||||||
|
], |
||||||
|
"name": "VariableDeclaration" |
||||||
|
} |
||||||
|
], |
||||||
|
"name": "ParameterList" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"children": [ |
||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"name": "", |
||||||
|
"type": "uint256" |
||||||
|
}, |
||||||
|
"children": [ |
||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"name": "uint" |
||||||
|
}, |
||||||
|
"id": 34, |
||||||
|
"name": "ElementaryTypeName", |
||||||
|
"src": "285:4:0" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 35, |
||||||
|
"name": "VariableDeclaration", |
||||||
|
"src": "285:4:0" |
||||||
|
} |
||||||
|
], |
||||||
|
"name": "ParameterList" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"children": [], |
||||||
|
"name": "Block" |
||||||
|
} |
||||||
|
], |
||||||
|
"name": "FunctionDefinition" |
||||||
|
} |
@ -0,0 +1,24 @@ |
|||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"constant": true, |
||||||
|
"name": "winnerName", |
||||||
|
"payable": false, |
||||||
|
"visibility": "public" |
||||||
|
}, |
||||||
|
"children": [ |
||||||
|
{ |
||||||
|
"children": [ |
||||||
|
], |
||||||
|
"name": "ParameterList" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"children": [], |
||||||
|
"name": "ParameterList" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"children": [], |
||||||
|
"name": "Block" |
||||||
|
} |
||||||
|
], |
||||||
|
"name": "FunctionDefinition" |
||||||
|
} |
@ -0,0 +1,22 @@ |
|||||||
|
module.exports = { |
||||||
|
localCall: require('./localCall.json'), |
||||||
|
thisLocalCall: require('./thisLocalCall.json'), |
||||||
|
libCall: require('./libCall.json'), |
||||||
|
externalDirect: require('./externalDirect.json'), |
||||||
|
superLocal: require('./superLocal.json'), |
||||||
|
assignment: require('./assignment.json'), |
||||||
|
inlineAssembly: require('./inlineAssembly.json'), |
||||||
|
forLoopNode: require('./forLoopNode.json'), |
||||||
|
whileLoopNode: require('./whileLoopNode.json'), |
||||||
|
doWhileLoopNode: require('./doWhileLoopNode.json'), |
||||||
|
stateVariableContractNode: require('./stateVariableContractNode.json'), |
||||||
|
functionDefinition: require('./functionDefinition.json'), |
||||||
|
fullyQualifiedFunctionDefinition: require('./fullyQualifiedFunctionDefinition.json'), |
||||||
|
selfdestruct: require('./selfdestruct.json'), |
||||||
|
storageVariableNodes: require('./storageVariableNodes.json'), |
||||||
|
lowlevelCall: require('./lowlevelCall.json'), |
||||||
|
parameterFunction: require('./parameterFunction.json'), |
||||||
|
parameterFunctionCall: require('./parameterFunctionCall.json'), |
||||||
|
inheritance: require('./inheritance.json'), |
||||||
|
blockHashAccess: require('./blockHashAccess.json') |
||||||
|
} |
@ -0,0 +1,15 @@ |
|||||||
|
{ |
||||||
|
"children": [ |
||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"name": "r" |
||||||
|
}, |
||||||
|
"id": 7, |
||||||
|
"name": "UserDefinedTypeName", |
||||||
|
"src": "84:1:0" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 8, |
||||||
|
"name": "InheritanceSpecifier", |
||||||
|
"src": "84:1:0" |
||||||
|
} |
@ -0,0 +1,7 @@ |
|||||||
|
{ |
||||||
|
"children": [ |
||||||
|
], |
||||||
|
"id": 21, |
||||||
|
"name": "InlineAssembly", |
||||||
|
"src": "809:41:0" |
||||||
|
} |
@ -0,0 +1,16 @@ |
|||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"member_name": "insert", |
||||||
|
"type": "function (struct Set.Data storage pointer,uint256) returns (bool)" |
||||||
|
}, |
||||||
|
"children": [ |
||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"type": "type(library Set)", |
||||||
|
"value": "Set" |
||||||
|
}, |
||||||
|
"name": "Identifier" |
||||||
|
} |
||||||
|
], |
||||||
|
"name": "MemberAccess" |
||||||
|
} |
@ -0,0 +1,29 @@ |
|||||||
|
{ |
||||||
|
"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" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"type": "struct Ballot.Voter storage pointer", |
||||||
|
"value": "x" |
||||||
|
}, |
||||||
|
"id": 38, |
||||||
|
"name": "Identifier", |
||||||
|
"src": "544:1:0" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 39, |
||||||
|
"name": "FunctionCall", |
||||||
|
"src": "540:6:0" |
||||||
|
} |
@ -0,0 +1,42 @@ |
|||||||
|
{ |
||||||
|
"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)" } } |
||||||
|
} |
@ -0,0 +1,71 @@ |
|||||||
|
{ |
||||||
|
"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" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"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" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"argumentTypes": null, |
||||||
|
"overloadedDeclarations": [ |
||||||
|
null |
||||||
|
], |
||||||
|
"referencedDeclaration": 27, |
||||||
|
"type": "uint256", |
||||||
|
"value": "x" |
||||||
|
}, |
||||||
|
"id": 35, |
||||||
|
"name": "Identifier", |
||||||
|
"src": "269:1:0" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"argumentTypes": null, |
||||||
|
"overloadedDeclarations": [ |
||||||
|
null |
||||||
|
], |
||||||
|
"referencedDeclaration": 29, |
||||||
|
"type": "uint256", |
||||||
|
"value": "y" |
||||||
|
}, |
||||||
|
"id": 36, |
||||||
|
"name": "Identifier", |
||||||
|
"src": "272:1:0" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 37, |
||||||
|
"name": "FunctionCall", |
||||||
|
"src": "267:7:0" |
||||||
|
} |
@ -0,0 +1,89 @@ |
|||||||
|
{ |
||||||
|
"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_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", |
||||||
|
"typeString": "function (uint256,uint256) pure returns (uint256)" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"typeIdentifier": "t_uint256", |
||||||
|
"typeString": "uint256" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"typeIdentifier": "t_uint256", |
||||||
|
"typeString": "uint256" |
||||||
|
} |
||||||
|
], |
||||||
|
"overloadedDeclarations": [ |
||||||
|
null |
||||||
|
], |
||||||
|
"referencedDeclaration": 40, |
||||||
|
"type": "function (function (uint256,uint256) pure returns (uint256),uint256,uint256) pure returns (uint256)", |
||||||
|
"value": "eval" |
||||||
|
}, |
||||||
|
"id": 49, |
||||||
|
"name": "Identifier", |
||||||
|
"src": "361:4:0" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"argumentTypes": null, |
||||||
|
"overloadedDeclarations": [ |
||||||
|
null |
||||||
|
], |
||||||
|
"referencedDeclaration": 15, |
||||||
|
"type": "function (uint256,uint256) pure returns (uint256)", |
||||||
|
"value": "plus" |
||||||
|
}, |
||||||
|
"id": 50, |
||||||
|
"name": "Identifier", |
||||||
|
"src": "366:4:0" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"argumentTypes": null, |
||||||
|
"overloadedDeclarations": [ |
||||||
|
null |
||||||
|
], |
||||||
|
"referencedDeclaration": 42, |
||||||
|
"type": "uint256", |
||||||
|
"value": "x" |
||||||
|
}, |
||||||
|
"id": 51, |
||||||
|
"name": "Identifier", |
||||||
|
"src": "372:1:0" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"argumentTypes": null, |
||||||
|
"overloadedDeclarations": [ |
||||||
|
null |
||||||
|
], |
||||||
|
"referencedDeclaration": 44, |
||||||
|
"type": "uint256", |
||||||
|
"value": "y" |
||||||
|
}, |
||||||
|
"id": 52, |
||||||
|
"name": "Identifier", |
||||||
|
"src": "375:1:0" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 53, |
||||||
|
"name": "FunctionCall", |
||||||
|
"src": "361:16:0" |
||||||
|
} |
@ -0,0 +1,23 @@ |
|||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"type": "tuple()", |
||||||
|
"type_conversion": false |
||||||
|
}, |
||||||
|
"children": [ |
||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"type": "function (address)", |
||||||
|
"value": "selfdestruct" |
||||||
|
}, |
||||||
|
"name": "Identifier" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"type": "address", |
||||||
|
"value": "a" |
||||||
|
}, |
||||||
|
"name": "Identifier" |
||||||
|
} |
||||||
|
], |
||||||
|
"name": "FunctionCall" |
||||||
|
} |
@ -0,0 +1,108 @@ |
|||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"fullyImplemented": true, |
||||||
|
"isLibrary": false, |
||||||
|
"linearizedBaseContracts": [ |
||||||
|
274 |
||||||
|
], |
||||||
|
"name": "Ballot" |
||||||
|
}, |
||||||
|
"children": [ |
||||||
|
{ |
||||||
|
"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": [ |
||||||
|
{ |
||||||
|
"children": [ |
||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"name": "address" |
||||||
|
}, |
||||||
|
"name": "ElementaryTypeName" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"name": "Voter" |
||||||
|
}, |
||||||
|
"name": "UserDefinedTypeName" |
||||||
|
} |
||||||
|
], |
||||||
|
"name": "Mapping" |
||||||
|
} |
||||||
|
], |
||||||
|
"name": "VariableDeclaration" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"name": "proposals", |
||||||
|
"type": "struct Ballot.Proposal storage ref[] storage ref" |
||||||
|
}, |
||||||
|
"children": [ |
||||||
|
{ |
||||||
|
"children": [ |
||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"name": "Proposal" |
||||||
|
}, |
||||||
|
"name": "UserDefinedTypeName" |
||||||
|
} |
||||||
|
], |
||||||
|
"name": "ArrayTypeName" |
||||||
|
} |
||||||
|
], |
||||||
|
"name": "VariableDeclaration" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"constant": false, |
||||||
|
"name": "Ballot", |
||||||
|
"payable": false, |
||||||
|
"visibility": "public" |
||||||
|
}, |
||||||
|
"children": [], |
||||||
|
"name": "FunctionDefinition" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"constant": false, |
||||||
|
"name": "giveRightToVote", |
||||||
|
"payable": false, |
||||||
|
"visibility": "public" |
||||||
|
}, |
||||||
|
"children": [], |
||||||
|
"name": "FunctionDefinition" |
||||||
|
} |
||||||
|
], |
||||||
|
"name": "ContractDefinition" |
||||||
|
} |
@ -0,0 +1,74 @@ |
|||||||
|
{ |
||||||
|
"node1": { |
||||||
|
"attributes": { |
||||||
|
"name": "x", |
||||||
|
"type": "struct Ballot.Voter storage pointer" |
||||||
|
}, |
||||||
|
"children": [ |
||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"name": "Voter" |
||||||
|
}, |
||||||
|
"id": 43, |
||||||
|
"name": "UserDefinedTypeName", |
||||||
|
"src": "604:5:0" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 44, |
||||||
|
"name": "VariableDeclaration", |
||||||
|
"src": "604:15:0" |
||||||
|
}, |
||||||
|
"node2": { |
||||||
|
"attributes": { |
||||||
|
"name": "voters", |
||||||
|
"type": "mapping(address => struct Ballot.Voter storage ref)" |
||||||
|
}, |
||||||
|
"children": [ |
||||||
|
{ |
||||||
|
"children": [ |
||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"name": "address" |
||||||
|
}, |
||||||
|
"id": 16, |
||||||
|
"name": "ElementaryTypeName", |
||||||
|
"src": "235:7:0" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"name": "Voter" |
||||||
|
}, |
||||||
|
"id": 17, |
||||||
|
"name": "UserDefinedTypeName", |
||||||
|
"src": "246:5:0" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 18, |
||||||
|
"name": "Mapping", |
||||||
|
"src": "227:25:0" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 19, |
||||||
|
"name": "VariableDeclaration", |
||||||
|
"src": "227:32:0" |
||||||
|
}, |
||||||
|
"node3": { |
||||||
|
"attributes": { |
||||||
|
"name": "voters", |
||||||
|
"type": "bytes32" |
||||||
|
}, |
||||||
|
"children": [ |
||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"name": "bytes" |
||||||
|
}, |
||||||
|
"id": 16, |
||||||
|
"name": "ElementaryTypeName", |
||||||
|
"src": "235:7:0" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 19, |
||||||
|
"name": "VariableDeclaration", |
||||||
|
"src": "227:32:0" |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,16 @@ |
|||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"member_name": "duper", |
||||||
|
"type": "function ()" |
||||||
|
}, |
||||||
|
"children": [ |
||||||
|
{ |
||||||
|
"attributes": { |
||||||
|
"type": "contract super a", |
||||||
|
"value": "super" |
||||||
|
}, |
||||||
|
"name": "Identifier" |
||||||
|
} |
||||||
|
], |
||||||
|
"name": "MemberAccess" |
||||||
|
} |
@ -0,0 +1,10 @@ |
|||||||
|
{ |
||||||
|
"name": "MemberAccess", |
||||||
|
"children": [ { |
||||||
|
"attributes": { |
||||||
|
"value": "this", |
||||||
|
"type": "contract test" }, |
||||||
|
"name": "Identifier" } ], |
||||||
|
"attributes": { |
||||||
|
"value": "b", |
||||||
|
"type": "function (bytes32,address) returns (bool)" } } |
@ -0,0 +1,204 @@ |
|||||||
|
{ |
||||||
|
"children": |
||||||
|
[ |
||||||
|
{ |
||||||
|
"attributes": |
||||||
|
{ |
||||||
|
"argumentTypes": null, |
||||||
|
"commonType": |
||||||
|
{ |
||||||
|
"typeIdentifier": "t_uint256", |
||||||
|
"typeString": "uint256" |
||||||
|
}, |
||||||
|
"isConstant": false, |
||||||
|
"isLValue": false, |
||||||
|
"isPure": false, |
||||||
|
"lValueRequested": false, |
||||||
|
"operator": "<", |
||||||
|
"type": "bool" |
||||||
|
}, |
||||||
|
"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" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"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" |
||||||
|
} |
||||||
|
], |
||||||
|
"id": 61, |
||||||
|
"name": "WhileStatement", |
||||||
|
"src": "365:70:0" |
||||||
|
} |
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue