private List <MutableObject> DiscriminatedList(List <MutableObject> mutable) { var topLevelEntryListing = new List <MutableObject>(); var entryLists = new Dictionary <int, List <MutableObject> >(); foreach (var entry in Scope.GetEntries(mutable)) { var discriminant = Discriminant.GetFirstValueBelowArrity(entry); if (!entryLists.ContainsKey(discriminant)) { var newMutable = new MutableObject(); var newList = new List <MutableObject>(); newMutable.Add("Entries", newList); topLevelEntryListing.Add(newMutable); entryLists[discriminant] = newList; } var foundList = entryLists[discriminant]; foundList.Add(entry.Last()); } return(topLevelEntryListing); }
private List <MutableObject> DiscriminatedList(List <MutableObject> mutable) { var topLevelEntryListing = new List <MutableObject>(); var inclusionString = CsvRangeOrKeyword.GetValue(mutable).Trim(); var inclusionFunc = InclusionFunc(inclusionString); foreach (var entry in Scope.GetEntries(mutable)) { var discriminant = Discriminant.GetFirstValueBelowArrity(entry); if (inclusionFunc(discriminant)) { topLevelEntryListing.Add(entry.Last()); } } return(topLevelEntryListing); }