mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Additional tests
This commit is contained in:
parent
2f15e63861
commit
d565fdde08
@ -0,0 +1,42 @@
|
|||||||
|
contract C {
|
||||||
|
event e();
|
||||||
|
function f() public {
|
||||||
|
emit e();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
contract D {
|
||||||
|
C c;
|
||||||
|
constructor() {
|
||||||
|
c = new C();
|
||||||
|
c.f();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ----
|
||||||
|
// :C
|
||||||
|
// [
|
||||||
|
// {
|
||||||
|
// "anonymous": false,
|
||||||
|
// "inputs": [],
|
||||||
|
// "name": "e",
|
||||||
|
// "type": "event"
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// "inputs": [],
|
||||||
|
// "name": "f",
|
||||||
|
// "outputs": [],
|
||||||
|
// "stateMutability": "nonpayable",
|
||||||
|
// "type": "function"
|
||||||
|
// }
|
||||||
|
// ]
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// :D
|
||||||
|
// [
|
||||||
|
// {
|
||||||
|
// "inputs": [],
|
||||||
|
// "stateMutability": "nonpayable",
|
||||||
|
// "type": "constructor"
|
||||||
|
// }
|
||||||
|
// ]
|
62
test/libsolidity/ABIJson/event_inheritance.sol
Normal file
62
test/libsolidity/ABIJson/event_inheritance.sol
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
interface B {
|
||||||
|
event EB();
|
||||||
|
}
|
||||||
|
|
||||||
|
contract C is B {
|
||||||
|
event EC();
|
||||||
|
}
|
||||||
|
|
||||||
|
contract D is C {
|
||||||
|
event ED();
|
||||||
|
}
|
||||||
|
|
||||||
|
// ----
|
||||||
|
// :B
|
||||||
|
// [
|
||||||
|
// {
|
||||||
|
// "anonymous": false,
|
||||||
|
// "inputs": [],
|
||||||
|
// "name": "EB",
|
||||||
|
// "type": "event"
|
||||||
|
// }
|
||||||
|
// ]
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// :C
|
||||||
|
// [
|
||||||
|
// {
|
||||||
|
// "anonymous": false,
|
||||||
|
// "inputs": [],
|
||||||
|
// "name": "EB",
|
||||||
|
// "type": "event"
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// "anonymous": false,
|
||||||
|
// "inputs": [],
|
||||||
|
// "name": "EC",
|
||||||
|
// "type": "event"
|
||||||
|
// }
|
||||||
|
// ]
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// :D
|
||||||
|
// [
|
||||||
|
// {
|
||||||
|
// "anonymous": false,
|
||||||
|
// "inputs": [],
|
||||||
|
// "name": "EB",
|
||||||
|
// "type": "event"
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// "anonymous": false,
|
||||||
|
// "inputs": [],
|
||||||
|
// "name": "EC",
|
||||||
|
// "type": "event"
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// "anonymous": false,
|
||||||
|
// "inputs": [],
|
||||||
|
// "name": "ED",
|
||||||
|
// "type": "event"
|
||||||
|
// }
|
||||||
|
// ]
|
398
test/libsolidity/ASTJSON/event_aggregated_contract.json
Normal file
398
test/libsolidity/ASTJSON/event_aggregated_contract.json
Normal file
@ -0,0 +1,398 @@
|
|||||||
|
{
|
||||||
|
"absolutePath": "a",
|
||||||
|
"exportedSymbols":
|
||||||
|
{
|
||||||
|
"C":
|
||||||
|
[
|
||||||
|
10
|
||||||
|
],
|
||||||
|
"D":
|
||||||
|
[
|
||||||
|
30
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"id": 31,
|
||||||
|
"nodeType": "SourceUnit",
|
||||||
|
"nodes":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"abstract": false,
|
||||||
|
"baseContracts": [],
|
||||||
|
"canonicalName": "C",
|
||||||
|
"contractDependencies": [],
|
||||||
|
"contractKind": "contract",
|
||||||
|
"emittedEvents":
|
||||||
|
[
|
||||||
|
2
|
||||||
|
],
|
||||||
|
"fullyImplemented": true,
|
||||||
|
"id": 10,
|
||||||
|
"linearizedBaseContracts":
|
||||||
|
[
|
||||||
|
10
|
||||||
|
],
|
||||||
|
"name": "C",
|
||||||
|
"nameLocation": "9:1:1",
|
||||||
|
"nodeType": "ContractDefinition",
|
||||||
|
"nodes":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"anonymous": false,
|
||||||
|
"eventSelector": "ffae15ba29768297c9b951e2e14bc33dc84599d1572acc234266fc70392babc8",
|
||||||
|
"id": 2,
|
||||||
|
"name": "e",
|
||||||
|
"nameLocation": "23:1:1",
|
||||||
|
"nodeType": "EventDefinition",
|
||||||
|
"parameters":
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"nodeType": "ParameterList",
|
||||||
|
"parameters": [],
|
||||||
|
"src": "24:2:1"
|
||||||
|
},
|
||||||
|
"src": "17:10:1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"body":
|
||||||
|
{
|
||||||
|
"id": 8,
|
||||||
|
"nodeType": "Block",
|
||||||
|
"src": "52:25:1",
|
||||||
|
"statements":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"eventCall":
|
||||||
|
{
|
||||||
|
"arguments": [],
|
||||||
|
"expression":
|
||||||
|
{
|
||||||
|
"argumentTypes": [],
|
||||||
|
"id": 5,
|
||||||
|
"name": "e",
|
||||||
|
"nodeType": "Identifier",
|
||||||
|
"overloadedDeclarations": [],
|
||||||
|
"referencedDeclaration": 2,
|
||||||
|
"src": "67:1:1",
|
||||||
|
"typeDescriptions":
|
||||||
|
{
|
||||||
|
"typeIdentifier": "t_function_event_nonpayable$__$returns$__$",
|
||||||
|
"typeString": "function ()"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"id": 6,
|
||||||
|
"isConstant": false,
|
||||||
|
"isLValue": false,
|
||||||
|
"isPure": false,
|
||||||
|
"kind": "functionCall",
|
||||||
|
"lValueRequested": false,
|
||||||
|
"nameLocations": [],
|
||||||
|
"names": [],
|
||||||
|
"nodeType": "FunctionCall",
|
||||||
|
"src": "67:3:1",
|
||||||
|
"tryCall": false,
|
||||||
|
"typeDescriptions":
|
||||||
|
{
|
||||||
|
"typeIdentifier": "t_tuple$__$",
|
||||||
|
"typeString": "tuple()"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"id": 7,
|
||||||
|
"nodeType": "EmitStatement",
|
||||||
|
"src": "62:8:1"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"functionSelector": "26121ff0",
|
||||||
|
"id": 9,
|
||||||
|
"implemented": true,
|
||||||
|
"kind": "function",
|
||||||
|
"modifiers": [],
|
||||||
|
"name": "f",
|
||||||
|
"nameLocation": "41:1:1",
|
||||||
|
"nodeType": "FunctionDefinition",
|
||||||
|
"parameters":
|
||||||
|
{
|
||||||
|
"id": 3,
|
||||||
|
"nodeType": "ParameterList",
|
||||||
|
"parameters": [],
|
||||||
|
"src": "42:2:1"
|
||||||
|
},
|
||||||
|
"returnParameters":
|
||||||
|
{
|
||||||
|
"id": 4,
|
||||||
|
"nodeType": "ParameterList",
|
||||||
|
"parameters": [],
|
||||||
|
"src": "52:0:1"
|
||||||
|
},
|
||||||
|
"scope": 10,
|
||||||
|
"src": "32:45:1",
|
||||||
|
"stateMutability": "nonpayable",
|
||||||
|
"virtual": false,
|
||||||
|
"visibility": "public"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"scope": 31,
|
||||||
|
"src": "0:79:1",
|
||||||
|
"usedErrors": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"abstract": false,
|
||||||
|
"baseContracts": [],
|
||||||
|
"canonicalName": "D",
|
||||||
|
"contractDependencies":
|
||||||
|
[
|
||||||
|
10
|
||||||
|
],
|
||||||
|
"contractKind": "contract",
|
||||||
|
"emittedEvents": [],
|
||||||
|
"fullyImplemented": true,
|
||||||
|
"id": 30,
|
||||||
|
"linearizedBaseContracts":
|
||||||
|
[
|
||||||
|
30
|
||||||
|
],
|
||||||
|
"name": "D",
|
||||||
|
"nameLocation": "89:1:1",
|
||||||
|
"nodeType": "ContractDefinition",
|
||||||
|
"nodes":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"constant": false,
|
||||||
|
"id": 13,
|
||||||
|
"mutability": "mutable",
|
||||||
|
"name": "c",
|
||||||
|
"nameLocation": "99:1:1",
|
||||||
|
"nodeType": "VariableDeclaration",
|
||||||
|
"scope": 30,
|
||||||
|
"src": "97:3:1",
|
||||||
|
"stateVariable": true,
|
||||||
|
"storageLocation": "default",
|
||||||
|
"typeDescriptions":
|
||||||
|
{
|
||||||
|
"typeIdentifier": "t_contract$_C_$10",
|
||||||
|
"typeString": "contract C"
|
||||||
|
},
|
||||||
|
"typeName":
|
||||||
|
{
|
||||||
|
"id": 12,
|
||||||
|
"nodeType": "UserDefinedTypeName",
|
||||||
|
"pathNode":
|
||||||
|
{
|
||||||
|
"id": 11,
|
||||||
|
"name": "C",
|
||||||
|
"nameLocations":
|
||||||
|
[
|
||||||
|
"97:1:1"
|
||||||
|
],
|
||||||
|
"nodeType": "IdentifierPath",
|
||||||
|
"referencedDeclaration": 10,
|
||||||
|
"src": "97:1:1"
|
||||||
|
},
|
||||||
|
"referencedDeclaration": 10,
|
||||||
|
"src": "97:1:1",
|
||||||
|
"typeDescriptions":
|
||||||
|
{
|
||||||
|
"typeIdentifier": "t_contract$_C_$10",
|
||||||
|
"typeString": "contract C"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"visibility": "internal"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"body":
|
||||||
|
{
|
||||||
|
"id": 28,
|
||||||
|
"nodeType": "Block",
|
||||||
|
"src": "120:43:1",
|
||||||
|
"statements":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"expression":
|
||||||
|
{
|
||||||
|
"id": 21,
|
||||||
|
"isConstant": false,
|
||||||
|
"isLValue": false,
|
||||||
|
"isPure": false,
|
||||||
|
"lValueRequested": false,
|
||||||
|
"leftHandSide":
|
||||||
|
{
|
||||||
|
"id": 16,
|
||||||
|
"name": "c",
|
||||||
|
"nodeType": "Identifier",
|
||||||
|
"overloadedDeclarations": [],
|
||||||
|
"referencedDeclaration": 13,
|
||||||
|
"src": "130:1:1",
|
||||||
|
"typeDescriptions":
|
||||||
|
{
|
||||||
|
"typeIdentifier": "t_contract$_C_$10",
|
||||||
|
"typeString": "contract C"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nodeType": "Assignment",
|
||||||
|
"operator": "=",
|
||||||
|
"rightHandSide":
|
||||||
|
{
|
||||||
|
"arguments": [],
|
||||||
|
"expression":
|
||||||
|
{
|
||||||
|
"argumentTypes": [],
|
||||||
|
"id": 19,
|
||||||
|
"isConstant": false,
|
||||||
|
"isLValue": false,
|
||||||
|
"isPure": false,
|
||||||
|
"lValueRequested": false,
|
||||||
|
"nodeType": "NewExpression",
|
||||||
|
"src": "134:5:1",
|
||||||
|
"typeDescriptions":
|
||||||
|
{
|
||||||
|
"typeIdentifier": "t_function_creation_nonpayable$__$returns$_t_contract$_C_$10_$",
|
||||||
|
"typeString": "function () returns (contract C)"
|
||||||
|
},
|
||||||
|
"typeName":
|
||||||
|
{
|
||||||
|
"id": 18,
|
||||||
|
"nodeType": "UserDefinedTypeName",
|
||||||
|
"pathNode":
|
||||||
|
{
|
||||||
|
"id": 17,
|
||||||
|
"name": "C",
|
||||||
|
"nameLocations":
|
||||||
|
[
|
||||||
|
"138:1:1"
|
||||||
|
],
|
||||||
|
"nodeType": "IdentifierPath",
|
||||||
|
"referencedDeclaration": 10,
|
||||||
|
"src": "138:1:1"
|
||||||
|
},
|
||||||
|
"referencedDeclaration": 10,
|
||||||
|
"src": "138:1:1",
|
||||||
|
"typeDescriptions":
|
||||||
|
{
|
||||||
|
"typeIdentifier": "t_contract$_C_$10",
|
||||||
|
"typeString": "contract C"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"id": 20,
|
||||||
|
"isConstant": false,
|
||||||
|
"isLValue": false,
|
||||||
|
"isPure": false,
|
||||||
|
"kind": "functionCall",
|
||||||
|
"lValueRequested": false,
|
||||||
|
"nameLocations": [],
|
||||||
|
"names": [],
|
||||||
|
"nodeType": "FunctionCall",
|
||||||
|
"src": "134:7:1",
|
||||||
|
"tryCall": false,
|
||||||
|
"typeDescriptions":
|
||||||
|
{
|
||||||
|
"typeIdentifier": "t_contract$_C_$10",
|
||||||
|
"typeString": "contract C"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"src": "130:11:1",
|
||||||
|
"typeDescriptions":
|
||||||
|
{
|
||||||
|
"typeIdentifier": "t_contract$_C_$10",
|
||||||
|
"typeString": "contract C"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"id": 22,
|
||||||
|
"nodeType": "ExpressionStatement",
|
||||||
|
"src": "130:11:1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"expression":
|
||||||
|
{
|
||||||
|
"arguments": [],
|
||||||
|
"expression":
|
||||||
|
{
|
||||||
|
"argumentTypes": [],
|
||||||
|
"expression":
|
||||||
|
{
|
||||||
|
"id": 23,
|
||||||
|
"name": "c",
|
||||||
|
"nodeType": "Identifier",
|
||||||
|
"overloadedDeclarations": [],
|
||||||
|
"referencedDeclaration": 13,
|
||||||
|
"src": "151:1:1",
|
||||||
|
"typeDescriptions":
|
||||||
|
{
|
||||||
|
"typeIdentifier": "t_contract$_C_$10",
|
||||||
|
"typeString": "contract C"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"id": 25,
|
||||||
|
"isConstant": false,
|
||||||
|
"isLValue": false,
|
||||||
|
"isPure": false,
|
||||||
|
"lValueRequested": false,
|
||||||
|
"memberLocation": "153:1:1",
|
||||||
|
"memberName": "f",
|
||||||
|
"nodeType": "MemberAccess",
|
||||||
|
"referencedDeclaration": 9,
|
||||||
|
"src": "151:3:1",
|
||||||
|
"typeDescriptions":
|
||||||
|
{
|
||||||
|
"typeIdentifier": "t_function_external_nonpayable$__$returns$__$",
|
||||||
|
"typeString": "function () external"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"id": 26,
|
||||||
|
"isConstant": false,
|
||||||
|
"isLValue": false,
|
||||||
|
"isPure": false,
|
||||||
|
"kind": "functionCall",
|
||||||
|
"lValueRequested": false,
|
||||||
|
"nameLocations": [],
|
||||||
|
"names": [],
|
||||||
|
"nodeType": "FunctionCall",
|
||||||
|
"src": "151:5:1",
|
||||||
|
"tryCall": false,
|
||||||
|
"typeDescriptions":
|
||||||
|
{
|
||||||
|
"typeIdentifier": "t_tuple$__$",
|
||||||
|
"typeString": "tuple()"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"id": 27,
|
||||||
|
"nodeType": "ExpressionStatement",
|
||||||
|
"src": "151:5:1"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"id": 29,
|
||||||
|
"implemented": true,
|
||||||
|
"kind": "constructor",
|
||||||
|
"modifiers": [],
|
||||||
|
"name": "",
|
||||||
|
"nameLocation": "-1:-1:-1",
|
||||||
|
"nodeType": "FunctionDefinition",
|
||||||
|
"parameters":
|
||||||
|
{
|
||||||
|
"id": 14,
|
||||||
|
"nodeType": "ParameterList",
|
||||||
|
"parameters": [],
|
||||||
|
"src": "117:2:1"
|
||||||
|
},
|
||||||
|
"returnParameters":
|
||||||
|
{
|
||||||
|
"id": 15,
|
||||||
|
"nodeType": "ParameterList",
|
||||||
|
"parameters": [],
|
||||||
|
"src": "120:0:1"
|
||||||
|
},
|
||||||
|
"scope": 30,
|
||||||
|
"src": "106:57:1",
|
||||||
|
"stateMutability": "nonpayable",
|
||||||
|
"virtual": false,
|
||||||
|
"visibility": "public"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"scope": 31,
|
||||||
|
"src": "80:85:1",
|
||||||
|
"usedErrors": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"src": "0:166:1"
|
||||||
|
}
|
15
test/libsolidity/ASTJSON/event_aggregated_contract.sol
Normal file
15
test/libsolidity/ASTJSON/event_aggregated_contract.sol
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
contract C {
|
||||||
|
event e();
|
||||||
|
function f() public {
|
||||||
|
emit e();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
contract D {
|
||||||
|
C c;
|
||||||
|
constructor() {
|
||||||
|
c = new C();
|
||||||
|
c.f();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ----
|
194
test/libsolidity/ASTJSON/event_inheritance.json
Normal file
194
test/libsolidity/ASTJSON/event_inheritance.json
Normal file
@ -0,0 +1,194 @@
|
|||||||
|
{
|
||||||
|
"absolutePath": "a",
|
||||||
|
"exportedSymbols":
|
||||||
|
{
|
||||||
|
"B":
|
||||||
|
[
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"C":
|
||||||
|
[
|
||||||
|
8
|
||||||
|
],
|
||||||
|
"D":
|
||||||
|
[
|
||||||
|
13
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"id": 14,
|
||||||
|
"nodeType": "SourceUnit",
|
||||||
|
"nodes":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"abstract": false,
|
||||||
|
"baseContracts": [],
|
||||||
|
"canonicalName": "B",
|
||||||
|
"contractDependencies": [],
|
||||||
|
"contractKind": "interface",
|
||||||
|
"emittedEvents":
|
||||||
|
[
|
||||||
|
2
|
||||||
|
],
|
||||||
|
"fullyImplemented": true,
|
||||||
|
"id": 3,
|
||||||
|
"linearizedBaseContracts":
|
||||||
|
[
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"name": "B",
|
||||||
|
"nameLocation": "10:1:1",
|
||||||
|
"nodeType": "ContractDefinition",
|
||||||
|
"nodes":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"anonymous": false,
|
||||||
|
"eventSelector": "dbec0351ad6bb0c1f07ea56e236e3e692fde2259f0165fd422f241da339b7e4f",
|
||||||
|
"id": 2,
|
||||||
|
"name": "EB",
|
||||||
|
"nameLocation": "24:2:1",
|
||||||
|
"nodeType": "EventDefinition",
|
||||||
|
"parameters":
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"nodeType": "ParameterList",
|
||||||
|
"parameters": [],
|
||||||
|
"src": "26:2:1"
|
||||||
|
},
|
||||||
|
"src": "18:11:1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"scope": 14,
|
||||||
|
"src": "0:31:1",
|
||||||
|
"usedErrors": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"abstract": false,
|
||||||
|
"baseContracts":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"baseName":
|
||||||
|
{
|
||||||
|
"id": 4,
|
||||||
|
"name": "B",
|
||||||
|
"nameLocations":
|
||||||
|
[
|
||||||
|
"46:1:1"
|
||||||
|
],
|
||||||
|
"nodeType": "IdentifierPath",
|
||||||
|
"referencedDeclaration": 3,
|
||||||
|
"src": "46:1:1"
|
||||||
|
},
|
||||||
|
"id": 5,
|
||||||
|
"nodeType": "InheritanceSpecifier",
|
||||||
|
"src": "46:1:1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"canonicalName": "C",
|
||||||
|
"contractDependencies": [],
|
||||||
|
"contractKind": "contract",
|
||||||
|
"emittedEvents":
|
||||||
|
[
|
||||||
|
2,
|
||||||
|
7
|
||||||
|
],
|
||||||
|
"fullyImplemented": true,
|
||||||
|
"id": 8,
|
||||||
|
"linearizedBaseContracts":
|
||||||
|
[
|
||||||
|
8,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"name": "C",
|
||||||
|
"nameLocation": "41:1:1",
|
||||||
|
"nodeType": "ContractDefinition",
|
||||||
|
"nodes":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"anonymous": false,
|
||||||
|
"eventSelector": "a08b3367d3fa83ea27f8951ffb5d9d160cbfadbd80816b47f677e7699d76f5a0",
|
||||||
|
"id": 7,
|
||||||
|
"name": "EC",
|
||||||
|
"nameLocation": "60:2:1",
|
||||||
|
"nodeType": "EventDefinition",
|
||||||
|
"parameters":
|
||||||
|
{
|
||||||
|
"id": 6,
|
||||||
|
"nodeType": "ParameterList",
|
||||||
|
"parameters": [],
|
||||||
|
"src": "62:2:1"
|
||||||
|
},
|
||||||
|
"src": "54:11:1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"scope": 14,
|
||||||
|
"src": "32:35:1",
|
||||||
|
"usedErrors": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"abstract": false,
|
||||||
|
"baseContracts":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"baseName":
|
||||||
|
{
|
||||||
|
"id": 9,
|
||||||
|
"name": "C",
|
||||||
|
"nameLocations":
|
||||||
|
[
|
||||||
|
"82:1:1"
|
||||||
|
],
|
||||||
|
"nodeType": "IdentifierPath",
|
||||||
|
"referencedDeclaration": 8,
|
||||||
|
"src": "82:1:1"
|
||||||
|
},
|
||||||
|
"id": 10,
|
||||||
|
"nodeType": "InheritanceSpecifier",
|
||||||
|
"src": "82:1:1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"canonicalName": "D",
|
||||||
|
"contractDependencies": [],
|
||||||
|
"contractKind": "contract",
|
||||||
|
"emittedEvents":
|
||||||
|
[
|
||||||
|
2,
|
||||||
|
7,
|
||||||
|
12
|
||||||
|
],
|
||||||
|
"fullyImplemented": true,
|
||||||
|
"id": 13,
|
||||||
|
"linearizedBaseContracts":
|
||||||
|
[
|
||||||
|
13,
|
||||||
|
8,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"name": "D",
|
||||||
|
"nameLocation": "77:1:1",
|
||||||
|
"nodeType": "ContractDefinition",
|
||||||
|
"nodes":
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"anonymous": false,
|
||||||
|
"eventSelector": "caa54b91a2314ab89b39714b1cd283762e53a2f59cfb997d6770e2824c39db0d",
|
||||||
|
"id": 12,
|
||||||
|
"name": "ED",
|
||||||
|
"nameLocation": "96:2:1",
|
||||||
|
"nodeType": "EventDefinition",
|
||||||
|
"parameters":
|
||||||
|
{
|
||||||
|
"id": 11,
|
||||||
|
"nodeType": "ParameterList",
|
||||||
|
"parameters": [],
|
||||||
|
"src": "98:2:1"
|
||||||
|
},
|
||||||
|
"src": "90:11:1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"scope": 14,
|
||||||
|
"src": "68:35:1",
|
||||||
|
"usedErrors": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"src": "0:104:1"
|
||||||
|
}
|
9
test/libsolidity/ASTJSON/event_inheritance.sol
Normal file
9
test/libsolidity/ASTJSON/event_inheritance.sol
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
interface B {
|
||||||
|
event EB();
|
||||||
|
}
|
||||||
|
contract C is B {
|
||||||
|
event EC();
|
||||||
|
}
|
||||||
|
contract D is C {
|
||||||
|
event ED();
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user