package de.dhbwstuttgart.typeinference.unify.interfaces;

import java.util.HashMap;

import de.dhbwstuttgart.typeinference.unify.model.ExtendsType;
import de.dhbwstuttgart.typeinference.unify.model.FunNType;
import de.dhbwstuttgart.typeinference.unify.model.PlaceholderType;
import de.dhbwstuttgart.typeinference.unify.model.ReferenceType;
import de.dhbwstuttgart.typeinference.unify.model.SuperType;

public interface UnifyTypeVisitor<T> {

	public ReferenceType visit(ReferenceType refty, T ht);
	
	public PlaceholderType visit(PlaceholderType phty, T ht);
	
	public FunNType visit(FunNType funnty, T ht);
	
	public SuperType visit(SuperType suty, T ht);
	
	public ExtendsType visit(ExtendsType extty, T ht);

}
