private static JsonToken[] GetTokensFromNode(IJsonNavigatorNode node, IJsonNavigator navigator, bool performCorrectnessCheck) { switch (navigator.GetNodeType(node)) { case JsonNodeType.Null: return(new JsonToken[] { JsonToken.Null() }); case JsonNodeType.False: return(new JsonToken[] { JsonToken.Boolean(false) }); case JsonNodeType.True: return(new JsonToken[] { JsonToken.Boolean(true) }); case JsonNodeType.Number64: return(new JsonToken[] { JsonToken.Number(navigator.GetNumber64Value(node)) }); case JsonNodeType.String: return(new JsonToken[] { JsonToken.String(navigator.GetStringValue(node)) }); case JsonNodeType.Array: return(JsonNavigatorTests.GetTokensFromArrayNode(node, navigator, performCorrectnessCheck)); case JsonNodeType.Object: return(JsonNavigatorTests.GetTokensFromObjectNode(node, navigator, performCorrectnessCheck)); case JsonNodeType.FieldName: return(new JsonToken[] { JsonToken.FieldName(navigator.GetStringValue(node)) }); case JsonNodeType.Int8: return(new JsonToken[] { JsonToken.Int8(navigator.GetInt8Value(node)) }); case JsonNodeType.Int16: return(new JsonToken[] { JsonToken.Int16(navigator.GetInt16Value(node)) }); case JsonNodeType.Int32: return(new JsonToken[] { JsonToken.Int32(navigator.GetInt32Value(node)) }); case JsonNodeType.Int64: return(new JsonToken[] { JsonToken.Int64(navigator.GetInt64Value(node)) }); case JsonNodeType.UInt32: return(new JsonToken[] { JsonToken.UInt32(navigator.GetUInt32Value(node)) }); case JsonNodeType.Float32: return(new JsonToken[] { JsonToken.Float32(navigator.GetFloat32Value(node)) }); case JsonNodeType.Float64: return(new JsonToken[] { JsonToken.Float64(navigator.GetFloat64Value(node)) }); case JsonNodeType.Guid: return(new JsonToken[] { JsonToken.Guid(navigator.GetGuidValue(node)) }); case JsonNodeType.Binary: return(new JsonToken[] { JsonToken.Binary(navigator.GetBinaryValue(node)) }); default: throw new InvalidOperationException(); } }