Class DomainModelInjectionVisitor

java.lang.Object
org.codehaus.groovy.ast.CodeVisitorSupport
org.codehaus.groovy.ast.ClassCodeVisitorSupport
org.apache.groovy.contracts.ast.visitor.BaseVisitor
org.apache.groovy.contracts.ast.visitor.DomainModelInjectionVisitor
All Implemented Interfaces:
org.codehaus.groovy.ast.GroovyClassVisitor, org.codehaus.groovy.ast.GroovyCodeVisitor, org.codehaus.groovy.transform.ErrorCollecting

public class DomainModelInjectionVisitor extends BaseVisitor
Visits the given ClassNode and injects the current Contract into the given AST nodes.
See Also:
  • Field Summary

    Fields inherited from class org.apache.groovy.contracts.ast.visitor.BaseVisitor

    CLOSURE_ATTRIBUTE_NAME, GCONTRACTS_ENABLED_VAR, source, sourceUnit
  • Constructor Summary

    Constructors
    Constructor
    Description
    DomainModelInjectionVisitor(org.codehaus.groovy.control.SourceUnit sourceUnit, org.codehaus.groovy.control.io.ReaderSource source, ProcessingContextInformation pci)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    injectClassInvariant(org.codehaus.groovy.ast.ClassNode type, ClassInvariant classInvariant)
     
    void
    injectPostcondition(org.codehaus.groovy.ast.MethodNode method, Postcondition postcondition)
     
    void
    injectPrecondition(org.codehaus.groovy.ast.MethodNode method, Precondition precondition)
     
    void
    visitClass(org.codehaus.groovy.ast.ClassNode type)
     

    Methods inherited from class org.apache.groovy.contracts.ast.visitor.BaseVisitor

    getSourceUnit

    Methods inherited from class org.codehaus.groovy.ast.ClassCodeVisitorSupport

    addError, visitAnnotation, visitAnnotations, visitAnnotations, visitAssertStatement, visitBlockStatement, visitBreakStatement, visitCaseStatement, visitCatchStatement, 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 org.codehaus.groovy.ast.CodeVisitorSupport

    afterSwitchConditionExpressionVisited, visitArgumentlistExpression, visitArrayExpression, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBooleanExpression, visitBytecodeExpression, visitCastExpression, visitClassExpression, visitClosureExpression, visitClosureListExpression, visitConstantExpression, visitConstructorCallExpression, visitEmptyStatement, visitFieldExpression, visitGStringExpression, visitLambdaExpression, visitListExpression, visitMapEntryExpression, visitMapExpression, visitMethodCallExpression, visitMethodPointerExpression, visitMethodReferenceExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitTernaryExpression, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitVariableExpression

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.codehaus.groovy.ast.GroovyCodeVisitor

    visit, visit, visitEmptyExpression, visitListOfExpressions
  • Constructor Details

    • DomainModelInjectionVisitor

      public DomainModelInjectionVisitor(org.codehaus.groovy.control.SourceUnit sourceUnit, org.codehaus.groovy.control.io.ReaderSource source, ProcessingContextInformation pci)
  • Method Details

    • visitClass

      public void visitClass(org.codehaus.groovy.ast.ClassNode type)
      Specified by:
      visitClass in interface org.codehaus.groovy.ast.GroovyClassVisitor
      Overrides:
      visitClass in class org.codehaus.groovy.ast.ClassCodeVisitorSupport
    • injectClassInvariant

      public void injectClassInvariant(org.codehaus.groovy.ast.ClassNode type, ClassInvariant classInvariant)
    • injectPrecondition

      public void injectPrecondition(org.codehaus.groovy.ast.MethodNode method, Precondition precondition)
    • injectPostcondition

      public void injectPostcondition(org.codehaus.groovy.ast.MethodNode method, Postcondition postcondition)