Example #1
0
        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);
        }
Example #2
0
        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);
        }