solidity/test/libsolidity/semanticTests/inheritance/explicit_base_class.sol

30 lines
498 B
Solidity

contract BaseBase {
function g() public virtual returns (uint256 r) {
return 1;
}
}
contract Base is BaseBase {
function g() public virtual override returns (uint256 r) {
return 2;
}
}
contract Derived is Base {
function f() public returns (uint256 r) {
return BaseBase.g();
}
function g() public override returns (uint256 r) {
return 3;
}
}
// ====
// compileViaYul: also
// compileToEwasm: also
// ----
// g() -> 3
// f() -> 1