|
|||||||||
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, hasNoRealSourcePosition, isSynthetic, setDeclaringClass, setHasNoRealSourcePosition, 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 TernaryExpression
public Expression transformExpression(ExpressionTransformer transformer)
Expression
transformExpression
in class TernaryExpression
|
Copyright © 2003-2010 The Codehaus. All rights reserved. | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |