edu.cmu.cs.crystal.tac.model
Interface MethodCallInstruction

All Superinterfaces:
AssignmentInstruction, InvocationInstruction, TACInstruction, TACInvocation

public interface MethodCallInstruction
extends InvocationInstruction

x = y.m(z1, ..., zn), where m is a method and y is possibly a type variable, in the case of a static method call.

Author:
Kevin Bierhoff
See Also:
determine whether this is a static method call, determine whether this is a super call., calls between constructors

Method Summary
 String getMethodName()
          Returns the name of the called method.
 Variable getReceiverOperand()
          Returns the receiver of this call, if any.
 boolean isStaticMethodCall()
          Indicates whether this is a call to a static method.
 boolean isSuperCall()
          Indicates whether this is a super-call
 
Methods inherited from interface edu.cmu.cs.crystal.tac.model.InvocationInstruction
getNode
 
Methods inherited from interface edu.cmu.cs.crystal.tac.model.AssignmentInstruction
getTarget
 
Methods inherited from interface edu.cmu.cs.crystal.tac.model.TACInstruction
transfer, transfer
 
Methods inherited from interface edu.cmu.cs.crystal.tac.model.TACInvocation
getArgOperands, resolveBinding
 
Methods inherited from interface edu.cmu.cs.crystal.tac.model.TACInstruction
transfer, transfer
 

Method Detail

getReceiverOperand

Variable getReceiverOperand()
Returns the receiver of this call, if any.

Returns:
the receiver of this call, or null if this is a static method call.
See Also:
isStaticMethodCall()

isSuperCall

boolean isSuperCall()
Indicates whether this is a super-call

Returns:
true if this is a super-call, false otherwise.
See Also:
SuperMethodInvocation

isStaticMethodCall

boolean isStaticMethodCall()
Indicates whether this is a call to a static method.

Returns:
true if this is a call to a static method, false otherwise.

getMethodName

String getMethodName()
Returns the name of the called method.

Returns:
the name of the called method.