aboutsummaryrefslogtreecommitdiff
path: root/src/ProtoGen
diff options
context:
space:
mode:
authorcsharptest <roger@csharptest.net>2011-06-03 12:58:14 -0500
committerrogerk <devnull@localhost>2011-06-03 12:58:14 -0500
commitffafdaa0f9a96d17d456c844a3e554512a5c121d (patch)
treeda8bb40d40228429fa4b846bc7ef29c06e717e82 /src/ProtoGen
parentcc8d2aaa3a0b6bed6677fd488bc7deecd90f5604 (diff)
downloadprotobuf-ffafdaa0f9a96d17d456c844a3e554512a5c121d.tar.gz
protobuf-ffafdaa0f9a96d17d456c844a3e554512a5c121d.tar.bz2
protobuf-ffafdaa0f9a96d17d456c844a3e554512a5c121d.zip
Fully converted over to ICodedOutputStream for all WriteTo derivations
Diffstat (limited to 'src/ProtoGen')
-rw-r--r--src/ProtoGen/MessageGenerator.cs2
-rw-r--r--src/ProtoGen/RepeatedMessageFieldGenerator.cs8
2 files changed, 8 insertions, 2 deletions
diff --git a/src/ProtoGen/MessageGenerator.cs b/src/ProtoGen/MessageGenerator.cs
index 7eded006..fa6fec06 100644
--- a/src/ProtoGen/MessageGenerator.cs
+++ b/src/ProtoGen/MessageGenerator.cs
@@ -291,7 +291,7 @@ namespace Google.ProtocolBuffers.ProtoGen
List<ExtensionRange> sortedExtensions = new List<ExtensionRange>(Descriptor.Proto.ExtensionRangeList);
sortedExtensions.Sort((r1, r2) => (r1.Start.CompareTo(r2.Start)));
- writer.WriteLine("public override void WriteTo(pb::CodedOutputStream output) {");
+ writer.WriteLine("public override void WriteTo(pb::ICodedOutputStream output) {");
writer.Indent();
// Make sure we've computed the serialized length, so that packed fields are generated correctly.
writer.WriteLine("int size = SerializedSize;");
diff --git a/src/ProtoGen/RepeatedMessageFieldGenerator.cs b/src/ProtoGen/RepeatedMessageFieldGenerator.cs
index d349d78b..84e92e06 100644
--- a/src/ProtoGen/RepeatedMessageFieldGenerator.cs
+++ b/src/ProtoGen/RepeatedMessageFieldGenerator.cs
@@ -137,7 +137,13 @@ namespace Google.ProtocolBuffers.ProtoGen
{
writer.WriteLine("if ({0}_.Count > 0) {{", Name);
writer.Indent();
- writer.WriteLine("output.Write{0}Array({1}, \"{3}\", {2}_);", MessageOrGroup, Number, Name, Descriptor.Name);
+
+ // Arrays of message types do not currently support 'packed' storage
+ //if (Descriptor.IsPacked)
+ // writer.WriteLine("output.WritePackedArray(pbd::FieldType.{3}, {0}, \"{2}\", {1}MemoizedSerializedSize, {1}_);", Number, Name, Descriptor.Name, Descriptor.FieldType);
+ //else
+ writer.WriteLine("output.WriteArray(pbd::FieldType.{3}, {0}, \"{2}\", {1}_);", Number, Name, Descriptor.Name, Descriptor.FieldType);
+
//writer.WriteLine("foreach ({0} element in {1}List) {{", TypeName, PropertyName);
//writer.WriteLine(" output.Write{0}({1}, element);", MessageOrGroup, Number);
//writer.WriteLine("}");