|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectkoala.dynamicjava.tree.visitor.AbstractVisitor<Object>
edu.rice.cs.dynamicjava.interpreter.ExpressionEvaluator
public class ExpressionEvaluator
Evaluates the given expression. The expression is assumed to have been
checked without any errors. Note that the result of a visitor method is not necessarily
the value of the expression -- for example, a primitive casting conversion might be required.
The value(koala.dynamicjava.tree.Node) method contains additional checks and conversions, and should be used exclusively
by clients to evaluate an expression.
| Constructor Summary | |
|---|---|
ExpressionEvaluator(RuntimeBindings bindings,
Options options)
|
|
| Method Summary | |
|---|---|
static Object |
convert(Object obj,
Class<?> target)
Convert a primitive to the appropriate type |
Object |
value(Node n)
|
Object |
visit(AddAssignExpression node)
Visits an AddAssignExpression |
Object |
visit(AddExpression node)
Visits a AddExpression |
Object |
visit(AndExpression node)
Visits a AndExpression |
Object |
visit(AnonymousAllocation node)
Visits an AnonymousAllocation |
Object |
visit(AnonymousInnerAllocation node)
Visits an AnonymousInnerAllocation |
Object |
visit(ArrayAccess node)
Visits a ArrayAccess |
Object |
visit(ArrayAllocation node)
Visits an ArrayAllocation |
Object |
visit(ArrayInitializer node)
Visits an ArrayInitializer |
Object |
visit(BitAndAssignExpression node)
Visits a BitAndAssignExpression |
Object |
visit(BitAndExpression node)
Visits a BitAndExpression |
Object |
visit(BitOrAssignExpression node)
Visits a BitOrAssignExpression |
Object |
visit(BitOrExpression node)
Visits a BitOrExpression |
Object |
visit(CastExpression node)
Visits a CastExpression |
Object |
visit(ComplementExpression node)
Visits a ComplementExpression |
Object |
visit(ConditionalExpression node)
Visits a ConditionalExpression |
Object |
visit(DivideAssignExpression node)
Visits an DivideAssignExpression |
Object |
visit(DivideExpression node)
Visits a DivideExpression |
Object |
visit(EqualExpression node)
Visits a EqualExpression |
Object |
visit(ExclusiveOrAssignExpression node)
Visits a ExclusiveOrAssignExpression |
Object |
visit(ExclusiveOrExpression node)
Visits a ExclusiveOrExpression |
Object |
visit(GreaterExpression node)
Visits a GreaterExpression |
Object |
visit(GreaterOrEqualExpression node)
Visits a GreaterOrEqualExpression |
Object |
visit(InnerAllocation node)
Visits an InnerAllocation |
Object |
visit(InstanceOfExpression node)
Visits an InstanceOfExpression |
Object |
visit(LessExpression node)
Visits a LessExpression |
Object |
visit(LessOrEqualExpression node)
Visits a LessOrEqualExpression |
Object |
visit(Literal node)
Visits a Literal |
Object |
visit(MinusExpression node)
Visits a MinusExpression |
Object |
visit(MultiplyAssignExpression node)
Visits an MultiplyAssignExpression |
Object |
visit(MultiplyExpression node)
Visits a MultiplyExpression |
Object |
visit(NotEqualExpression node)
Visits a NotEqualExpression |
Object |
visit(NotExpression node)
Visits a NotExpression |
Object |
visit(ObjectFieldAccess node)
Visits a ObjectFieldAccess |
Object |
visit(ObjectMethodCall node)
Visits a ObjectMethodCall |
Object |
visit(OrExpression node)
Visits a OrExpression |
Object |
visit(PlusExpression node)
Visits a PlusExpression |
Object |
visit(PostDecrement node)
Visits a PostDecrement |
Object |
visit(PostIncrement node)
Visits a PostIncrement |
Object |
visit(PreDecrement node)
Visits a PreDecrement |
Object |
visit(PreIncrement node)
Visits a PreIncrement |
Object |
visit(RemainderAssignExpression node)
Visits an RemainderAssignExpression |
Object |
visit(RemainderExpression node)
Visits a RemainderExpression |
Object |
visit(ShiftLeftAssignExpression node)
Visits an ShiftLeftAssignExpression |
Object |
visit(ShiftLeftExpression node)
Visits a ShiftLeftExpression |
Object |
visit(ShiftRightAssignExpression node)
Visits an ShiftRightAssignExpression |
Object |
visit(ShiftRightExpression node)
Visits a ShiftRightExpression |
Object |
visit(SimpleAllocation node)
Visits a SimpleAllocation |
Object |
visit(SimpleAssignExpression node)
Visits an SimpleAssignExpression |
Object |
visit(SimpleFieldAccess node)
Visits a SimpleFieldAccess |
Object |
visit(SimpleMethodCall node)
Visits a SimpleMethodCall |
Object |
visit(StaticFieldAccess node)
Visits a StaticFieldAccess |
Object |
visit(StaticMethodCall node)
Visits a StaticMethodCall |
Object |
visit(SubtractAssignExpression node)
Visits an SubtractAssignExpression |
Object |
visit(SubtractExpression node)
Visits a SubtractExpression |
Object |
visit(SuperFieldAccess node)
Visits a SuperFieldAccess |
Object |
visit(SuperMethodCall node)
Visits a SuperMethodCall |
Object |
visit(ThisExpression node)
Visits a ThisExpression |
Object |
visit(TypeExpression node)
Visits a TypeExpression |
Object |
visit(UnsignedShiftRightAssignExpression node)
Visits an UnsignedShiftRightAssignExpression |
Object |
visit(UnsignedShiftRightExpression node)
Visits a UnsignedShiftRightExpression |
Object |
visit(VariableAccess node)
Visits a VariableAccess |
| Methods inherited from class koala.dynamicjava.tree.visitor.AbstractVisitor |
|---|
defaultCase, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final Lambda<Object,Object> NOT
public static final Lambda<Object,Object> COMPLEMENT
public static final Lambda<Object,Object> PLUS
public static final Lambda<Object,Object> MINUS
public static final Lambda<Object,Object> INCREMENT
public static final Lambda<Object,Object> DECREMENT
public static final Lambda2<Object,Object,Object> OBJECT_EQUAL
public static final Lambda2<Object,Object,Object> PRIMITIVE_EQUAL
public static final Lambda2<Object,Object,Object> OBJECT_NOT_EQUAL
public static final Lambda2<Object,Object,Object> PRIMITIVE_NOT_EQUAL
public static final Lambda2<Object,Object,Object> CONCATENATE
public static final Lambda2<Object,Object,Object> ADD
public static final Lambda2<Object,Object,Object> SUBTRACT
public static final Lambda2<Object,Object,Object> MULTIPLY
public static final Lambda2<Object,Object,Object> DIVIDE
public static final Lambda2<Object,Object,Object> REMAINDER
public static final Lambda2<Object,Object,Object> LESS
public static final Lambda2<Object,Object,Object> LESS_OR_EQUAL
public static final Lambda2<Object,Object,Object> GREATER
public static final Lambda2<Object,Object,Object> GREATER_OR_EQUAL
public static final Lambda2<Object,Object,Object> BIT_AND
public static final Lambda2<Object,Object,Object> BIT_OR
public static final Lambda2<Object,Object,Object> EXCLUSIVE_OR
public static final Lambda2<Object,Object,Object> SHIFT_LEFT
public static final Lambda2<Object,Object,Object> SHIFT_RIGHT
public static final Lambda2<Object,Object,Object> UNSIGNED_SHIFT_RIGHT
| Constructor Detail |
|---|
public ExpressionEvaluator(RuntimeBindings bindings,
Options options)
| Method Detail |
|---|
public Object value(Node n)
value in interface Lambda<Node,Object>public Object visit(Literal node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(VariableAccess node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(SimpleFieldAccess node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(ObjectFieldAccess node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(SuperFieldAccess node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(StaticFieldAccess node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(ThisExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(SimpleMethodCall node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(ObjectMethodCall node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(SuperMethodCall node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(StaticMethodCall node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(SimpleAllocation node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(AnonymousAllocation node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(InnerAllocation node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(AnonymousInnerAllocation node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(SimpleAssignExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(TypeExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(ArrayAllocation node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(ArrayInitializer node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(ArrayAccess node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(NotExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(ComplementExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(PlusExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(MinusExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(AddExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(AddAssignExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(SubtractExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(SubtractAssignExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(MultiplyExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(MultiplyAssignExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(DivideExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(DivideAssignExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(RemainderExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(RemainderAssignExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(EqualExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(NotEqualExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(LessExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(LessOrEqualExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(GreaterExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(GreaterOrEqualExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(BitAndExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(BitAndAssignExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(ExclusiveOrExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(ExclusiveOrAssignExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(BitOrExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(BitOrAssignExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(ShiftLeftExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(ShiftLeftAssignExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(ShiftRightExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(ShiftRightAssignExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(UnsignedShiftRightExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(UnsignedShiftRightAssignExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(AndExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(OrExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(InstanceOfExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(CastExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(ConditionalExpression node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(PostIncrement node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(PreIncrement node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(PostDecrement node)
AbstractVisitor
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visitpublic Object visit(PreDecrement node)
visit in interface Visitor<Object>visit in class AbstractVisitor<Object>node - the node to visit
public static Object convert(Object obj,
Class<?> target)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||