def truePart = x def booleanPart = truePart as boolean booleanPart? truePart : yEven if x is no atomic expression, x will be evaluated only once. Example:
class Foo {
def index=0
def getX(){ index++; return index }
}
def foo = new Foo()
def result = foo.x ?: "false case"
assert foo.index == 1
assert result == 1
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| private static BooleanExpression | |
| public Expression | transformExpression(ExpressionTransformer transformer)
Overrides org. |
| public void |
| ElvisOperatorExpression | back to summary |
|---|---|
| public ElvisOperatorExpression(Expression base, Expression falseExpression) | |
| getBool | back to summary |
|---|---|
| private static BooleanExpression getBool(Expression base) | |
| transformExpression | back to summary |
|---|---|
| public Expression transformExpression(ExpressionTransformer transformer) Overrides org. Doc from org. Return a copy of the expression calling the transformer on any nested expressions | |
| visit | back to summary |
|---|---|
| public void visit(GroovyCodeVisitor visitor) Overrides org. | |