[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
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

Method Detail

protected Expression createCondition()

protected String getErrorMessage()

@SuppressWarnings('Instanceof') 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)