edu.rice.cs.dynamicjava.interpreter
Class ExpressionEvaluator

java.lang.Object
  extended by koala.dynamicjava.tree.visitor.AbstractVisitor<Object>
      extended by edu.rice.cs.dynamicjava.interpreter.ExpressionEvaluator
All Implemented Interfaces:
Lambda<Node,Object>, Visitor<Object>

public class ExpressionEvaluator
extends AbstractVisitor<Object>
implements Lambda<Node,Object>

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.


Field Summary
static Lambda2<Object,Object,Object> ADD
           
static Lambda2<Object,Object,Object> BIT_AND
           
static Lambda2<Object,Object,Object> BIT_OR
           
static Lambda<Object,Object> COMPLEMENT
           
static Lambda2<Object,Object,Object> CONCATENATE
           
static Lambda<Object,Object> DECREMENT
           
static Lambda2<Object,Object,Object> DIVIDE
           
static Lambda2<Object,Object,Object> EXCLUSIVE_OR
           
static Lambda2<Object,Object,Object> GREATER
           
static Lambda2<Object,Object,Object> GREATER_OR_EQUAL
           
static Lambda<Object,Object> INCREMENT
           
static Lambda2<Object,Object,Object> LESS
           
static Lambda2<Object,Object,Object> LESS_OR_EQUAL
           
static Lambda<Object,Object> MINUS
           
static Lambda2<Object,Object,Object> MULTIPLY
           
static Lambda<Object,Object> NOT
           
static Lambda2<Object,Object,Object> OBJECT_EQUAL
           
static Lambda2<Object,Object,Object> OBJECT_NOT_EQUAL
           
static Lambda<Object,Object> PLUS
           
static Lambda2<Object,Object,Object> PRIMITIVE_EQUAL
           
static Lambda2<Object,Object,Object> PRIMITIVE_NOT_EQUAL
           
static Lambda2<Object,Object,Object> REMAINDER
           
static Lambda2<Object,Object,Object> SHIFT_LEFT
           
static Lambda2<Object,Object,Object> SHIFT_RIGHT
           
static Lambda2<Object,Object,Object> SUBTRACT
           
static Lambda2<Object,Object,Object> UNSIGNED_SHIFT_RIGHT
           
 
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

NOT

public static final Lambda<Object,Object> NOT

COMPLEMENT

public static final Lambda<Object,Object> COMPLEMENT

PLUS

public static final Lambda<Object,Object> PLUS

MINUS

public static final Lambda<Object,Object> MINUS

INCREMENT

public static final Lambda<Object,Object> INCREMENT

DECREMENT

public static final Lambda<Object,Object> DECREMENT

OBJECT_EQUAL

public static final Lambda2<Object,Object,Object> OBJECT_EQUAL

PRIMITIVE_EQUAL

public static final Lambda2<Object,Object,Object> PRIMITIVE_EQUAL

OBJECT_NOT_EQUAL

public static final Lambda2<Object,Object,Object> OBJECT_NOT_EQUAL

PRIMITIVE_NOT_EQUAL

public static final Lambda2<Object,Object,Object> PRIMITIVE_NOT_EQUAL

CONCATENATE

public static final Lambda2<Object,Object,Object> CONCATENATE

ADD

public static final Lambda2<Object,Object,Object> ADD

SUBTRACT

public static final Lambda2<Object,Object,Object> SUBTRACT

MULTIPLY

public static final Lambda2<Object,Object,Object> MULTIPLY

DIVIDE

public static final Lambda2<Object,Object,Object> DIVIDE

REMAINDER

public static final Lambda2<Object,Object,Object> REMAINDER

LESS

public static final Lambda2<Object,Object,Object> LESS

LESS_OR_EQUAL

public static final Lambda2<Object,Object,Object> LESS_OR_EQUAL

GREATER

public static final Lambda2<Object,Object,Object> GREATER

GREATER_OR_EQUAL

public static final Lambda2<Object,Object,Object> GREATER_OR_EQUAL

BIT_AND

public static final Lambda2<Object,Object,Object> BIT_AND

BIT_OR

public static final Lambda2<Object,Object,Object> BIT_OR

EXCLUSIVE_OR

public static final Lambda2<Object,Object,Object> EXCLUSIVE_OR

SHIFT_LEFT

public static final Lambda2<Object,Object,Object> SHIFT_LEFT

SHIFT_RIGHT

public static final Lambda2<Object,Object,Object> SHIFT_RIGHT

UNSIGNED_SHIFT_RIGHT

public static final Lambda2<Object,Object,Object> UNSIGNED_SHIFT_RIGHT
Constructor Detail

ExpressionEvaluator

public ExpressionEvaluator(RuntimeBindings bindings,
                           Options options)
Method Detail

value

public Object value(Node n)
Specified by:
value in interface Lambda<Node,Object>

visit

