/* This file was generated by SableCC's ObjectMacro. */

package org.sablecc.sablecc.codegeneration.scala;

public class MReduceNormalPop {

  private final String pElementType;
  private final String pElementName;
  private final MReduceNormalPop mReduceNormalPop = this;

  MReduceNormalPop(String pElementType, String pElementName) {
    if(pElementType == null) throw new NullPointerException();
    this.pElementType = pElementType;
    if(pElementName == null) throw new NullPointerException();
    this.pElementName = pElementName;
  }

  String pElementType() {
    return this.pElementType;
  }

  String pElementName() {
    return this.pElementName;
  }

  private String rElementName() {
    return this.mReduceNormalPop.pElementName();
  }

  private String rElementType() {
    return this.mReduceNormalPop.pElementType();
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("      val l");
    sb.append(rElementName());
    sb.append(" = stack.pop.asInstanceOf[N");
    sb.append(rElementType());
    sb.append("]");
    sb.append(System.getProperty("line.separator"));
    return sb.toString();
  }

}
