private IMoMorphSynAnalysis GetMsaAndMoForm(ILexEntry entry, Guid slotType, string pos, out IMoForm form)
{
IMoMorphSynAnalysis msa;
if (slotType == MoMorphTypeTags.kguidMorphStem)
{
form = Cache.ServiceLocator.GetInstance<IMoStemAllomorphFactory>().Create();
var stemMsa = Cache.ServiceLocator.GetInstance<IMoStemMsaFactory>().Create();
msa = stemMsa;
entry.MorphoSyntaxAnalysesOC.Add(msa);
stemMsa.PartOfSpeechRA = MakePartOfSpeech(pos);
}
else
{
form = Cache.ServiceLocator.GetInstance<IMoAffixAllomorphFactory>().Create();
var affixMsa = Cache.ServiceLocator.GetInstance<IMoInflAffMsaFactory>().Create();
msa = affixMsa;
entry.MorphoSyntaxAnalysesOC.Add(msa);
affixMsa.PartOfSpeechRA = MakePartOfSpeech(pos);
}
return msa;
}
}