SandMark version 2.0


sandmark.obfuscate.boolsplitter.dtree
Class CallMethodExpr

java.lang.Object
  |
  +--sandmark.obfuscate.boolsplitter.dtree.Node
        |
        +--sandmark.obfuscate.boolsplitter.dtree.Expr
              |
              +--sandmark.obfuscate.boolsplitter.dtree.CallExpr
                    |
                    +--sandmark.obfuscate.boolsplitter.dtree.CallMethodExpr
All Implemented Interfaces:
java.lang.Cloneable

public class CallMethodExpr
extends CallExpr

CallMethodExpr represents the invocation of an object's method. In addition to knowing what method is being called and its parameters, it also knows what "kind" of method call it is (VIRTUAL, NONVIRTUAL, or INTERFACE) and the object that is the reciever of this method call.

See Also:
CallStaticExpr

Field Summary
static int INTERFACE
           
(package private)  int kind
           
static int NONVIRTUAL
           
(package private)  Expr receiver
           
static int VIRTUAL
           
 
Fields inherited from class sandmark.obfuscate.boolsplitter.dtree.CallExpr
method, params, voltaPos
 
Fields inherited from class sandmark.obfuscate.boolsplitter.dtree.Expr
B, BARRAY, BOOL, BOOLARRAY, range, type, UNDEF
 
Fields inherited from class sandmark.obfuscate.boolsplitter.dtree.Node
key, parent, valueNumber
 
Constructor Summary
CallMethodExpr(int kind, Expr receiver, Expr[] params, EDU.purdue.cs.bloat.editor.MemberRef method, EDU.purdue.cs.bloat.editor.Type type)
          Constructor.
 
Method Summary
 java.lang.Object clone()
           
 boolean equalsExpr(Expr other)
          Compares this expression to another.
 int exprHashCode()
          Returns the hash code for this expresion.
 int kind()
           
 Expr receiver()
           
 void visit(TreeVisitor visitor)
           
 void visitForceChildren(TreeVisitor visitor)
          Visit the children of this node.
 
Methods inherited from class sandmark.obfuscate.boolsplitter.dtree.CallExpr
method, params
 
Methods inherited from class sandmark.obfuscate.boolsplitter.dtree.Expr
cleanupOnly, comparator, copyInto, def, isDef, mergeRange, setDef, setType, stmt, type
 
Methods inherited from class sandmark.obfuscate.boolsplitter.dtree.Node
block, cleanup, copyInto, hasParent, key, parent, replaceWith, replaceWith, setKey, setParent, setValueNumber, toString, valueNumber, visitChildren, visitOnly
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

VIRTUAL

public static final int VIRTUAL
See Also:
Constant Field Values

NONVIRTUAL

public static final int NONVIRTUAL
See Also:
Constant Field Values

INTERFACE

public static final int INTERFACE
See Also:
Constant Field Values

receiver

Expr receiver

kind

int kind
Constructor Detail

CallMethodExpr

public CallMethodExpr(int kind,
                      Expr receiver,
                      Expr[] params,
                      EDU.purdue.cs.bloat.editor.MemberRef method,
                      EDU.purdue.cs.bloat.editor.Type type)
Constructor.

Parameters:
kind - The kind (VIRTUAL, NONVIRTUAL, or INTERFACE) of method that is being called.
receiver - The expression (object) whose method is being called.
params - Parameters to the method.
method - The method being called.
type - The type of this expression.
Method Detail

kind

public int kind()

receiver

public Expr receiver()

visitForceChildren

public void visitForceChildren(TreeVisitor visitor)
Description copied from class: Node
Visit the children of this node. Not all Nodes will have children to visit.

Specified by:
visitForceChildren in class Node

visit

public void visit(TreeVisitor visitor)
Specified by:
visit in class Node

exprHashCode

public int exprHashCode()
Description copied from class: Expr
Returns the hash code for this expresion.

Specified by:
exprHashCode in class Expr

equalsExpr

public boolean equalsExpr(Expr other)
Description copied from class: Expr
Compares this expression to another.

Specified by:
equalsExpr in class Expr
Parameters:
other - Expr to which to compare this.

clone

public java.lang.Object clone()
Specified by:
clone in class Expr

SandMark version 2.0

Mon Jun 17 12:30:47 MST 2002