ExpressionStatementNode.java

package edu.udel.cis.vsl.tass.ast.impl.statement;

import edu.udel.cis.vsl.tass.ast.IF.expression.ExpressionNodeIF;
import edu.udel.cis.vsl.tass.ast.IF.statement.ExpressionStatementNodeIF;

/**
 * An expression statement node wraps an expression when the expression is used
 * as a statement.
 * 
 * @author Timothy K. Zirkel (zirkel)
 * 
 */
public class ExpressionStatementNode extends StatementNode implements
		ExpressionStatementNodeIF {

	private ExpressionNodeIF expression;

	public ExpressionStatementNode(long id) {
		super(id);
	}
	
	/**
	 * An expression statement node wraps an expression when the expression is
	 * used as a statement. The id argument is a unique AST node ID. The
	 * expression argument is the expression wrapped by this statement.
	 */
	public ExpressionStatementNode(long id, ExpressionNodeIF expression) {
		super(id);
		this.expression = expression;
	}

	@Override
	public ExpressionNodeIF expression() {
		return expression;
	}

	@Override
	public void setExpression(ExpressionNodeIF expression) {
		this.expression = expression;
	}

}