package code.type;

import code.type.visitor.TypeVisitor;

/**
 * Represents a Type Variable.
 *
 * Every type variable is either associated with a type value or with
 * no value at all (if it remains unbound) If the type variable has a
 * value, then it can only be determined during type checking.
 *
 * @author jimeng
 * @since November 26, 2002
 */
public class TypeVariable extends TypeIdentifier {

    // Package scope constructor for use by TypeFactory

    TypeVariable(String name) { super(name); }

    TypeVariable(int varnum) { super("" + varnum); }

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

}


