Class BaseGenerator
java.lang.Object
org.apache.groovy.contracts.generation.BaseGenerator
- Direct Known Subclasses:
ClassInvariantGenerator,PostconditionGenerator,PreconditionGenerator
Base class for groovy-contracts code generators.
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedBaseGenerator(org.codehaus.groovy.control.io.ReaderSource source) -
Method Summary
Modifier and TypeMethodDescriptionprotected org.codehaus.groovy.ast.expr.BooleanExpressionaddCallsToSuperMethodNodeAnnotationClosure(org.codehaus.groovy.ast.ClassNode type, org.codehaus.groovy.ast.MethodNode methodNode, Class<? extends Annotation> annotationType, org.codehaus.groovy.ast.expr.BooleanExpression booleanExpression, boolean isPostcondition) protected org.codehaus.groovy.ast.stmt.BlockStatementgetInlineModeBlockStatement(org.codehaus.groovy.ast.stmt.BlockStatement blockStatement) static StringgetInvariantMethodName(org.codehaus.groovy.ast.ClassNode classNode) static org.codehaus.groovy.ast.MethodNodegetInvariantMethodNode(org.codehaus.groovy.ast.ClassNode classNode) protected org.codehaus.groovy.ast.stmt.BlockStatementwrapAssertionBooleanExpression(org.codehaus.groovy.ast.ClassNode type, org.codehaus.groovy.ast.MethodNode methodNode, org.codehaus.groovy.ast.expr.BooleanExpression classInvariantExpression, String assertionType)
-
Field Details
-
INVARIANT_CLOSURE_PREFIX
- See Also:
-
META_DATA_USE_INLINE_MODE
- See Also:
-
source
protected final org.codehaus.groovy.control.io.ReaderSource source
-
-
Constructor Details
-
BaseGenerator
protected BaseGenerator(org.codehaus.groovy.control.io.ReaderSource source)
-
-
Method Details
-
getInvariantMethodName
- Parameters:
classNode- theClassNodeused to look up the invariant closure field- Returns:
- the field name of the invariant closure field of the given classNode
-
getInvariantMethodNode
public static org.codehaus.groovy.ast.MethodNode getInvariantMethodNode(org.codehaus.groovy.ast.ClassNode classNode) - Parameters:
classNode- theClassNodeused to look up the invariant closure field- Returns:
- the
MethodNodewhich contains the invariant of the given classNode
-
getInlineModeBlockStatement
protected org.codehaus.groovy.ast.stmt.BlockStatement getInlineModeBlockStatement(org.codehaus.groovy.ast.stmt.BlockStatement blockStatement) -
wrapAssertionBooleanExpression
protected org.codehaus.groovy.ast.stmt.BlockStatement wrapAssertionBooleanExpression(org.codehaus.groovy.ast.ClassNode type, org.codehaus.groovy.ast.MethodNode methodNode, org.codehaus.groovy.ast.expr.BooleanExpression classInvariantExpression, String assertionType) -
addCallsToSuperMethodNodeAnnotationClosure
protected org.codehaus.groovy.ast.expr.BooleanExpression addCallsToSuperMethodNodeAnnotationClosure(org.codehaus.groovy.ast.ClassNode type, org.codehaus.groovy.ast.MethodNode methodNode, Class<? extends Annotation> annotationType, org.codehaus.groovy.ast.expr.BooleanExpression booleanExpression, boolean isPostcondition)
-