AssumeLocation.java
package edu.udel.cis.vsl.tass.model.impl.location;
import edu.udel.cis.vsl.tass.model.IF.SyntaxException;
import edu.udel.cis.vsl.tass.model.IF.location.AssumeLocationIF;
import edu.udel.cis.vsl.tass.model.IF.scope.LocalScopeIF;
import edu.udel.cis.vsl.tass.model.IF.statement.AssumeStatementIF;
import edu.udel.cis.vsl.tass.model.impl.statement.AssumeStatement;
public class AssumeLocation extends Location implements AssumeLocationIF {
private AssumeStatement statement = null;
public AssumeLocation(LocalScopeIF scope) {
super(scope, LocationKind.ASSUME);
}
public void setStatement(AssumeStatement statement) {
if (this.statement != null)
throw new RuntimeException("Assume statement already set!");
if (statement == null)
throw new NullPointerException("statement is null");
this.statement = statement;
super.addOutgoing(statement);
}
@Override
public AssumeStatementIF statement() {
return statement;
}
@Override
public void complete() throws SyntaxException {
if (statement == null)
throw new SyntaxException(this,
"no statement for this assume location");
super.complete();
}
}