IStructuralNodeTemplate CreateTableListNode(MetaDataTableCodes[] codes, HeapSizeFlags heapSizes) { var tables = new CompoundNodeTemplate(); var statistics = new MetaDataTableStatistics(GetRowCounts(codes), heapSizes); for (var i = 0; i < codes.Length; i++) { var code = codes[i]; var rowCount = statistics.GetRowCount(code); if (rowCount <= 0) { continue; } var rowTemplate = CreateRowTemplate(statistics, code); if (rowTemplate == null) { tables.Add(code + " Not Yet Implemented", StandardTemplates.UInt8); return(tables); } tables.Add(code.ToString(), new RepeatingNodeTemplate(rowTemplate, rowCount, GetMetaDataTokenFormatter(code))); } return(tables); }
static IStructuralNodeTemplate CreateRowHeader(MetaDataTableCodes[] codes) { var result = new CompoundNodeTemplate(); for (var i = 0; i < codes.Length; i++) { result.Add(codes[i].ToString(), StandardTemplates.UInt32); } return(result); }