Package EDU.purdue.cs.bloat.tree
Class CallMethodExpr
- java.lang.Object
-
- EDU.purdue.cs.bloat.tree.Node
-
- EDU.purdue.cs.bloat.tree.Expr
-
- EDU.purdue.cs.bloat.tree.CallExpr
-
- EDU.purdue.cs.bloat.tree.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
Fields Modifier and Type Field Description static intINTERFACEstatic intNONVIRTUALstatic intVIRTUAL
-
Constructor Summary
Constructors Constructor Description CallMethodExpr(int kind, Expr receiver, Expr[] params, MemberRef method, Type type)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Objectclone()booleanequalsExpr(Expr other)Compares this expression to another.intexprHashCode()Returns the hash code for this expresion.intkind()Exprreceiver()voidvisit(TreeVisitor visitor)voidvisitForceChildren(TreeVisitor visitor)Visit the children of this node.-
Methods inherited from class EDU.purdue.cs.bloat.tree.Expr
cleanupOnly, comparator, copyInto, def, isDef, setDef, setType, stmt, type
-
Methods inherited from class EDU.purdue.cs.bloat.tree.Node
block, cleanup, copyInto, hasParent, key, parent, replaceWith, replaceWith, setKey, setParent, setValueNumber, toString, valueNumber, visitChildren, visitOnly
-
-
-
-
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
-
-
Constructor Detail
-
CallMethodExpr
public CallMethodExpr(int kind, Expr receiver, Expr[] params, MemberRef method, 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:NodeVisit the children of this node. Not all Nodes will have children to visit.- Specified by:
visitForceChildrenin classNode
-
visit
public void visit(TreeVisitor visitor)
-
exprHashCode
public int exprHashCode()
Description copied from class:ExprReturns the hash code for this expresion.- Specified by:
exprHashCodein classExpr
-
equalsExpr
public boolean equalsExpr(Expr other)
Description copied from class:ExprCompares this expression to another.- Specified by:
equalsExprin classExpr- Parameters:
other- Expr to which to compare this.
-
-