package polyglot.ast;
import polyglot.types.ProcedureInstance;
import java.util.List;
/**
* A <code>ProcedureCall</code> is an interface representing a
* method or constructor call.
*/
public interface ProcedureCall extends Term
{
/**
* The call's actual arguments.
* @return A list of {@link polyglot.ast.Expr Expr}.
*/
List arguments();
/**
* Set the call's actual arguments.
* @param arguments A list of {@link polyglot.ast.Expr Expr}.
*/
ProcedureCall arguments(List arguments);
/**
* The type object of the method we are calling. This is, generally, only
* valid after the type-checking pass.
*/
ProcedureInstance procedureInstance();
}