mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
56 lines
831 B
Solidity
56 lines
831 B
Solidity
==== Source: C ====
|
|
pragma abicoder v1;
|
|
import "X";
|
|
import "V1A";
|
|
import "V2A";
|
|
import "V1B";
|
|
|
|
contract C is V1A, V2A, V1B {
|
|
function foo()
|
|
public
|
|
modV1A
|
|
modV2A // There should be no error for modV2A (it uses ABIEncoderV2)
|
|
modV1B
|
|
{
|
|
}
|
|
}
|
|
==== Source: V1A ====
|
|
pragma abicoder v1;
|
|
import "X";
|
|
|
|
contract V1A {
|
|
modifier modV1A() {
|
|
_;
|
|
}
|
|
}
|
|
==== Source: V1B ====
|
|
pragma abicoder v1;
|
|
import "X";
|
|
|
|
contract V1B {
|
|
modifier modV1B() {
|
|
_;
|
|
}
|
|
}
|
|
==== Source: V2A ====
|
|
pragma abicoder v2;
|
|
import "X";
|
|
|
|
contract V2A {
|
|
modifier modV2A() {
|
|
X(address(0x00)).get();
|
|
_;
|
|
}
|
|
}
|
|
==== Source: X ====
|
|
pragma abicoder v2;
|
|
|
|
struct Data {
|
|
bool flag;
|
|
}
|
|
|
|
contract X {
|
|
function get() public view returns (Data memory) {}
|
|
}
|
|
// ----
|