2 import java.util.Vector;
3 import IR.NameDescriptor;
4 import IR.MethodDescriptor;
6 public class MethodInvokeNode extends ExpressionNode {
13 public MethodInvokeNode(NameDescriptor name) {
15 argumentlist=new Vector();
21 public MethodInvokeNode(String methodid, ExpressionNode exp) {
22 this.methodid=methodid;
25 argumentlist=new Vector();
29 public ExpressionNode getExpression() {
33 public void setMethod(MethodDescriptor md) {
37 public MethodDescriptor getMethod() {
41 public void addArgument(ExpressionNode en) {
45 public int numArgs() {
46 return argumentlist.size();
49 public ExpressionNode getArg(int i) {
50 return (ExpressionNode) argumentlist.get(i);
53 public String printNode(int indent) {
56 st=en.printNode(indent)+"."+methodid+"(";
60 for(int i=0;i<argumentlist.size();i++) {
61 ExpressionNode en=(ExpressionNode)argumentlist.get(i);
62 st+=en.printNode(indent);
63 if ((i+1)!=argumentlist.size())
69 return Kind.MethodInvokeNode;