Class AssertStatementCreationUtility
- java.lang.Object
-
- org.apache.groovy.contracts.generation.AssertStatementCreationUtility
-
public final class AssertStatementCreationUtility extends Object
Central place to createAssertStatement
instances in groovy-contracts. Utilized to centralizeAssertionError
message generation.- See Also:
AssertStatement
,AssertionError
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
AssertStatementCreationUtility.AddAssertionCallStatementToReturnStatementVisitor
Replaces a givenReturnStatement
with the appropriate assertion call statement and returns a result variable expression.static class
AssertStatementCreationUtility.AddResultReturnStatementVisitor
Replaces a givenReturnStatement
with the appropriate assertion call statement and returns a result variable expression.static class
AssertStatementCreationUtility.ReturnStatementVisitor
Collects allReturnStatement
instances from a given code block.
-
Constructor Summary
Constructors Constructor Description AssertStatementCreationUtility()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
addAssertionCallStatementToReturnStatement(BlockStatement statement, ReturnStatement returnStatement, Statement assertionCallStatement)
static AssertStatement
getAssertionStatement(BooleanExpression booleanExpression)
Reusable method for creating assert statements for the given booleanExpression.static BlockStatement
getAssertionStatements(List<BooleanExpression> booleanExpressions)
Reusable method for creating assert statements for the given booleanExpression.static List<ReturnStatement>
getReturnStatements(MethodNode method)
Gets a list ofReturnStatement
instances from the givenMethodNode
.static void
injectResultVariableReturnStatementAndAssertionCallStatement(BlockStatement statement, ClassNode returnType, ReturnStatement returnStatement, BlockStatement assertionCallStatement)
-
-
-
Method Detail
-
getAssertionStatements
public static BlockStatement getAssertionStatements(List<BooleanExpression> booleanExpressions)
Reusable method for creating assert statements for the given booleanExpression.- Parameters:
booleanExpressions
- the assertion'sBooleanExpression
instances- Returns:
- a newly created
AssertStatement
-
getAssertionStatement
public static AssertStatement getAssertionStatement(BooleanExpression booleanExpression)
Reusable method for creating assert statements for the given booleanExpression.- Parameters:
booleanExpression
- the assertion'sBooleanExpression
- Returns:
- a newly created
AssertStatement
-
getReturnStatements
public static List<ReturnStatement> getReturnStatements(MethodNode method)
Gets a list ofReturnStatement
instances from the givenMethodNode
.- Parameters:
method
- theMethodNode
that holds the given lastStatement- Returns:
- a
ReturnStatement
or null
-
injectResultVariableReturnStatementAndAssertionCallStatement
public static void injectResultVariableReturnStatementAndAssertionCallStatement(BlockStatement statement, ClassNode returnType, ReturnStatement returnStatement, BlockStatement assertionCallStatement)
-
addAssertionCallStatementToReturnStatement
public static void addAssertionCallStatementToReturnStatement(BlockStatement statement, ReturnStatement returnStatement, Statement assertionCallStatement)
-
-