/*******************************************************************************
 * Copyright (c) 2005 BEA Systems and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 * 
 * Contributors:
 *     BEA Systems - initial implementation
 *     
 *******************************************************************************/
/* Generated By:JJTree: Do not edit this line. ASTEqualityExpression.java */

package org.eclipse.wst.jsdt.web.core.internal.java.jspel;

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

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

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