|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.codehaus.groovy.ast.ASTNode
org.codehaus.groovy.ast.AnnotatedNode
org.codehaus.groovy.ast.expr.Expression
org.codehaus.groovy.ast.expr.TernaryExpression
org.codehaus.groovy.ast.expr.ElvisOperatorExpression
public class ElvisOperatorExpression
Represents a short ternary expression x ?: y, which is equal to
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
| Constructor Summary | |
|---|---|
ElvisOperatorExpression(Expression base,
Expression falseExpression)
|
|
| Method Summary | |
|---|---|
Expression |
transformExpression(ExpressionTransformer transformer)
Return a copy of the expression calling the transformer on any nested expressions |
void |
visit(GroovyCodeVisitor visitor)
|
| Methods inherited from class org.codehaus.groovy.ast.expr.TernaryExpression |
|---|
getBooleanExpression, getFalseExpression, getText, getTrueExpression, getType, toString |
| Methods inherited from class org.codehaus.groovy.ast.expr.Expression |
|---|
setType, transformExpressions, transformExpressions |
| Methods inherited from class org.codehaus.groovy.ast.AnnotatedNode |
|---|
addAnnotation, addAnnotations, getAnnotations, getAnnotations, getDeclaringClass, isSynthetic, setDeclaringClass, setSynthetic |
| Methods inherited from class org.codehaus.groovy.ast.ASTNode |
|---|
getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setSourcePosition |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public ElvisOperatorExpression(Expression base,
Expression falseExpression)
| Method Detail |
|---|
public void visit(GroovyCodeVisitor visitor)
visit in class TernaryExpressionpublic Expression transformExpression(ExpressionTransformer transformer)
Expression
transformExpression in class TernaryExpression
|
Copyright © 2003-2009 The Codehaus. All rights reserved. | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||