public CStruct TranslateStruct(IDiaSymbol sym)
{
IDiaEnumSymbols symbols;
sym.findChildren(SymTagEnum.SymTagData, null, 0, out symbols);
CStruct res = new CStruct();
Offset lastOffset = Offset.Neg;
foreach (IDiaSymbol subSym in symbols)
{
Offset thisOffset = Offset.FromDiaSymbol(subSym);
if (thisOffset.IsLessThanOrEqualTo(lastOffset))
{
symbols.Reset();
return(TranslateStruct2(symbols));
}
string name = subSym.name;
CType type = TranslateMember(subSym);
res.Add(type, name, thisOffset);
lastOffset = thisOffset;
}
return(res);
}