Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ MetadataAggregator() [3/4]

System.Reflection.Metadata.Ecma335.MetadataAggregator.MetadataAggregator ( MetadataReader baseReader,
IReadOnlyList< int > baseTableRowCounts,
IReadOnlyList< int > baseHeapSizes,
IReadOnlyList< MetadataReader > deltaReaders )
inlineprivate

Definition at line 39 of file MetadataAggregator.cs.

40 {
41 if (baseTableRowCounts == null)
42 {
43 if (baseReader == null)
44 {
45 throw new ArgumentNullException("baseReader");
46 }
47 if (baseReader.GetTableRowCount(TableIndex.EncMap) != 0)
48 {
50 }
52 }
53 else
54 {
55 if (baseTableRowCounts.Count != MetadataTokens.TableCount)
56 {
57 throw new ArgumentException(System.SR.Format(System.SR.ExpectedListOfSize, MetadataTokens.TableCount), "baseTableRowCounts");
58 }
59 if (baseHeapSizes == null)
60 {
61 throw new ArgumentNullException("baseHeapSizes");
62 }
63 if (baseHeapSizes.Count != MetadataTokens.HeapCount)
64 {
65 throw new ArgumentException(System.SR.Format(System.SR.ExpectedListOfSize, MetadataTokens.HeapCount), "baseTableRowCounts");
66 }
67 }
68 if (deltaReaders == null || deltaReaders.Count == 0)
69 {
70 throw new ArgumentException(System.SR.ExpectedNonEmptyList, "deltaReaders");
71 }
72 for (int i = 0; i < deltaReaders.Count; i++)
73 {
74 if (deltaReaders[i].GetTableRowCount(TableIndex.EncMap) == 0 || !deltaReaders[i].IsMinimalDelta)
75 {
76 throw new ArgumentException(System.SR.ReadersMustBeDeltaReaders, "deltaReaders");
77 }
78 }
81 }
static void CalculateBaseCounts(MetadataReader baseReader, out IReadOnlyList< int > baseTableRowCounts, out IReadOnlyList< int > baseHeapSizes)
static ImmutableArray< ImmutableArray< RowCounts > > CalculateRowCounts(IReadOnlyList< int > baseRowCounts, IReadOnlyList< MetadataReader > deltaReaders)
readonly ImmutableArray< ImmutableArray< RowCounts > > _rowCounts
readonly ImmutableArray< ImmutableArray< int > > _heapSizes
static ImmutableArray< ImmutableArray< int > > CalculateHeapSizes(IReadOnlyList< int > baseSizes, IReadOnlyList< MetadataReader > deltaReaders)
static string ReadersMustBeDeltaReaders
Definition SR.cs:208
static string ExpectedListOfSize
Definition SR.cs:198
static string BaseReaderMustBeFullMetadataReader
Definition SR.cs:192
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string ExpectedNonEmptyList
Definition SR.cs:202
Definition SR.cs:7

References System.Reflection.Metadata.Ecma335.MetadataAggregator._heapSizes, System.Reflection.Metadata.Ecma335.MetadataAggregator._rowCounts, System.SR.BaseReaderMustBeFullMetadataReader, System.Reflection.Metadata.Ecma335.MetadataAggregator.CalculateBaseCounts(), System.Reflection.Metadata.Ecma335.MetadataAggregator.CalculateHeapSizes(), System.Reflection.Metadata.Ecma335.MetadataAggregator.CalculateRowCounts(), System.Collections.Generic.Dictionary< TKey, TValue >.Count, System.SR.ExpectedListOfSize, System.SR.ExpectedNonEmptyList, System.SR.Format(), System.Reflection.Metadata.Ecma335.MetadataTokens.HeapCount, System.SR.ReadersMustBeDeltaReaders, and System.Reflection.Metadata.Ecma335.MetadataTokens.TableCount.