01: package edu.umd.cs.findbugs.annotations;
02:
03: import java.lang.annotation.Documented;
04: import java.lang.annotation.ElementType;
05: import java.lang.annotation.Retention;
06: import java.lang.annotation.RetentionPolicy;
07: import java.lang.annotation.Target;
08:
09: /** Author: Stephan Heiss, October 2007. Supported in the tIDE java IDE. http://snowmail.sn.funpic.de/tide/
10: *
11: * Used to annotate a method that, in any subclass, must (or should) be invoked
12: * by an invocation on super somewhere in the class (in any method), at least once.
13: **/
14: @Documented
15: @Target({ElementType.METHOD})
16: @Retention(RetentionPolicy.CLASS)
17: // not in the runtime (reflection), but in the CC AST (source) and ASM (bytecode)
18: public @interface SubclassMustInvoke {
19: //When value() default When.ANYTIME;
20: String justification() default "";
21: }
|