Package: org.codehaus.groovy.ast.expr

## [Java] Class PostfixExpression

- org.codehaus.groovy.ast.expr.PostfixExpression

-     public class PostfixExpression
      extends Expression

  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 it
  - `index--` - return index then decrement it
  See Also:
    for pre-increment/pre-decrement operators
    UnaryMinusExpression
    UnaryPlusExpression

- - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `class Expression` | `EMPTY_ARRAY`

  - ### Constructor Summary

    Constructors
    Constructor and description
    `PostfixExpression(Expression expression, Token operation)` Creates a postfix expression.

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `public Expression` | `getExpression()` Returns the expression being modified by the postfix operation.
    `` | `public Token` | `getOperation()` Returns the operator token.
    `` | `public String` | `getText()` Returns a string representation of this postfix expression.
    `` | `public ClassNode` | `getType()` Returns the type of this postfix expression, which is the type of the operand.
    `` | `public void` | `setExpression(Expression expression)` Sets the expression to apply the postfix operation to.
    `` | `public String` | `toString()` Returns a debug string representation.
    `` | `public Expression` | `transformExpression(ExpressionTransformer transformer)` Transforms this expression by applying the given transformer to the inner expression, creating a new postfix expression with the transformed operand.
    `` | `public void` | `visit(GroovyCodeVisitor visitor)` Accepts a GroovyCodeVisitor using the visitor pattern.

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Expression` | `getType, setType, transformExpression, transformExpressions, transformExpressions`
    `class AnnotatedNode` | `addAnnotation, addAnnotation, addAnnotations, getAnnotations, getAnnotations, getDeclaringClass, getGroovydoc, getInstance, hasNoRealSourcePosition, isSynthetic, setDeclaringClass, setHasNoRealSourcePosition, setSynthetic`
    `class ASTNode` | `copyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getMetaDataMap, getText, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setMetaDataMap, setSourcePosition, visit`

- - ### Constructor Detail

    - #### public PostfixExpression(Expression expression, Token operation)

      Creates a postfix expression.

      Parameters:
        `expression` - the expression to apply the operation to
        `operation` - the operator token (`++` or `--`)

  - ### Method Detail

    - #### public Expression getExpression()

      Returns the expression being modified by the postfix operation.

      Returns:
        the expression

    - #### public Token getOperation()

      Returns the operator token.

      Returns:
        the `++` or `--` token

    - #### public String getText()

      Returns a string representation of this postfix expression.

      Returns:
        the text representation, e.g., "(foo++)"

    - #### public ClassNode getType()

      Returns the type of this postfix expression, which is the type of the operand.

      Returns:
        the type of the inner expression

    - #### public void setExpression(Expression expression)

      Sets the expression to apply the postfix operation to.

      Parameters:
        `expression` - the expression, typically a variable or property

    - #### public String toString()

      Returns a debug string representation.

      Returns:
        a string like "PostfixExpression[foo++]"

    - #### public Expression transformExpression(ExpressionTransformer transformer)

      Transforms this expression by applying the given transformer to the inner expression, creating a new postfix expression with the transformed operand.

      Parameters:
        `transformer` - the ExpressionTransformer to apply
      Returns:
        a new postfix expression with transformed inner expression

    - #### public void visit(GroovyCodeVisitor visitor)

      Accepts a GroovyCodeVisitor using the visitor pattern.

      Parameters:
        `visitor` - the visitor to accept