package code.subst;

import code.term.Term;
import code.term.Variable;
import code.subst.visitor.*;

/**
 * This class represents the identity substitution. The identity substitution
 * is a singleton accessible in the base class.
 *
 * @author Sergio Antoy
 * @since June 17, 2003
 */

public class IdSubst extends Subst {
    /**
     * This constructor is protected since all identity substitutions are
     * identical. Look for an instance of this class in the base class.
     */
    protected IdSubst() {}

    public Term getBinding(Variable variable) { return null; }

    public <R,T> R accept(SubstVisitor<R,T> v, T o)  {
	return v.visit(this, o);
    }
}
