8[DebuggerDisplay(
"{GetDebuggerDisplay(),nq}")]
65 if (
Offset < displayedBytes)
67 return debuggerDisplay.Insert(
Offset * 3,
"*");
71 return debuggerDisplay +
"*";
73 return debuggerDisplay +
"*...";
81 public void Align(
byte alignment)
91 int num =
Offset & (alignment - 1);
94 int num2 = alignment - num;
128 return currentPointer;
140 return currentPointer;
161 return (
char)(*currentPointerAndAdvance + (currentPointerAndAdvance[1] << 8));
167 return (
short)(*currentPointerAndAdvance + (currentPointerAndAdvance[1] << 8));
173 return (ushort)(*currentPointerAndAdvance + (currentPointerAndAdvance[1] << 8));
179 return *currentPointerAndAdvance + (currentPointerAndAdvance[1] << 8) + (currentPointerAndAdvance[2] << 16) + (currentPointerAndAdvance[3] << 24);
185 return (uint)(*currentPointerAndAdvance + (currentPointerAndAdvance[1] << 8) + (currentPointerAndAdvance[2] << 16) + (currentPointerAndAdvance[3] << 24));
191 uint num = (uint)(*currentPointerAndAdvance + (currentPointerAndAdvance[1] << 8) + (currentPointerAndAdvance[2] << 16) + (currentPointerAndAdvance[3] << 24));
192 uint num2 = (uint)(currentPointerAndAdvance[4] + (currentPointerAndAdvance[5] << 8) + (currentPointerAndAdvance[6] << 16) + (currentPointerAndAdvance[7] << 24));
193 return (
long)(num + ((ulong)num2 << 32));
204 return *(
float*)(&num);
210 return *(
double*)(&num);
218 return *(
Guid*)currentPointerAndAdvance;
220 return new Guid(*currentPointerAndAdvance | (currentPointerAndAdvance[1] << 8) | (currentPointerAndAdvance[2] << 16) | (currentPointerAndAdvance[3] << 24), (
short)(currentPointerAndAdvance[4] | (currentPointerAndAdvance[5] << 8)), (
short)(currentPointerAndAdvance[6] | (currentPointerAndAdvance[7] << 8)), currentPointerAndAdvance[8], currentPointerAndAdvance[9], currentPointerAndAdvance[10], currentPointerAndAdvance[11], currentPointerAndAdvance[12], currentPointerAndAdvance[13], currentPointerAndAdvance[14], currentPointerAndAdvance[15]);
226 byte b = (byte)(*currentPointerAndAdvance & 0x7Fu);
231 return new decimal(currentPointerAndAdvance[1] | (currentPointerAndAdvance[2] << 8) | (currentPointerAndAdvance[3] << 16) | (currentPointerAndAdvance[4] << 24), currentPointerAndAdvance[5] | (currentPointerAndAdvance[6] << 8) | (currentPointerAndAdvance[7] << 16) | (currentPointerAndAdvance[8] << 24), currentPointerAndAdvance[9] | (currentPointerAndAdvance[10] << 8) | (currentPointerAndAdvance[11] << 16) | (currentPointerAndAdvance[12] << 24), (*currentPointerAndAdvance & 0x80) != 0, b);
283 int numberOfBytesRead;
291 int numberOfBytesRead;
300 return value !=
int.MaxValue;
319 bool flag = (
value & 1) != 0;
323 switch (numberOfBytesRead)
362 if ((uint)(num - 17) <= 1u)
390 if (num ==
int.
MaxValue || num2 == 0)
static readonly bool IsLittleEndian
static void InvalidSerializedString()
static void OutOfBounds()
static void InvalidCompressedInteger()
static void Copy(int[] source, int startIndex, IntPtr destination, int length)
static string ValueTooLarge
static string InvalidConstantValue
unsafe int IndexOfUnchecked(byte b, int start)
unsafe string PeekUtf16(int offset, int byteCount)
unsafe readonly byte * Pointer
unsafe int PeekCompressedInteger(int offset, out int numberOfBytesRead)
unsafe string GetDebuggerDisplay()
unsafe byte[] PeekBytes(int offset, int byteCount)
unsafe string PeekUtf8NullTerminated(int offset, byte[]? prefix, MetadataStringDecoder utf8Decoder, out int numberOfBytesRead, char terminator='\0')
unsafe string PeekUtf8(int offset, int byteCount)