package org.overture.pog.utility; import org.overture.pog.pub.IPogAssistantFactory; import org.overture.pog.visitors.IInvExpGetVisitor; import org.overture.pog.visitors.ILocaleExtractVisitor; import org.overture.pog.visitors.IVariableSubVisitor; import org.overture.pog.visitors.StateDesignatorNameGetter; import org.overture.pog.visitors.VariableSubVisitor; import org.overture.pog.visitors.VdmInvExpGetVisitor; import org.overture.pog.visitors.VdmLocaleExtractor; import org.overture.typechecker.assistant.TypeCheckerAssistantFactory; /** * THe assistant factory for the pog. It provides all the functionality of the overture typechecker (maybe that is what * we parameterize?) PLus any new pog bits! * * @author ldc */ public class PogAssistantFactory extends TypeCheckerAssistantFactory implements IPogAssistantFactory { @Override public PDefinitionAssistantPOG createPDefinitionAssistant() { return new PDefinitionAssistantPOG(this); } @Override public StateDesignatorNameGetter getStateDesignatorNameGetter() { return new StateDesignatorNameGetter(); } @Override public IVariableSubVisitor getVarSubVisitor() { return new VariableSubVisitor(); } @Override public ILocaleExtractVisitor getLocaleExtractVisitor() { return new VdmLocaleExtractor(); } @Override public IInvExpGetVisitor getInvExpGetVisitor() { return new VdmInvExpGetVisitor(); } }