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);
	}

}