org.codehaus.groovy.ast.expr
Class PropertyExpression

java.lang.Object
  extended byorg.codehaus.groovy.ast.ASTNode
      extended byorg.codehaus.groovy.ast.expr.Expression
          extended byorg.codehaus.groovy.ast.expr.PropertyExpression

public class PropertyExpression
extends Expression

Represents a property access such as the expression "foo.bar".

Version:
$Revision: 1.5 $
Author:
James Strachan

Field Summary
private  int access
           
private  java.lang.reflect.Field field
           
private  java.lang.reflect.Method getter
           
private  boolean isStatic
           
private  Expression objectExpression
           
private  java.lang.String property
           
private  boolean safe
           
private  java.lang.reflect.Method setter
           
 
Fields inherited from class org.codehaus.groovy.ast.expr.Expression
failure, type, typeClass, typeResolved
 
Fields inherited from class org.codehaus.groovy.ast.ASTNode
EMPTY_STRING_ARRAY
 
Constructor Summary
PropertyExpression(Expression objectExpression, java.lang.String property)
           
PropertyExpression(Expression objectExpression, java.lang.String property, boolean safe)
           
 
Method Summary
 int getAccess()
           
 java.lang.reflect.Field getField()
           
 java.lang.reflect.Method getGetter()
           
 Expression getObjectExpression()
           
 java.lang.String getProperty()
           
 java.lang.reflect.Method getSetter()
           
 java.lang.String getText()
           
 boolean isDynamic()
          true if the datatype can be changed, false otherwise.
 boolean isSafe()
           
 boolean isStatic()
           
protected  void resolveType(AsmClassGenerator resolver)
           
 void setAccess(int access)
           
 void setField(java.lang.reflect.Field fld)
           
 void setGetter(java.lang.reflect.Method meth)
           
 void setSetter(java.lang.reflect.Method method)
           
 void setStatic(boolean aStatic)
           
 java.lang.String toString()
           
 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.Expression
getFailure, getType, getTypeClass, isResolveFailed, isTypeResolved, resolve, setFailure, setResolveFailed, setType, setTypeClass, setTypeResolved, shouldContinue, transformExpressions
 
Methods inherited from class org.codehaus.groovy.ast.ASTNode
getColumnNumber, getLineNumber, setColumnNumber, setCSTNode, setLineNumber
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

objectExpression

private Expression objectExpression

property

private java.lang.String property

safe

private boolean safe

isStatic

private boolean isStatic

getter

private java.lang.reflect.Method getter

setter

private java.lang.reflect.Method setter

field

private java.lang.reflect.Field field

access

private int access
Constructor Detail

PropertyExpression

public PropertyExpression(Expression objectExpression,
                          java.lang.String property)

PropertyExpression

public PropertyExpression(Expression objectExpression,
                          java.lang.String property,
                          boolean safe)
Method Detail

isStatic

public boolean isStatic()

visit

public void visit(GroovyCodeVisitor visitor)
Overrides:
visit in class ASTNode

isDynamic

public boolean isDynamic()
Description copied from class: Expression
true if the datatype can be changed, false otherwise.

Overrides:
isDynamic in class Expression
Returns:

transformExpression

public Expression transformExpression(ExpressionTransformer transformer)
Description copied from class: Expression
Return a copy of the expression calling the transformer on any nested expressions

Specified by:
transformExpression in class Expression
Parameters:
transformer -
Returns:

resolveType

protected void resolveType(AsmClassGenerator resolver)
Specified by:
resolveType in class Expression

getObjectExpression

public Expression getObjectExpression()

getProperty

public java.lang.String getProperty()

getText

public java.lang.String getText()
Overrides:
getText in class ASTNode

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

toString

public java.lang.String toString()

setStatic

public void setStatic(boolean aStatic)

setGetter

public void setGetter(java.lang.reflect.Method meth)

getGetter

public java.lang.reflect.Method getGetter()

setSetter

public void setSetter(java.lang.reflect.Method method)

getSetter

public java.lang.reflect.Method getSetter()

setField

public void setField(java.lang.reflect.Field fld)

getField

public java.lang.reflect.Field getField()

setAccess

public void setAccess(int access)

getAccess

public int getAccess()


Copyright © 2003-2005 The Codehaus. All Rights Reserved.