Overview | Package | Class | Deprecated | Index | Help
| Groovy Documentation
| FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.codehaus.groovy.transform
[Groovy] Class ConditionalInterruptibleASTTransformation

    java.lang.Object
      org.codehaus.groovy.ast.CodeVisitorSupport
          org.codehaus.groovy.ast.ClassCodeVisitorSupport
              org.codehaus.groovy.transform.AbstractInterruptibleASTTransformation
                  org.codehaus.groovy.transform.ConditionalInterruptibleASTTransformation

    @GroovyASTTransformation(phase = CompilePhase.CANONICALIZATION)
    class ConditionalInterruptibleASTTransformation
    extends AbstractInterruptibleASTTransformation

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

See Also:
  ConditionalInterrupt

Since:
  1.8.0

Field Summary

Fields inherited from class AbstractInterruptibleASTTransformation
CHECK_METHOD_START_MEMBER, PROPAGATE_TO_COMPILE_UNIT, THROWN_EXCEPTION_TYPE, applyToAllClasses, checkOnMethodStart, source, thrownExceptionType

Method Summary
`protected Expression` | `createCondition()`
`protected java.lang.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)`

Methods inherited from class AbstractInterruptibleASTTransformation
createCondition, createInterruptStatement, getBooleanAnnotationParameter, getClassAnnotationParameter, getErrorMessage, getSourceUnit, internalError, setupTransform, type, visit, visitDoWhileLoop, visitForLoop, visitWhileLoop, wrapBlock

Methods inherited from 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

Methods inherited from 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

Methods inherited from class java.lang.Object
java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()

Method Detail

### createCondition

    protected Expression createCondition()

### getErrorMessage

    protected java.lang.String getErrorMessage()

### setupTransform

    protected void setupTransform(AnnotationNode node)

### type

    protected ClassNode type()

### visitAnnotations

    @Override
    void visitAnnotations(AnnotatedNode node)

### visitClass

    void visitClass(ClassNode type)

### visitClosureExpression

    @Override
    void visitClosureExpression(ClosureExpression closureExpr)

### visitField

    @Override
    void visitField(FieldNode node)

### visitMethod

    @Override
    void visitMethod(MethodNode node)

### visitProperty

    @Override
    void visitProperty(PropertyNode node)

Groovy Documentation