using System; namespace Google.Protobuf { // Token: 0x02000011 RID: 17 internal sealed class JsonToken : IEquatable { // Token: 0x17000018 RID: 24 // (get) Token: 0x0600010D RID: 269 RVA: 0x00007245 File Offset: 0x00005445 internal static JsonToken Null { get { return JsonToken._null; } } // Token: 0x17000019 RID: 25 // (get) Token: 0x0600010E RID: 270 RVA: 0x0000724C File Offset: 0x0000544C internal static JsonToken False { get { return JsonToken._false; } } // Token: 0x1700001A RID: 26 // (get) Token: 0x0600010F RID: 271 RVA: 0x00007253 File Offset: 0x00005453 internal static JsonToken True { get { return JsonToken._true; } } // Token: 0x1700001B RID: 27 // (get) Token: 0x06000110 RID: 272 RVA: 0x0000725A File Offset: 0x0000545A internal static JsonToken StartObject { get { return JsonToken.startObject; } } // Token: 0x1700001C RID: 28 // (get) Token: 0x06000111 RID: 273 RVA: 0x00007261 File Offset: 0x00005461 internal static JsonToken EndObject { get { return JsonToken.endObject; } } // Token: 0x1700001D RID: 29 // (get) Token: 0x06000112 RID: 274 RVA: 0x00007268 File Offset: 0x00005468 internal static JsonToken StartArray { get { return JsonToken.startArray; } } // Token: 0x1700001E RID: 30 // (get) Token: 0x06000113 RID: 275 RVA: 0x0000726F File Offset: 0x0000546F internal static JsonToken EndArray { get { return JsonToken.endArray; } } // Token: 0x1700001F RID: 31 // (get) Token: 0x06000114 RID: 276 RVA: 0x00007276 File Offset: 0x00005476 internal static JsonToken EndDocument { get { return JsonToken.endDocument; } } // Token: 0x06000115 RID: 277 RVA: 0x0000727D File Offset: 0x0000547D internal static JsonToken Name(string name) { return new JsonToken(JsonToken.TokenType.Name, name, 0.0); } // Token: 0x06000116 RID: 278 RVA: 0x0000728F File Offset: 0x0000548F internal static JsonToken Value(string value) { return new JsonToken(JsonToken.TokenType.StringValue, value, 0.0); } // Token: 0x06000117 RID: 279 RVA: 0x000072A1 File Offset: 0x000054A1 internal static JsonToken Value(double value) { return new JsonToken(JsonToken.TokenType.Number, null, value); } // Token: 0x17000020 RID: 32 // (get) Token: 0x06000118 RID: 280 RVA: 0x000072AB File Offset: 0x000054AB internal JsonToken.TokenType Type { get { return this.type; } } // Token: 0x17000021 RID: 33 // (get) Token: 0x06000119 RID: 281 RVA: 0x000072B3 File Offset: 0x000054B3 internal string StringValue { get { return this.stringValue; } } // Token: 0x17000022 RID: 34 // (get) Token: 0x0600011A RID: 282 RVA: 0x000072BB File Offset: 0x000054BB internal double NumberValue { get { return this.numberValue; } } // Token: 0x0600011B RID: 283 RVA: 0x000072C3 File Offset: 0x000054C3 private JsonToken(JsonToken.TokenType type, string stringValue = null, double numberValue = 0.0) { this.type = type; this.stringValue = stringValue; this.numberValue = numberValue; } // Token: 0x0600011C RID: 284 RVA: 0x000072E0 File Offset: 0x000054E0 public override bool Equals(object obj) { return this.Equals(obj as JsonToken); } // Token: 0x0600011D RID: 285 RVA: 0x000072F0 File Offset: 0x000054F0 public override int GetHashCode() { return (((int)(((JsonToken.TokenType)17 * (JsonToken.TokenType)31 + (int)this.type) * (JsonToken.TokenType)31) + this.stringValue == null) ? 0 : this.stringValue.GetHashCode()) * 31 + this.numberValue.GetHashCode(); } // Token: 0x0600011E RID: 286 RVA: 0x00007340 File Offset: 0x00005540 public override string ToString() { switch (this.type) { case JsonToken.TokenType.Null: return "null"; case JsonToken.TokenType.False: return "false"; case JsonToken.TokenType.True: return "true"; case JsonToken.TokenType.StringValue: return "value (" + this.stringValue + ")"; case JsonToken.TokenType.Number: return "number (" + this.numberValue + ")"; case JsonToken.TokenType.Name: return "name (" + this.stringValue + ")"; case JsonToken.TokenType.StartObject: return "start-object"; case JsonToken.TokenType.EndObject: return "end-object"; case JsonToken.TokenType.StartArray: return "start-array"; case JsonToken.TokenType.EndArray: return "end-array"; case JsonToken.TokenType.EndDocument: return "end-document"; default: throw new InvalidOperationException("Token is of unknown type " + this.type); } } // Token: 0x0600011F RID: 287 RVA: 0x0000741C File Offset: 0x0000561C public bool Equals(JsonToken other) { return other != null && (other.type == this.type && other.stringValue == this.stringValue) && other.numberValue.Equals(this.numberValue); } // Token: 0x0400003B RID: 59 private static readonly JsonToken _true = new JsonToken(JsonToken.TokenType.True, null, 0.0); // Token: 0x0400003C RID: 60 private static readonly JsonToken _false = new JsonToken(JsonToken.TokenType.False, null, 0.0); // Token: 0x0400003D RID: 61 private static readonly JsonToken _null = new JsonToken(JsonToken.TokenType.Null, null, 0.0); // Token: 0x0400003E RID: 62 private static readonly JsonToken startObject = new JsonToken(JsonToken.TokenType.StartObject, null, 0.0); // Token: 0x0400003F RID: 63 private static readonly JsonToken endObject = new JsonToken(JsonToken.TokenType.EndObject, null, 0.0); // Token: 0x04000040 RID: 64 private static readonly JsonToken startArray = new JsonToken(JsonToken.TokenType.StartArray, null, 0.0); // Token: 0x04000041 RID: 65 private static readonly JsonToken endArray = new JsonToken(JsonToken.TokenType.EndArray, null, 0.0); // Token: 0x04000042 RID: 66 private static readonly JsonToken endDocument = new JsonToken(JsonToken.TokenType.EndDocument, null, 0.0); // Token: 0x04000043 RID: 67 private readonly JsonToken.TokenType type; // Token: 0x04000044 RID: 68 private readonly string stringValue; // Token: 0x04000045 RID: 69 private readonly double numberValue; // Token: 0x02000081 RID: 129 internal enum TokenType { // Token: 0x040002A0 RID: 672 Null, // Token: 0x040002A1 RID: 673 False, // Token: 0x040002A2 RID: 674 True, // Token: 0x040002A3 RID: 675 StringValue, // Token: 0x040002A4 RID: 676 Number, // Token: 0x040002A5 RID: 677 Name, // Token: 0x040002A6 RID: 678 StartObject, // Token: 0x040002A7 RID: 679 EndObject, // Token: 0x040002A8 RID: 680 StartArray, // Token: 0x040002A9 RID: 681 EndArray, // Token: 0x040002AA RID: 682 EndDocument } } }