Merge cast with type check
This commit is contained in:
@@ -262,33 +262,33 @@ namespace LitJson
|
||||
|
||||
public JsonData (object obj)
|
||||
{
|
||||
if (obj is Boolean) {
|
||||
if (obj is bool b) {
|
||||
type = JsonType.Boolean;
|
||||
inst_boolean = (bool) obj;
|
||||
inst_boolean = b;
|
||||
return;
|
||||
}
|
||||
|
||||
if (obj is Double) {
|
||||
if (obj is double d) {
|
||||
type = JsonType.Double;
|
||||
inst_double = (double) obj;
|
||||
inst_double = d;
|
||||
return;
|
||||
}
|
||||
|
||||
if (obj is Int32) {
|
||||
if (obj is int i) {
|
||||
type = JsonType.Int;
|
||||
inst_int = (int) obj;
|
||||
inst_int = i;
|
||||
return;
|
||||
}
|
||||
|
||||
if (obj is Int64) {
|
||||
if (obj is long l) {
|
||||
type = JsonType.Long;
|
||||
inst_long = (long) obj;
|
||||
inst_long = l;
|
||||
return;
|
||||
}
|
||||
|
||||
if (obj is String) {
|
||||
if (obj is string s) {
|
||||
type = JsonType.String;
|
||||
inst_string = (string) obj;
|
||||
inst_string = s;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -658,8 +658,8 @@ namespace LitJson
|
||||
if (obj == null)
|
||||
return null;
|
||||
|
||||
if (obj is JsonData)
|
||||
return (JsonData) obj;
|
||||
if (obj is JsonData data)
|
||||
return data;
|
||||
|
||||
return new JsonData (obj);
|
||||
}
|
||||
|
||||
@@ -672,44 +672,44 @@ namespace LitJson
|
||||
return;
|
||||
}
|
||||
|
||||
if (obj is IJsonWrapper) {
|
||||
if (obj is IJsonWrapper wrapper) {
|
||||
if (writer_is_private)
|
||||
writer.TextWriter.Write (((IJsonWrapper) obj).ToJson ());
|
||||
writer.TextWriter.Write (wrapper.ToJson ());
|
||||
else
|
||||
((IJsonWrapper) obj).ToJson (writer);
|
||||
wrapper.ToJson (writer);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (obj is String) {
|
||||
writer.Write ((string) obj);
|
||||
if (obj is string s) {
|
||||
writer.Write (s);
|
||||
return;
|
||||
}
|
||||
|
||||
if (obj is Double) {
|
||||
writer.Write ((double) obj);
|
||||
if (obj is double d) {
|
||||
writer.Write (d);
|
||||
return;
|
||||
}
|
||||
|
||||
if (obj is Int32) {
|
||||
writer.Write ((int) obj);
|
||||
if (obj is int i) {
|
||||
writer.Write (i);
|
||||
return;
|
||||
}
|
||||
|
||||
if (obj is Boolean) {
|
||||
writer.Write ((bool) obj);
|
||||
if (obj is bool b) {
|
||||
writer.Write (b);
|
||||
return;
|
||||
}
|
||||
|
||||
if (obj is Int64) {
|
||||
writer.Write ((long) obj);
|
||||
if (obj is long l) {
|
||||
writer.Write (l);
|
||||
return;
|
||||
}
|
||||
|
||||
if (obj is Array) {
|
||||
if (obj is Array array) {
|
||||
writer.WriteArrayStart ();
|
||||
|
||||
foreach (object elem in (Array) obj)
|
||||
foreach (object elem in array)
|
||||
WriteValue (elem, writer, writer_is_private, depth + 1);
|
||||
|
||||
writer.WriteArrayEnd ();
|
||||
@@ -717,18 +717,18 @@ namespace LitJson
|
||||
return;
|
||||
}
|
||||
|
||||
if (obj is IList) {
|
||||
if (obj is IList list) {
|
||||
writer.WriteArrayStart ();
|
||||
foreach (object elem in (IList) obj)
|
||||
foreach (object elem in list)
|
||||
WriteValue (elem, writer, writer_is_private, depth + 1);
|
||||
writer.WriteArrayEnd ();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (obj is IDictionary) {
|
||||
if (obj is IDictionary dictionary) {
|
||||
writer.WriteObjectStart ();
|
||||
foreach (DictionaryEntry entry in (IDictionary) obj) {
|
||||
foreach (DictionaryEntry entry in dictionary) {
|
||||
writer.WritePropertyName ((string) entry.Key);
|
||||
WriteValue (entry.Value, writer, writer_is_private,
|
||||
depth + 1);
|
||||
|
||||
Reference in New Issue
Block a user