LocalVariable.java

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

import edu.udel.cis.vsl.tass.model.IF.ModelIF;
import edu.udel.cis.vsl.tass.model.IF.type.TypeIF;
import edu.udel.cis.vsl.tass.model.IF.variable.FormalVariableIF;
import edu.udel.cis.vsl.tass.model.IF.variable.LocalVariableIF;
import edu.udel.cis.vsl.tass.model.impl.scope.LocalScope;

public class LocalVariable extends Variable implements LocalVariableIF {

	public LocalVariable(String name, TypeIF type, LocalScope scope) {
		super(name, type, scope);
	}

	/** The scope to which this variable belongs. */
	public LocalScope scope() {
		return (LocalScope) super.scope();
	}

	/** Is this local variable a formal parameter to a function? */
	public boolean isFormal() {
		return this instanceof FormalVariableIF;
	}

	@Override
	public ModelIF model() {
		return scope().function().process().model();
	}

}