package IR.Flat; import IR.MethodDescriptor; public class FlatCall extends FlatNode { TempDescriptor args[]; TempDescriptor this_temp; TempDescriptor dst; MethodDescriptor method; public FlatCall(MethodDescriptor md, TempDescriptor dst, TempDescriptor this_temp, TempDescriptor[] args) { this.method=md; this.dst=dst; this.this_temp=this_temp; this.args=args; } public MethodDescriptor getMethod() { return method; } public TempDescriptor getThis() { return this_temp; } public TempDescriptor getReturnTemp() { return dst; } public int numArgs() { return args.length; } public TempDescriptor getArg(int i) { return args[i]; } public String toString() { String st=""; if (dst==null) { if (method==null) st+="null("; else st+=method.getSymbol()+"("; } else st+=dst+"="+method.getSymbol()+"("; if (this_temp!=null) { st+=this_temp; if (args.length!=0) st+=", "; } for(int i=0;i