Package org.codehaus.groovy.ast.expr
Class PropertyExpression
java.lang.Object
org.codehaus.groovy.ast.ASTNode
org.codehaus.groovy.ast.AnnotatedNode
org.codehaus.groovy.ast.expr.Expression
org.codehaus.groovy.ast.expr.PropertyExpression
- All Implemented Interfaces:
GroovydocHolder<AnnotatedNode>,NodeMetaDataHandler
- Direct Known Subclasses:
AttributeExpression
Represents a property access such as the expression "foo.bar".
-
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
ConstructorsConstructorDescriptionPropertyExpression(Expression objectExpression, String propertyName) PropertyExpression(Expression objectExpression, Expression property) PropertyExpression(Expression objectExpression, Expression property, boolean safe) -
Method Summary
Modifier and TypeMethodDescriptiongetText()Returns a human-readable text representation of this AST node.booleanbooleanbooleanisSafe()booleanbooleanisStatic()voidsetImplicitThis(boolean implicitThis) voidsetObjectExpression(Expression objectExpression) voidsetSpreadSafe(boolean spreadSafe) voidsetStatic(boolean isStatic) toString()transformExpression(ExpressionTransformer transformer) Transforms this expression and any nested expressions according to the provided transformer.voidvisit(GroovyCodeVisitor visitor) Accepts a code visitor for AST traversal and transformation.Methods inherited from class org.codehaus.groovy.ast.expr.Expression
getType, 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
-
PropertyExpression
-
PropertyExpression
-
PropertyExpression
-
-
Method Details
-
transformExpression
Description copied from class:ExpressionTransforms 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:
transformExpressionin classExpression- Parameters:
transformer- theExpressionTransformerto apply- Returns:
- a transformed copy of this expression (or this expression itself if no changes are needed)
-
visit
Description copied from class:ASTNodeAccepts 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:
visitin classASTNode- Parameters:
visitor- theGroovyCodeVisitorto process this node
-
getObjectExpression
-
setObjectExpression
-
getProperty
-
getPropertyAsString
-
getText
Description copied from class:ASTNodeReturns 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. -
isDynamic
public boolean isDynamic() -
isImplicitThis
public boolean isImplicitThis() -
setImplicitThis
public void setImplicitThis(boolean implicitThis) -
isSafe
public boolean isSafe()- Returns:
- is this a safe navigation, i.e. if true then if the source object is null then this navigation will return null
-
isSpreadSafe
public boolean isSpreadSafe() -
setSpreadSafe
public void setSpreadSafe(boolean spreadSafe) -
isStatic
public boolean isStatic() -
setStatic
public void setStatic(boolean isStatic) -
toString
-