ASTFormalParameterDeclaration.java

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

import edu.udel.cis.vsl.tass.front.minimp.ast.misc.ASTIdentifier;
import edu.udel.cis.vsl.tass.front.minimp.ast.type.ASTTypeIF;

public class ASTFormalParameterDeclaration extends ASTVariableDeclaration {
  private int index;

  public ASTFormalParameterDeclaration(ASTIdentifier id, ASTTypeIF type, int index) {
    super(id, type, VariableCategory.FORMAL);
    if (index < 0) {
      throw new RuntimeException("Invalid formal parameter index: " + index);
    }
    this.index = index;
  }

  public int getIndex() {
    return this.index;
  }

  public String toString() {
    String result = "begin formal parameter declaration:\n";
    result += this.variableType + " " + this.variableName.toString();
    result += "line:" + source.firstLine() + ":" + source.lastLine()
        + ", column:" + source.firstColumn() + ":" + source.lastColumn() + "\n";
    result += "end formal parameter declaration:\n";
    return result;
  }

  public boolean hasInit() {
    return false;
  }
}