@Retention(value=RUNTIME) @Target(value={TYPE_USE,TYPE_PARAMETER}) @SubtypeOf(value=CalledMethods.class) public @interface CalledMethodsPredicate
@
CalledMethods
annotations. If method
c()
's receiver type is annotated with @CalledMethodsPredicate("a || b")
, then it
is acceptable to call either method a()
or method b()
before calling method
c()
.public abstract String value
S → method name | S && S | S || S | !S | (S)
The expression uses standard Java operator precedence: "!" then "&&" then "||".