AbstractFunction.java
package edu.udel.cis.vsl.tass.model.impl;
import java.io.PrintWriter;
import edu.udel.cis.vsl.tass.model.IF.AbstractFunctionIF;
import edu.udel.cis.vsl.tass.model.IF.SyntaxException;
import edu.udel.cis.vsl.tass.model.IF.scope.ScopeIF;
import edu.udel.cis.vsl.tass.model.IF.type.TypeIF;
public class AbstractFunction extends Function implements AbstractFunctionIF {
private int continuity = -1;
public AbstractFunction(ScopeIF containingScope, String name,
TypeIF returnType, int numFormals) {
super(containingScope, name, returnType, numFormals);
}
@Override
public int continuity() {
return continuity;
}
@Override
public void setContinuity(int continuity) {
this.continuity = continuity;
}
@Override
protected void completeLocations() throws SyntaxException {
if (locations().size() != 0)
throw new SyntaxException(this,
"Abstract function should not have body");
}
@Override
protected void printAdditionalData(String prefix, PrintWriter out,
boolean withSource) {
out.println(prefix + "continuity: " + continuity);
}
}