org.codehaus.groovy.ast.expr
Class Expression

java.lang.Object
  extended byorg.codehaus.groovy.ast.ASTNode
      extended byorg.codehaus.groovy.ast.expr.Expression
Direct Known Subclasses:
ArrayExpression, AttributeExpression, BinaryExpression, BitwiseNegExpression, BooleanExpression, BytecodeExpression, CastExpression, ClassExpression, ClosureExpression, ConstantExpression, ConstructorCallExpression, FieldExpression, GStringExpression, ListExpression, MapEntryExpression, MapExpression, MethodCallExpression, NegationExpression, PostfixExpression, PrefixExpression, PropertyExpression, RangeExpression, RegexExpression, StaticMethodCallExpression, TernaryExpression, TupleExpression, VariableExpression

public abstract class Expression
extends ASTNode

Represents a base class for expressions which evaluate as an object

Version:
$Revision: 1.4 $
Author:
James Strachan

Field Summary
protected  String type
           
 Class typeClass
           
protected  boolean typeResolved
           
 
Fields inherited from class org.codehaus.groovy.ast.ASTNode
EMPTY_STRING_ARRAY
 
Constructor Summary
Expression()
           
 
Method Summary
 String getFailure()
           
 String getType()
           
 Class getTypeClass()
           
 boolean isDynamic()
          true if the datatype can be changed, false otherwise.
 boolean isResolveFailed()
           
 boolean isTypeResolved()
           
 void resolve(AsmClassGenerator cg)
           
protected abstract  void resolveType(AsmClassGenerator resolver)
           
 void setFailure(String failure)
           
 void setResolveFailed(boolean resolveFailed)
           
 void setType(String name)
           
 void setTypeClass(Class typeClass)
           
 void setTypeResolved(boolean b)
           
protected  boolean shouldContinue()
           
abstract  Expression transformExpression(ExpressionTransformer transformer)
          Return a copy of the expression calling the transformer on any nested expressions
protected  List transformExpressions(List expressions, ExpressionTransformer transformer)
          Transforms the list of expressions
 
Methods inherited from class org.codehaus.groovy.ast.ASTNode
getColumnNumber, getLineNumber, getText, setColumnNumber, setCSTNode, setLineNumber, visit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

typeResolved

protected boolean typeResolved

typeClass

public Class typeClass

type

protected String type
Constructor Detail

Expression

public Expression()
Method Detail

isResolveFailed

public boolean isResolveFailed()

setResolveFailed

public void setResolveFailed(boolean resolveFailed)

getFailure

public String getFailure()

setFailure

public void setFailure(String failure)

getTypeClass

public Class getTypeClass()

setTypeClass

public void setTypeClass(Class typeClass)

getType

public String getType()

isDynamic

public boolean isDynamic()
true if the datatype can be changed, false otherwise.

Returns:

transformExpression

public abstract Expression transformExpression(ExpressionTransformer transformer)
Return a copy of the expression calling the transformer on any nested expressions

Parameters:
transformer -
Returns:

transformExpressions

protected List transformExpressions(List expressions,
                                    ExpressionTransformer transformer)
Transforms the list of expressions

Returns:
a new list of transformed expressions

setType

public void setType(String name)

isTypeResolved

public boolean isTypeResolved()

setTypeResolved

public void setTypeResolved(boolean b)

resolve

public void resolve(AsmClassGenerator cg)

resolveType

protected abstract void resolveType(AsmClassGenerator resolver)

shouldContinue

protected boolean shouldContinue()


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