Groovy Documentation

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