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

◆ Expand()

void System.Reflection.Metadata.BlobBuilder.Expand ( int newLength)
inlineprivateinherited

Definition at line 461 of file BlobBuilder.cs.

462 {
463 if (!IsHead)
464 {
465 Throw.InvalidOperationBuilderAlreadyLinked();
466 }
468 if (blobBuilder.ChunkCapacity < newLength)
469 {
470 throw new InvalidOperationException(System.SR.Format(System.SR.ReturnedBuilderSizeTooSmall, GetType(), "AllocateChunk"));
471 }
472 byte[] buffer = blobBuilder._buffer;
473 if (_length == 0)
474 {
475 blobBuilder._buffer = _buffer;
476 _buffer = buffer;
477 }
478 else
479 {
482 if (nextOrPrevious == this)
483 {
485 }
486 else
487 {
488 blobBuilder._nextOrPrevious = firstChunk;
489 nextOrPrevious._nextOrPrevious = blobBuilder;
491 }
492 blobBuilder._buffer = _buffer;
493 blobBuilder._length = FrozenLength;
494 blobBuilder._previousLengthOrFrozenSuffixLengthDelta = PreviousLength;
495 _buffer = buffer;
497 _length = 0u;
498 }
500 }
virtual BlobBuilder AllocateChunk(int minimalSize)
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string ReturnedBuilderSizeTooSmall
Definition SR.cs:184
Definition SR.cs:7

References System.Reflection.Metadata.BlobBuilder._buffer, System.Reflection.Metadata.BlobBuilder._length, System.Reflection.Metadata.BlobBuilder._nextOrPrevious, System.Reflection.Metadata.BlobBuilder.AllocateChunk(), System.buffer, System.Reflection.Metadata.BlobBuilder.CheckInvariants(), System.Reflection.Metadata.BlobBuilder.FirstChunk, System.SR.Format(), System.Reflection.Metadata.BlobBuilder.FrozenLength, System.Reflection.Throw.InvalidOperationBuilderAlreadyLinked(), System.Reflection.Metadata.BlobBuilder.IsHead, System.Reflection.Metadata.BlobBuilder.Length, System.Math.Max(), System.Reflection.Metadata.BlobBuilder.PreviousLength, and System.SR.ReturnedBuilderSizeTooSmall.

Referenced by System.Reflection.Metadata.BlobBuilder.ReserveBytesImpl(), System.Reflection.Metadata.BlobBuilder.TryWriteBytes(), System.Reflection.Metadata.BlobBuilder.WriteBytes(), System.Reflection.Metadata.BlobBuilder.WriteBytesUnchecked(), and System.Reflection.Metadata.BlobBuilder.WriteUTF8().