<div dir="ltr"><div dir="ltr">On Thu, Feb 9, 2023 at 12:09 PM Robbe Pincket <<a href="mailto:robbepincket@live.be">robbepincket@live.be</a>> wrote:</div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="msg2621683797985124667">
<div style="overflow-wrap: break-word;" lang="NL-BE">
<div class="m_2621683797985124667WordSection1"><span lang="EN-GB">> The rough proposal is:</span>
<p class="MsoNormal"><span lang="EN-GB">> - Add a new annotation @OverrideShouldInvoke. If a method Sub.foo()<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">> overrides a superclass method Sup.foo() that has an @OverrideShouldInvoke<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">> annotation, and nowhere in Sub.foo() does it invoke Sup.foo() (via a<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">> super.foo() expression), then an error occurs.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">> - Add a new property boolean withoutInvokingSuper default false to the<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">> @Overrides annotation that allows Sub.foo() to suppress this error if it<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">> "really knows what it's doing".<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">Having 'Should' in the annotation name, and then making it produce
<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">an error instead of a warning annoys greatly. It doesn't feel like<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">that agrees with RFC 2119.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">If it's a warning it could also be suppressed by a simple
<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">`@SuppressWarnings` instead of a new argument on `@Override`</span></p></div></div></div></blockquote><div><br></div><div>Yes - a warning would work also. I wrote "error" because that's what the <span style="font-family:monospace">@Override</span> annotation generates when tripped and figured it should be consistent.</div><div><br></div><div>Or, you could change the name to <a class="gmail_plusreply" id="plusReplyChip-6"><span style="font-family:monospace">@OverrideMustInvoke</span> :)</a><br></div></div><div><br></div><div>-Archie</div><div><br></div>-- <br><div dir="ltr" class="gmail_signature">Archie L. Cobbs<br></div></div>