Files
Aug2021-Cpp2IL-Dump/Assembly-CSharp/BestHTTP/JSON/Json.cs
T
2026-04-10 22:50:51 +02:00

482 lines
13 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.Text;
using Cpp2IlInjected;
namespace BestHTTP.JSON
{
// Token: 0x02001F7E RID: 8062
[Token(Token = "0x2001F7E")]
public class Json
{
// Token: 0x0600CC18 RID: 52248 RVA: 0x002EBD48 File Offset: 0x002E9F48
[Token(Token = "0x600CC18")]
[Address(RVA = "0x264F3E0", Offset = "0x264E1E0", VA = "0x18264F3E0")]
public static object Decode(string json)
{
if (json == 0)
{
}
char[] array = json.ToCharArray();
object obj;
return obj;
}
// Token: 0x0600CC19 RID: 52249 RVA: 0x002EBD64 File Offset: 0x002E9F64
[Token(Token = "0x600CC19")]
[Address(RVA = "0x264F430", Offset = "0x264E230", VA = "0x18264F430")]
public static object Decode(string json, ref bool success)
{
if (json == 0)
{
}
char[] array = json.ToCharArray();
object obj;
return obj;
}
// Token: 0x0600CC1A RID: 52250 RVA: 0x002EBD80 File Offset: 0x002E9F80
[Token(Token = "0x600CC1A")]
[Address(RVA = "0x264F510", Offset = "0x264E310", VA = "0x18264F510")]
public static string Encode(object json)
{
StringBuilder stringBuilder = new StringBuilder(2000);
if (Json.SerializeValue(json, stringBuilder))
{
}
throw new NullReferenceException();
}
// Token: 0x0600CC1B RID: 52251 RVA: 0x002EBDAC File Offset: 0x002E9FAC
[Token(Token = "0x600CC1B")]
[Address(RVA = "0x264FC40", Offset = "0x264EA40", VA = "0x18264FC40")]
protected static Dictionary<string, object> ParseObject(char[] json, ref int index, ref bool success)
{
Dictionary<string, object> dictionary = new Dictionary();
int num = Json.NextToken(json, ref index);
int num2;
if (num2 != 0)
{
if (num2 != 6)
{
if (num2 == 2)
{
goto IL_49;
}
string text = Json.ParseString(json, ref index, ref success);
if (Json.NextToken(json, ref index) != 5)
{
goto IL_52;
}
object obj = Json.ParseValue(json, ref index, ref success);
dictionary[text] = obj;
}
int num3 = Json.NextToken(json, ref index);
IL_49:
int num4 = Json.NextToken(json, ref index);
}
IL_52:
throw new NullReferenceException();
}
// Token: 0x0600CC1C RID: 52252 RVA: 0x002EBE14 File Offset: 0x002EA014
[Token(Token = "0x600CC1C")]
[Address(RVA = "0x264F9D0", Offset = "0x264E7D0", VA = "0x18264F9D0")]
protected static List<object> ParseArray(char[] json, ref int index, ref bool success)
{
List<object> list = new List();
int num = Json.NextToken(json, ref index);
int num2;
if (num2 != 0)
{
while (num2 == 6)
{
}
if (num2 != 4)
{
object obj = Json.ParseValue(json, ref index, ref success);
list.Add(obj);
}
}
throw new NullReferenceException();
}
// Token: 0x0600CC1D RID: 52253 RVA: 0x002EBE54 File Offset: 0x002EA054
[Token(Token = "0x600CC1D")]
[Address(RVA = "0x2650090", Offset = "0x264EE90", VA = "0x182650090")]
protected static object ParseValue(char[] json, ref int index, ref bool success)
{
int num;
if (num <= 11)
{
Dictionary<string, object> dictionary = new Dictionary();
int num2 = Json.NextToken(json, ref index);
int num3;
if (num3 != 0)
{
while (num3 == 6)
{
}
if (num3 != 2)
{
string text = Json.ParseString(json, ref index, ref success);
if (Json.NextToken(json, ref index) == 5)
{
object obj = Json.ParseValue(json, ref index, ref success);
dictionary[text] = obj;
}
}
}
int num4 = 0;
success.m_value = num4 != 0;
List<object> list = new List();
int num5 = Json.NextToken(json, ref index);
int num6;
if (num6 != 0)
{
while (num6 == 6)
{
}
if (num6 != 4)
{
object obj2 = Json.ParseValue(json, ref index, ref success);
list.Add(obj2);
}
}
string text2 = Json.ParseString(json, ref index, ref success);
Json.EatWhitespace(json, ref index);
int length = json.Length;
int num7;
if (num7 != -1)
{
}
CultureInfo invariantCulture = CultureInfo.InvariantCulture;
bool flag;
success.m_value = flag;
}
throw new NullReferenceException();
}
// Token: 0x0600CC1E RID: 52254 RVA: 0x002EBF28 File Offset: 0x002EA128
[Token(Token = "0x600CC1E")]
[Address(RVA = "0x264FD70", Offset = "0x264EB70", VA = "0x18264FD70")]
protected static string ParseString(char[] json, ref int index, ref bool success)
{
int num = 0;
uint num2;
StringBuilder stringBuilder = new StringBuilder((int)num2);
Json.EatWhitespace(json, ref index);
index.m_value = stringBuilder;
index.m_value = stringBuilder;
int length = json.Length;
if (stringBuilder != length)
{
index.m_value = length;
int num3 = json.Length;
num3 -= length;
CultureInfo invariantCulture = CultureInfo.InvariantCulture;
bool flag;
success.m_value = flag;
if (flag)
{
string text = char.ConvertFromUtf32(num);
StringBuilder stringBuilder2 = stringBuilder.Append(text);
}
return "";
}
success.m_value = num != 0;
throw new IndexOutOfRangeException();
}
// Token: 0x0600CC1F RID: 52255 RVA: 0x002EBFC0 File Offset: 0x002EA1C0
[Token(Token = "0x600CC1F")]
[Address(RVA = "0x264FAD0", Offset = "0x264E8D0", VA = "0x18264FAD0")]
protected static double ParseNumber(char[] json, ref int index, ref bool success)
{
Json.EatWhitespace(json, ref index);
int length = json.Length;
int num;
if (num != -1)
{
}
CultureInfo invariantCulture = CultureInfo.InvariantCulture;
bool flag;
success.m_value = flag;
throw new NullReferenceException();
}
// Token: 0x0600CC20 RID: 52256 RVA: 0x002EBFFC File Offset: 0x002EA1FC
[Token(Token = "0x600CC20")]
[Address(RVA = "0x264F5A0", Offset = "0x264E3A0", VA = "0x18264F5A0")]
protected static int GetLastIndexOfNumber(char[] json, int index)
{
int length = json.Length;
if (index < length)
{
char c = json[index];
int num;
if (num != -1)
{
}
}
return index - 1;
}
// Token: 0x0600CC21 RID: 52257 RVA: 0x002EC02C File Offset: 0x002EA22C
[Token(Token = "0x600CC21")]
[Address(RVA = "0x264F480", Offset = "0x264E280", VA = "0x18264F480")]
protected static void EatWhitespace(char[] json, ref int index)
{
int length = json.Length;
int num;
if (num != -1)
{
}
}
// Token: 0x0600CC22 RID: 52258 RVA: 0x002EC04C File Offset: 0x002EA24C
[Token(Token = "0x600CC22")]
[Address(RVA = "0x264F630", Offset = "0x264E430", VA = "0x18264F630")]
protected static int LookAhead(char[] json, int index)
{
return Json.NextToken(json, index);
}
// Token: 0x0600CC23 RID: 52259 RVA: 0x002EC060 File Offset: 0x002EA260
[Token(Token = "0x600CC23")]
[Address(RVA = "0x264F650", Offset = "0x264E450", VA = "0x18264F650")]
protected static int NextToken(char[] json, ref int index)
{
Json.EatWhitespace(json, ref index);
char c;
index.m_value = (int)c;
uint num;
index.m_value = (int)num;
uint num2;
index.m_value = (int)num2;
uint num3;
index.m_value = (int)num3;
return 0;
}
// Token: 0x0600CC24 RID: 52260 RVA: 0x002EC09C File Offset: 0x002EA29C
[Token(Token = "0x600CC24")]
[Address(RVA = "0x2650A90", Offset = "0x264F890", VA = "0x182650A90")]
protected static bool SerializeValue(object value, StringBuilder builder)
{
for (;;)
{
int num = 0;
if (value == 0 || value == 0 || value != 0)
{
if (value != 0)
{
if (value != 0)
{
StringBuilder stringBuilder = builder.Append("true");
}
if (value != 0)
{
StringBuilder stringBuilder2 = builder.Append("false");
}
}
if (value != 0)
{
}
StringBuilder stringBuilder3 = builder.Append("null");
double num2 = Convert.ToDouble(value);
CultureInfo invariantCulture = CultureInfo.InvariantCulture;
string text = Convert.ToString(num2, invariantCulture);
StringBuilder stringBuilder4 = builder.Append("[");
if (num < stringBuilder4)
{
if ((ulong)1L == 0UL)
{
StringBuilder stringBuilder5 = builder.Append(", ");
}
if (!Json.SerializeValue(stringBuilder4, builder))
{
return true;
}
num++;
}
if (value != 0)
{
}
StringBuilder stringBuilder6 = builder.Append("{");
if (stringBuilder6 == 0)
{
break;
}
int hashCode = stringBuilder6.GetHashCode();
if ((ulong)1L == 0UL)
{
StringBuilder stringBuilder7 = builder.Append(", ");
}
StringBuilder stringBuilder8 = builder.Append(":");
if (Json.SerializeValue(hashCode, builder))
{
break;
}
}
}
StringBuilder stringBuilder9 = builder.Append("}");
return true;
}
// Token: 0x0600CC25 RID: 52261 RVA: 0x002EC198 File Offset: 0x002EA398
[Token(Token = "0x600CC25")]
[Address(RVA = "0x2650680", Offset = "0x264F480", VA = "0x182650680")]
protected static bool SerializeObject(IDictionary anObject, StringBuilder builder)
{
StringBuilder stringBuilder = builder.Append("{");
if (stringBuilder != 0)
{
int hashCode = stringBuilder.GetHashCode();
if ((ulong)1L == 0UL)
{
StringBuilder stringBuilder2 = builder.Append(", ");
}
StringBuilder stringBuilder3 = builder.Append(":");
if (Json.SerializeValue(hashCode, builder))
{
}
}
StringBuilder stringBuilder4 = builder.Append("}");
throw new NullReferenceException();
}
// Token: 0x0600CC26 RID: 52262 RVA: 0x002EC1FC File Offset: 0x002EA3FC
[Token(Token = "0x600CC26")]
[Address(RVA = "0x26504C0", Offset = "0x264F2C0", VA = "0x1826504C0")]
protected static bool SerializeArray(IList anArray, StringBuilder builder)
{
StringBuilder stringBuilder = builder.Append("[");
int num = 0;
if (num < stringBuilder)
{
if ((ulong)1L == 0UL)
{
StringBuilder stringBuilder2 = builder.Append(", ");
}
if (Json.SerializeValue(stringBuilder, builder))
{
num++;
}
}
StringBuilder stringBuilder3 = builder.Append("]");
throw new NullReferenceException();
}
// Token: 0x0600CC27 RID: 52263 RVA: 0x002EC250 File Offset: 0x002EA450
[Token(Token = "0x600CC27")]
[Address(RVA = "0x26507F0", Offset = "0x264F5F0", VA = "0x1826507F0")]
protected static bool SerializeString(string aString, StringBuilder builder)
{
StringBuilder stringBuilder = builder.Append("\"");
char[] array = aString.ToCharArray();
int num = 0;
int length = array.Length;
if (num < length)
{
char c = array[num];
string text = Convert.ToString((int)Convert.ToChar((ushort)c), 16);
string text3;
string text2 = "\\u" + text3;
StringBuilder stringBuilder2 = builder.Append(text2);
num++;
StringBuilder stringBuilder3 = builder.Append(c);
num++;
StringBuilder stringBuilder4 = builder.Append("\\t");
num++;
StringBuilder stringBuilder5 = builder.Append("\\r");
num++;
StringBuilder stringBuilder6 = builder.Append("\\n");
num++;
StringBuilder stringBuilder7 = builder.Append("\\f");
num++;
StringBuilder stringBuilder8 = builder.Append("\\b");
num++;
StringBuilder stringBuilder9 = builder.Append("\\\\");
num++;
StringBuilder stringBuilder10 = builder.Append("\\\"");
num++;
}
StringBuilder stringBuilder11 = builder.Append("\"");
return true;
}
// Token: 0x0600CC28 RID: 52264 RVA: 0x002EC350 File Offset: 0x002EA550
[Token(Token = "0x600CC28")]
[Address(RVA = "0x26505D0", Offset = "0x264F3D0", VA = "0x1826505D0")]
protected static bool SerializeNumber(double number, StringBuilder builder)
{
CultureInfo invariantCulture = CultureInfo.InvariantCulture;
string text = Convert.ToString(number, invariantCulture);
StringBuilder stringBuilder = builder.Append(text);
return true;
}
// Token: 0x0600CC29 RID: 52265 RVA: 0x002EC37C File Offset: 0x002EA57C
[Token(Token = "0x600CC29")]
[Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")]
public Json()
{
}
// Token: 0x0400821D RID: 33309
[Token(Token = "0x400821D")]
private const int TOKEN_NONE = 0;
// Token: 0x0400821E RID: 33310
[Token(Token = "0x400821E")]
private const int TOKEN_CURLY_OPEN = 1;
// Token: 0x0400821F RID: 33311
[Token(Token = "0x400821F")]
private const int TOKEN_CURLY_CLOSE = 2;
// Token: 0x04008220 RID: 33312
[Token(Token = "0x4008220")]
private const int TOKEN_SQUARED_OPEN = 3;
// Token: 0x04008221 RID: 33313
[Token(Token = "0x4008221")]
private const int TOKEN_SQUARED_CLOSE = 4;
// Token: 0x04008222 RID: 33314
[Token(Token = "0x4008222")]
private const int TOKEN_COLON = 5;
// Token: 0x04008223 RID: 33315
[Token(Token = "0x4008223")]
private const int TOKEN_COMMA = 6;
// Token: 0x04008224 RID: 33316
[Token(Token = "0x4008224")]
private const int TOKEN_STRING = 7;
// Token: 0x04008225 RID: 33317
[Token(Token = "0x4008225")]
private const int TOKEN_NUMBER = 8;
// Token: 0x04008226 RID: 33318
[Token(Token = "0x4008226")]
private const int TOKEN_TRUE = 9;
// Token: 0x04008227 RID: 33319
[Token(Token = "0x4008227")]
private const int TOKEN_FALSE = 10;
// Token: 0x04008228 RID: 33320
[Token(Token = "0x4008228")]
private const int TOKEN_NULL = 11;
// Token: 0x04008229 RID: 33321
[Token(Token = "0x4008229")]
private const int BUILDER_CAPACITY = 2000;
}
}