1728 |
1728 |
1729 overrideWarner.clear(); |
1729 overrideWarner.clear(); |
1730 boolean resultTypesOK = |
1730 boolean resultTypesOK = |
1731 types.returnTypeSubstitutable(mt, ot, otres, overrideWarner); |
1731 types.returnTypeSubstitutable(mt, ot, otres, overrideWarner); |
1732 if (!resultTypesOK) { |
1732 if (!resultTypesOK) { |
1733 log.error(TreeInfo.diagnosticPositionFor(m, tree), |
1733 if ((m.flags() & STATIC) != 0 && (other.flags() & STATIC) != 0) { |
1734 "override.incompatible.ret", |
1734 log.error(TreeInfo.diagnosticPositionFor(m, tree), |
1735 cannotOverride(m, other), |
1735 Errors.OverrideIncompatibleRet(Fragments.CantHide(m, m.location(), other, |
1736 mtres, otres); |
1736 other.location()), mtres, otres)); |
1737 m.flags_field |= BAD_OVERRIDE; |
1737 m.flags_field |= BAD_OVERRIDE; |
|
1738 } else { |
|
1739 log.error(TreeInfo.diagnosticPositionFor(m, tree), |
|
1740 "override.incompatible.ret", |
|
1741 cannotOverride(m, other), |
|
1742 mtres, otres); |
|
1743 m.flags_field |= BAD_OVERRIDE; |
|
1744 } |
1738 return; |
1745 return; |
1739 } else if (overrideWarner.hasNonSilentLint(LintCategory.UNCHECKED)) { |
1746 } else if (overrideWarner.hasNonSilentLint(LintCategory.UNCHECKED)) { |
1740 warnUnchecked(TreeInfo.diagnosticPositionFor(m, tree), |
1747 warnUnchecked(TreeInfo.diagnosticPositionFor(m, tree), |
1741 "override.unchecked.ret", |
1748 "override.unchecked.ret", |
1742 uncheckedOverrides(m, other), |
1749 uncheckedOverrides(m, other), |