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.

  Authors:
    Cedric Champeau
    Hamlet D'Arcy
    Paul King
  See Also:
    ConditionalInterrupt
  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 | 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` | `visitMethod, visitField, visitProperty, visitReturnStatement, visitConstructor, visitExpressionStatement, visitBlockStatement, visitDeclarationExpression, visitAssertStatement, visitBreakStatement, visitCaseStatement, visitCatchStatement, visitContinueStatement, visitIfElse, visitSynchronizedStatement, visitThrowStatement, visitTryCatchFinally, visitImports, visitAnnotations, visitClass, visitPackage, visitForLoop, visitSwitch, visitWhileLoop, visitDoWhileLoop, visitConstantExpression, visitClassExpression, visitPropertyExpression, visitListExpression, visitVariableExpression, visitTupleExpression, visitArgumentlistExpression, visitMethodCallExpression, visitClosureExpression, visitBitwiseNegationExpression, visitCastExpression, visitAttributeExpression, visitFieldExpression, visitGStringExpression, visitClosureListExpression, visitBytecodeExpression, visitStaticMethodCallExpression, visitConstructorCallExpression, visitBinaryExpression, visitTernaryExpression, visitShortTernaryExpression, visitPostfixExpression, visitPrefixExpression, visitBooleanExpression, visitNotExpression, visitArrayExpression, visitMapExpression, visitMapEntryExpression, visitRangeExpression, visitSpreadExpression, visitSpreadMapExpression, visitMethodPointerExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, 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)