Class GContractsASTTransformation

java.lang.Object
org.apache.groovy.contracts.ast.BaseASTTransformation
org.apache.groovy.contracts.ast.GContractsASTTransformation
All Implemented Interfaces:
ASTTransformation

public class GContractsASTTransformation extends BaseASTTransformation

Custom AST transformation that removes closure annotations of Invariant, Requires and Ensures and adds Java assertions executing the closure-code.

Whenever an assertion is broken an AssertionViolation descendant class will be thrown.

See Also:
  • Constructor Details

    • GContractsASTTransformation

      public GContractsASTTransformation()
  • Method Details

    • visit

      public void visit(ASTNode[] nodes, SourceUnit unit)
      Parameters:
      nodes - The ASTnodes when the call was triggered. Element 0 is the AnnotationNode that triggered this annotation to be activated. Element 1 is the AnnotatedNode decorated, such as a MethodNode or ClassNode. For global transformations it is usually safe to ignore this parameter.
      unit - The source unit being compiled. The source unit may contain several classes. For global transformations, information about the AST can be retrieved from this object.