Lines Matching refs:writer

146             var writer = new StringWriter();
147 Format(message, writer);
148 return writer.ToString();
155 /// <param name="writer">The TextWriter to write the formatted message to.</param>
157 public void Format(IMessage message, TextWriter writer)
160 ProtoPreconditions.CheckNotNull(writer, nameof(writer));
164 WriteWellKnownTypeValue(writer, message.Descriptor, message);
168 WriteMessage(writer, message);
195 private void WriteMessage(TextWriter writer, IMessage message)
199 WriteNull(writer);
207 writer.Write(customDiagnosticMessage.ToDiagnosticString());
211 writer.Write("{ ");
212 bool writtenFields = WriteMessageFields(writer, message, false);
213 writer.Write(writtenFields ? " }" : "}");
216 private bool WriteMessageFields(TextWriter writer, IMessage message, bool assumeFirstFieldWritten)
232 writer.Write(PropertySeparator);
235 WriteString(writer, accessor.Descriptor.JsonName);
236 writer.Write(NameValueSeparator);
237 WriteValue(writer, value);
298 private static void WriteNull(TextWriter writer)
300 writer.Write("null");
351 /// Writes a single value to the given writer as JSON. Only types understood by
356 /// <param name="writer">The writer to write the value to. Must not be null.</param>
358 public void WriteValue(TextWriter writer, object value)
362 WriteNull(writer);
366 writer.Write((bool)value ? "true" : "false");
371 writer.Write('"');
372 writer.Write(((ByteString)value).ToBase64());
373 writer.Write('"');
377 WriteString(writer, (string)value);
381 WriteDictionary(writer, (IDictionary)value);
385 WriteList(writer, (IList)value);
390 writer.Write(formattable.ToString("d", CultureInfo.InvariantCulture));
394 writer.Write('"');
396 writer.Write(formattable.ToString("d", CultureInfo.InvariantCulture));
397 writer.Write('"');
403 WriteValue(writer, (int)value);
410 WriteString(writer, name);
414 WriteValue(writer, (int)value);
423 writer.Write('"');
424 writer.Write(text);
425 writer.Write('"');
429 writer.Write(text);
434 Format((IMessage)value, writer);
448 private void WriteWellKnownTypeValue(TextWriter writer, MessageDescriptor descriptor, object value)
454 WriteNull(writer);
469 WriteValue(writer, value);
474 WriteTimestamp(writer, (IMessage)value);
479 WriteDuration(writer, (IMessage)value);
484 WriteFieldMask(writer, (IMessage)value);
489 WriteStruct(writer, (IMessage)value);
495 WriteList(writer, (IList)fieldAccessor.GetValue((IMessage)value));
500 WriteStructFieldValue(writer, (IMessage)value);
505 WriteAny(writer, (IMessage)value);
508 WriteMessage(writer, (IMessage)value);
511 private void WriteTimestamp(TextWriter writer, IMessage value)
519 writer.Write(Timestamp.ToJson(seconds, nanos, DiagnosticOnly));
522 private void WriteDuration(TextWriter writer, IMessage value)
527 writer.Write(Duration.ToJson(seconds, nanos, DiagnosticOnly));
530 private void WriteFieldMask(TextWriter writer, IMessage value)
533 writer.Write(FieldMask.ToJson(paths, DiagnosticOnly));
536 private void WriteAny(TextWriter writer, IMessage value)
540 WriteDiagnosticOnlyAny(writer, value);
553 writer.Write("{ ");
554 WriteString(writer, AnyTypeUrlField);
555 writer.Write(NameValueSeparator);
556 WriteString(writer, typeUrl);
560 writer.Write(PropertySeparator);
561 WriteString(writer, AnyWellKnownTypeValueField);
562 writer.Write(NameValueSeparator);
563 WriteWellKnownTypeValue(writer, descriptor, message);
567 WriteMessageFields(writer, message, true);
569 writer.Write(" }");
572 private void WriteDiagnosticOnlyAny(TextWriter writer, IMessage value)
576 writer.Write("{ ");
577 WriteString(writer, AnyTypeUrlField);
578 writer.Write(NameValueSeparator);
579 WriteString(writer, typeUrl);
580 writer.Write(PropertySeparator);
581 WriteString(writer, AnyDiagnosticValueField);
582 writer.Write(NameValueSeparator);
583 writer.Write('"');
584 writer.Write(data.ToBase64());
585 writer.Write('"');
586 writer.Write(" }");
589 private void WriteStruct(TextWriter writer, IMessage message)
591 writer.Write("{ ");
605 writer.Write(PropertySeparator);
607 WriteString(writer, key);
608 writer.Write(NameValueSeparator);
609 WriteStructFieldValue(writer, value);
612 writer.Write(first ? "}" : " }");
615 private void WriteStructFieldValue(TextWriter writer, IMessage message)
630 WriteValue(writer, value);
636 WriteWellKnownTypeValue(writer, nestedMessage.Descriptor, nestedMessage);
639 WriteNull(writer);
646 internal void WriteList(TextWriter writer, IList list)
648 writer.Write("[ ");
654 writer.Write(PropertySeparator);
656 WriteValue(writer, value);
659 writer.Write(first ? "]" : " ]");
662 internal void WriteDictionary(TextWriter writer, IDictionary dictionary)
664 writer.Write("{ ");
671 writer.Write(PropertySeparator);
694 WriteString(writer, keyText);
695 writer.Write(NameValueSeparator);
696 WriteValue(writer, pair.Value);
699 writer.Write(first ? "}" : " }");
708 internal static void WriteString(TextWriter writer, string text)
710 writer.Write('"');
716 writer.Write(CommonRepresentations[c]);
728 HexEncodeUtf16CodeUnit(writer, c);
729 HexEncodeUtf16CodeUnit(writer, text[i]);
750 HexEncodeUtf16CodeUnit(writer, c);
760 HexEncodeUtf16CodeUnit(writer, c);
765 writer.Write(c);
770 writer.Write('"');
774 private static void HexEncodeUtf16CodeUnit(TextWriter writer, char c)
776 writer.Write("\\u");
777 writer.Write(Hex[(c >> 12) & 0xf]);
778 writer.Write(Hex[(c >> 8) & 0xf]);
779 writer.Write(Hex[(c >> 4) & 0xf]);
780 writer.Write(Hex[(c >> 0) & 0xf]);