public CUnion TranslateUnion(IDiaSymbol sym) { IDiaEnumSymbols symbols; sym.findChildren(SymTagEnum.SymTagData, null, 0, out symbols); CUnion res = new CUnion(); foreach (IDiaSymbol subSym in symbols) { Offset thisOffset = Offset.FromDiaSymbol(subSym); if (!thisOffset.IsEqualTo(Offset.Zero)) { symbols.Reset(); return(TranslateUnion2(symbols)); } string name = subSym.name; CType type = TranslateMember(subSym); res.Add(type, name); } return(res); }