public IParse Parse(string s, ParseArgs args = null) { DeclensionFlags flags = ConvertToDeclensionFlags(args); var parse = _client.Parse(s, flags); return(new Parse(parse)); }
static private DeclensionFlags ConvertToDeclensionFlags(ParseArgs args) { if (args == null) { return(0); } DeclensionFlags result = 0; switch (args.Category) { case null: break; case Category.Name: result |= DeclensionFlags.Name; break; case Category.Other: result |= DeclensionFlags.Common; break; } result |= args.Gender.Get(new GenderConverter()); switch (args.IsAnimate) { case null: break; case true: result |= DeclensionFlags.Animate; break; case false: result |= DeclensionFlags.Inanimate; break; } return(result); }