edu.rice.cs.dynamicjava.interpreter
Class ExpressionEvaluator

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

public class ExpressionEvaluator
extends AbstractVisitor<java.lang.Object>
implements Lambda<Node,java.lang.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<java.lang.Object,java.lang.Object,java.lang.Object> ADD
           
static Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> BIT_AND
           
static Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> BIT_OR
           
static Lambda<java.lang.Object,java.lang.Object> COMPLEMENT
           
static Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> CONCATENATE
           
static Lambda<java.lang.Object,java.lang.Object> DECREMENT
           
static Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> DIVIDE
           
static Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> EXCLUSIVE_OR
           
static Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> GREATER
           
static Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> GREATER_OR_EQUAL
           
static Lambda<java.lang.Object,java.lang.Object> INCREMENT
           
static Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> LESS
           
static Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> LESS_OR_EQUAL
           
static Lambda<java.lang.Object,java.lang.Object> MINUS
           
static Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> MULTIPLY
           
static Lambda<java.lang.Object,java.lang.Object> NOT
           
static Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> OBJECT_EQUAL
           
static Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> OBJECT_NOT_EQUAL
           
static Lambda<java.lang.Object,java.lang.Object> PLUS
           
static Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> PRIMITIVE_EQUAL
           
static Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> PRIMITIVE_NOT_EQUAL
           
static Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> REMAINDER
           
static Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> SHIFT_LEFT
           
static Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> SHIFT_RIGHT
           
static Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> SUBTRACT
           
static Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> UNSIGNED_SHIFT_RIGHT
           
 
Constructor Summary
ExpressionEvaluator(RuntimeBindings bindings, Options options)
           
 
Method Summary
static java.lang.Object convert(java.lang.Object obj, java.lang.Class<?> target)
          Convert a primitive to the appropriate type
 java.lang.Object value(Node n)
           
 java.lang.Object visit(AddAssignExpression node)
          Visits an AddAssignExpression
 java.lang.Object visit(AddExpression node)
          Visits a AddExpression
 java.lang.Object visit(AndExpression node)
          Visits a AndExpression
 java.lang.Object visit(AnonymousAllocation node)
          Visits an AnonymousAllocation
 java.lang.Object visit(AnonymousInnerAllocation node)
          Visits an AnonymousInnerAllocation
 java.lang.Object visit(ArrayAccess node)
          Visits a ArrayAccess
 java.lang.Object visit(ArrayAllocation node)
          Visits an ArrayAllocation
 java.lang.Object visit(ArrayInitializer node)
          Visits an ArrayInitializer
 java.lang.Object visit(BitAndAssignExpression node)
          Visits a BitAndAssignExpression
 java.lang.Object visit(BitAndExpression node)
          Visits a BitAndExpression
 java.lang.Object visit(BitOrAssignExpression node)
          Visits a BitOrAssignExpression
 java.lang.Object visit(BitOrExpression node)
          Visits a BitOrExpression
 java.lang.Object visit(CastExpression node)
          Visits a CastExpression
 java.lang.Object visit(ComplementExpression node)
          Visits a ComplementExpression
 java.lang.Object visit(ConditionalExpression node)
          Visits a ConditionalExpression
 java.lang.Object visit(DivideAssignExpression node)
          Visits an DivideAssignExpression
 java.lang.Object visit(DivideExpression node)
          Visits a DivideExpression
 java.lang.Object visit(EqualExpression node)
          Visits a EqualExpression
 java.lang.Object visit(ExclusiveOrAssignExpression node)
          Visits a ExclusiveOrAssignExpression
 java.lang.Object visit(ExclusiveOrExpression node)
          Visits a ExclusiveOrExpression
 java.lang.Object visit(GreaterExpression node)
          Visits a GreaterExpression
 java.lang.Object visit(GreaterOrEqualExpression node)
          Visits a GreaterOrEqualExpression
 java.lang.Object visit(InnerAllocation node)
          Visits an InnerAllocation
 java.lang.Object visit(InstanceOfExpression node)
          Visits an InstanceOfExpression
 java.lang.Object visit(LessExpression node)
          Visits a LessExpression
 java.lang.Object visit(LessOrEqualExpression node)
          Visits a LessOrEqualExpression
 java.lang.Object visit(Literal node)
          Visits a Literal
 java.lang.Object visit(MinusExpression node)
          Visits a MinusExpression
 java.lang.Object visit(MultiplyAssignExpression node)
          Visits an MultiplyAssignExpression
 java.lang.Object visit(MultiplyExpression node)
          Visits a MultiplyExpression
 java.lang.Object visit(NotEqualExpression node)
          Visits a NotEqualExpression
 java.lang.Object visit(NotExpression node)
          Visits a NotExpression
 java.lang.Object visit(ObjectFieldAccess node)
          Visits a ObjectFieldAccess
 java.lang.Object visit(ObjectMethodCall node)
          Visits a ObjectMethodCall
 java.lang.Object visit(OrExpression node)
          Visits a OrExpression
 java.lang.Object visit(PlusExpression node)
          Visits a PlusExpression
 java.lang.Object visit(PostDecrement node)
          Visits a PostDecrement
 java.lang.Object visit(PostIncrement node)
          Visits a PostIncrement
 java.lang.Object visit(PreDecrement node)
          Visits a PreDecrement
 java.lang.Object visit(PreIncrement node)
          Visits a PreIncrement
 java.lang.Object visit(RemainderAssignExpression node)
          Visits an RemainderAssignExpression
 java.lang.Object visit(RemainderExpression node)
          Visits a RemainderExpression
 java.lang.Object visit(ShiftLeftAssignExpression node)
          Visits an ShiftLeftAssignExpression
 java.lang.Object visit(ShiftLeftExpression node)
          Visits a ShiftLeftExpression
 java.lang.Object visit(ShiftRightAssignExpression node)
          Visits an ShiftRightAssignExpression
 java.lang.Object visit(ShiftRightExpression node)
          Visits a ShiftRightExpression
 java.lang.Object visit(SimpleAllocation node)
          Visits a SimpleAllocation
 java.lang.Object visit(SimpleAssignExpression node)
          Visits an SimpleAssignExpression
 java.lang.Object visit(SimpleFieldAccess node)
          Visits a SimpleFieldAccess
 java.lang.Object visit(SimpleMethodCall node)
          Visits a SimpleMethodCall
 java.lang.Object visit(StaticFieldAccess node)
          Visits a StaticFieldAccess
 java.lang.Object visit(StaticMethodCall node)
          Visits a StaticMethodCall
 java.lang.Object visit(SubtractAssignExpression node)
          Visits an SubtractAssignExpression
 java.lang.Object visit(SubtractExpression node)
          Visits a SubtractExpression
 java.lang.Object visit(SuperFieldAccess node)
          Visits a SuperFieldAccess
 java.lang.Object visit(SuperMethodCall node)
          Visits a SuperMethodCall
 java.lang.Object visit(ThisExpression node)
          Visits a ThisExpression
 java.lang.Object visit(TypeExpression node)
          Visits a TypeExpression
 java.lang.Object visit(UnsignedShiftRightAssignExpression node)
          Visits an UnsignedShiftRightAssignExpression
 java.lang.Object visit(UnsignedShiftRightExpression node)
          Visits a UnsignedShiftRightExpression
 java.lang.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<java.lang.Object,java.lang.Object> NOT

