SizeOfExpression.java

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

import edu.udel.cis.vsl.tass.model.IF.ModelFactoryIF;
import edu.udel.cis.vsl.tass.model.IF.expression.SizeOfExpressionIF;
import edu.udel.cis.vsl.tass.model.IF.type.TypeIF;

public class SizeOfExpression extends Expression implements SizeOfExpressionIF {

	private TypeIF typeArgument;

	public SizeOfExpression(ModelFactoryIF factory, TypeIF typeArgument) {
		super(factory, ExpressionKind.SIZEOF);
		this.type = factory.integerType();
		this.typeArgument = typeArgument;
	}

	@Override
	public String atomString() {
		return "sizeof(" + typeArgument + ")";
	}

	public String toString() {
		return atomString();
	}

	public TypeIF typeArgument() {
		return typeArgument;
	}

}