/* Generated By:JJTree: Do not edit this line. ASTMultiplyExpression.java */

package org.eclipse.jst.jsp.core.internal.java.jspel;

public class ASTMultiplyExpression extends ASTOperatorExpression {
  public ASTMultiplyExpression(int id) {
    super(id);
  }

  public ASTMultiplyExpression(JSPELParser p, int id) {
    super(p, id);
  }


  /** Accept the visitor. **/
  public Object jjtAccept(JSPELParserVisitor visitor, Object data) {
    return visitor.visit(this, data);
  }
}