COMPLEMENT

public static final Lambda<java.lang.Object,java.lang.Object> COMPLEMENT

PLUS

public static final Lambda<java.lang.Object,java.lang.Object> PLUS

MINUS

public static final Lambda<java.lang.Object,java.lang.Object> MINUS

INCREMENT

public static final Lambda<java.lang.Object,java.lang.Object> INCREMENT

DECREMENT

public static final Lambda<java.lang.Object,java.lang.Object> DECREMENT

OBJECT_EQUAL

public static final Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> OBJECT_EQUAL

PRIMITIVE_EQUAL

public static final Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> PRIMITIVE_EQUAL

OBJECT_NOT_EQUAL

public static final Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> OBJECT_NOT_EQUAL

PRIMITIVE_NOT_EQUAL

public static final Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> PRIMITIVE_NOT_EQUAL

CONCATENATE

public static final Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> CONCATENATE

ADD

public static final Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> ADD

SUBTRACT

public static final Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> SUBTRACT

MULTIPLY

public static final Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> MULTIPLY

DIVIDE

public static final Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> DIVIDE

REMAINDER

public static final Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> REMAINDER

LESS

public static final Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> LESS

LESS_OR_EQUAL

public static final Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> LESS_OR_EQUAL

GREATER

public static final Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> GREATER

GREATER_OR_EQUAL

public static final Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> GREATER_OR_EQUAL

BIT_AND

public static final Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> BIT_AND

BIT_OR

public static final Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> BIT_OR

EXCLUSIVE_OR

public static final Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> EXCLUSIVE_OR

SHIFT_LEFT

public static final Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> SHIFT_LEFT

SHIFT_RIGHT

public static final Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> SHIFT_RIGHT

UNSIGNED_SHIFT_RIGHT

public static final Lambda2<java.lang.Object,java.lang.Object,java.lang.Object> UNSIGNED_SHIFT_RIGHT
Constructor Detail

ExpressionEvaluator

public ExpressionEvaluator(RuntimeBindings bindings,
                           Options options)
Method Detail

value

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

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

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

visit

public java.lang.Object visit(PreDecrement node)
Visits a PreDecrement

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

convert

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