Package org.codehaus.groovy.ast.expr

# Class FieldExpression

java.lang.Object
org.codehaus.groovy.ast.ASTNode
org.codehaus.groovy.ast.AnnotatedNode
org.codehaus.groovy.ast.expr.Expression
org.codehaus.groovy.ast.expr.FieldExpression

All Implemented Interfaces:
  `GroovydocHolder<AnnotatedNode>`, `NodeMetaDataHandler`

public class FieldExpression extends Expression
Represents a field access such as the expression "this.foo".

- ## Field Summary

  ### Fields inherited from class org.codehaus.groovy.ast.expr.Expression

  `EMPTY_ARRAY`

  ### Fields inherited from interface groovy.lang.groovydoc.GroovydocHolder

  `DOC_COMMENT`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `FieldExpression(FieldNode field)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `FieldNode`
  `getField()`
  `String`
  `getFieldName()`
  `String`
  `getText()`
  Returns a human-readable text representation of this AST node.
  `ClassNode`
  `getType()`
  Returns the type of this expression.
  `boolean`
  `isDynamicTyped()`
  `boolean`
  `isUseReferenceDirectly()`
  `void`
  `setType(ClassNode type)`
  Sets the type information for this expression.
  `void`
  `setUseReferenceDirectly(boolean useRef)`
  `String`
  `toString()`
  `Expression`
  `transformExpression(ExpressionTransformer transformer)`
  Transforms this expression and any nested expressions according to the provided transformer.
  `void`
  `visit(GroovyCodeVisitor visitor)`
  Accepts a code visitor for AST traversal and transformation.

  ### Methods inherited from class org.codehaus.groovy.ast.expr.Expression

  `transformExpressions, transformExpressions`

  ### Methods inherited from class org.codehaus.groovy.ast.AnnotatedNode

  `addAnnotation, addAnnotation, addAnnotations, getAnnotations, getAnnotations, getDeclaringClass, getGroovydoc, getInstance, hasNoRealSourcePosition, isSynthetic, setDeclaringClass, setHasNoRealSourcePosition, setSynthetic`

  ### Methods inherited from class org.codehaus.groovy.ast.ASTNode

  `copyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getMetaDataMap, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setMetaDataMap, setSourcePosition`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface org.codehaus.groovy.ast.NodeMetaDataHandler

  `copyNodeMetaData, getNodeMetaData, getNodeMetaData, getNodeMetaData, newMetaDataMap, putNodeMetaData, removeNodeMetaData, setNodeMetaData`

- ## Constructor Details

  - ### FieldExpression

    public FieldExpression(FieldNode field)

- ## Method Details

  - ### visit

    public void visit(GroovyCodeVisitor visitor)
    Description copied from class: `ASTNode`
    Accepts a code visitor for AST traversal and transformation. Subclasses must implement this method to support visitor pattern-based processing. The visitor pattern enables decoupling of AST structure from processing logic.
    Overrides:
      `visit` in class `ASTNode`
    Parameters:
      `visitor` - the `GroovyCodeVisitor` to process this node

  - ### transformExpression

    public Expression transformExpression(ExpressionTransformer transformer)
    Description copied from class: `Expression`
    Transforms this expression and any nested expressions according to the provided transformer. This method is called during AST transformation phases and must recursively transform any nested expressions to support full AST tree transformation.
    Specified by:
      `transformExpression` in class `Expression`
    Parameters:
      `transformer` - the `ExpressionTransformer` to apply
    Returns:
      a transformed copy of this expression (or this expression itself if no changes are needed)

  - ### getField

    public FieldNode getField()

  - ### getFieldName

    public String getFieldName()

  - ### getText

    public String getText()
    Description copied from class: `ASTNode`
    Returns a human-readable text representation of this AST node. Used for debugging and error messages. Default implementation returns a message indicating the representation is not yet implemented for this node type.
    Overrides:
      `getText` in class `ASTNode`
    Returns:
      text representation of this node, or placeholder for unimplemented types

  - ### getType

    public ClassNode getType()
    Description copied from class: `Expression`
    Returns the type of this expression. If the type has not been explicitly set, this method returns a dynamic type to support dynamic typing.
    Overrides:
      `getType` in class `Expression`
    Returns:
      the `ClassNode` representing this expression's type

  - ### setType

    public void setType(ClassNode type)
    Description copied from class: `Expression`
    Sets the type information for this expression. Used during type checking and compilation phases to associate a specific type with this expression result.
    Overrides:
      `setType` in class `Expression`
    Parameters:
      `type` - the `ClassNode` representing this expression's type

  - ### isDynamicTyped

    public boolean isDynamicTyped()

  - ### isUseReferenceDirectly

    public boolean isUseReferenceDirectly()

  - ### setUseReferenceDirectly

    public void setUseReferenceDirectly(boolean useRef)

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`