Package org.codehaus.groovy.ast.expr
Class PostfixExpression
java.lang.Object
org.codehaus.groovy.ast.ASTNode
org.codehaus.groovy.ast.AnnotatedNode
org.codehaus.groovy.ast.expr.Expression
org.codehaus.groovy.ast.expr.PostfixExpression
- All Implemented Interfaces:
GroovydocHolder<AnnotatedNode>,NodeMetaDataHandler
Represents a postfix unary expression like
i++ or value--.
The operation is applied after the value is used, returning the original value before modification.
Examples:
counter++- return counter then increment itindex--- return index then decrement it
-
Field Summary
Fields inherited from class org.codehaus.groovy.ast.expr.Expression
EMPTY_ARRAYFields inherited from interface groovy.lang.groovydoc.GroovydocHolder
DOC_COMMENT -
Constructor Summary
ConstructorsConstructorDescriptionPostfixExpression(Expression expression, Token operation) Creates a postfix expression. -
Method Summary
Modifier and TypeMethodDescriptionReturns the expression being modified by the postfix operation.Returns the operator token.getText()Returns a string representation of this postfix expression.getType()Returns the type of this postfix expression, which is the type of the operand.voidsetExpression(Expression expression) Sets the expression to apply the postfix operation to.toString()Returns a debug string representation.transformExpression(ExpressionTransformer transformer) Transforms this expression by applying the given transformer to the inner expression, creating a new postfix expression with the transformed operand.voidvisit(GroovyCodeVisitor visitor) Accepts aGroovyCodeVisitorusing the visitor pattern.Methods inherited from class org.codehaus.groovy.ast.expr.Expression
setType, transformExpressions, transformExpressionsMethods inherited from class org.codehaus.groovy.ast.AnnotatedNode
addAnnotation, addAnnotation, addAnnotations, getAnnotations, getAnnotations, getDeclaringClass, getGroovydoc, getInstance, hasNoRealSourcePosition, isSynthetic, setDeclaringClass, setHasNoRealSourcePosition, setSyntheticMethods inherited from class org.codehaus.groovy.ast.ASTNode
copyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getMetaDataMap, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setMetaDataMap, setSourcePositionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.codehaus.groovy.ast.NodeMetaDataHandler
copyNodeMetaData, getNodeMetaData, getNodeMetaData, getNodeMetaData, newMetaDataMap, putNodeMetaData, removeNodeMetaData, setNodeMetaData
-
Constructor Details
-
PostfixExpression
Creates a postfix expression.- Parameters:
expression- the expression to apply the operation tooperation- the operator token (++or--)
-
-
Method Details
-
setExpression
Sets the expression to apply the postfix operation to.- Parameters:
expression- the expression, typically a variable or property
-
getExpression
Returns the expression being modified by the postfix operation.- Returns:
- the expression
-
getOperation
Returns the operator token.- Returns:
- the
++or--token
-
getText
Returns a string representation of this postfix expression. -
getType
Returns the type of this postfix expression, which is the type of the operand.- Overrides:
getTypein classExpression- Returns:
- the type of the inner expression
-
toString
Returns a debug string representation. -
transformExpression
Transforms this expression by applying the given transformer to the inner expression, creating a new postfix expression with the transformed operand.- Specified by:
transformExpressionin classExpression- Parameters:
transformer- theExpressionTransformerto apply- Returns:
- a new postfix expression with transformed inner expression
-
visit
Accepts aGroovyCodeVisitorusing the visitor pattern.
-