StatementSet.java

package edu.udel.cis.vsl.civl.model.common.statement;

import java.util.LinkedHashSet;
import java.util.Set;

import edu.udel.cis.vsl.civl.model.IF.CIVLSource;
import edu.udel.cis.vsl.civl.model.IF.Model;
import edu.udel.cis.vsl.civl.model.IF.Scope;
import edu.udel.cis.vsl.civl.model.IF.expression.Expression;
import edu.udel.cis.vsl.civl.model.IF.location.Location;
import edu.udel.cis.vsl.civl.model.IF.statement.Statement;

/**
 * Sometimes it is useful for the model builder to return a set of statements.
 * e.g. when exiting a switch the end of the default case and all break
 * statements need their targets set to the source location of the next statement.
 * 
 * @author zirkel
 * 
 */
public class StatementSet implements Statement {

	private Set<Statement> statements;

	public StatementSet() {
		statements = new LinkedHashSet<Statement>();
	}

	public StatementSet(Set<Statement> statements) {
		this.statements = statements;
	}
	
	public void add(Statement statement) {
		statements.add(statement);
	}

	@Override
	public CIVLSource getSource() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public Location source() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public Location target() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public Expression guard() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public Model model() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public void setSource(Location source) {
		// TODO Auto-generated method stub

	}

	@Override
	public void setTarget(Location target) {
		for (Statement s : statements) {
			s.setTarget(target);
		}
	}

	@Override
	public void setGuard(Expression guard) {
		// TODO Auto-generated method stub

	}

	@Override
	public void setModel(Model model) {
		// TODO Auto-generated method stub

	}

	@Override
	public Scope statementScope() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public void setStatementScope(Scope statementScope) {
		// TODO Auto-generated method stub

	}

}