private bool TryParseConv(string parameterText, EntryListType entryListType, ref Dictionary <string, MultiReplacementEntry> entries) { if (!IsInitialized(entryListType)) { SetInitialized(entryListType); int expectedSize; if (IntEx.TryParseInvariant(parameterText, out expectedSize) && expectedSize >= 0) { if (entries == null) { entries = new Dictionary <string, MultiReplacementEntry>(expectedSize); } return(true); } } if (entries == null) { entries = new Dictionary <string, MultiReplacementEntry>(); } var parts = parameterText.SplitOnTabOrSpace(); if (parts.Length < 2) { Builder.LogWarning($"Bad {entryListType}: {parameterText}"); return(false); } entries.AddReplacementEntry(Builder.Dedup(parts[0]), Builder.Dedup(parts[1])); return(true); }
private bool TryParseStandardListItem <T>(EntryListType entryListType, string parameterText, ref List <T> entries, Func <string, List <T>, bool> parse) { if (!IsInitialized(entryListType)) { SetInitialized(entryListType); int expectedSize; if (IntEx.TryParseInvariant(parameterText, out expectedSize) && expectedSize >= 0) { if (entries == null) { entries = new List <T>(expectedSize); } return(true); } } if (entries == null) { entries = new List <T>(); } return(parse(parameterText, entries)); }
private void SetInitialized(EntryListType flags) { Initialized |= flags; }
private bool IsInitialized(EntryListType flags) => EnumEx.HasFlag(Initialized, flags);