public Object visit(Literal node)
Description copied from class: AbstractVisitor
Visits a Literal

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(VariableAccess node)
Description copied from class: AbstractVisitor
Visits a VariableAccess

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(SimpleFieldAccess node)
Description copied from class: AbstractVisitor
Visits a SimpleFieldAccess

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(ObjectFieldAccess node)
Description copied from class: AbstractVisitor
Visits a ObjectFieldAccess

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(SuperFieldAccess node)
Description copied from class: AbstractVisitor
Visits a SuperFieldAccess

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(StaticFieldAccess node)
Description copied from class: AbstractVisitor
Visits a StaticFieldAccess

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(ThisExpression node)
Description copied from class: AbstractVisitor
Visits a ThisExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(SimpleMethodCall node)
Description copied from class: AbstractVisitor
Visits a SimpleMethodCall

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(ObjectMethodCall node)
Description copied from class: AbstractVisitor
Visits a ObjectMethodCall

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(SuperMethodCall node)
Description copied from class: AbstractVisitor
Visits a SuperMethodCall

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(StaticMethodCall node)
Description copied from class: AbstractVisitor
Visits a StaticMethodCall

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(SimpleAllocation node)
Description copied from class: AbstractVisitor
Visits a SimpleAllocation

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(AnonymousAllocation node)
Description copied from class: AbstractVisitor
Visits an AnonymousAllocation

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(InnerAllocation node)
Description copied from class: AbstractVisitor
Visits an InnerAllocation

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(AnonymousInnerAllocation node)
Description copied from class: AbstractVisitor
Visits an AnonymousInnerAllocation

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(SimpleAssignExpression node)
Description copied from class: AbstractVisitor
Visits an SimpleAssignExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(TypeExpression node)
Description copied from class: AbstractVisitor
Visits a TypeExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(ArrayAllocation node)
Description copied from class: AbstractVisitor
Visits an ArrayAllocation

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(ArrayInitializer node)
Description copied from class: AbstractVisitor
Visits an ArrayInitializer

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(ArrayAccess node)
Description copied from class: AbstractVisitor
Visits a ArrayAccess

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(NotExpression node)
Description copied from class: AbstractVisitor
Visits a NotExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(ComplementExpression node)
Description copied from class: AbstractVisitor
Visits a ComplementExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(PlusExpression node)
Description copied from class: AbstractVisitor
Visits a PlusExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(MinusExpression node)
Description copied from class: AbstractVisitor
Visits a MinusExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(AddExpression node)
Description copied from class: AbstractVisitor
Visits a AddExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(AddAssignExpression node)
Description copied from class: AbstractVisitor
Visits an AddAssignExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(SubtractExpression node)
Description copied from class: AbstractVisitor
Visits a SubtractExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(SubtractAssignExpression node)
Description copied from class: AbstractVisitor
Visits an SubtractAssignExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(MultiplyExpression node)
Description copied from class: AbstractVisitor
Visits a MultiplyExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(MultiplyAssignExpression node)
Description copied from class: AbstractVisitor
Visits an MultiplyAssignExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(DivideExpression node)
Description copied from class: AbstractVisitor
Visits a DivideExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(DivideAssignExpression node)
Description copied from class: AbstractVisitor
Visits an DivideAssignExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(RemainderExpression node)
Description copied from class: AbstractVisitor
Visits a RemainderExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(RemainderAssignExpression node)
Description copied from class: AbstractVisitor
Visits an RemainderAssignExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(EqualExpression node)
Description copied from class: AbstractVisitor
Visits a EqualExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(NotEqualExpression node)
Description copied from class: AbstractVisitor
Visits a NotEqualExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(LessExpression node)
Description copied from class: AbstractVisitor
Visits a LessExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(LessOrEqualExpression node)
Description copied from class: AbstractVisitor
Visits a LessOrEqualExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(GreaterExpression node)
Description copied from class: AbstractVisitor
Visits a GreaterExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(GreaterOrEqualExpression node)
Description copied from class: AbstractVisitor
Visits a GreaterOrEqualExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(BitAndExpression node)
Description copied from class: AbstractVisitor
Visits a BitAndExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(BitAndAssignExpression node)
Description copied from class: AbstractVisitor
Visits a BitAndAssignExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(ExclusiveOrExpression node)
Description copied from class: AbstractVisitor
Visits a ExclusiveOrExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(ExclusiveOrAssignExpression node)
Description copied from class: AbstractVisitor
Visits a ExclusiveOrAssignExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(BitOrExpression node)
Description copied from class: AbstractVisitor
Visits a BitOrExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(BitOrAssignExpression node)
Description copied from class: AbstractVisitor
Visits a BitOrAssignExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(ShiftLeftExpression node)
Description copied from class: AbstractVisitor
Visits a ShiftLeftExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(ShiftLeftAssignExpression node)
Description copied from class: AbstractVisitor
Visits an ShiftLeftAssignExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(ShiftRightExpression node)
Description copied from class: AbstractVisitor
Visits a ShiftRightExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(ShiftRightAssignExpression node)
Description copied from class: AbstractVisitor
Visits an ShiftRightAssignExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(UnsignedShiftRightExpression node)
Description copied from class: AbstractVisitor
Visits a UnsignedShiftRightExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(UnsignedShiftRightAssignExpression node)
Description copied from class: AbstractVisitor
Visits an UnsignedShiftRightAssignExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(AndExpression node)
Description copied from class: AbstractVisitor
Visits a AndExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(OrExpression node)
Description copied from class: AbstractVisitor
Visits a OrExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(InstanceOfExpression node)
Description copied from class: AbstractVisitor
Visits an InstanceOfExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(CastExpression node)
Description copied from class: AbstractVisitor
Visits a CastExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(ConditionalExpression node)
Description copied from class: AbstractVisitor
Visits a ConditionalExpression

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(PostIncrement node)
Description copied from class: AbstractVisitor
Visits a PostIncrement

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(PreIncrement node)
Description copied from class: AbstractVisitor
Visits a PreIncrement

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(PostDecrement node)
Description copied from class: AbstractVisitor
Visits a PostDecrement

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

visit

public Object visit(PreDecrement node)
Visits a PreDecrement

Specified by:
visit in interface Visitor<Object>
Overrides:
visit in class AbstractVisitor<Object>
Parameters:
node - the node to visit

convert

public static Object convert(Object obj,
                             Class<?> target)
Convert a primitive to the appropriate type