// Translation-related utilities public List <string> GetConditionCategories(Cond cond) { List <string> ret = new List <string>(); void addCategory(string docName) { if (CondDocs.TryGetValue(docName, out FunctionDoc doc)) { string cat = doc.ConditionDoc.Category; if (cat != null && !ret.Contains(cat)) { ret.Add(cat); } } } cond.WalkCond(c => { if (c is CmdCond || c is CompareCond) { addCategory(c.DocName); } }); return(ret); }