private object DeserializeInternal(int depth) { if (++depth > this._depthLimit) { throw new ArgumentException(this._s.GetDebugString("RecursionLimit exceeded.")); } char?nextNonEmptyChar = this._s.GetNextNonEmptyChar(); char?nullable = nextNonEmptyChar; if (!(nullable.HasValue ? new int?((int)nullable.GetValueOrDefault()) : new int?()).HasValue) { return((object)null); } this._s.MovePrev(); if (this.IsNextElementDateTime()) { return(this.DeserializeStringIntoDateTime()); } if (JavaScriptObjectDeserializer.IsNextElementObject(nextNonEmptyChar)) { IDictionary <string, object> dictionary = this.DeserializeDictionary(depth); return(!dictionary.ContainsKey("__type") ? (object)dictionary : throw new Exception("kevin can't implement this action")); } if (JavaScriptObjectDeserializer.IsNextElementArray(nextNonEmptyChar)) { return((object)this.DeserializeList(depth)); } return(JavaScriptObjectDeserializer.IsNextElementString(nextNonEmptyChar) ? (object)this.DeserializeString() : this.DeserializePrimitiveObject()); }
private string DeserializeMemberName() { char?nextNonEmptyChar = this._s.GetNextNonEmptyChar(); char?nullable = nextNonEmptyChar; if (!(nullable.HasValue ? new int?((int)nullable.GetValueOrDefault()) : new int?()).HasValue) { return((string)null); } this._s.MovePrev(); return(JavaScriptObjectDeserializer.IsNextElementString(nextNonEmptyChar) ? this.DeserializeString() : this.DeserializePrimitiveToken()); }