Package: org.codehaus.groovy.transform

## [Groovy] Class ConditionalInterruptibleASTTransformation

- org.codehaus.groovy.transform.ConditionalInterruptibleASTTransformation

- Allows "interrupt-safe" executions of scripts by adding a custom conditional check on loops (for, while, do) and first statement of closures. By default, also adds an interrupt check statement on the beginning of method calls.

  See Also:
    ConditionalInterrupt
  Authors:
    Cedric Champeau
    Hamlet D'Arcy
    Paul King
  Since:
    1.8.0

- - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `class AbstractInterruptibleASTTransformation` | `CHECK_METHOD_START_MEMBER, THROWN_EXCEPTION_TYPE, applyToAllClasses, applyToAllMembers, checkOnMethodStart, source, thrownExceptionType`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `protected Expression` | `createCondition()`
    `` | `protected String` | `getErrorMessage()`
    `` | `protected void` | `setupTransform(AnnotationNode node)`
    `` | `protected ClassNode` | `type()`
    `` | `void` | `visitAnnotations(AnnotatedNode node)`
    `` | `void` | `visitClass(ClassNode type)`
    `` | `void` | `visitClosureExpression(ClosureExpression closureExpr)`
    `` | `void` | `visitField(FieldNode node)`
    `` | `void` | `visitMethod(MethodNode node)`
    `` | `void` | `visitProperty(PropertyNode node)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class AbstractInterruptibleASTTransformation` | `createCondition, createInterruptStatement, getBooleanAnnotationParameter, getClassAnnotationParameter, getErrorMessage, getSourceUnit, internalError, setupTransform, type, visit, visitDoWhileLoop, visitForLoop, visitWhileLoop, wrapBlock`
    `class ClassCodeVisitorSupport` | `addError, getSourceUnit, visitAnnotations, visitAssertStatement, visitBlockStatement, visitBreakStatement, visitCaseStatement, visitCatchStatement, visitClass, visitClassCodeContainer, visitConstructor, visitConstructorOrMethod, visitContinueStatement, visitDeclarationExpression, visitDoWhileLoop, visitExpressionStatement, visitField, visitForLoop, visitIfElse, visitImports, visitMethod, visitObjectInitializerStatements, visitPackage, visitProperty, visitReturnStatement, visitStatement, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitTryCatchFinally, visitWhileLoop`
    `class CodeVisitorSupport` | `visitArgumentlistExpression, visitArrayExpression, visitAssertStatement, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBlockStatement, visitBooleanExpression, visitBreakStatement, visitBytecodeExpression, visitCaseStatement, visitCastExpression, visitCatchStatement, visitClassExpression, visitClosureExpression, visitClosureListExpression, visitConstantExpression, visitConstructorCallExpression, visitContinueStatement, visitDeclarationExpression, visitDoWhileLoop, visitEmptyStatement, visitExpressionStatement, visitFieldExpression, visitForLoop, visitGStringExpression, visitIfElse, visitListExpression, visitListOfExpressions, visitMapEntryExpression, visitMapExpression, visitMethodCallExpression, visitMethodPointerExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitReturnStatement, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitSwitch, visitSynchronizedStatement, visitTernaryExpression, visitThrowStatement, visitTryCatchFinally, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitVariableExpression, visitWhileLoop`
    `class Object` | `wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll`

- - ### Method Detail

    - #### protected Expression createCondition()

    - #### protected String getErrorMessage()

    - #### protected void setupTransform(AnnotationNode node)

    - #### protected ClassNode type()

    - #### @Override void visitAnnotations(AnnotatedNode node)

    - #### void visitClass(ClassNode type)

    - #### @Override void visitClosureExpression(ClosureExpression closureExpr)

    - #### @Override void visitField(FieldNode node)

    - #### @Override void visitMethod(MethodNode node)

    - #### @Override void visitProperty(PropertyNode node)