Class PostconditionGenerator
- java.lang.Object
-
- org.apache.groovy.contracts.generation.BaseGenerator
-
- org.apache.groovy.contracts.generation.PostconditionGenerator
-
public class PostconditionGenerator extends BaseGenerator
Code generator for postconditions.
-
-
Field Summary
-
Fields inherited from class org.apache.groovy.contracts.generation.BaseGenerator
INVARIANT_CLOSURE_PREFIX, META_DATA_USE_INLINE_MODE, source
-
-
Constructor Summary
Constructors Constructor Description PostconditionGenerator(ReaderSource source)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addOldVariablesMethod(ClassNode classNode)
Adds a synthetic method to the given classNode which can be used to create a map of most instance variables found in this class.void
generateDefaultPostconditionStatement(ClassNode type, MethodNode method)
Adds a default postcondition if a postcondition has already been defined for thisMethodNode
in a super-class.void
generatePostconditionAssertionStatement(MethodNode method, Postcondition postcondition)
Injects a postcondition assertion statement in the given method, based on the booleanExpression.-
Methods inherited from class org.apache.groovy.contracts.generation.BaseGenerator
addCallsToSuperMethodNodeAnnotationClosure, getInlineModeBlockStatement, getInvariantMethodName, getInvariantMethodNode, wrapAssertionBooleanExpression
-
-
-
-
Constructor Detail
-
PostconditionGenerator
public PostconditionGenerator(ReaderSource source)
-
-
Method Detail
-
addOldVariablesMethod
public void addOldVariablesMethod(ClassNode classNode)
Adds a synthetic method to the given classNode which can be used to create a map of most instance variables found in this class. Used for the old variable mechanism.- Parameters:
classNode
- theClassNode
to add the synthetic method to
-
generatePostconditionAssertionStatement
public void generatePostconditionAssertionStatement(MethodNode method, Postcondition postcondition)
Injects a postcondition assertion statement in the given method, based on the booleanExpression.- Parameters:
method
- theMethodNode
for assertion injectionpostcondition
- thePostcondition
the assertion statement should be generated from
-
generateDefaultPostconditionStatement
public void generateDefaultPostconditionStatement(ClassNode type, MethodNode method)
Adds a default postcondition if a postcondition has already been defined for thisMethodNode
in a super-class.- Parameters:
type
- the currentClassNode
of the given methodNodemethod
- theMethodNode
to create the default postcondition for
-
-