public SymbolGroup GetSymbolGroup(int levels) { var count = GetSymbolCount(); uint start = 0; var parameters = GetSymbolParameters(start, count); start = count; var entries = new DEBUG_SYMBOL_ENTRY[count]; var symbolGroup = new SymbolGroup(); for (uint j = 0; j < GetSymbolCount(); j++) { var entry = GetSymbolEntryInformation(j); var parameter = parameters[j]; entries[j] = entry; var nameSize = entry.NameSize; var name = GetSymbolName(j, nameSize == 0 ? 50 : nameSize); var typeName = GetSymbolTypeName(j); var strValue = GetSymbolStringValue(j); var size = GetSymbolSize(j); var sym = new SymbolValue(name, typeName, strValue, size, entry, parameters[j]); symbolGroup.AddSymbol(sym); if (sym.ExpansionDepth < levels - 1) { ExpandSymbol(j); } } return(symbolGroup); }
public void AddSymbol(SymbolValue symbol) { _symbols.Add(symbol); }