ASTInvocationStatement.java

package edu.udel.cis.vsl.tass.front.minimp.ast.statement;

import java.util.List;

import edu.udel.cis.vsl.tass.front.minimp.ast.expression.ASTExpressionIF;
import edu.udel.cis.vsl.tass.front.minimp.ast.expression.ASTLhsExpressionIF;

public class ASTInvocationStatement extends ASTStatement {
  private ASTLhsExpressionIF left;
  private String functionName;
  private List<ASTExpressionIF> parameterList;

  public ASTInvocationStatement(ASTLhsExpressionIF lhs, String name,
      List<ASTExpressionIF> param) {
    left = lhs;
    functionName = name;
    parameterList = param;
  }

  public ASTLhsExpressionIF getLeft() {
    return left;
  }

  public String getFunctionName() {
    return functionName;
  }

  public List<ASTExpressionIF> getActualParameterList() {
    return parameterList;
  }

  public ASTExpressionIF getActualParameter(int index) {
    return parameterList.get(index);
  }

  public String toString() {
    String result = new String();
    if (this.left != null) {
      result += left.toString() + " = ";
    }
    result += this.functionName + "(";
    for (int i = 0; i < this.parameterList.size(); i++) {
      result += this.parameterList.get(i).toString();
      if (i < this.parameterList.size() - 1) {
        result += ", ";
      }
    }
    result += ");";
    return result;
  }
}