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

◆ DecodeArrayType()

TType System.Reflection.Metadata.Ecma335.SignatureDecoder< TType, TGenericContext >.DecodeArrayType ( ref BlobReader blobReader)
inlineprivate

Definition at line 180 of file SignatureDecoder.cs.

181 {
182 TType elementType = DecodeType(ref blobReader);
183 int rank = blobReader.ReadCompressedInteger();
186 int num = blobReader.ReadCompressedInteger();
187 if (num > 0)
188 {
189 ImmutableArray<int>.Builder builder = ImmutableArray.CreateBuilder<int>(num);
190 for (int i = 0; i < num; i++)
191 {
192 builder.Add(blobReader.ReadCompressedInteger());
193 }
194 sizes = builder.MoveToImmutable();
195 }
196 int num2 = blobReader.ReadCompressedInteger();
197 if (num2 > 0)
198 {
199 ImmutableArray<int>.Builder builder2 = ImmutableArray.CreateBuilder<int>(num2);
200 for (int j = 0; j < num2; j++)
201 {
202 builder2.Add(blobReader.ReadCompressedSignedInteger());
203 }
204 lowerBounds = builder2.MoveToImmutable();
205 }
206 ArrayShape shape = new ArrayShape(rank, sizes, lowerBounds);
207 return _provider.GetArrayType(elementType, shape);
208 }
static readonly ImmutableArray< T > Empty
readonly ISignatureTypeProvider< TType, TGenericContext > _provider
TType DecodeType(ref BlobReader blobReader, bool allowTypeSpecifications=false)

References System.Reflection.Metadata.Ecma335.SignatureDecoder< TType, TGenericContext >._provider, System.Collections.Immutable.ImmutableArray< T >.Add(), System.Reflection.Metadata.Ecma335.SignatureDecoder< TType, TGenericContext >.DecodeType(), System.elementType, System.Collections.Immutable.ImmutableArray< T >.Empty, and System.lowerBounds.

Referenced by System.Reflection.Metadata.Ecma335.SignatureDecoder< TType, TGenericContext >.DecodeType().