protected virtual JsonContract CreateContract(Type objectType) { Type type = Class194.smethod_11(objectType); if (smethod_0(objectType)) { return(this.CreatePrimitiveContract(objectType)); } if (Class139.smethod_1(type) == null) { if (Class139.smethod_2(type) != null) { return(this.CreateArrayContract(objectType)); } if (Class139.smethod_3(type) != null) { return(this.CreateDictionaryContract(objectType)); } if ((type == typeof(JToken)) || type.IsSubclassOf(typeof(JToken))) { return(this.CreateLinqContract(objectType)); } if (Class191.smethod_2(type)) { return(this.CreateDictionaryContract(objectType)); } if (typeof(IEnumerable).IsAssignableFrom(type)) { return(this.CreateArrayContract(objectType)); } if (smethod_2(type)) { return(this.CreateStringContract(objectType)); } if (!this.IgnoreSerializableInterface && typeof(ISerializable).IsAssignableFrom(type)) { return(this.CreateISerializableContract(objectType)); } if (typeof(IDynamicMetaObjectProvider).IsAssignableFrom(type)) { return(this.CreateDynamicContract(objectType)); } if (smethod_1(type)) { return(this.CreatePrimitiveContract(type)); } } return(this.CreateObjectContract(objectType)); }