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.4 $
Author:
James Strachan

Field Summary
 
Fields inherited from class org.codehaus.groovy.ast.expr.Expression
type, typeClass, typeResolved
 
Fields inherited from class org.codehaus.groovy.ast.ASTNode
EMPTY_STRING_ARRAY
 
Constructor Summary
PropertyExpression(Expression objectExpression, String property)
           
PropertyExpression(Expression objectExpression, String property, boolean safe)
           
 
Method Summary
 int getAccess()
           
 Field getField()
           
 Method getGetter()
           
 Expression getObjectExpression()
           
 String getProperty()
           
 Method getSetter()
           
 String getText()
           
 boolean isDynamic()
          true if the datatype can be changed, false otherwise.
 boolean isSafe()
           
 boolean isStatic()
           
protected  void resolveType(AsmClassGenerator2 resolver)
           
 void setAccess(int access)
           
 void setField(Field fld)
           
 void setGetter(Method meth)
           
 void setSetter(Method method)
           
 void setStatic(boolean aStatic)
           
 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
 

Constructor Detail

PropertyExpression

public PropertyExpression(Expression objectExpression,
                          String property)

PropertyExpression

public PropertyExpression(Expression objectExpression,
                          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(AsmClassGenerator2 resolver)
Specified by:
resolveType in class Expression

getObjectExpression

public Expression getObjectExpression()

getProperty

public String getProperty()

getText

public 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 String toString()

setStatic

public void setStatic(boolean aStatic)

setGetter

public void setGetter(Method meth)

getGetter

public Method getGetter()

setSetter

public void setSetter(Method method)

getSetter

public Method getSetter()

setField

public void setField(Field fld)

getField

public Field getField()

setAccess

public void setAccess(int access)

getAccess

public int getAccess()


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