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

◆ SkipMultiLineCommentMultiSegment()

bool System.Text.Json.Utf8JsonReader.SkipMultiLineCommentMultiSegment ( ReadOnlySpan< byte > localBuffer)
inlineprivate

Definition at line 3941 of file Utf8JsonReader.cs.

3942 {
3943 bool flag = false;
3944 bool flag2 = false;
3945 while (true)
3946 {
3947 if (flag)
3948 {
3949 if (localBuffer[0] == 47)
3950 {
3951 _consumed++;
3953 return true;
3954 }
3955 flag = false;
3956 }
3957 if (flag2)
3958 {
3959 if (localBuffer[0] == 10)
3960 {
3961 _consumed++;
3962 localBuffer = localBuffer.Slice(1);
3963 }
3964 flag2 = false;
3965 }
3966 int num = localBuffer.IndexOfAny<byte>(42, 10, 13);
3967 if (num != -1)
3968 {
3969 int num2 = num + 1;
3970 byte b = localBuffer[num];
3971 localBuffer = localBuffer.Slice(num2);
3972 _consumed += num2;
3973 switch (b)
3974 {
3975 case 42:
3976 flag = true;
3978 break;
3979 case 10:
3981 _lineNumber++;
3982 break;
3983 default:
3985 _lineNumber++;
3986 flag2 = true;
3987 break;
3988 }
3989 }
3990 else
3991 {
3992 _consumed += localBuffer.Length;
3994 localBuffer = ReadOnlySpan<byte>.Empty;
3995 }
3996 if (!localBuffer.IsEmpty)
3997 {
3998 continue;
3999 }
4000 if (IsLastSpan)
4001 {
4002 ThrowHelper.ThrowJsonReaderException(ref this, ExceptionResource.UnexpectedEndOfDataWhileReadingComment, 0);
4003 }
4004 if (!GetNextSpan())
4005 {
4006 if (!IsLastSpan)
4007 {
4008 break;
4009 }
4010 ThrowHelper.ThrowJsonReaderException(ref this, ExceptionResource.UnexpectedEndOfDataWhileReadingComment, 0);
4011 }
4013 }
4014 return false;
4015 }

References System.Text.Json.Utf8JsonReader._buffer, System.Text.Json.Utf8JsonReader._bytePositionInLine, System.Text.Json.Utf8JsonReader._consumed, System.Text.Json.Utf8JsonReader._lineNumber, System.Text.Json.Dictionary, System.ReadOnlySpan< T >.Empty, System.Text.Json.Utf8JsonReader.GetNextSpan(), System.Text.Json.Utf8JsonReader.IsLastSpan, System.L, and System.Text.Json.ThrowHelper.ThrowJsonReaderException().

Referenced by System.Text.Json.Utf8JsonReader.SkipCommentMultiSegment().