Annotation Type ConditionBlock


@Beta @Target(METHOD) @Retention(RUNTIME) public @interface ConditionBlock
Indicates that the closure argument(s) of the annotated method are code blocks containing conditions, allowing to leave off the assert keyword. As in expect-blocks and then-blocks, variable declarations and void method invocations will not be considered conditions.

This annotation only takes effect if the closures are passed as literals, and the Groovy compiler can (at compilation time) determine the target type of the method invocation referencing the annotated method. If the annotated method is overloaded, the closure arguments of all overloads are considered code blocks.