Package org.codehaus.groovy.transform.tailrec

# Class TernaryToIfStatementConverter

java.lang.Object
org.codehaus.groovy.transform.tailrec.TernaryToIfStatementConverter

public class TernaryToIfStatementConverter extends Object
Since a ternary statement has more than one exit point tail-recursiveness testing cannot be easily done. Therefore this class translates a ternary statement (or Elvis operator) into the equivalent if-else statement.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `TernaryToIfStatementConverter()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Statement`
  `convert(ReturnStatement statementWithInnerTernaryExpression)`
  Rewrites a return statement containing a ternary or Elvis expression into an equivalent if/else statement.

  ### Methods inherited from class java.lang.Object

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

- ## Constructor Details

  - ### TernaryToIfStatementConverter

    public TernaryToIfStatementConverter()

- ## Method Details

  - ### convert

    public Statement convert(ReturnStatement statementWithInnerTernaryExpression)
    Rewrites a return statement containing a ternary or Elvis expression into an equivalent if/else statement.
    Parameters:
      `statementWithInnerTernaryExpression` - the return statement to convert
    Returns:
      the converted statement, or the original statement if no ternary expression is present