package org.overture.interpreter.assistant; import java.io.Serializable; import java.util.List; import org.overture.ast.analysis.QuestionAnswerAdaptor; import org.overture.ast.analysis.intf.IAnswer; import org.overture.ast.analysis.intf.IQuestionAnswer; import org.overture.ast.expressions.PExp; import org.overture.ast.lex.LexNameList; import org.overture.ast.patterns.AIdentifierPattern; import org.overture.ast.statements.PStm; import org.overture.ast.types.PType; import org.overture.interpreter.assistant.definition.ACpuClassDefinitionAssistantInterpreter; import org.overture.interpreter.assistant.definition.AExplicitFunctionDefinitionAssistantInterpreter; import org.overture.interpreter.assistant.definition.ANamedTraceDefinitionAssistantInterpreter; import org.overture.interpreter.assistant.definition.AStateDefinitionAssistantInterpreter; import org.overture.interpreter.assistant.definition.PDefinitionAssistantInterpreter; import org.overture.interpreter.assistant.definition.PDefinitionListAssistantInterpreter; import org.overture.interpreter.assistant.definition.SClassDefinitionAssistantInterpreter; import org.overture.interpreter.assistant.expression.AFieldExpAssistantInterpreter; import org.overture.interpreter.assistant.expression.APostOpExpAssistantInterpreter; import org.overture.interpreter.assistant.expression.PExpAssistantInterpreter; import org.overture.interpreter.assistant.module.AModuleModulesAssistantInterpreter; import org.overture.interpreter.assistant.module.ModuleListAssistantInterpreter; import org.overture.interpreter.assistant.pattern.AMapPatternMapletAssistantInterpreter; import org.overture.interpreter.assistant.pattern.PBindAssistantInterpreter; import org.overture.interpreter.assistant.pattern.PMultipleBindAssistantInterpreter; import org.overture.interpreter.assistant.pattern.PPatternAssistantInterpreter; import org.overture.interpreter.assistant.statement.PStmAssistantInterpreter; import org.overture.interpreter.assistant.type.PTypeAssistantInterpreter; import org.overture.interpreter.assistant.type.SInvariantTypeAssistantInterpreter; import org.overture.interpreter.eval.BindState; import org.overture.interpreter.runtime.Context; import org.overture.interpreter.runtime.ObjectContext; import org.overture.interpreter.traces.TraceExpander; import org.overture.interpreter.traces.TraceNode; import org.overture.interpreter.utilities.OldNameCollector; import org.overture.interpreter.utilities.definition.DefinitionRunTimeChecker; import org.overture.interpreter.utilities.definition.DefinitionStatementFinder; import org.overture.interpreter.utilities.definition.DefinitionValueChecker; import org.overture.interpreter.utilities.definition.ExpressionFinder; import org.overture.interpreter.utilities.definition.InstanceVariableChecker; import org.overture.interpreter.utilities.definition.NamedValueLister; import org.overture.interpreter.utilities.definition.TypeDefinitionChecker; import org.overture.interpreter.utilities.definition.ValuesDefinitionLocator; import org.overture.interpreter.utilities.expression.ExpExpressionFinder; import org.overture.interpreter.utilities.expression.ExpressionValueCollector; import org.overture.interpreter.utilities.expression.SubExpressionsLocator; import org.overture.interpreter.utilities.pattern.AllNamedValuesLocator; import org.overture.interpreter.utilities.pattern.BindValueCollector; import org.overture.interpreter.utilities.pattern.ConstrainedPatternChecker; import org.overture.interpreter.utilities.pattern.IdentifierPatternFinder; import org.overture.interpreter.utilities.pattern.LengthFinder; import org.overture.interpreter.utilities.pattern.MultipleBindValuesCollector; import org.overture.interpreter.utilities.pattern.SingleBindValuesCollector; import org.overture.interpreter.utilities.pattern.ValueCollector; import org.overture.interpreter.utilities.statement.StatementExpressionFinder; import org.overture.interpreter.utilities.statement.StatementFinder; import org.overture.interpreter.utilities.type.AllValuesCollector; import org.overture.interpreter.utilities.type.ConcreteTypeInstantiator; import org.overture.interpreter.values.NameValuePairList; import org.overture.interpreter.values.ValueList; import org.overture.typechecker.assistant.TypeCheckerAssistantFactory; public class InterpreterAssistantFactory extends TypeCheckerAssistantFactory implements IInterpreterAssistantFactory, Serializable { // definition // public AApplyExpressionTraceCoreDefinitionAssistantInterpreter // createAApplyExpressionTraceCoreDefinitionAssistant() // { // return new AApplyExpressionTraceCoreDefinitionAssistantInterpreter(this); // } // public AAssignmentDefinitionAssistantInterpreter createAAssignmentDefinitionAssistant() // { // return new AAssignmentDefinitionAssistantInterpreter(this); // } // public ABracketedExpressionTraceCoreDefinitionAssitantInterpreter // createABracketedExpressionTraceCoreDefinitionAssitant() // { // return new ABracketedExpressionTraceCoreDefinitionAssitantInterpreter(this); // } /** * */ private static final long serialVersionUID = 1L; // public ABusClassDefinitionAssistantInterpreter createABusClassDefinitionAssitant() // { // return new ABusClassDefinitionAssistantInterpreter(this); // } // public AClassClassDefinitionAssistantInterpreter createAClassClassDefinitionAssistant() // { // return new AClassClassDefinitionAssistantInterpreter(this); // } // public AConcurrentExpressionTraceCoreDefinitionAssistantInterpreter // createAConcurrentExpressionTraceCoreDefinitionAssistant() // { // return new AConcurrentExpressionTraceCoreDefinitionAssistantInterpreter(this); // } public ACpuClassDefinitionAssistantInterpreter createACpuClassDefinitionAssistant() { return new ACpuClassDefinitionAssistantInterpreter(this); } // public AEqualsDefinitionAssistantInterpreter createAEqualsDefinitionAssistant() // { // return new AEqualsDefinitionAssistantInterpreter(this); // } // public AErrorCaseAssistantInterpreter createAErrorCaseAssistant() // { // return new AErrorCaseAssistantInterpreter(this); // } public AExplicitFunctionDefinitionAssistantInterpreter createAExplicitFunctionDefinitionAssistant() { return new AExplicitFunctionDefinitionAssistantInterpreter(this); } // public AExplicitOperationDefinitionAssistantInterpreter createAExplicitOperationDefinitionAssistant() // { // return new AExplicitOperationDefinitionAssistantInterpreter(this); // } // public AImplicitFunctionDefinitionAssistantInterpreter createAImplicitFunctionDefinitionAssistant() // { // return new AImplicitFunctionDefinitionAssistantInterpreter(this); // } // // public AImplicitOperationDefinitionAssistantInterpreter createAImplicitOperationDefinitionAssistant() // { // return new AImplicitOperationDefinitionAssistantInterpreter(this); // } // public AImportedDefinitionAssistantInterpreter createAImportedDefinitionAssistant() // { // return new AImportedDefinitionAssistantInterpreter(this); // } // public AInheritedDefinitionAssistantInterpreter createAInheritedDefinitionAssistant() // { // return new AInheritedDefinitionAssistantInterpreter(this); // } // public AInstanceVariableDefinitionAssistantInterpreter createAInstanceVariableDefinitionAssistant() // { // return new AInstanceVariableDefinitionAssistantInterpreter(this); // } // public ALetBeStBindingTraceDefinitionAssistantInterpreter createALetBeStBindingTraceDefinitionAssistant() // { // return new ALetBeStBindingTraceDefinitionAssistantInterpreter(this); // } // public ALetDefBindingTraceDefinitionAssistantInterpreter createALetDefBindingTraceDefinitionAssistant() // { // return new ALetDefBindingTraceDefinitionAssistantInterpreter(this); // } // public ALocalDefinitionAssistantInterpreter createALocalDefinitionAssistant() // { // return new ALocalDefinitionAssistantInterpreter(this); // } // public AMutexSyncDefinitionAssistantInterpreter createAMutexSyncDefinitionAssistant() // { // return new AMutexSyncDefinitionAssistantInterpreter(this); // } public ANamedTraceDefinitionAssistantInterpreter createANamedTraceDefinitionAssistant() { return new ANamedTraceDefinitionAssistantInterpreter(this); } // public APerSyncDefinitionAssistantInterpreter createAPerSyncDefinitionAssistant() // { // return new APerSyncDefinitionAssistantInterpreter(this); // } // public ARenamedDefinitionAssistantInterpreter createARenamedDefinitionAssistant() // { // return new ARenamedDefinitionAssistantInterpreter(this); // } // public ARepeatTraceDefinitionAssistantInterpreter createARepeatTraceDefinitionAssistant() // { // return new ARepeatTraceDefinitionAssistantInterpreter(this); // } public AStateDefinitionAssistantInterpreter createAStateDefinitionAssistant() { return new AStateDefinitionAssistantInterpreter(this); } // public ASystemClassDefinitionAssistantInterpreter createASystemClassDefinitionAssistant() // { // return new ASystemClassDefinitionAssistantInterpreter(this); // } // public AThreadDefinitionAssistantInterpreter createAThreadDefinitionAssistant() // { // return new AThreadDefinitionAssistantInterpreter(this); // } // public ATraceDefinitionTermAssistantInterpreter createATraceDefinitionTermAssistant() // { // return new ATraceDefinitionTermAssistantInterpreter(this); // } // public ATypeDefinitionAssistantInterpreter createATypeDefinitionAssistant() // { // return new ATypeDefinitionAssistantInterpreter(this); // } // public AUntypedDefinitionAssistantInterpreter createAUntypedDefinitionAssistant() // { // return new AUntypedDefinitionAssistantInterpreter(this); // } // public AValueDefinitionAssistantInterpreter createAValueDefinitionAssistant() // { // return new AValueDefinitionAssistantInterpreter(this); // } public PDefinitionAssistantInterpreter createPDefinitionAssistant() { return new PDefinitionAssistantInterpreter(this); } public PDefinitionListAssistantInterpreter createPDefinitionListAssistant() { return new PDefinitionListAssistantInterpreter(this); } // public PTraceCoreDefinitionAssistantInterpreter createPTraceCoreDefinitionAssistant() // { // return new PTraceCoreDefinitionAssistantInterpreter(this); // } public SClassDefinitionAssistantInterpreter createSClassDefinitionAssistant() { return new SClassDefinitionAssistantInterpreter(this); } // expression // public AApplyExpAssistantInterpreter createAApplyExpAssistant() // { // return new AApplyExpAssistantInterpreter(this); // } // public ACaseAlternativeAssistantInterpreter createACaseAlternativeAssistant() // { // return new ACaseAlternativeAssistantInterpreter(this); // } // public ACasesExpAssistantInterpreter createACasesExpAssistant() // { // return new ACasesExpAssistantInterpreter(this); // } // public ADefExpAssistantInterpreter createADefExpAssistant() // { // return new ADefExpAssistantInterpreter(this); // } // public AElseIfExpAssistantInterpreter createAElseIfExpAssistant() // { // return new AElseIfExpAssistantInterpreter(this); // } // public AExists1ExpAssistantInterpreter createAExists1ExpAssistant() // { // return new AExists1ExpAssistantInterpreter(this); // } // public AExistsExpAssistantInterpreter createAExistsExpAssistant() // { // return new AExistsExpAssistantInterpreter(this); // } public AFieldExpAssistantInterpreter createAFieldExpAssistant() { return new AFieldExpAssistantInterpreter(this); } // public AFieldNumberExpAssistantInterpreter createAFieldNumberExpAssistant() // { // return new AFieldNumberExpAssistantInterpreter(this); // } // public AForAllExpAssistantInterpreter createAForAllExpAssistant() // { // return new AForAllExpAssistantInterpreter(this); // } // public AFuncInstatiationExpAssistantInterpreter createAFuncInstatiationExpAssistant() // { // return new AFuncInstatiationExpAssistantInterpreter(this); // } // public AIfExpAssistantInterpreter createAIfExpAssistant() // { // return new AIfExpAssistantInterpreter(this); // } // public AIotaExpAssistantInterpreter createAIotaExpAssistant() // { // return new AIotaExpAssistantInterpreter(this); // } // public AIsExpAssistantInterpreter createAIsExpAssistant() // { // return new AIsExpAssistantInterpreter(this); // } // public AIsOfBaseClassExpAssistantInterpreter createAIsOfBaseClassExpAssistant() // { // return new AIsOfBaseClassExpAssistantInterpreter(this); // } // public AIsOfClassExpAssistantInterpreter createAIsOfClassExpAssistant() // { // return new AIsOfClassExpAssistantInterpreter(this); // } // public ALambdaExpAssistantInterpreter createALambdaExpAssistant() // { // return new ALambdaExpAssistantInterpreter(this); // } // public ALetBeStExpAssistantInterpreter createALetBeStExpAssistant() // { // return new ALetBeStExpAssistantInterpreter(this); // } // public ALetDefExpAssistantInterpreter createALetDefExpAssistant() // { // return new ALetDefExpAssistantInterpreter(this); // } // public AMapCompMapExpAssistantInterpreter createAMapCompMapExpAssistant() // { // return new AMapCompMapExpAssistantInterpreter(this); // } // // public AMapEnumMapExpAssistantInterpreter createAMapEnumMapExpAssistant() // { // return new AMapEnumMapExpAssistantInterpreter(this); // } // // public AMapletExpAssistantInterpreter createAMapletExpAssistant() // { // return new AMapletExpAssistantInterpreter(this); // } // // public AMkBasicExpAssistantInterpreter createAMkBasicExpAssistant() // { // return new AMkBasicExpAssistantInterpreter(this); // } // // public AMkTypeExpAssistantInterpreter createAMkTypeExpAssistant() // { // return new AMkTypeExpAssistantInterpreter(this); // } // // public AMuExpAssistantInterpreter createAMuExpAssistant() // { // return new AMuExpAssistantInterpreter(this); // } // public ANarrowExpAssistantInterpreter createANarrowExpAssistant() // { // return new ANarrowExpAssistantInterpreter(this); // } // // public ANewExpAssistantInterpreter createANewExpAssistant() // { // return new ANewExpAssistantInterpreter(this); // } public APostOpExpAssistantInterpreter createAPostOpExpAssistant() { return new APostOpExpAssistantInterpreter(this); } // public ARecordModifierAssistantInterpreter createARecordModifierAssistant() // { // return new ARecordModifierAssistantInterpreter(this); // } // // public ASameBaseClassExpAssistantInterpreter createASameBaseClassExpAssistant() // { // return new ASameBaseClassExpAssistantInterpreter(this); // } // // public ASameClassExpAssistantInterpreter createASameClassExpAssistant() // { // return new ASameClassExpAssistantInterpreter(this); // } // public ASeqCompSeqExpAssistantInterpreter createASeqCompSeqExpAssistant() // { // return new ASeqCompSeqExpAssistantInterpreter(this); // } // public ASeqEnumSeqExpAssistantInterpreter createASeqEnumSeqExpAssistant() // { // return new ASeqEnumSeqExpAssistantInterpreter(this); // } // // public ASetCompSetExpAssistantInterpreter createASetCompSetExpAssistant() // { // return new ASetCompSetExpAssistantInterpreter(this); // } // // public ASetEnumSetExpAssistantInterpreter createASetEnumSetExpAssistant() // { // return new ASetEnumSetExpAssistantInterpreter(this); // } // // public ASetRangeSetExpAssistantInterpreter createASetRangeSetExpAssistant() // { // return new ASetRangeSetExpAssistantInterpreter(this); // } // // public ASubseqExpAssistantInterpreter createASubseqExpAssistant() // { // return new ASubseqExpAssistantInterpreter(this); // } // // public ATupleExpAssistantInterpreter createATupleExpAssistant() // { // return new ATupleExpAssistantInterpreter(this); // } // // public AVariableExpAssistantInterpreter createAVariableExpAssistant() // { // return new AVariableExpAssistantInterpreter(this); // } public PExpAssistantInterpreter createPExpAssistant() { return new PExpAssistantInterpreter(this); } // public SBinaryExpAssistantInterpreter createSBinaryExpAssistant() // { // return new SBinaryExpAssistantInterpreter(this); // } // // public SMapExpAssistantInterpreter createSMapExpAssistant() // { // return new SMapExpAssistantInterpreter(this); // } // // public SSeqExpAssistantInterpreter createSSeqExpAssistant() // { // return new SSeqExpAssistantInterpreter(this); // } // // public SSetExpAssistantInterpreter createSSetExpAssistant() // { // return new SSetExpAssistantInterpreter(this); // } // // public SUnaryExpAssistantInterpreter createSUnaryExpAssistant() // { // return new SUnaryExpAssistantInterpreter(this); // } // module public AModuleModulesAssistantInterpreter createAModuleModulesAssistant() { return new AModuleModulesAssistantInterpreter(this); } public ModuleListAssistantInterpreter createModuleListAssistant() { return new ModuleListAssistantInterpreter(this); } // pattern // public ABooleanPatternAssistantInterpreter createABooleanPatternAssistant() // { // return new ABooleanPatternAssistantInterpreter(this); // } // // public ACharacterPatternAssistantInterpreter createACharacterPatternAssistant() // { // return new ACharacterPatternAssistantInterpreter(this); // } // // public AConcatenationPatternAssistantInterpreter createAConcatenationPatternAssistant() // { // return new AConcatenationPatternAssistantInterpreter(this); // } // // public AExpressionPatternAssistantInterpreter createAExpressionPatternAssistant() // { // return new AExpressionPatternAssistantInterpreter(this); // } // // public AIdentifierPatternAssistantInterpreter createAIdentifierPatternAssistant() // { // return new AIdentifierPatternAssistantInterpreter(this); // } // // public AIgnorePatternAssistantInterpreter createAIgnorePatternAssistant() // { // return new AIgnorePatternAssistantInterpreter(this); // } // // public AIntegerPatternAssistantInterpreter createAIntegerPatternAssistant() // { // return new AIntegerPatternAssistantInterpreter(this); // } // // public AMapPatternAssistantInterpreter createAMapPatternAssistant() // { // return new AMapPatternAssistantInterpreter(this); // } public AMapPatternMapletAssistantInterpreter createAMapPatternMapletAssistant() { return new AMapPatternMapletAssistantInterpreter(this); } // public AMapUnionPatternAssistantInterpreter createAMapUnionPatternAssistant() // { // return new AMapUnionPatternAssistantInterpreter(this); // } // public ANilPatternAssistantInterpreter createANilPatternAssistant() // { // return new ANilPatternAssistantInterpreter(this); // } // public ARealPatternAssistantInterpreter createARealPatternAssistant() // { // return new ARealPatternAssistantInterpreter(this); // } // public ARecordPatternAssistantInterpreter createARecordPatternAssistant() // { // return new ARecordPatternAssistantInterpreter(this); // } // public ASeqPatternAssistantInterpreter createASeqPatternAssistant() // { // return new ASeqPatternAssistantInterpreter(this); // } // public ASetBindAssistantInterpreter createASetBindAssistant() // { // return new ASetBindAssistantInterpreter(this); // } // public ASetMultipleBindAssistantInterpreter createASetMultipleBindAssistant() // { // return new ASetMultipleBindAssistantInterpreter(this); // } // public ASetPatternAssistantInterpreter createASetPatternAssistant() // { // return new ASetPatternAssistantInterpreter(this); // } // public AStringPatternAssistantInterpreter createAStringPatternAssistant() // { // return new AStringPatternAssistantInterpreter(this); // } // public ATuplePatternAssistantInterpreter createATuplePatternAssistant() // { // return new ATuplePatternAssistantInterpreter(this); // } // public ATypeBindAssistantInterpreter createATypeBindAssistant() // { // return new ATypeBindAssistantInterpreter(this); // } // public ATypeMultipleBindAssistantInterpreter createATypeMultipleBindAssistant() // { // return new ATypeMultipleBindAssistantInterpreter(this); // } // public AUnionPatternAssistantInterpreter createAUnionPatternAssistant() // { // return new AUnionPatternAssistantInterpreter(this); // } public PBindAssistantInterpreter createPBindAssistant() { return new PBindAssistantInterpreter(this); } public PMultipleBindAssistantInterpreter createPMultipleBindAssistant() { return new PMultipleBindAssistantInterpreter(this); } public PPatternAssistantInterpreter createPPatternAssistant() { return new PPatternAssistantInterpreter(this); } // public PPatternListAssistantInterpreter createPPatternListAssistant() // { // return new PPatternListAssistantInterpreter(this); // } // statement // public AAlwaysStmAssistantInterpreter createAAlwaysStmAssistant() // { // return new AAlwaysStmAssistantInterpreter(this); // } // // public AAssignmentStmAssistantInterpreter createAAssignmentStmAssistant() // { // return new AAssignmentStmAssistantInterpreter(this); // } // // public AAtomicStmAssistantInterpreter createAAtomicStmAssistant() // { // return new AAtomicStmAssistantInterpreter(this); // } // // public ACallObjectStatementAssistantInterpreter createACallObjectStatementAssistant() // { // return new ACallObjectStatementAssistantInterpreter(this); // } // // public ACallStmAssistantInterpreter createACallStmAssistant() // { // return new ACallStmAssistantInterpreter(this); // } // public ACaseAlternativeStmAssistantInterpreter createACaseAlternativeStmAssistant() // { // return new ACaseAlternativeStmAssistantInterpreter(this); // } // public ACasesStmAssistantInterpreter createACasesStmAssistant() // { // return new ACasesStmAssistantInterpreter(this); // } // // public ACyclesStmAssistantInterpreter createACyclesStmAssistant() // { // return new ACyclesStmAssistantInterpreter(this); // } // // public ADurationStmAssistantInterpreter createADurationStmAssistant() // { // return new ADurationStmAssistantInterpreter(this); // } // // public AElseIfStmAssistantInterpreter createAElseIfStmAssistant() // { // return new AElseIfStmAssistantInterpreter(this); // } // // public AExitStmAssistantInterpreter createAExitStmAssistant() // { // return new AExitStmAssistantInterpreter(this); // } // // public AForAllStmAssistantInterpreter createAForAllStmAssistant() // { // return new AForAllStmAssistantInterpreter(this); // } // // public AForIndexStmAssistantInterpreter createAForIndexStmAssistant() // { // return new AForIndexStmAssistantInterpreter(this); // } // // public AForPatternBindStmAssitantInterpreter createAForPatternBindStmAssitant() // { // return new AForPatternBindStmAssitantInterpreter(this); // } // // public AIfStmAssistantInterpreter createAIfStmAssistant() // { // return new AIfStmAssistantInterpreter(this); // } // // public ALetBeStStmAssistantInterpreter createALetBeStStmAssistant() // { // return new ALetBeStStmAssistantInterpreter(this); // } // // public AReturnStmAssistantInterpreter createAReturnStmAssistant() // { // return new AReturnStmAssistantInterpreter(this); // } // public AStartStmAssistantInterpreter createAStartStmAssistant() // { // return new AStartStmAssistantInterpreter(this); // } // public ATixeStmAssistantInterpreter createATixeStmAssistant() // { // return new ATixeStmAssistantInterpreter(this); // } // // public ATixeStmtAlternativeAssistantInterpreter createATixeStmtAlternativeAssistant() // { // return new ATixeStmtAlternativeAssistantInterpreter(this); // } // // public ATrapStmAssistantInterpreter createATrapStmAssistant() // { // return new ATrapStmAssistantInterpreter(this); // } // // public AWhileStmAssistantInterpreter createAWhileStmAssistant() // { // return new AWhileStmAssistantInterpreter(this); // } public PStmAssistantInterpreter createPStmAssistant() { return new PStmAssistantInterpreter(this); } // public SLetDefStmAssistantInterpreter createSLetDefStmAssistant() // { // return new SLetDefStmAssistantInterpreter(this); // } // type // public ABooleanBasicTypeAssistantInterpreter createABooleanBasicTypeAssistant() // { // return new ABooleanBasicTypeAssistantInterpreter(this); // } // // public AInMapMapTypeAssistantInterpreter createAInMapMapTypeAssistant() // { // return new AInMapMapTypeAssistantInterpreter(this); // } // // public ANamedInvariantTypeAssistantInterpreter createANamedInvariantTypeAssistant() // { // return new ANamedInvariantTypeAssistantInterpreter(this); // } // // public AOptionalTypeAssistantInterpreter createAOptionalTypeAssistant() // { // return new AOptionalTypeAssistantInterpreter(this); // } // // public AParameterTypeAssistantInterpreter createAParameterTypeAssistant() // { // return new AParameterTypeAssistantInterpreter(this); // } // // public AProductTypeAssistantInterpreter createAProductTypeAssistant() // { // return new AProductTypeAssistantInterpreter(this); // } // // public AQuoteTypeAssistantInterpreter createAQuoteTypeAssistant() // { // return new AQuoteTypeAssistantInterpreter(this); // } // // public ARecordInvariantTypeAssistantInterpreter createARecordInvariantTypeAssistant() // { // return new ARecordInvariantTypeAssistantInterpreter(this); // } // // public ASetTypeAssistantInterpreter createASetTypeAssistant() // { // return new ASetTypeAssistantInterpreter(this); // } // // public AUnionTypeAssistantInterpreter createAUnionTypeAssistant() // { // return new AUnionTypeAssistantInterpreter(this); // } public PTypeAssistantInterpreter createPTypeAssistant() { return new PTypeAssistantInterpreter(this); } // public PTypeListAssistant createPTypeListAssistant() // { // return new PTypeListAssistant(this); // } // public SBasicTypeAssistantInterpreter createSBasicTypeAssistant() // { // return new SBasicTypeAssistantInterpreter(this); // } public SInvariantTypeAssistantInterpreter createSInvariantTypeAssistant() { return new SInvariantTypeAssistantInterpreter(this); } // public SMapTypeAssistantInterpreter createSMapTypeAssistant() // { // return new SMapTypeAssistantInterpreter(this); // } @Override public IAnswer<LexNameList> getOldNameCollector() { return new OldNameCollector(this); } @Override public QuestionAnswerAdaptor<BindState, ValueList> getBindValuesCollector() { return new MultipleBindValuesCollector(this); } @Override public QuestionAnswerAdaptor<ObjectContext, ValueList> getValueCollector() { return new ValueCollector(this); } @Override public IAnswer<List<AIdentifierPattern>> getIdentifierPatternFinder() { return new IdentifierPatternFinder(this); } @Override public IAnswer<Integer> getLengthFinder() { return new LengthFinder(this); } @Override public IAnswer<Boolean> getConstrainedPatternChecker() { return new ConstrainedPatternChecker(this); } @Override public QuestionAnswerAdaptor<AllNamedValuesLocator.Newquestion, List<NameValuePairList>> getAllNamedValuesLocator() { return new AllNamedValuesLocator(this); } @Override public QuestionAnswerAdaptor<Context, NameValuePairList> getNamedValueLister() { return new NamedValueLister(this); } @Override public QuestionAnswerAdaptor<Integer, PExp> getExpressionFinder() { return new ExpressionFinder(this); } @Override public IQuestionAnswer<ObjectContext, ValueList> getValuesDefinitionLocator() { return new ValuesDefinitionLocator(this); } @Override public IAnswer<Boolean> getTypeDefinitionChecker() { return new TypeDefinitionChecker(this); } @Override public IAnswer<Boolean> getDefinitionRunTimeChecker() { return new DefinitionRunTimeChecker(this); } @Override public IAnswer<Boolean> getDefintionValueChecker() { return new DefinitionValueChecker(this); } @Override public IAnswer<Boolean> getInstanceVariableChecker() { return new InstanceVariableChecker(this); } @Override public IQuestionAnswer<Integer, PStm> getDefinitionStatementFinder() { return new DefinitionStatementFinder(this); } @Override public IQuestionAnswer<Context, TraceNode> getTraceExpander() { return new TraceExpander(this); } @Override public IQuestionAnswer<Integer, PExp> getStatementExpressionFinder() { return new StatementExpressionFinder(this); } @Override public IQuestionAnswer<Integer, PStm> getStatementFinder() { return new StatementFinder(this); } @Override public IQuestionAnswer<ObjectContext, ValueList> getExpressionValueCollector() { return new ExpressionValueCollector(this); } @Override public IQuestionAnswer<Integer, PExp> getExpExpressionFinder() { return new ExpExpressionFinder(this); } @Override public IAnswer<List<PExp>> getSubExpressionsLocator() { return new SubExpressionsLocator(this); } @Override public IQuestionAnswer<BindState, ValueList> getSingleBindValuesCollector() { return new SingleBindValuesCollector(this); } @Override public IQuestionAnswer<ObjectContext, ValueList> getBindValueCollector() { return new BindValueCollector(this); } @Override public IQuestionAnswer<Context, ValueList> getAllValuesCollector() { return new AllValuesCollector(this); } @Override public IQuestionAnswer<Context, PType> getAllConcreteTypeInstantiator() { return new ConcreteTypeInstantiator(this); } }