DereferenceNode.java

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

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

/**
 * A pointer dereference. '*' in C.
 * 
 * @author Timothy K. Zirkel (zirkel)
 * 
 */
public class DereferenceNode extends ExpressionNode implements
		DereferenceNodeIF {

	private ExpressionNodeIF pointerExpression;
	
	public DereferenceNode(long id) {
		super(id);
	}
	
	/**
	 * A pointer dereference The parameter pointerExpression is the pointer
	 * being dereferenced.
	 */
	public DereferenceNode(long id, ExpressionNodeIF pointerExpression) {
		super(id);
		this.pointerExpression = pointerExpression;
	}

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

	@Override
	public void setPointerExpression(ExpressionNodeIF pointerExpression) {
		this.pointerExpression = pointerExpression;
	}

}