Top Description Methods
com.google.errorprone.annotations

public @Interface OverridingMethodsMustInvokeSuper

extends Annotation
Annotations
@Documented
@Target:METHOD
@Retention:CLASS
Static Imports
java.lang.annotation.ElementType.METHOD, .RetentionPolicy.CLASS

Indicates that any concrete method that overrides the annotated method, directly or indirectly, must invoke super.theAnnotatedMethod(...) at some point. This does not necessarily require an unconditional call; any matching call appearing directly within the method body (not inside an intervening class or lambda expression) is acceptable.

If the overriding method is itself overridable, applying this annotation to that method is technically redundant, but may be helpful to readers.

Preferred: usually, a better solution is to make the method final, and have its implementation delegate to a second concrete method which is overridable (or to a function object which subclasses can specify). "Mandatory" statements remain in the final method while "optional" code moves out. This is the only way to make sure the statements will be executed unconditionally.

Method Summary

Inherited from java.lang.annotation.Annotation:
annotationTypeequalshashCodetoString