ConditionalInterruptibleASTTransformation (groovy 2.4.3 API)
Date: 2015-03-23

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, visitConstructor, visitReturnStatement, visitDeclarationExpression, visitIfElse, visitClass, visitBreakStatement, visitContinueStatement, visitThrowStatement, visitSynchronizedStatement, visitCatchStatement, visitForLoop, visitBlockStatement, visitWhileLoop, visitDoWhileLoop, visitExpressionStatement, visitAssertStatement, visitTryCatchFinally, visitSwitch, visitCaseStatement, visitPackage, visitImports, visitAnnotations, visitClassExpression, visitPropertyExpression, visitConstantExpression, visitListExpression, visitMethodPointerExpression, visitVariableExpression, visitGStringExpression, visitArrayExpression, visitSpreadExpression, visitSpreadMapExpression, visitNotExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitCastExpression, visitArgumentlistExpression, visitClosureListExpression, visitBytecodeExpression, visitMethodCallExpression, visitStaticMethodCallExpression, visitConstructorCallExpression, visitTernaryExpression, visitFieldExpression, visitShortTernaryExpression, visitBinaryExpression, visitPrefixExpression, visitPostfixExpression, visitBooleanExpression, visitClosureExpression, visitTupleExpression, visitMapExpression, visitMapEntryExpression, visitRangeExpression, visitAttributeExpression, visitBitwiseNegationExpression, 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)