solidity/test/libsolidity/ASTJSON/address_payable_legacy.json

608 lines
14 KiB
JSON

{
"attributes" :
{
"absolutePath" : "a",
"exportedSymbols" :
{
"C" :
[
39
]
}
},
"children" :
[
{
"attributes" :
{
"baseContracts" :
[
null
],
"contractDependencies" :
[
null
],
"contractKind" : "contract",
"documentation" : null,
"fullyImplemented" : true,
"linearizedBaseContracts" :
[
39
],
"name" : "C",
"scope" : 40
},
"children" :
[
{
"attributes" :
{
"constant" : false,
"name" : "m",
"overrides" : null,
"scope" : 39,
"stateVariable" : true,
"storageLocation" : "default",
"type" : "mapping(address => address payable)",
"value" : null,
"visibility" : "public"
},
"children" :
[
{
"attributes" :
{
"type" : "mapping(address => address payable)"
},
"children" :
[
{
"attributes" :
{
"name" : "address",
"type" : "address"
},
"id" : 1,
"name" : "ElementaryTypeName",
"src" : "25:7:1"
},
{
"attributes" :
{
"name" : "address",
"stateMutability" : "payable",
"type" : "address payable"
},
"id" : 2,
"name" : "ElementaryTypeName",
"src" : "36:15:1"
}
],
"id" : 3,
"name" : "Mapping",
"src" : "17:35:1"
}
],
"id" : 4,
"name" : "VariableDeclaration",
"src" : "17:44:1"
},
{
"attributes" :
{
"documentation" : null,
"implemented" : true,
"isConstructor" : false,
"kind" : "function",
"modifiers" :
[
null
],
"name" : "f",
"overrides" : null,
"scope" : 39,
"stateMutability" : "nonpayable",
"superFunction" : null,
"visibility" : "public"
},
"children" :
[
{
"children" :
[
{
"attributes" :
{
"constant" : false,
"name" : "arg",
"overrides" : null,
"scope" : 38,
"stateVariable" : false,
"storageLocation" : "default",
"type" : "address payable",
"value" : null,
"visibility" : "internal"
},
"children" :
[
{
"attributes" :
{
"name" : "address",
"stateMutability" : "payable",
"type" : "address payable"
},
"id" : 5,
"name" : "ElementaryTypeName",
"src" : "78:15:1"
}
],
"id" : 6,
"name" : "VariableDeclaration",
"src" : "78:19:1"
}
],
"id" : 7,
"name" : "ParameterList",
"src" : "77:21:1"
},
{
"children" :
[
{
"attributes" :
{
"constant" : false,
"name" : "r",
"overrides" : null,
"scope" : 38,
"stateVariable" : false,
"storageLocation" : "default",
"type" : "address payable",
"value" : null,
"visibility" : "internal"
},
"children" :
[
{
"attributes" :
{
"name" : "address",
"stateMutability" : "payable",
"type" : "address payable"
},
"id" : 8,
"name" : "ElementaryTypeName",
"src" : "115:15:1"
}
],
"id" : 9,
"name" : "VariableDeclaration",
"src" : "115:17:1"
}
],
"id" : 10,
"name" : "ParameterList",
"src" : "114:19:1"
},
{
"children" :
[
{
"attributes" :
{
"assignments" :
[
12
]
},
"children" :
[
{
"attributes" :
{
"constant" : false,
"name" : "a",
"overrides" : null,
"scope" : 37,
"stateVariable" : false,
"storageLocation" : "default",
"type" : "address payable",
"value" : null,
"visibility" : "internal"
},
"children" :
[
{
"attributes" :
{
"name" : "address",
"stateMutability" : "payable",
"type" : "address payable"
},
"id" : 11,
"name" : "ElementaryTypeName",
"src" : "144:15:1"
}
],
"id" : 12,
"name" : "VariableDeclaration",
"src" : "144:17:1"
},
{
"attributes" :
{
"argumentTypes" : null,
"isConstant" : false,
"isLValue" : true,
"isPure" : false,
"lValueRequested" : false,
"type" : "address payable"
},
"children" :
[
{
"attributes" :
{
"argumentTypes" : null,
"overloadedDeclarations" :
[
null
],
"referencedDeclaration" : 4,
"type" : "mapping(address => address payable)",
"value" : "m"
},
"id" : 13,
"name" : "Identifier",
"src" : "164:1:1"
},
{
"attributes" :
{
"argumentTypes" : null,
"overloadedDeclarations" :
[
null
],
"referencedDeclaration" : 6,
"type" : "address payable",
"value" : "arg"
},
"id" : 14,
"name" : "Identifier",
"src" : "166:3:1"
}
],
"id" : 15,
"name" : "IndexAccess",
"src" : "164:6:1"
}
],
"id" : 16,
"name" : "VariableDeclarationStatement",
"src" : "144:26:1"
},
{
"children" :
[
{
"attributes" :
{
"argumentTypes" : null,
"isConstant" : false,
"isLValue" : false,
"isPure" : false,
"lValueRequested" : false,
"operator" : "=",
"type" : "address payable"
},
"children" :
[
{
"attributes" :
{
"argumentTypes" : null,
"overloadedDeclarations" :
[
null
],
"referencedDeclaration" : 9,
"type" : "address payable",
"value" : "r"
},
"id" : 17,
"name" : "Identifier",
"src" : "180:1:1"
},
{
"attributes" :
{
"argumentTypes" : null,
"overloadedDeclarations" :
[
null
],
"referencedDeclaration" : 6,
"type" : "address payable",
"value" : "arg"
},
"id" : 18,
"name" : "Identifier",
"src" : "184:3:1"
}
],
"id" : 19,
"name" : "Assignment",
"src" : "180:7:1"
}
],
"id" : 20,
"name" : "ExpressionStatement",
"src" : "180:7:1"
},
{
"attributes" :
{
"assignments" :
[
22
]
},
"children" :
[
{
"attributes" :
{
"constant" : false,
"name" : "c",
"overrides" : null,
"scope" : 37,
"stateVariable" : false,
"storageLocation" : "default",
"type" : "address",
"value" : null,
"visibility" : "internal"
},
"children" :
[
{
"attributes" :
{
"name" : "address",
"stateMutability" : "nonpayable",
"type" : "address"
},
"id" : 21,
"name" : "ElementaryTypeName",
"src" : "197:7:1"
}
],
"id" : 22,
"name" : "VariableDeclaration",
"src" : "197:9:1"
},
{
"attributes" :
{
"argumentTypes" : null,
"isConstant" : false,
"isLValue" : false,
"isPure" : false,
"isStructConstructorCall" : false,
"lValueRequested" : false,
"names" :
[
null
],
"type" : "address",
"type_conversion" : true
},
"children" :
[
{
"attributes" :
{
"argumentTypes" :
[
{
"typeIdentifier" : "t_contract$_C_$39",
"typeString" : "contract C"
}
],
"isConstant" : false,
"isLValue" : false,
"isPure" : true,
"lValueRequested" : false,
"type" : "type(address)",
"value" : "address"
},
"id" : 24,
"name" : "ElementaryTypeNameExpression",
"src" : "209:7:1"
},
{
"attributes" :
{
"argumentTypes" : null,
"overloadedDeclarations" :
[
null
],
"referencedDeclaration" : 68,
"type" : "contract C",
"value" : "this"
},
"id" : 25,
"name" : "Identifier",
"src" : "217:4:1"
}
],
"id" : 26,
"name" : "FunctionCall",
"src" : "209:13:1"
}
],
"id" : 27,
"name" : "VariableDeclarationStatement",
"src" : "197:25:1"
},
{
"children" :
[
{
"attributes" :
{
"argumentTypes" : null,
"isConstant" : false,
"isLValue" : false,
"isPure" : false,
"lValueRequested" : false,
"operator" : "=",
"type" : "address payable"
},
"children" :
[
{
"attributes" :
{
"argumentTypes" : null,
"isConstant" : false,
"isLValue" : true,
"isPure" : false,
"lValueRequested" : true,
"type" : "address payable"
},
"children" :
[
{
"attributes" :
{
"argumentTypes" : null,
"overloadedDeclarations" :
[
null
],
"referencedDeclaration" : 4,
"type" : "mapping(address => address payable)",
"value" : "m"
},
"id" : 28,
"name" : "Identifier",
"src" : "232:1:1"
},
{
"attributes" :
{
"argumentTypes" : null,
"overloadedDeclarations" :
[
null
],
"referencedDeclaration" : 22,
"type" : "address",
"value" : "c"
},
"id" : 29,
"name" : "Identifier",
"src" : "234:1:1"
}
],
"id" : 30,
"name" : "IndexAccess",
"src" : "232:4:1"
},
{
"attributes" :
{
"argumentTypes" : null,
"isConstant" : false,
"isLValue" : false,
"isPure" : true,
"isStructConstructorCall" : false,
"lValueRequested" : false,
"names" :
[
null
],
"type" : "address payable",
"type_conversion" : true
},
"children" :
[
{
"attributes" :
{
"argumentTypes" :
[
{
"typeIdentifier" : "t_rational_0_by_1",
"typeString" : "int_const 0"
}
],
"isConstant" : false,
"isLValue" : false,
"isPure" : true,
"lValueRequested" : false,
"type" : "type(address)",
"value" : "address"
},
"id" : 32,
"name" : "ElementaryTypeNameExpression",
"src" : "239:7:1"
},
{
"attributes" :
{
"argumentTypes" : null,
"hexvalue" : "30",
"isConstant" : false,
"isLValue" : false,
"isPure" : true,
"lValueRequested" : false,
"subdenomination" : null,
"token" : "number",
"type" : "int_const 0",
"value" : "0"
},
"id" : 33,
"name" : "Literal",
"src" : "247:1:1"
}
],
"id" : 34,
"name" : "FunctionCall",
"src" : "239:10:1"
}
],
"id" : 35,
"name" : "Assignment",
"src" : "232:17:1"
}
],
"id" : 36,
"name" : "ExpressionStatement",
"src" : "232:17:1"
}
],
"id" : 37,
"name" : "Block",
"src" : "134:122:1"
}
],
"id" : 38,
"name" : "FunctionDefinition",
"src" : "67:189:1"
}
],
"id" : 39,
"name" : "ContractDefinition",
"src" : "0:258:1"
}
],
"id" : 40,
"name" : "SourceUnit",
"src" : "0:259:1"
}