aboutsummaryrefslogtreecommitdiff
path: root/csharp/ProtocolBuffers.Test
diff options
context:
space:
mode:
authorJon Skeet <skeet@pobox.com>2008-08-14 20:35:21 +0100
committerJon Skeet <skeet@pobox.com>2008-08-14 20:35:21 +0100
commit575083ae9c3ecb17e14ae29aa20b784940fcdfd1 (patch)
treea8b536c9b8e2982e9e904e25b8489404cd727155 /csharp/ProtocolBuffers.Test
parent1353315dede3e22266df73fca8dd421119597e46 (diff)
downloadprotobuf-575083ae9c3ecb17e14ae29aa20b784940fcdfd1.tar.gz
protobuf-575083ae9c3ecb17e14ae29aa20b784940fcdfd1.tar.bz2
protobuf-575083ae9c3ecb17e14ae29aa20b784940fcdfd1.zip
Initial support for services and extensions. Incomplete, but enough to get generated unit test files to compile.
Diffstat (limited to 'csharp/ProtocolBuffers.Test')
-rw-r--r--csharp/ProtocolBuffers.Test/ProtocolBuffers.Test.csproj6
-rw-r--r--csharp/ProtocolBuffers.Test/TestProtos/UnitTestEmbedOptimizeForProtoFile.cs372
-rw-r--r--csharp/ProtocolBuffers.Test/TestProtos/UnitTestImportProtoFile.cs268
-rw-r--r--csharp/ProtocolBuffers.Test/TestProtos/UnitTestMessageSetProtoFile.cs1415
-rw-r--r--csharp/ProtocolBuffers.Test/TestProtos/UnitTestOptimizeForProtoFile.cs243
-rw-r--r--csharp/ProtocolBuffers.Test/TestProtos/UnitTestProtoFile.cs13140
-rw-r--r--csharp/ProtocolBuffers.Test/TestUtil.cs32
7 files changed, 15476 insertions, 0 deletions
diff --git a/csharp/ProtocolBuffers.Test/ProtocolBuffers.Test.csproj b/csharp/ProtocolBuffers.Test/ProtocolBuffers.Test.csproj
index 28c86b3c..bbb93a1f 100644
--- a/csharp/ProtocolBuffers.Test/ProtocolBuffers.Test.csproj
+++ b/csharp/ProtocolBuffers.Test/ProtocolBuffers.Test.csproj
@@ -48,6 +48,12 @@
<Compile Include="CodedInputStreamTest.cs" />
<Compile Include="CodedOutputStreamTest.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="TestProtos\UnitTestEmbedOptimizeForProtoFile.cs" />
+ <Compile Include="TestProtos\UnitTestImportProtoFile.cs" />
+ <Compile Include="TestProtos\UnitTestMessageSetProtoFile.cs" />
+ <Compile Include="TestProtos\UnitTestOptimizeForProtoFile.cs" />
+ <Compile Include="TestProtos\UnitTestProtoFile.cs" />
+ <Compile Include="TestUtil.cs" />
<Compile Include="WireFormatTest.cs" />
</ItemGroup>
<ItemGroup>
diff --git a/csharp/ProtocolBuffers.Test/TestProtos/UnitTestEmbedOptimizeForProtoFile.cs b/csharp/ProtocolBuffers.Test/TestProtos/UnitTestEmbedOptimizeForProtoFile.cs
new file mode 100644
index 00000000..f3228fe8
--- /dev/null
+++ b/csharp/ProtocolBuffers.Test/TestProtos/UnitTestEmbedOptimizeForProtoFile.cs
@@ -0,0 +1,372 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+
+using pb = global::Google.ProtocolBuffers;
+using pbc = global::Google.ProtocolBuffers.Collections;
+using pbd = global::Google.ProtocolBuffers.Descriptors;
+using scg = global::System.Collections.Generic;
+using self = global::Google.ProtocolBuffers.TestProtos;
+
+namespace Google.ProtocolBuffers.TestProtos {
+
+ public static partial class UnitTestEmbedOptimizeForProtoFile {
+
+ #region Descriptor
+ public static pbd::FileDescriptor Descriptor {
+ get { return descriptor; }
+ }
+ private static readonly pbd::FileDescriptor descriptor = pbd::FileDescriptor.InternalBuildGeneratedFileFrom (
+ new byte[] {
+ 0x0a, 0x31, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x75, 0x6e,
+ 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a,
+ 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6f, 0x70, 0x74,
+ 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa1, 0x01, 0x0a, 0x19,
+ 0x54, 0x65, 0x73, 0x74, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x46, 0x6f,
+ 0x72, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x41, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x65,
+ 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x4f, 0x70, 0x74, 0x69,
+ 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x41, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x65,
+ 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54,
+ 0x65, 0x73, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x42,
+ 0x4a, 0x48, 0x01, 0xc2, 0x3e, 0x21, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
+ 0x6c, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0xca,
+ 0x3e, 0x21, 0x55, 0x6e, 0x69, 0x74, 0x54, 0x65, 0x73, 0x74, 0x45, 0x6d, 0x62, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6d,
+ 0x69, 0x7a, 0x65, 0x46, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65,
+ }, new pbd::FileDescriptor[] {
+ self::UnitTestOptimizeForProtoFile.Descriptor,
+ });
+ #endregion
+
+ #region Extensions
+ /**/
+ #endregion
+
+ #region Static variables
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_TestEmbedOptimizedForSize__Descriptor
+ = Descriptor.MessageTypes[0];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_TestEmbedOptimizedForSize__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_TestEmbedOptimizedForSize__Descriptor,
+ new string[] { "OptionalMessage", "RepeatedMessage", },
+ typeof (self::TestEmbedOptimizedForSize),
+ typeof (self::TestEmbedOptimizedForSize.Builder));
+ #endregion
+
+ }
+
+ #region Enums
+ #endregion
+
+ #region Messages
+ public sealed partial class TestEmbedOptimizedForSize : pb::GeneratedMessage<TestEmbedOptimizedForSize, TestEmbedOptimizedForSize.Builder> {
+ // Use TestEmbedOptimizedForSize.CreateBuilder() to construct.
+ private TestEmbedOptimizedForSize() {}
+
+ private static readonly TestEmbedOptimizedForSize defaultInstance = new TestEmbedOptimizedForSize();
+ public static TestEmbedOptimizedForSize DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override TestEmbedOptimizedForSize DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestEmbedOptimizeForProtoFile.internal__static_protobuf_unittest_TestEmbedOptimizedForSize__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestEmbedOptimizeForProtoFile.internal__static_protobuf_unittest_TestEmbedOptimizedForSize__FieldAccessorTable; }
+ }
+
+ // optional .protobuf_unittest.TestOptimizedForSize optional_message = 1;
+ private bool hasOptionalMessage;
+ private self::TestOptimizedForSize optionalMessage_ = self::TestOptimizedForSize.DefaultInstance;
+ public bool HasOptionalMessage {
+ get { return hasOptionalMessage; }
+ }
+ public self::TestOptimizedForSize OptionalMessage {
+ get { return optionalMessage_; }
+ }
+
+ // repeated .protobuf_unittest.TestOptimizedForSize repeated_message = 2;
+ private scg::IList<self::TestOptimizedForSize> repeatedMessage_ = pbc::Lists<self::TestOptimizedForSize>.Empty;
+ public scg::IList<self::TestOptimizedForSize> RepeatedMessageList {
+ get { return repeatedMessage_; }
+ }
+ public int RepeatedMessageCount
+ { get { return repeatedMessage_.Count; }
+ }
+ public self::TestOptimizedForSize GetRepeatedMessage(int index) {
+ return repeatedMessage_ [index];
+ }
+
+ public override bool IsInitialized {
+ get {
+ if (HasOptionalMessage) {
+ if (!OptionalMessage.IsInitialized) return false;
+ }
+ foreach (self::TestOptimizedForSize element in RepeatedMessageList) {
+ if (!element.IsInitialized) return false;
+ }
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ if (HasOptionalMessage) {
+ output.WriteMessage(1, OptionalMessage);
+ }
+ foreach (self::TestOptimizedForSize element in RepeatedMessageList) {
+ output.WriteMessage(2, element);
+ }
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (HasOptionalMessage) {
+ size += pb::CodedOutputStream.ComputeMessageSize(1, OptionalMessage);
+ }
+ foreach (self::TestOptimizedForSize element in RepeatedMessageList) {
+ size += pb::CodedOutputStream.ComputeMessageSize(2, element);
+ }
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::TestEmbedOptimizedForSize ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestEmbedOptimizedForSize ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestEmbedOptimizedForSize ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestEmbedOptimizedForSize parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestEmbedOptimizedForSize ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestEmbedOptimizedForSize ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestEmbedOptimizedForSize ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestEmbedOptimizedForSize ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::TestEmbedOptimizedForSize> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::TestEmbedOptimizedForSize prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::TestEmbedOptimizedForSize, Builder> {
+ // Construct using self::TestEmbedOptimizedForSize.CreateBuilder()
+ internal Builder() {}
+
+ self::TestEmbedOptimizedForSize result = new self::TestEmbedOptimizedForSize();
+
+ protected override self::TestEmbedOptimizedForSize MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::TestEmbedOptimizedForSize> Clear() {
+ result = new self::TestEmbedOptimizedForSize();
+ return this;
+ }
+
+ public override IBuilder<self::TestEmbedOptimizedForSize> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::TestEmbedOptimizedForSize.Descriptor; }
+ }
+
+ public override self::TestEmbedOptimizedForSize DefaultInstanceForType {
+ get { return self::TestEmbedOptimizedForSize.DefaultInstance; }
+ }
+
+ public override self::TestEmbedOptimizedForSize BuildPartial() {
+ if (result.repeatedMessage_ != pbc::Lists<self::TestOptimizedForSize>.Empty) {
+ result.repeatedMessage_ = pbc::Lists<self::TestOptimizedForSize>.AsReadOnly(result.repeatedMessage_);
+ }
+ self::TestEmbedOptimizedForSize returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::TestEmbedOptimizedForSize) {
+ return MergeFrom((self::TestEmbedOptimizedForSize) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::TestEmbedOptimizedForSize> MergeFrom(self::TestEmbedOptimizedForSize other) {
+ if (other == self::TestEmbedOptimizedForSize.DefaultInstance) return this;
+ if (other.HasOptionalMessage) {
+ MergeOptionalMessage(other.OptionalMessage);
+ }
+ if (other.repeatedMessage_.Count != 0) {
+ if (result.repeatedMessage_.Count == 0) {
+ result.repeatedMessage_ = new scg::List<self::TestOptimizedForSize>();
+ }
+ base.AddRange(other.repeatedMessage_, result.repeatedMessage_);
+ }
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::TestEmbedOptimizedForSize> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::TestEmbedOptimizedForSize> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ case 10: {
+ self::TestOptimizedForSize.Builder subBuilder = self::TestOptimizedForSize.CreateBuilder();
+ if (HasOptionalMessage) {
+ subBuilder.MergeFrom(OptionalMessage);
+ }
+ input.ReadMessage(subBuilder, extensionRegistry);
+ OptionalMessage = subBuilder.BuildPartial();
+ break;
+ }
+ case 18: {
+ self::TestOptimizedForSize.Builder subBuilder = self::TestOptimizedForSize.CreateBuilder();
+ input.ReadMessage(subBuilder, extensionRegistry);
+ AddRepeatedMessage(subBuilder.BuildPartial());
+ break;
+ }
+ }
+ }
+ }
+
+
+ // optional .protobuf_unittest.TestOptimizedForSize optional_message = 1;
+ public bool HasOptionalMessage {
+ get { return result.HasOptionalMessage; }
+ }
+ public self::TestOptimizedForSize OptionalMessage {
+ get { return result.OptionalMessage; }
+ set { SetOptionalMessage(value); }
+ }
+ public Builder SetOptionalMessage(self::TestOptimizedForSize value) {
+ result.hasOptionalMessage = true;
+ result.optionalMessage_ = value;
+ return this;
+ }
+ public Builder SetOptionalMessage(self::TestOptimizedForSize.Builder builderForValue) {
+ result.hasOptionalMessage = true;
+ result.optionalMessage_ = builderForValue.Build();
+ return this;
+ }
+ public Builder MergeOptionalMessage(self::TestOptimizedForSize value) {
+ if (result.HasOptionalMessage &&
+ result.optionalMessage_ != self::TestOptimizedForSize.DefaultInstance) {
+ result.optionalMessage_ =
+ self::TestOptimizedForSize.CreateBuilder(result.optionalMessage_).MergeFrom(value).BuildPartial();
+ } else {
+ result.optionalMessage_ = value;
+ }
+ result.hasOptionalMessage = true;
+ return this;
+ }
+ public Builder ClearOptionalMessage() {
+ result.hasOptionalMessage = false;
+ result.optionalMessage_ = self::TestOptimizedForSize.DefaultInstance;
+ return this;
+ }
+
+ // repeated .protobuf_unittest.TestOptimizedForSize repeated_message = 2;
+ public scg::IList<self::TestOptimizedForSize> RepeatedMessageList {
+ get { return pbc::Lists.AsReadOnly(result.repeatedMessage_); }
+ }
+ public int RepeatedMessageCount {
+ get { return result.RepeatedMessageCount; }
+ }
+ public self::TestOptimizedForSize GetRepeatedMessage(int index) {
+ return result.GetRepeatedMessage(index);
+ }
+ public Builder SetRepeatedMessage(int index, self::TestOptimizedForSize value) {
+ result.repeatedMessage_[index] = value;
+ return this;
+ }
+ public Builder SetRepeatedMessage(int index, self::TestOptimizedForSize.Builder builderForValue) {
+ result.repeatedMessage_[index] = builderForValue.Build();
+ return this;
+ }
+ public Builder AddRepeatedMessage(self::TestOptimizedForSize value) {
+ if (result.repeatedMessage_ == pbc::Lists<self::TestOptimizedForSize>.Empty) {
+ result.repeatedMessage_ = new scg::List<self::TestOptimizedForSize>();
+ }
+ result.repeatedMessage_.Add(value);
+ return this;
+ }
+ public Builder AddRepeatedMessage(self::TestOptimizedForSize.Builder builderForValue) {
+ if (result.repeatedMessage_ == pbc::Lists<self::TestOptimizedForSize>.Empty) {
+ result.repeatedMessage_ = new scg::List<self::TestOptimizedForSize>();
+ }
+ result.repeatedMessage_.Add(builderForValue.Build());
+ return this;
+ }
+ public Builder AddRangeRepeatedMessage(scg::IEnumerable<self::TestOptimizedForSize> values) {
+ if (result.repeatedMessage_ == pbc::Lists<self::TestOptimizedForSize>.Empty) {
+ result.repeatedMessage_ = new scg::List<self::TestOptimizedForSize>();
+ }
+ base.AddRange(values, result.repeatedMessage_);
+ return this;
+ }
+ public Builder ClearRepeatedMessage() {
+ result.repeatedMessage_ = pbc::Lists<self::TestOptimizedForSize>.Empty;
+ return this;
+ }
+ }
+ }
+
+ #endregion
+
+ #region Services
+ #endregion
+}
diff --git a/csharp/ProtocolBuffers.Test/TestProtos/UnitTestImportProtoFile.cs b/csharp/ProtocolBuffers.Test/TestProtos/UnitTestImportProtoFile.cs
new file mode 100644
index 00000000..e0f35000
--- /dev/null
+++ b/csharp/ProtocolBuffers.Test/TestProtos/UnitTestImportProtoFile.cs
@@ -0,0 +1,268 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+
+using pb = global::Google.ProtocolBuffers;
+using pbc = global::Google.ProtocolBuffers.Collections;
+using pbd = global::Google.ProtocolBuffers.Descriptors;
+using scg = global::System.Collections.Generic;
+using self = global::Google.ProtocolBuffers.TestProtos;
+
+namespace Google.ProtocolBuffers.TestProtos {
+
+ public static partial class UnitTestImportProtoFile {
+
+ #region Descriptor
+ public static pbd::FileDescriptor Descriptor {
+ get { return descriptor; }
+ }
+ private static readonly pbd::FileDescriptor descriptor = pbd::FileDescriptor.InternalBuildGeneratedFileFrom (
+ new byte[] {
+ 0x0a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x75, 0x6e,
+ 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
+ 0x18, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69,
+ 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x1a, 0x0a, 0x0d, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61,
+ 0x67, 0x65, 0x12, 0x09, 0x0a, 0x01, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x2a, 0x3c, 0x0a, 0x0a, 0x49, 0x6d, 0x70,
+ 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x46, 0x4f,
+ 0x4f, 0x10, 0x07, 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x42, 0x41, 0x52, 0x10, 0x08, 0x12,
+ 0x0e, 0x0a, 0x0a, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x42, 0x41, 0x5a, 0x10, 0x09, 0x42, 0x5a, 0x0a, 0x18, 0x63,
+ 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x74,
+ 0x65, 0x73, 0x74, 0x48, 0x01, 0xc2, 0x3e, 0x21, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f,
+ 0x63, 0x6f, 0x6c, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f,
+ 0x73, 0xca, 0x3e, 0x17, 0x55, 0x6e, 0x69, 0x74, 0x54, 0x65, 0x73, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72,
+ 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65,
+ }, new pbd::FileDescriptor[] {
+ });
+ #endregion
+
+ #region Extensions
+ /**/
+ #endregion
+
+ #region Static variables
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_import_ImportMessage__Descriptor
+ = Descriptor.MessageTypes[0];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_import_ImportMessage__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_import_ImportMessage__Descriptor,
+ new string[] { "D", },
+ typeof (self::ImportMessage),
+ typeof (self::ImportMessage.Builder));
+ #endregion
+
+ }
+
+ #region Enums
+ public enum ImportEnum {
+ IMPORT_FOO = 7,
+ IMPORT_BAR = 8,
+ IMPORT_BAZ = 9,
+ }
+
+ #endregion
+
+ #region Messages
+ public sealed partial class ImportMessage : pb::GeneratedMessage<ImportMessage, ImportMessage.Builder> {
+ // Use ImportMessage.CreateBuilder() to construct.
+ private ImportMessage() {}
+
+ private static readonly ImportMessage defaultInstance = new ImportMessage();
+ public static ImportMessage DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override ImportMessage DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestImportProtoFile.internal__static_protobuf_unittest_import_ImportMessage__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestImportProtoFile.internal__static_protobuf_unittest_import_ImportMessage__FieldAccessorTable; }
+ }
+
+ // optional int32 d = 1;
+ private bool hasD;
+ private int d_ = 0;
+ public bool HasD {
+ get { return hasD; }
+ }
+ public int D {
+ get { return d_; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ if (HasD) {
+ output.WriteInt32(1, D);
+ }
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (HasD) {
+ size += pb::CodedOutputStream.ComputeInt32Size(1, D);
+ }
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::ImportMessage ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::ImportMessage ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::ImportMessage ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::ImportMessage parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::ImportMessage ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::ImportMessage ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::ImportMessage ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::ImportMessage ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::ImportMessage> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::ImportMessage prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::ImportMessage, Builder> {
+ // Construct using self::ImportMessage.CreateBuilder()
+ internal Builder() {}
+
+ self::ImportMessage result = new self::ImportMessage();
+
+ protected override self::ImportMessage MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::ImportMessage> Clear() {
+ result = new self::ImportMessage();
+ return this;
+ }
+
+ public override IBuilder<self::ImportMessage> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::ImportMessage.Descriptor; }
+ }
+
+ public override self::ImportMessage DefaultInstanceForType {
+ get { return self::ImportMessage.DefaultInstance; }
+ }
+
+ public override self::ImportMessage BuildPartial() {
+ self::ImportMessage returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::ImportMessage) {
+ return MergeFrom((self::ImportMessage) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::ImportMessage> MergeFrom(self::ImportMessage other) {
+ if (other == self::ImportMessage.DefaultInstance) return this;
+ if (other.HasD) {
+ D = other.D;
+ }
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::ImportMessage> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::ImportMessage> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ case 8: {
+ D = input.ReadInt32();
+ break;
+ }
+ }
+ }
+ }
+
+
+ // optional int32 d = 1;
+ public bool HasD {
+ get { return result.HasD; }
+ }
+ public int D {
+ get { return result.D; }
+ set { SetD(value); }
+ }
+ public Builder SetD(int value) {
+ result.hasD = true;
+ result.d_ = value;
+ return this;
+ }
+ public Builder ClearD() {
+ result.hasD = false;
+ result.d_ = 0;
+ return this;
+ }
+ }
+ }
+
+ #endregion
+
+ #region Services
+ #endregion
+}
diff --git a/csharp/ProtocolBuffers.Test/TestProtos/UnitTestMessageSetProtoFile.cs b/csharp/ProtocolBuffers.Test/TestProtos/UnitTestMessageSetProtoFile.cs
new file mode 100644
index 00000000..51e4135a
--- /dev/null
+++ b/csharp/ProtocolBuffers.Test/TestProtos/UnitTestMessageSetProtoFile.cs
@@ -0,0 +1,1415 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+
+using pb = global::Google.ProtocolBuffers;
+using pbc = global::Google.ProtocolBuffers.Collections;
+using pbd = global::Google.ProtocolBuffers.Descriptors;
+using scg = global::System.Collections.Generic;
+using self = global::Google.ProtocolBuffers.TestProtos;
+
+namespace Google.ProtocolBuffers.TestProtos {
+
+ public static partial class UnitTestMessageSetProtoFile {
+
+ #region Descriptor
+ public static pbd::FileDescriptor Descriptor {
+ get { return descriptor; }
+ }
+ private static readonly pbd::FileDescriptor descriptor = pbd::FileDescriptor.InternalBuildGeneratedFileFrom (
+ new byte[] {
+ 0x0a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x75, 0x6e,
+ 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x73, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x22, 0x1e, 0x0a, 0x0e,
+ 0x54, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x2a, 0x08, 0x08, 0x04, 0x10, 0x80,
+ 0x80, 0x80, 0x80, 0x02, 0x3a, 0x02, 0x08, 0x01, 0x22, 0x51, 0x0a, 0x17, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73,
+ 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x0b, 0x6d,
+ 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73,
+ 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x22, 0x96, 0x01, 0x0a, 0x18, 0x54, 0x65, 0x73, 0x74,
+ 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x31,
+ 0x12, 0x09, 0x0a, 0x01, 0x69, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x32, 0x6f, 0x0a, 0x15, 0x6d, 0x65, 0x73, 0x73, 0x61,
+ 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73,
+ 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0xb0, 0xa6, 0x5e, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x2b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e,
+ 0x54, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
+ 0x69, 0x6f, 0x6e, 0x31, 0x22, 0x98, 0x01, 0x0a, 0x18, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
+ 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x12, 0x0b, 0x0a, 0x03, 0x73, 0x74, 0x72,
+ 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x32, 0x6f, 0x0a, 0x15, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65,
+ 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73,
+ 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0xf9, 0xbb, 0x5e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x4d,
+ 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x22,
+ 0x6e, 0x0a, 0x0d, 0x52, 0x61, 0x77, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x12, 0x33, 0x0a, 0x04,
+ 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0a, 0x32, 0x25, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x61, 0x77, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
+ 0x65, 0x53, 0x65, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x1a, 0x28, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0f, 0x0a,
+ 0x07, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x02, 0x28, 0x05, 0x12, 0x0f, 0x0a, 0x07, 0x6d, 0x65,
+ 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x02, 0x28, 0x0c, 0x42, 0x44, 0x48, 0x01, 0xc2, 0x3e, 0x21, 0x47, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73,
+ 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0xca, 0x3e, 0x1b, 0x55, 0x6e, 0x69, 0x74, 0x54, 0x65,
+ 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c,
+ 0x65,
+ }, new pbd::FileDescriptor[] {
+ });
+ #endregion
+
+ #region Extensions
+ /**/
+ #endregion
+
+ #region Static variables
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_TestMessageSet__Descriptor
+ = Descriptor.MessageTypes[0];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_TestMessageSet__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_TestMessageSet__Descriptor,
+ new string[] { },
+ typeof (self::TestMessageSet),
+ typeof (self::TestMessageSet.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_TestMessageSetContainer__Descriptor
+ = Descriptor.MessageTypes[1];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_TestMessageSetContainer__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_TestMessageSetContainer__Descriptor,
+ new string[] { "MessageSet", },
+ typeof (self::TestMessageSetContainer),
+ typeof (self::TestMessageSetContainer.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_TestMessageSetExtension1__Descriptor
+ = Descriptor.MessageTypes[2];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_TestMessageSetExtension1__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_TestMessageSetExtension1__Descriptor,
+ new string[] { "I", },
+ typeof (self::TestMessageSetExtension1),
+ typeof (self::TestMessageSetExtension1.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_TestMessageSetExtension2__Descriptor
+ = Descriptor.MessageTypes[3];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_TestMessageSetExtension2__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_TestMessageSetExtension2__Descriptor,
+ new string[] { "Str", },
+ typeof (self::TestMessageSetExtension2),
+ typeof (self::TestMessageSetExtension2.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_RawMessageSet__Descriptor
+ = Descriptor.MessageTypes[4];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_RawMessageSet__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_RawMessageSet__Descriptor,
+ new string[] { "Item", },
+ typeof (self::RawMessageSet),
+ typeof (self::RawMessageSet.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_RawMessageSet_Item__Descriptor
+ = internal__static_protobuf_unittest_RawMessageSet__Descriptor.NestedTypes[0];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_RawMessageSet_Item__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_RawMessageSet_Item__Descriptor,
+ new string[] { "TypeId", "Message", },
+ typeof (self::RawMessageSet.Types.Item),
+ typeof (self::RawMessageSet.Types.Item.Builder));
+ #endregion
+
+ }
+
+ #region Enums
+ #endregion
+
+ #region Messages
+ public sealed partial class TestMessageSet : pb::ExtendableMessage<TestMessageSet, TestMessageSet.Builder> {
+ // Use TestMessageSet.CreateBuilder() to construct.
+ private TestMessageSet() {}
+
+ private static readonly TestMessageSet defaultInstance = new TestMessageSet();
+ public static TestMessageSet DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override TestMessageSet DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestMessageSetProtoFile.internal__static_protobuf_unittest_TestMessageSet__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestMessageSetProtoFile.internal__static_protobuf_unittest_TestMessageSet__FieldAccessorTable; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ if (!ExtensionsAreInitialized) return false;
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ pb::ExtendableMessage<TestMessageSet, TestMessageSet.Builder>.ExtensionWriter extensionWriter = CreateExtensionWriter(this);
+ extensionWriter.WriteUntil(536870912, output);
+ UnknownFields.WriteAsMessageSetTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ size += ExtensionsSerializedSize;
+ size += UnknownFields.SerializedSizeAsMessageSet;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::TestMessageSet ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestMessageSet ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestMessageSet ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestMessageSet parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestMessageSet ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestMessageSet ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestMessageSet ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestMessageSet ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::TestMessageSet> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::TestMessageSet prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::TestMessageSet, self::TestMessageSet.Builder>.ExtendableBuilder {
+ // Construct using self::TestMessageSet.CreateBuilder()
+ internal Builder() {}
+
+ self::TestMessageSet result = new self::TestMessageSet();
+
+ protected override self::TestMessageSet MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::TestMessageSet> Clear() {
+ result = new self::TestMessageSet();
+ return this;
+ }
+
+ public override IBuilder<self::TestMessageSet> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::TestMessageSet.Descriptor; }
+ }
+
+ public override self::TestMessageSet DefaultInstanceForType {
+ get { return self::TestMessageSet.DefaultInstance; }
+ }
+
+ public override self::TestMessageSet BuildPartial() {
+ self::TestMessageSet returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::TestMessageSet) {
+ return MergeFrom((self::TestMessageSet) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::TestMessageSet> MergeFrom(self::TestMessageSet other) {
+ if (other == self::TestMessageSet.DefaultInstance) return this;
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::TestMessageSet> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::TestMessageSet> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ }
+ }
+ }
+
+ }
+ }
+
+ public sealed partial class TestMessageSetContainer : pb::GeneratedMessage<TestMessageSetContainer, TestMessageSetContainer.Builder> {
+ // Use TestMessageSetContainer.CreateBuilder() to construct.
+ private TestMessageSetContainer() {}
+
+ private static readonly TestMessageSetContainer defaultInstance = new TestMessageSetContainer();
+ public static TestMessageSetContainer DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override TestMessageSetContainer DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestMessageSetProtoFile.internal__static_protobuf_unittest_TestMessageSetContainer__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestMessageSetProtoFile.internal__static_protobuf_unittest_TestMessageSetContainer__FieldAccessorTable; }
+ }
+
+ // optional .protobuf_unittest.TestMessageSet message_set = 1;
+ private bool hasMessageSet;
+ private self::TestMessageSet messageSet_ = self::TestMessageSet.DefaultInstance;
+ public bool HasMessageSet {
+ get { return hasMessageSet; }
+ }
+ public self::TestMessageSet MessageSet {
+ get { return messageSet_; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ if (HasMessageSet) {
+ if (!MessageSet.IsInitialized) return false;
+ }
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ if (HasMessageSet) {
+ output.WriteMessage(1, MessageSet);
+ }
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (HasMessageSet) {
+ size += pb::CodedOutputStream.ComputeMessageSize(1, MessageSet);
+ }
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::TestMessageSetContainer ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestMessageSetContainer ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestMessageSetContainer ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestMessageSetContainer parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestMessageSetContainer ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestMessageSetContainer ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestMessageSetContainer ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestMessageSetContainer ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::TestMessageSetContainer> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::TestMessageSetContainer prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::TestMessageSetContainer, Builder> {
+ // Construct using self::TestMessageSetContainer.CreateBuilder()
+ internal Builder() {}
+
+ self::TestMessageSetContainer result = new self::TestMessageSetContainer();
+
+ protected override self::TestMessageSetContainer MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::TestMessageSetContainer> Clear() {
+ result = new self::TestMessageSetContainer();
+ return this;
+ }
+
+ public override IBuilder<self::TestMessageSetContainer> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::TestMessageSetContainer.Descriptor; }
+ }
+
+ public override self::TestMessageSetContainer DefaultInstanceForType {
+ get { return self::TestMessageSetContainer.DefaultInstance; }
+ }
+
+ public override self::TestMessageSetContainer BuildPartial() {
+ self::TestMessageSetContainer returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::TestMessageSetContainer) {
+ return MergeFrom((self::TestMessageSetContainer) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::TestMessageSetContainer> MergeFrom(self::TestMessageSetContainer other) {
+ if (other == self::TestMessageSetContainer.DefaultInstance) return this;
+ if (other.HasMessageSet) {
+ MergeMessageSet(other.MessageSet);
+ }
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::TestMessageSetContainer> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::TestMessageSetContainer> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ case 10: {
+ self::TestMessageSet.Builder subBuilder = self::TestMessageSet.CreateBuilder();
+ if (HasMessageSet) {
+ subBuilder.MergeFrom(MessageSet);
+ }
+ input.ReadMessage(subBuilder, extensionRegistry);
+ MessageSet = subBuilder.BuildPartial();
+ break;
+ }
+ }
+ }
+ }
+
+
+ // optional .protobuf_unittest.TestMessageSet message_set = 1;
+ public bool HasMessageSet {
+ get { return result.HasMessageSet; }
+ }
+ public self::TestMessageSet MessageSet {
+ get { return result.MessageSet; }
+ set { SetMessageSet(value); }
+ }
+ public Builder SetMessageSet(self::TestMessageSet value) {
+ result.hasMessageSet = true;
+ result.messageSet_ = value;
+ return this;
+ }
+ public Builder SetMessageSet(self::TestMessageSet.Builder builderForValue) {
+ result.hasMessageSet = true;
+ result.messageSet_ = builderForValue.Build();
+ return this;
+ }
+ public Builder MergeMessageSet(self::TestMessageSet value) {
+ if (result.HasMessageSet &&
+ result.messageSet_ != self::TestMessageSet.DefaultInstance) {
+ result.messageSet_ =
+ self::TestMessageSet.CreateBuilder(result.messageSet_).MergeFrom(value).BuildPartial();
+ } else {
+ result.messageSet_ = value;
+ }
+ result.hasMessageSet = true;
+ return this;
+ }
+ public Builder ClearMessageSet() {
+ result.hasMessageSet = false;
+ result.messageSet_ = self::TestMessageSet.DefaultInstance;
+ return this;
+ }
+ }
+ }
+
+ public sealed partial class TestMessageSetExtension1 : pb::GeneratedMessage<TestMessageSetExtension1, TestMessageSetExtension1.Builder> {
+ // Use TestMessageSetExtension1.CreateBuilder() to construct.
+ private TestMessageSetExtension1() {}
+
+ private static readonly TestMessageSetExtension1 defaultInstance = new TestMessageSetExtension1();
+ public static TestMessageSetExtension1 DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override TestMessageSetExtension1 DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestMessageSetProtoFile.internal__static_protobuf_unittest_TestMessageSetExtension1__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestMessageSetProtoFile.internal__static_protobuf_unittest_TestMessageSetExtension1__FieldAccessorTable; }
+ }
+
+ #region Nested types
+ public static class Types {
+ public static readonly pb::GeneratedExtension<self::TestMessageSet, self::TestMessageSetExtension1> MessageSetExtension =
+ pb::GeneratedExtension.CreateExtension<self::TestMessageSet, self::TestMessageSetExtension1>(Descriptor.Extensions[0]);
+ }
+ #endregion
+
+ // optional int32 i = 15;
+ private bool hasI;
+ private int i_ = 0;
+ public bool HasI {
+ get { return hasI; }
+ }
+ public int I {
+ get { return i_; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ if (HasI) {
+ output.WriteInt32(15, I);
+ }
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (HasI) {
+ size += pb::CodedOutputStream.ComputeInt32Size(15, I);
+ }
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::TestMessageSetExtension1 ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestMessageSetExtension1 ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestMessageSetExtension1 ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestMessageSetExtension1 parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestMessageSetExtension1 ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestMessageSetExtension1 ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestMessageSetExtension1 ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestMessageSetExtension1 ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::TestMessageSetExtension1> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::TestMessageSetExtension1 prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::TestMessageSetExtension1, Builder> {
+ // Construct using self::TestMessageSetExtension1.CreateBuilder()
+ internal Builder() {}
+
+ self::TestMessageSetExtension1 result = new self::TestMessageSetExtension1();
+
+ protected override self::TestMessageSetExtension1 MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::TestMessageSetExtension1> Clear() {
+ result = new self::TestMessageSetExtension1();
+ return this;
+ }
+
+ public override IBuilder<self::TestMessageSetExtension1> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::TestMessageSetExtension1.Descriptor; }
+ }
+
+ public override self::TestMessageSetExtension1 DefaultInstanceForType {
+ get { return self::TestMessageSetExtension1.DefaultInstance; }
+ }
+
+ public override self::TestMessageSetExtension1 BuildPartial() {
+ self::TestMessageSetExtension1 returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::TestMessageSetExtension1) {
+ return MergeFrom((self::TestMessageSetExtension1) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::TestMessageSetExtension1> MergeFrom(self::TestMessageSetExtension1 other) {
+ if (other == self::TestMessageSetExtension1.DefaultInstance) return this;
+ if (other.HasI) {
+ I = other.I;
+ }
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::TestMessageSetExtension1> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::TestMessageSetExtension1> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ case 120: {
+ I = input.ReadInt32();
+ break;
+ }
+ }
+ }
+ }
+
+
+ // optional int32 i = 15;
+ public bool HasI {
+ get { return result.HasI; }
+ }
+ public int I {
+ get { return result.I; }
+ set { SetI(value); }
+ }
+ public Builder SetI(int value) {
+ result.hasI = true;
+ result.i_ = value;
+ return this;
+ }
+ public Builder ClearI() {
+ result.hasI = false;
+ result.i_ = 0;
+ return this;
+ }
+ }
+ }
+
+ public sealed partial class TestMessageSetExtension2 : pb::GeneratedMessage<TestMessageSetExtension2, TestMessageSetExtension2.Builder> {
+ // Use TestMessageSetExtension2.CreateBuilder() to construct.
+ private TestMessageSetExtension2() {}
+
+ private static readonly TestMessageSetExtension2 defaultInstance = new TestMessageSetExtension2();
+ public static TestMessageSetExtension2 DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override TestMessageSetExtension2 DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestMessageSetProtoFile.internal__static_protobuf_unittest_TestMessageSetExtension2__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestMessageSetProtoFile.internal__static_protobuf_unittest_TestMessageSetExtension2__FieldAccessorTable; }
+ }
+
+ #region Nested types
+ public static class Types {
+ public static readonly pb::GeneratedExtension<self::TestMessageSet, self::TestMessageSetExtension2> MessageSetExtension =
+ pb::GeneratedExtension.CreateExtension<self::TestMessageSet, self::TestMessageSetExtension2>(Descriptor.Extensions[0]);
+ }
+ #endregion
+
+ // optional string str = 25;
+ private bool hasStr;
+ private string str_ = "";
+ public bool HasStr {
+ get { return hasStr; }
+ }
+ public string Str {
+ get { return str_; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ if (HasStr) {
+ output.WriteString(25, Str);
+ }
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (HasStr) {
+ size += pb::CodedOutputStream.ComputeStringSize(25, Str);
+ }
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::TestMessageSetExtension2 ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestMessageSetExtension2 ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestMessageSetExtension2 ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestMessageSetExtension2 parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestMessageSetExtension2 ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestMessageSetExtension2 ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestMessageSetExtension2 ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestMessageSetExtension2 ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::TestMessageSetExtension2> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::TestMessageSetExtension2 prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::TestMessageSetExtension2, Builder> {
+ // Construct using self::TestMessageSetExtension2.CreateBuilder()
+ internal Builder() {}
+
+ self::TestMessageSetExtension2 result = new self::TestMessageSetExtension2();
+
+ protected override self::TestMessageSetExtension2 MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::TestMessageSetExtension2> Clear() {
+ result = new self::TestMessageSetExtension2();
+ return this;
+ }
+
+ public override IBuilder<self::TestMessageSetExtension2> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::TestMessageSetExtension2.Descriptor; }
+ }
+
+ public override self::TestMessageSetExtension2 DefaultInstanceForType {
+ get { return self::TestMessageSetExtension2.DefaultInstance; }
+ }
+
+ public override self::TestMessageSetExtension2 BuildPartial() {
+ self::TestMessageSetExtension2 returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::TestMessageSetExtension2) {
+ return MergeFrom((self::TestMessageSetExtension2) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::TestMessageSetExtension2> MergeFrom(self::TestMessageSetExtension2 other) {
+ if (other == self::TestMessageSetExtension2.DefaultInstance) return this;
+ if (other.HasStr) {
+ Str = other.Str;
+ }
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::TestMessageSetExtension2> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::TestMessageSetExtension2> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ case 202: {
+ Str = input.ReadString();
+ break;
+ }
+ }
+ }
+ }
+
+
+ // optional string str = 25;
+ public bool HasStr {
+ get { return result.HasStr; }
+ }
+ public string Str {
+ get { return result.Str; }
+ set { SetStr(value); }
+ }
+ public Builder SetStr(string value) {
+ result.hasStr = true;
+ result.str_ = value;
+ return this;
+ }
+ public Builder ClearStr() {
+ result.hasStr = false;
+ result.str_ = "";
+ return this;
+ }
+ }
+ }
+
+ public sealed partial class RawMessageSet : pb::GeneratedMessage<RawMessageSet, RawMessageSet.Builder> {
+ // Use RawMessageSet.CreateBuilder() to construct.
+ private RawMessageSet() {}
+
+ private static readonly RawMessageSet defaultInstance = new RawMessageSet();
+ public static RawMessageSet DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override RawMessageSet DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestMessageSetProtoFile.internal__static_protobuf_unittest_RawMessageSet__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestMessageSetProtoFile.internal__static_protobuf_unittest_RawMessageSet__FieldAccessorTable; }
+ }
+
+ #region Nested types
+ public static class Types {
+ public sealed partial class Item : pb::GeneratedMessage<Item, Item.Builder> {
+ // Use Item.CreateBuilder() to construct.
+ private Item() {}
+
+ private static readonly Item defaultInstance = new Item();
+ public static Item DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override Item DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestMessageSetProtoFile.internal__static_protobuf_unittest_RawMessageSet_Item__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestMessageSetProtoFile.internal__static_protobuf_unittest_RawMessageSet_Item__FieldAccessorTable; }
+ }
+
+ // required int32 type_id = 2;
+ private bool hasTypeId;
+ private int typeId_ = 0;
+ public bool HasTypeId {
+ get { return hasTypeId; }
+ }
+ public int TypeId {
+ get { return typeId_; }
+ }
+
+ // required bytes message = 3;
+ private bool hasMessage;
+ private pb::ByteString message_ = pb::ByteString.Empty;
+ public bool HasMessage {
+ get { return hasMessage; }
+ }
+ public pb::ByteString Message {
+ get { return message_; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ if (!hasTypeId) return false;
+ if (!hasMessage) return false;
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ if (HasTypeId) {
+ output.WriteInt32(2, TypeId);
+ }
+ if (HasMessage) {
+ output.WriteBytes(3, Message);
+ }
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (HasTypeId) {
+ size += pb::CodedOutputStream.ComputeInt32Size(2, TypeId);
+ }
+ if (HasMessage) {
+ size += pb::CodedOutputStream.ComputeBytesSize(3, Message);
+ }
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::RawMessageSet.Types.Item ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::RawMessageSet.Types.Item ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::RawMessageSet.Types.Item ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::RawMessageSet.Types.Item parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::RawMessageSet.Types.Item ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::RawMessageSet.Types.Item ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::RawMessageSet.Types.Item ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::RawMessageSet.Types.Item ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::RawMessageSet.Types.Item> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::RawMessageSet.Types.Item prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::RawMessageSet.Types.Item, Builder> {
+ // Construct using self::RawMessageSet.Types.Item.CreateBuilder()
+ internal Builder() {}
+
+ self::RawMessageSet.Types.Item result = new self::RawMessageSet.Types.Item();
+
+ protected override self::RawMessageSet.Types.Item MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::RawMessageSet.Types.Item> Clear() {
+ result = new self::RawMessageSet.Types.Item();
+ return this;
+ }
+
+ public override IBuilder<self::RawMessageSet.Types.Item> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::RawMessageSet.Types.Item.Descriptor; }
+ }
+
+ public override self::RawMessageSet.Types.Item DefaultInstanceForType {
+ get { return self::RawMessageSet.Types.Item.DefaultInstance; }
+ }
+
+ public override self::RawMessageSet.Types.Item BuildPartial() {
+ self::RawMessageSet.Types.Item returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::RawMessageSet.Types.Item) {
+ return MergeFrom((self::RawMessageSet.Types.Item) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::RawMessageSet.Types.Item> MergeFrom(self::RawMessageSet.Types.Item other) {
+ if (other == self::RawMessageSet.Types.Item.DefaultInstance) return this;
+ if (other.HasTypeId) {
+ TypeId = other.TypeId;
+ }
+ if (other.HasMessage) {
+ Message = other.Message;
+ }
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::RawMessageSet.Types.Item> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::RawMessageSet.Types.Item> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ case 16: {
+ TypeId = input.ReadInt32();
+ break;
+ }
+ case 26: {
+ Message = input.ReadBytes();
+ break;
+ }
+ }
+ }
+ }
+
+
+ // required int32 type_id = 2;
+ public bool HasTypeId {
+ get { return result.HasTypeId; }
+ }
+ public int TypeId {
+ get { return result.TypeId; }
+ set { SetTypeId(value); }
+ }
+ public Builder SetTypeId(int value) {
+ result.hasTypeId = true;
+ result.typeId_ = value;
+ return this;
+ }
+ public Builder ClearTypeId() {
+ result.hasTypeId = false;
+ result.typeId_ = 0;
+ return this;
+ }
+
+ // required bytes message = 3;
+ public bool HasMessage {
+ get { return result.HasMessage; }
+ }
+ public pb::ByteString Message {
+ get { return result.Message; }
+ set { SetMessage(value); }
+ }
+ public Builder SetMessage(pb::ByteString value) {
+ result.hasMessage = true;
+ result.message_ = value;
+ return this;
+ }
+ public Builder ClearMessage() {
+ result.hasMessage = false;
+ result.message_ = pb::ByteString.Empty;
+ return this;
+ }
+ }
+ }
+
+ }
+ #endregion
+
+ // repeated group Item = 1 {
+ private scg::IList<self::RawMessageSet.Types.Item> item_ = pbc::Lists<self::RawMessageSet.Types.Item>.Empty;
+ public scg::IList<self::RawMessageSet.Types.Item> ItemList {
+ get { return item_; }
+ }
+ public int ItemCount
+ { get { return item_.Count; }
+ }
+ public self::RawMessageSet.Types.Item GetItem(int index) {
+ return item_ [index];
+ }
+
+ public override bool IsInitialized {
+ get {
+ foreach (self::RawMessageSet.Types.Item element in ItemList) {
+ if (!element.IsInitialized) return false;
+ }
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ foreach (self::RawMessageSet.Types.Item element in ItemList) {
+ output.WriteGroup(1, element);
+ }
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ foreach (self::RawMessageSet.Types.Item element in ItemList) {
+ size += pb::CodedOutputStream.ComputeGroupSize(1, element);
+ }
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::RawMessageSet ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::RawMessageSet ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::RawMessageSet ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::RawMessageSet parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::RawMessageSet ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::RawMessageSet ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::RawMessageSet ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::RawMessageSet ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::RawMessageSet> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::RawMessageSet prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::RawMessageSet, Builder> {
+ // Construct using self::RawMessageSet.CreateBuilder()
+ internal Builder() {}
+
+ self::RawMessageSet result = new self::RawMessageSet();
+
+ protected override self::RawMessageSet MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::RawMessageSet> Clear() {
+ result = new self::RawMessageSet();
+ return this;
+ }
+
+ public override IBuilder<self::RawMessageSet> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::RawMessageSet.Descriptor; }
+ }
+
+ public override self::RawMessageSet DefaultInstanceForType {
+ get { return self::RawMessageSet.DefaultInstance; }
+ }
+
+ public override self::RawMessageSet BuildPartial() {
+ if (result.item_ != pbc::Lists<self::RawMessageSet.Types.Item>.Empty) {
+ result.item_ = pbc::Lists<self::RawMessageSet.Types.Item>.AsReadOnly(result.item_);
+ }
+ self::RawMessageSet returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::RawMessageSet) {
+ return MergeFrom((self::RawMessageSet) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::RawMessageSet> MergeFrom(self::RawMessageSet other) {
+ if (other == self::RawMessageSet.DefaultInstance) return this;
+ if (other.item_.Count != 0) {
+ if (result.item_.Count == 0) {
+ result.item_ = new scg::List<self::RawMessageSet.Types.Item>();
+ }
+ base.AddRange(other.item_, result.item_);
+ }
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::RawMessageSet> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::RawMessageSet> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ case 11: {
+ self::RawMessageSet.Types.Item.Builder subBuilder = self::RawMessageSet.Types.Item.CreateBuilder();
+ input.ReadGroup(1, subBuilder, extensionRegistry);
+ AddItem(subBuilder.BuildPartial());
+ break;
+ }
+ }
+ }
+ }
+
+
+ // repeated group Item = 1 {
+ public scg::IList<self::RawMessageSet.Types.Item> ItemList {
+ get { return pbc::Lists.AsReadOnly(result.item_); }
+ }
+ public int ItemCount {
+ get { return result.ItemCount; }
+ }
+ public self::RawMessageSet.Types.Item GetItem(int index) {
+ return result.GetItem(index);
+ }
+ public Builder SetItem(int index, self::RawMessageSet.Types.Item value) {
+ result.item_[index] = value;
+ return this;
+ }
+ public Builder SetItem(int index, self::RawMessageSet.Types.Item.Builder builderForValue) {
+ result.item_[index] = builderForValue.Build();
+ return this;
+ }
+ public Builder AddItem(self::RawMessageSet.Types.Item value) {
+ if (result.item_ == pbc::Lists<self::RawMessageSet.Types.Item>.Empty) {
+ result.item_ = new scg::List<self::RawMessageSet.Types.Item>();
+ }
+ result.item_.Add(value);
+ return this;
+ }
+ public Builder AddItem(self::RawMessageSet.Types.Item.Builder builderForValue) {
+ if (result.item_ == pbc::Lists<self::RawMessageSet.Types.Item>.Empty) {
+ result.item_ = new scg::List<self::RawMessageSet.Types.Item>();
+ }
+ result.item_.Add(builderForValue.Build());
+ return this;
+ }
+ public Builder AddRangeItem(scg::IEnumerable<self::RawMessageSet.Types.Item> values) {
+ if (result.item_ == pbc::Lists<self::RawMessageSet.Types.Item>.Empty) {
+ result.item_ = new scg::List<self::RawMessageSet.Types.Item>();
+ }
+ base.AddRange(values, result.item_);
+ return this;
+ }
+ public Builder ClearItem() {
+ result.item_ = pbc::Lists<self::RawMessageSet.Types.Item>.Empty;
+ return this;
+ }
+ }
+ }
+
+ #endregion
+
+ #region Services
+ #endregion
+}
diff --git a/csharp/ProtocolBuffers.Test/TestProtos/UnitTestOptimizeForProtoFile.cs b/csharp/ProtocolBuffers.Test/TestProtos/UnitTestOptimizeForProtoFile.cs
new file mode 100644
index 00000000..119c3582
--- /dev/null
+++ b/csharp/ProtocolBuffers.Test/TestProtos/UnitTestOptimizeForProtoFile.cs
@@ -0,0 +1,243 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+
+using pb = global::Google.ProtocolBuffers;
+using pbc = global::Google.ProtocolBuffers.Collections;
+using pbd = global::Google.ProtocolBuffers.Descriptors;
+using scg = global::System.Collections.Generic;
+using self = global::Google.ProtocolBuffers.TestProtos;
+
+namespace Google.ProtocolBuffers.TestProtos {
+
+ public static partial class UnitTestOptimizeForProtoFile {
+
+ #region Descriptor
+ public static pbd::FileDescriptor Descriptor {
+ get { return descriptor; }
+ }
+ private static readonly pbd::FileDescriptor descriptor = pbd::FileDescriptor.InternalBuildGeneratedFileFrom (
+ new byte[] {
+ 0x0a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x75, 0x6e,
+ 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74,
+ 0x74, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9e, 0x01, 0x0a,
+ 0x14, 0x54, 0x65, 0x73, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x53, 0x69, 0x7a,
+ 0x65, 0x12, 0x09, 0x0a, 0x01, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x12, 0x2e, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18,
+ 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69,
+ 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
+ 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x32, 0x40, 0x0a, 0x0e, 0x74, 0x65, 0x73, 0x74, 0x5f,
+ 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69,
+ 0x7a, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x18, 0xd2, 0x09, 0x20, 0x01, 0x28, 0x05, 0x42, 0x45, 0x48,
+ 0x02, 0xc2, 0x3e, 0x21, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42,
+ 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0xca, 0x3e, 0x1c,
+ 0x55, 0x6e, 0x69, 0x74, 0x54, 0x65, 0x73, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x46, 0x6f, 0x72, 0x50,
+ 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65,
+ }, new pbd::FileDescriptor[] {
+ self::UnitTestProtoFile.Descriptor,
+ });
+ #endregion
+
+ #region Extensions
+ /**/
+ #endregion
+
+ #region Static variables
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_TestOptimizedForSize__Descriptor
+ = Descriptor.MessageTypes[0];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_TestOptimizedForSize__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_TestOptimizedForSize__Descriptor,
+ new string[] { "I", "Msg", },
+ typeof (self::TestOptimizedForSize),
+ typeof (self::TestOptimizedForSize.Builder));
+ #endregion
+
+ }
+
+ #region Enums
+ #endregion
+
+ #region Messages
+ public sealed partial class TestOptimizedForSize : pb::ExtendableMessage<TestOptimizedForSize, TestOptimizedForSize.Builder> {
+ // Use TestOptimizedForSize.CreateBuilder() to construct.
+ private TestOptimizedForSize() {}
+
+ private static readonly TestOptimizedForSize defaultInstance = new TestOptimizedForSize();
+ public static TestOptimizedForSize DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override TestOptimizedForSize DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestOptimizeForProtoFile.internal__static_protobuf_unittest_TestOptimizedForSize__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestOptimizeForProtoFile.internal__static_protobuf_unittest_TestOptimizedForSize__FieldAccessorTable; }
+ }
+
+ #region Nested types
+ public static class Types {
+ public static readonly pb::GeneratedExtension<self::TestOptimizedForSize, int> TestExtension =
+ pb::GeneratedExtension.CreateExtension<self::TestOptimizedForSize, int>(Descriptor.Extensions[0]);
+ }
+ #endregion
+
+ // optional int32 i = 1;
+ private bool hasI;
+ private int i_ = 0;
+ public bool HasI {
+ get { return hasI; }
+ }
+ public int I {
+ get { return i_; }
+ }
+
+ // optional .protobuf_unittest.ForeignMessage msg = 19;
+ private bool hasMsg;
+ private self::ForeignMessage msg_ = self::ForeignMessage.DefaultInstance;
+ public bool HasMsg {
+ get { return hasMsg; }
+ }
+ public self::ForeignMessage Msg {
+ get { return msg_; }
+ }
+
+ public static self::TestOptimizedForSize ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestOptimizedForSize ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestOptimizedForSize ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestOptimizedForSize parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestOptimizedForSize ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestOptimizedForSize ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestOptimizedForSize ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestOptimizedForSize ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::TestOptimizedForSize> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::TestOptimizedForSize prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::TestOptimizedForSize, self::TestOptimizedForSize.Builder>.ExtendableBuilder {
+ // Construct using self::TestOptimizedForSize.CreateBuilder()
+ internal Builder() {}
+
+ self::TestOptimizedForSize result = new self::TestOptimizedForSize();
+
+ protected override self::TestOptimizedForSize MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::TestOptimizedForSize> Clear() {
+ result = new self::TestOptimizedForSize();
+ return this;
+ }
+
+ public override IBuilder<self::TestOptimizedForSize> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::TestOptimizedForSize.Descriptor; }
+ }
+
+ public override self::TestOptimizedForSize DefaultInstanceForType {
+ get { return self::TestOptimizedForSize.DefaultInstance; }
+ }
+
+ public override self::TestOptimizedForSize BuildPartial() {
+ self::TestOptimizedForSize returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+
+ // optional int32 i = 1;
+ public bool HasI {
+ get { return result.HasI; }
+ }
+ public int I {
+ get { return result.I; }
+ set { SetI(value); }
+ }
+ public Builder SetI(int value) {
+ result.hasI = true;
+ result.i_ = value;
+ return this;
+ }
+ public Builder ClearI() {
+ result.hasI = false;
+ result.i_ = 0;
+ return this;
+ }
+
+ // optional .protobuf_unittest.ForeignMessage msg = 19;
+ public bool HasMsg {
+ get { return result.HasMsg; }
+ }
+ public self::ForeignMessage Msg {
+ get { return result.Msg; }
+ set { SetMsg(value); }
+ }
+ public Builder SetMsg(self::ForeignMessage value) {
+ result.hasMsg = true;
+ result.msg_ = value;
+ return this;
+ }
+ public Builder SetMsg(self::ForeignMessage.Builder builderForValue) {
+ result.hasMsg = true;
+ result.msg_ = builderForValue.Build();
+ return this;
+ }
+ public Builder MergeMsg(self::ForeignMessage value) {
+ if (result.HasMsg &&
+ result.msg_ != self::ForeignMessage.DefaultInstance) {
+ result.msg_ =
+ self::ForeignMessage.CreateBuilder(result.msg_).MergeFrom(value).BuildPartial();
+ } else {
+ result.msg_ = value;
+ }
+ result.hasMsg = true;
+ return this;
+ }
+ public Builder ClearMsg() {
+ result.hasMsg = false;
+ result.msg_ = self::ForeignMessage.DefaultInstance;
+ return this;
+ }
+ }
+ }
+
+ #endregion
+
+ #region Services
+ #endregion
+}
diff --git a/csharp/ProtocolBuffers.Test/TestProtos/UnitTestProtoFile.cs b/csharp/ProtocolBuffers.Test/TestProtos/UnitTestProtoFile.cs
new file mode 100644
index 00000000..3b267ccd
--- /dev/null
+++ b/csharp/ProtocolBuffers.Test/TestProtos/UnitTestProtoFile.cs
@@ -0,0 +1,13140 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+
+using pb = global::Google.ProtocolBuffers;
+using pbc = global::Google.ProtocolBuffers.Collections;
+using pbd = global::Google.ProtocolBuffers.Descriptors;
+using scg = global::System.Collections.Generic;
+using self = global::Google.ProtocolBuffers.TestProtos;
+
+namespace Google.ProtocolBuffers.TestProtos {
+
+ public static partial class UnitTestProtoFile {
+
+ #region Descriptor
+ public static pbd::FileDescriptor Descriptor {
+ get { return descriptor; }
+ }
+ private static readonly pbd::FileDescriptor descriptor = pbd::FileDescriptor.InternalBuildGeneratedFileFrom (
+ new byte[] {
+ 0x0a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x75, 0x6e,
+ 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6d,
+ 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbb, 0x15, 0x0a, 0x0c, 0x54, 0x65, 0x73, 0x74, 0x41,
+ 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
+ 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x12, 0x16, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x12, 0x17, 0x0a, 0x0f, 0x6f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
+ 0x12, 0x17, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x04, 0x12, 0x17, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69,
+ 0x6e, 0x74, 0x33, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x12, 0x17, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x12, 0x18, 0x0a, 0x10, 0x6f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28,
+ 0x07, 0x12, 0x18, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36,
+ 0x34, 0x18, 0x08, 0x20, 0x01, 0x28, 0x06, 0x12, 0x19, 0x0a, 0x11, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
+ 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0f, 0x12, 0x19, 0x0a, 0x11, 0x6f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x0a, 0x20, 0x01, 0x28,
+ 0x10, 0x12, 0x16, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x02, 0x12, 0x17, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x6f,
+ 0x75, 0x62, 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x12, 0x15, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x61, 0x6c, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x12, 0x17, 0x0a, 0x0f, 0x6f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x12, 0x16,
+ 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01,
+ 0x28, 0x0c, 0x12, 0x44, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18,
+ 0x10, 0x20, 0x01, 0x28, 0x0a, 0x32, 0x2d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69,
+ 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x4e, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18,
+ 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69,
+ 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e,
+ 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x43, 0x0a, 0x18, 0x6f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
+ 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e,
+ 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
+ 0x65, 0x12, 0x48, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74,
+ 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72,
+ 0x74, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x48, 0x0a, 0x14, 0x6f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18,
+ 0x15, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69,
+ 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e,
+ 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x3d, 0x0a, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
+ 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74,
+ 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x42, 0x0a, 0x14, 0x6f, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x17, 0x20, 0x01,
+ 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65,
+ 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d,
+ 0x12, 0x21, 0x0a, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f,
+ 0x70, 0x69, 0x65, 0x63, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x08, 0x02, 0x12, 0x19, 0x0a, 0x0d, 0x6f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02,
+ 0x08, 0x01, 0x12, 0x16, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32,
+ 0x18, 0x1f, 0x20, 0x03, 0x28, 0x05, 0x12, 0x16, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69,
+ 0x6e, 0x74, 0x36, 0x34, 0x18, 0x20, 0x20, 0x03, 0x28, 0x03, 0x12, 0x17, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74,
+ 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0d, 0x12, 0x17, 0x0a, 0x0f, 0x72,
+ 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x22, 0x20, 0x03, 0x28, 0x04,
+ 0x12, 0x17, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18,
+ 0x23, 0x20, 0x03, 0x28, 0x11, 0x12, 0x17, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69,
+ 0x6e, 0x74, 0x36, 0x34, 0x18, 0x24, 0x20, 0x03, 0x28, 0x12, 0x12, 0x18, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74,
+ 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x25, 0x20, 0x03, 0x28, 0x07, 0x12, 0x18, 0x0a, 0x10,
+ 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x26, 0x20, 0x03,
+ 0x28, 0x06, 0x12, 0x19, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65,
+ 0x64, 0x33, 0x32, 0x18, 0x27, 0x20, 0x03, 0x28, 0x0f, 0x12, 0x19, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
+ 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x28, 0x20, 0x03, 0x28, 0x10, 0x12, 0x16, 0x0a, 0x0e,
+ 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x29, 0x20, 0x03, 0x28, 0x02,
+ 0x12, 0x17, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18,
+ 0x2a, 0x20, 0x03, 0x28, 0x01, 0x12, 0x15, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x6f,
+ 0x6f, 0x6c, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x08, 0x12, 0x17, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
+ 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x2c, 0x20, 0x03, 0x28, 0x09, 0x12, 0x16, 0x0a, 0x0e, 0x72, 0x65, 0x70,
+ 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x2d, 0x20, 0x03, 0x28, 0x0c, 0x12, 0x44, 0x0a,
+ 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x2e, 0x20, 0x03, 0x28, 0x0a,
+ 0x32, 0x2d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74,
+ 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74,
+ 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x4e, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f,
+ 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x30, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x2d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74,
+ 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
+ 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x43, 0x0a, 0x18, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f,
+ 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x31, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73,
+ 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x48, 0x0a, 0x17,
+ 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73,
+ 0x61, 0x67, 0x65, 0x18, 0x32, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x49, 0x6d, 0x70,
+ 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x48, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74,
+ 0x65, 0x64, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x33, 0x20, 0x03, 0x28, 0x0e,
+ 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74,
+ 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
+ 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x3d, 0x0a, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72,
+ 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x34, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x65,
+ 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x42, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f,
+ 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x35, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x24, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6d,
+ 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x21, 0x0a, 0x15, 0x72,
+ 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65,
+ 0x18, 0x36, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x08, 0x02, 0x12, 0x19, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74,
+ 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x37, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x08, 0x01, 0x12, 0x19, 0x0a,
+ 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x05,
+ 0x3a, 0x02, 0x34, 0x31, 0x12, 0x19, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x36,
+ 0x34, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x03, 0x3a, 0x02, 0x34, 0x32, 0x12, 0x1a, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75,
+ 0x6c, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x3f, 0x20, 0x01, 0x28, 0x0d, 0x3a, 0x02, 0x34, 0x33, 0x12,
+ 0x1a, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x40, 0x20,
+ 0x01, 0x28, 0x04, 0x3a, 0x02, 0x34, 0x34, 0x12, 0x1b, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73,
+ 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x41, 0x20, 0x01, 0x28, 0x11, 0x3a, 0x03, 0x2d, 0x34, 0x35, 0x12, 0x1a, 0x0a, 0x0e,
+ 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x42, 0x20, 0x01, 0x28, 0x12,
+ 0x3a, 0x02, 0x34, 0x36, 0x12, 0x1b, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x69, 0x78, 0x65,
+ 0x64, 0x33, 0x32, 0x18, 0x43, 0x20, 0x01, 0x28, 0x07, 0x3a, 0x02, 0x34, 0x37, 0x12, 0x1b, 0x0a, 0x0f, 0x64, 0x65, 0x66,
+ 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x44, 0x20, 0x01, 0x28, 0x06, 0x3a, 0x02,
+ 0x34, 0x38, 0x12, 0x1c, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64,
+ 0x33, 0x32, 0x18, 0x45, 0x20, 0x01, 0x28, 0x0f, 0x3a, 0x02, 0x34, 0x39, 0x12, 0x1d, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61,
+ 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x46, 0x20, 0x01, 0x28, 0x10, 0x3a, 0x03,
+ 0x2d, 0x35, 0x30, 0x12, 0x1b, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74,
+ 0x18, 0x47, 0x20, 0x01, 0x28, 0x02, 0x3a, 0x04, 0x35, 0x31, 0x2e, 0x35, 0x12, 0x1d, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61,
+ 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x48, 0x20, 0x01, 0x28, 0x01, 0x3a, 0x05, 0x35, 0x32,
+ 0x30, 0x30, 0x30, 0x12, 0x1a, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18,
+ 0x49, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75,
+ 0x6c, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x4a, 0x20, 0x01, 0x28, 0x09, 0x3a, 0x05, 0x68, 0x65, 0x6c,
+ 0x6c, 0x6f, 0x12, 0x1c, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18,
+ 0x4b, 0x20, 0x01, 0x28, 0x0c, 0x3a, 0x05, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x12, 0x4c, 0x0a, 0x13, 0x64, 0x65, 0x66, 0x61,
+ 0x75, 0x6c, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x51, 0x20, 0x01, 0x28,
+ 0x0e, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73,
+ 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65,
+ 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x03, 0x42, 0x41, 0x52, 0x12, 0x49, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
+ 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x52, 0x20, 0x01, 0x28, 0x0e,
+ 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74,
+ 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47,
+ 0x4e, 0x5f, 0x42, 0x41, 0x52, 0x12, 0x4d, 0x0a, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6d, 0x70,
+ 0x6f, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x53, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72,
+ 0x74, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x0a, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54,
+ 0x5f, 0x42, 0x41, 0x52, 0x12, 0x25, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69,
+ 0x6e, 0x67, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, 0x18, 0x54, 0x20, 0x01, 0x28, 0x09, 0x3a, 0x03, 0x61, 0x62, 0x63, 0x42,
+ 0x02, 0x08, 0x02, 0x12, 0x1d, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x72, 0x64, 0x18,
+ 0x55, 0x20, 0x01, 0x28, 0x09, 0x3a, 0x03, 0x31, 0x32, 0x33, 0x42, 0x02, 0x08, 0x01, 0x1a, 0x1b, 0x0a, 0x0d, 0x4e, 0x65,
+ 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0a, 0x0a, 0x02, 0x62, 0x62, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x05, 0x1a, 0x1a, 0x0a, 0x0d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70,
+ 0x12, 0x09, 0x0a, 0x01, 0x61, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x1a, 0x1a, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x65, 0x61,
+ 0x74, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x09, 0x0a, 0x01, 0x61, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x05, 0x22,
+ 0x27, 0x0a, 0x0a, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x07, 0x0a, 0x03, 0x46, 0x4f, 0x4f,
+ 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x42, 0x41, 0x52, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x42, 0x41, 0x5a, 0x10, 0x03,
+ 0x22, 0x1b, 0x0a, 0x0e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x09,
+ 0x0a, 0x01, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x22, 0x1d, 0x0a, 0x11, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
+ 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2a, 0x08, 0x08, 0x01, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02,
+ 0x22, 0x24, 0x0a, 0x17, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x65, 0x78,
+ 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x09, 0x0a, 0x01, 0x61, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x22, 0x24,
+ 0x0a, 0x17, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x65, 0x78, 0x74, 0x65,
+ 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x09, 0x0a, 0x01, 0x61, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x05, 0x22, 0xd5, 0x05, 0x0a,
+ 0x0c, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x09, 0x0a, 0x01, 0x61, 0x18, 0x01,
+ 0x20, 0x02, 0x28, 0x05, 0x12, 0x0e, 0x0a, 0x06, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
+ 0x12, 0x09, 0x0a, 0x01, 0x62, 0x18, 0x03, 0x20, 0x02, 0x28, 0x05, 0x12, 0x0e, 0x0a, 0x06, 0x64, 0x75, 0x6d, 0x6d, 0x79,
+ 0x34, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x12, 0x0e, 0x0a, 0x06, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x35, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x05, 0x12, 0x0e, 0x0a, 0x06, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x36, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x12,
+ 0x0e, 0x0a, 0x06, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x37, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x12, 0x0e, 0x0a, 0x06, 0x64,
+ 0x75, 0x6d, 0x6d, 0x79, 0x38, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x12, 0x0e, 0x0a, 0x06, 0x64, 0x75, 0x6d, 0x6d, 0x79,
+ 0x39, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x12, 0x0f, 0x0a, 0x07, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x31, 0x30, 0x18, 0x0a,
+ 0x20, 0x01, 0x28, 0x05, 0x12, 0x0f, 0x0a, 0x07, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x31, 0x31, 0x18, 0x0b, 0x20, 0x01, 0x28,
+ 0x05, 0x12, 0x0f, 0x0a, 0x07, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x31, 0x32, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x12, 0x0f,
+ 0x0a, 0x07, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x31, 0x33, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x12, 0x0f, 0x0a, 0x07, 0x64,
+ 0x75, 0x6d, 0x6d, 0x79, 0x31, 0x34, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x12, 0x0f, 0x0a, 0x07, 0x64, 0x75, 0x6d, 0x6d,
+ 0x79, 0x31, 0x35, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x12, 0x0f, 0x0a, 0x07, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x31, 0x36,
+ 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x12, 0x0f, 0x0a, 0x07, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x31, 0x37, 0x18, 0x11, 0x20,
+ 0x01, 0x28, 0x05, 0x12, 0x0f, 0x0a, 0x07, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x31, 0x38, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05,
+ 0x12, 0x0f, 0x0a, 0x07, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x31, 0x39, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x12, 0x0f, 0x0a,
+ 0x07, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x32, 0x30, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x12, 0x0f, 0x0a, 0x07, 0x64, 0x75,
+ 0x6d, 0x6d, 0x79, 0x32, 0x31, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x12, 0x0f, 0x0a, 0x07, 0x64, 0x75, 0x6d, 0x6d, 0x79,
+ 0x32, 0x32, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x12, 0x0f, 0x0a, 0x07, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x32, 0x33, 0x18,
+ 0x17, 0x20, 0x01, 0x28, 0x05, 0x12, 0x0f, 0x0a, 0x07, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x32, 0x34, 0x18, 0x18, 0x20, 0x01,
+ 0x28, 0x05, 0x12, 0x0f, 0x0a, 0x07, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x32, 0x35, 0x18, 0x19, 0x20, 0x01, 0x28, 0x05, 0x12,
+ 0x0f, 0x0a, 0x07, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x32, 0x36, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x05, 0x12, 0x0f, 0x0a, 0x07,
+ 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x32, 0x37, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x05, 0x12, 0x0f, 0x0a, 0x07, 0x64, 0x75, 0x6d,
+ 0x6d, 0x79, 0x32, 0x38, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x05, 0x12, 0x0f, 0x0a, 0x07, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x32,
+ 0x39, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x05, 0x12, 0x0f, 0x0a, 0x07, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x33, 0x30, 0x18, 0x1e,
+ 0x20, 0x01, 0x28, 0x05, 0x12, 0x0f, 0x0a, 0x07, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x33, 0x31, 0x18, 0x1f, 0x20, 0x01, 0x28,
+ 0x05, 0x12, 0x0f, 0x0a, 0x07, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x33, 0x32, 0x18, 0x20, 0x20, 0x01, 0x28, 0x05, 0x12, 0x09,
+ 0x0a, 0x01, 0x63, 0x18, 0x21, 0x20, 0x02, 0x28, 0x05, 0x32, 0x56, 0x0a, 0x06, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x12,
+ 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e,
+ 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xe8, 0x07,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74,
+ 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x32, 0x55, 0x0a,
+ 0x05, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e,
+ 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
+ 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xe9, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75,
+ 0x69, 0x72, 0x65, 0x64, 0x22, 0x9a, 0x01, 0x0a, 0x13, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65,
+ 0x64, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x12, 0x39, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
+ 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52,
+ 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f,
+ 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65,
+ 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x0d, 0x0a, 0x05, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x05, 0x22, 0x5a, 0x0a, 0x11, 0x54, 0x65, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4e, 0x65, 0x73, 0x74,
+ 0x65, 0x64, 0x12, 0x45, 0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e,
+ 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
+ 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x12, 0x0a, 0x10, 0x54, 0x65, 0x73,
+ 0x74, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x2a, 0x0a, 0x1e, 0x54, 0x65, 0x73,
+ 0x74, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x57, 0x69, 0x74, 0x68, 0x45, 0x78, 0x74,
+ 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2a, 0x08, 0x08, 0x01, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x22, 0x34, 0x0a,
+ 0x18, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x61, 0x6c, 0x6c, 0x79, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x54, 0x61, 0x67, 0x4e,
+ 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x09, 0x0a, 0x01, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x12, 0x0d, 0x0a, 0x02,
+ 0x62, 0x62, 0x18, 0xff, 0xff, 0xff, 0x7f, 0x20, 0x01, 0x28, 0x05, 0x22, 0x55, 0x0a, 0x14, 0x54, 0x65, 0x73, 0x74, 0x52,
+ 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x32, 0x0a, 0x01, 0x61,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e,
+ 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65,
+ 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x09, 0x0a, 0x01, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x22, 0x4b,
+ 0x0a, 0x14, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x75, 0x74, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x6f,
+ 0x6e, 0x41, 0x12, 0x33, 0x0a, 0x02, 0x62, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x4d,
+ 0x75, 0x74, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x22, 0x62, 0x0a, 0x14, 0x54,
+ 0x65, 0x73, 0x74, 0x4d, 0x75, 0x74, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x12,
+ 0x32, 0x0a, 0x01, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x75, 0x74, 0x75, 0x61,
+ 0x6c, 0x52, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x12, 0x16, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x22, 0xb3, 0x01, 0x0a, 0x12,
+ 0x54, 0x65, 0x73, 0x74, 0x44, 0x75, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x09,
+ 0x0a, 0x01, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x12, 0x36, 0x0a, 0x03, 0x66, 0x6f, 0x6f, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x0a, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65,
+ 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x44, 0x75, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65,
+ 0x72, 0x2e, 0x46, 0x6f, 0x6f, 0x12, 0x36, 0x0a, 0x03, 0x62, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0a, 0x32, 0x29,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54,
+ 0x65, 0x73, 0x74, 0x44, 0x75, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x42, 0x61,
+ 0x72, 0x1a, 0x10, 0x0a, 0x03, 0x46, 0x6f, 0x6f, 0x12, 0x09, 0x0a, 0x01, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x1a,
+ 0x10, 0x0a, 0x03, 0x42, 0x61, 0x72, 0x12, 0x09, 0x0a, 0x01, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x22, 0x80, 0x02,
+ 0x0a, 0x18, 0x54, 0x65, 0x73, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48,
+ 0x61, 0x73, 0x42, 0x69, 0x74, 0x73, 0x12, 0x5a, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e,
+ 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x39, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e,
+ 0x54, 0x65, 0x73, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x61, 0x73,
+ 0x42, 0x69, 0x74, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x87,
+ 0x01, 0x0a, 0x0d, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x24, 0x0a, 0x1c,
+ 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74,
+ 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x12, 0x50, 0x0a, 0x25, 0x6e, 0x65,
+ 0x73, 0x74, 0x65, 0x64, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
+ 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28,
+ 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73,
+ 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xe5, 0x03, 0x0a,
+ 0x17, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x6d, 0x65, 0x6c, 0x43, 0x61, 0x73, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4e,
+ 0x61, 0x6d, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x0e, 0x50, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x65,
+ 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x12, 0x13, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69,
+ 0x65, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x12, 0x31, 0x0a, 0x09, 0x45, 0x6e, 0x75, 0x6d, 0x46, 0x69, 0x65,
+ 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f,
+ 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d,
+ 0x12, 0x37, 0x0a, 0x0c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65,
+ 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a,
+ 0x10, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x65, 0x63, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x09, 0x42, 0x02, 0x08, 0x02, 0x12, 0x15, 0x0a, 0x09, 0x43, 0x6f, 0x72, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x08, 0x01, 0x12, 0x1e, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74,
+ 0x65, 0x64, 0x50, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x07, 0x20, 0x03,
+ 0x28, 0x05, 0x12, 0x1b, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
+ 0x46, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x12, 0x39, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x65, 0x61,
+ 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1e,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x46,
+ 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x3f, 0x0a, 0x14, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74,
+ 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74,
+ 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x24, 0x0a, 0x18, 0x52,
+ 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x69, 0x65, 0x63, 0x65, 0x46, 0x69,
+ 0x65, 0x6c, 0x64, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x08, 0x02, 0x12, 0x1d, 0x0a, 0x11, 0x52, 0x65, 0x70,
+ 0x65, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x72, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09,
+ 0x42, 0x02, 0x08, 0x01, 0x22, 0x55, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x72, 0x64,
+ 0x65, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x11, 0x0a, 0x09, 0x6d, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x09, 0x12, 0x0e, 0x0a, 0x06, 0x6d, 0x79, 0x5f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x03, 0x12, 0x10, 0x0a, 0x08, 0x6d, 0x79, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x65, 0x20, 0x01, 0x28, 0x02, 0x2a,
+ 0x04, 0x08, 0x02, 0x10, 0x0b, 0x2a, 0x04, 0x08, 0x0c, 0x10, 0x65, 0x22, 0x90, 0x02, 0x0a, 0x18, 0x54, 0x65, 0x73, 0x74,
+ 0x45, 0x78, 0x74, 0x72, 0x65, 0x6d, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73,
+ 0x12, 0x3f, 0x0a, 0x0d, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0c, 0x3a, 0x28, 0x5c, 0x30, 0x30, 0x30, 0x5c, 0x30, 0x30, 0x31, 0x5c, 0x30, 0x30, 0x37, 0x5c, 0x30, 0x31,
+ 0x30, 0x5c, 0x30, 0x31, 0x34, 0x5c, 0x6e, 0x5c, 0x72, 0x5c, 0x74, 0x5c, 0x30, 0x31, 0x33, 0x5c, 0x5c, 0x5c, 0x27, 0x5c,
+ 0x22, 0x5c, 0x33, 0x37, 0x36, 0x12, 0x20, 0x0a, 0x0c, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33,
+ 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x3a, 0x0a, 0x34, 0x32, 0x39, 0x34, 0x39, 0x36, 0x37, 0x32, 0x39, 0x35, 0x12,
+ 0x2a, 0x0a, 0x0c, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x04, 0x3a, 0x14, 0x31, 0x38, 0x34, 0x34, 0x36, 0x37, 0x34, 0x34, 0x30, 0x37, 0x33, 0x37, 0x30, 0x39, 0x35, 0x35, 0x31,
+ 0x36, 0x31, 0x35, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x04,
+ 0x20, 0x01, 0x28, 0x05, 0x3a, 0x0b, 0x2d, 0x32, 0x31, 0x34, 0x37, 0x34, 0x38, 0x33, 0x36, 0x34, 0x37, 0x12, 0x29, 0x0a,
+ 0x0b, 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x3a, 0x14,
+ 0x2d, 0x39, 0x32, 0x32, 0x33, 0x33, 0x37, 0x32, 0x30, 0x33, 0x36, 0x38, 0x35, 0x34, 0x37, 0x37, 0x35, 0x38, 0x30, 0x37,
+ 0x12, 0x18, 0x0a, 0x0b, 0x75, 0x74, 0x66, 0x38, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28,
+ 0x09, 0x3a, 0x03, 0xe1, 0x88, 0xb4, 0x22, 0x0c, 0x0a, 0x0a, 0x46, 0x6f, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x22, 0x0d, 0x0a, 0x0b, 0x46, 0x6f, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x0c, 0x0a, 0x0a, 0x42,
+ 0x61, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x0d, 0x0a, 0x0b, 0x42, 0x61, 0x72, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0x40, 0x0a, 0x0b, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12,
+ 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x46, 0x4f, 0x4f, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b,
+ 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x42, 0x41, 0x52, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52,
+ 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x42, 0x41, 0x5a, 0x10, 0x06, 0x2a, 0x47, 0x0a, 0x14, 0x54, 0x65, 0x73, 0x74, 0x45, 0x6e,
+ 0x75, 0x6d, 0x57, 0x69, 0x74, 0x68, 0x44, 0x75, 0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x4f,
+ 0x4f, 0x31, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x41, 0x52, 0x31, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x42, 0x41,
+ 0x5a, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x4f, 0x4f, 0x32, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x41, 0x52,
+ 0x32, 0x10, 0x02, 0x2a, 0x89, 0x01, 0x0a, 0x0e, 0x54, 0x65, 0x73, 0x74, 0x53, 0x70, 0x61, 0x72, 0x73, 0x65, 0x45, 0x6e,
+ 0x75, 0x6d, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x50, 0x41, 0x52, 0x53, 0x45, 0x5f, 0x41, 0x10, 0x7b, 0x12, 0x0e, 0x0a, 0x08,
+ 0x53, 0x50, 0x41, 0x52, 0x53, 0x45, 0x5f, 0x42, 0x10, 0xa6, 0xe7, 0x03, 0x12, 0x0f, 0x0a, 0x08, 0x53, 0x50, 0x41, 0x52,
+ 0x53, 0x45, 0x5f, 0x43, 0x10, 0xb2, 0xb1, 0x80, 0x06, 0x12, 0x15, 0x0a, 0x08, 0x53, 0x50, 0x41, 0x52, 0x53, 0x45, 0x5f,
+ 0x44, 0x10, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x12, 0x15, 0x0a, 0x08, 0x53, 0x50, 0x41, 0x52,
+ 0x53, 0x45, 0x5f, 0x45, 0x10, 0xb4, 0xde, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x53,
+ 0x50, 0x41, 0x52, 0x53, 0x45, 0x5f, 0x46, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x50, 0x41, 0x52, 0x53, 0x45, 0x5f,
+ 0x47, 0x10, 0x02, 0x32, 0x99, 0x01, 0x0a, 0x0b, 0x54, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
+ 0x44, 0x0a, 0x03, 0x46, 0x6f, 0x6f, 0x12, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e,
+ 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f,
+ 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x03, 0x42, 0x61, 0x72, 0x12, 0x1d, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x61, 0x72,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75,
+ 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x61, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x3a,
+ 0x46, 0x0a, 0x18, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x65, 0x78,
+ 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75,
+ 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e,
+ 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x46, 0x0a, 0x18, 0x6f, 0x70, 0x74, 0x69, 0x6f,
+ 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12,
+ 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e,
+ 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x03, 0x3a, 0x47, 0x0a, 0x19, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74,
+ 0x33, 0x32, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
+ 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x3a, 0x47, 0x0a, 0x19,
+ 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x65, 0x78, 0x74, 0x65,
+ 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69,
+ 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
+ 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x3a, 0x47, 0x0a, 0x19, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
+ 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54,
+ 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x11, 0x3a, 0x47, 0x0a, 0x19, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36,
+ 0x34, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45,
+ 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x3a, 0x48, 0x0a, 0x1a, 0x6f,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x65, 0x78, 0x74, 0x65,
+ 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69,
+ 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
+ 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, 0x3a, 0x48, 0x0a, 0x1a, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
+ 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12,
+ 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e,
+ 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20,
+ 0x01, 0x28, 0x06, 0x3a, 0x49, 0x0a, 0x1b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78,
+ 0x65, 0x64, 0x33, 0x32, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
+ 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0f, 0x3a, 0x49,
+ 0x0a, 0x1b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f,
+ 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74,
+ 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x10, 0x3a, 0x46, 0x0a, 0x18, 0x6f, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
+ 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73,
+ 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18,
+ 0x0b, 0x20, 0x01, 0x28, 0x02, 0x3a, 0x47, 0x0a, 0x19, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x6f,
+ 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
+ 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x3a, 0x45,
+ 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x65, 0x78, 0x74, 0x65,
+ 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69,
+ 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
+ 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x47, 0x0a, 0x19, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
+ 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54,
+ 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x01,
+ 0x28, 0x09, 0x3a, 0x46, 0x0a, 0x18, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73,
+ 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78,
+ 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0c, 0x3a, 0x71, 0x0a, 0x17, 0x6f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
+ 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73,
+ 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18,
+ 0x10, 0x20, 0x01, 0x28, 0x0a, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69,
+ 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f,
+ 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x7e, 0x0a, 0x21, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
+ 0x6c, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x78, 0x74,
+ 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e,
+ 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
+ 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
+ 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x73, 0x0a,
+ 0x22, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6d, 0x65,
+ 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74,
+ 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e,
+ 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x78, 0x0a, 0x21, 0x6f, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
+ 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45,
+ 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x6f,
+ 0x72, 0x74, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x78, 0x0a, 0x1e,
+ 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d,
+ 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78,
+ 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
+ 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x6d,
+ 0x0a, 0x1f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65,
+ 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
+ 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f,
+ 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x72, 0x0a, 0x1e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
+ 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73,
+ 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74,
+ 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
+ 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75,
+ 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72,
+ 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x51, 0x0a, 0x1f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74,
+ 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
+ 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74,
+ 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x18,
+ 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x08, 0x02, 0x3a, 0x49, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
+ 0x5f, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74,
+ 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x42,
+ 0x02, 0x08, 0x01, 0x3a, 0x46, 0x0a, 0x18, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x33,
+ 0x32, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45,
+ 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x05, 0x3a, 0x46, 0x0a, 0x18, 0x72,
+ 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73,
+ 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74,
+ 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
+ 0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x03, 0x3a, 0x47, 0x0a, 0x19, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f,
+ 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73,
+ 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0d,
+ 0x3a, 0x47, 0x0a, 0x19, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f,
+ 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74,
+ 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x22, 0x20, 0x03, 0x28, 0x04, 0x3a, 0x47, 0x0a, 0x19, 0x72, 0x65, 0x70,
+ 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
+ 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65,
+ 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73,
+ 0x18, 0x23, 0x20, 0x03, 0x28, 0x11, 0x3a, 0x47, 0x0a, 0x19, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73,
+ 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74,
+ 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x24, 0x20, 0x03, 0x28, 0x12, 0x3a,
+ 0x48, 0x0a, 0x1a, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f,
+ 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74,
+ 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x25, 0x20, 0x03, 0x28, 0x07, 0x3a, 0x48, 0x0a, 0x1a, 0x72, 0x65, 0x70,
+ 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73,
+ 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74,
+ 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
+ 0x73, 0x18, 0x26, 0x20, 0x03, 0x28, 0x06, 0x3a, 0x49, 0x0a, 0x1b, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f,
+ 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54,
+ 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x27, 0x20, 0x03,
+ 0x28, 0x0f, 0x3a, 0x49, 0x0a, 0x1b, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65,
+ 0x64, 0x36, 0x34, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
+ 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x28, 0x20, 0x03, 0x28, 0x10, 0x3a, 0x46, 0x0a,
+ 0x18, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65,
+ 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69,
+ 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
+ 0x6f, 0x6e, 0x73, 0x18, 0x29, 0x20, 0x03, 0x28, 0x02, 0x3a, 0x47, 0x0a, 0x19, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
+ 0x64, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54,
+ 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x2a, 0x20, 0x03,
+ 0x28, 0x01, 0x3a, 0x45, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f,
+ 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74,
+ 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x08, 0x3a, 0x47, 0x0a, 0x19, 0x72, 0x65, 0x70,
+ 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
+ 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65,
+ 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73,
+ 0x18, 0x2c, 0x20, 0x03, 0x28, 0x09, 0x3a, 0x46, 0x0a, 0x18, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62,
+ 0x79, 0x74, 0x65, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
+ 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x2d, 0x20, 0x03, 0x28, 0x0c, 0x3a, 0x71,
+ 0x0a, 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x65, 0x78, 0x74, 0x65,
+ 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69,
+ 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
+ 0x6f, 0x6e, 0x73, 0x18, 0x2e, 0x20, 0x03, 0x28, 0x0a, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72,
+ 0x6f, 0x75, 0x70, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x7e, 0x0a, 0x21, 0x72, 0x65, 0x70,
+ 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
+ 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78,
+ 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x30, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
+ 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
+ 0x65, 0x3a, 0x73, 0x0a, 0x22, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67,
+ 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12,
+ 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e,
+ 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x31, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74,
+ 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x78,
+ 0x0a, 0x21, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x65,
+ 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74,
+ 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x32, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x5f,
+ 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
+ 0x3a, 0x78, 0x0a, 0x1e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f,
+ 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
+ 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x33, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2a,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54,
+ 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e,
+ 0x75, 0x6d, 0x3a, 0x6d, 0x0a, 0x1f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69,
+ 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65,
+ 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x34, 0x20, 0x03, 0x28,
+ 0x0e, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73,
+ 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x72, 0x0a, 0x1e, 0x72, 0x65, 0x70,
+ 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x78,
+ 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75,
+ 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e,
+ 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x35, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x49,
+ 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x51, 0x0a, 0x1f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
+ 0x64, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x69, 0x65, 0x63, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e,
+ 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74,
+ 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
+ 0x6e, 0x73, 0x18, 0x36, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x08, 0x02, 0x3a, 0x49, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x65,
+ 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12,
+ 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e,
+ 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x37, 0x20,
+ 0x03, 0x28, 0x09, 0x42, 0x02, 0x08, 0x01, 0x3a, 0x49, 0x0a, 0x17, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x69,
+ 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
+ 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02,
+ 0x34, 0x31, 0x3a, 0x49, 0x0a, 0x17, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f,
+ 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74,
+ 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x03, 0x3a, 0x02, 0x34, 0x32, 0x3a, 0x4a, 0x0a,
+ 0x18, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x65, 0x78, 0x74, 0x65,
+ 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69,
+ 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
+ 0x6f, 0x6e, 0x73, 0x18, 0x3f, 0x20, 0x01, 0x28, 0x0d, 0x3a, 0x02, 0x34, 0x33, 0x3a, 0x4a, 0x0a, 0x18, 0x64, 0x65, 0x66,
+ 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
+ 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73,
+ 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18,
+ 0x40, 0x20, 0x01, 0x28, 0x04, 0x3a, 0x02, 0x34, 0x34, 0x3a, 0x4b, 0x0a, 0x18, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
+ 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65,
+ 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x41, 0x20, 0x01, 0x28,
+ 0x11, 0x3a, 0x03, 0x2d, 0x34, 0x35, 0x3a, 0x4a, 0x0a, 0x18, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x69,
+ 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
+ 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x42, 0x20, 0x01, 0x28, 0x12, 0x3a, 0x02,
+ 0x34, 0x36, 0x3a, 0x4b, 0x0a, 0x19, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33,
+ 0x32, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45,
+ 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x43, 0x20, 0x01, 0x28, 0x07, 0x3a, 0x02, 0x34, 0x37, 0x3a,
+ 0x4b, 0x0a, 0x19, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f, 0x65,
+ 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f,
+ 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65,
+ 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x44, 0x20, 0x01, 0x28, 0x06, 0x3a, 0x02, 0x34, 0x38, 0x3a, 0x4c, 0x0a, 0x1a,
+ 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x65, 0x78, 0x74,
+ 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e,
+ 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
+ 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x45, 0x20, 0x01, 0x28, 0x0f, 0x3a, 0x02, 0x34, 0x39, 0x3a, 0x4d, 0x0a, 0x1a, 0x64, 0x65,
+ 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e,
+ 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74,
+ 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
+ 0x6e, 0x73, 0x18, 0x46, 0x20, 0x01, 0x28, 0x10, 0x3a, 0x03, 0x2d, 0x35, 0x30, 0x3a, 0x4b, 0x0a, 0x17, 0x64, 0x65, 0x66,
+ 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
+ 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74,
+ 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x47,
+ 0x20, 0x01, 0x28, 0x02, 0x3a, 0x04, 0x35, 0x31, 0x2e, 0x35, 0x3a, 0x4d, 0x0a, 0x18, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
+ 0x74, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54,
+ 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x48, 0x20, 0x01,
+ 0x28, 0x01, 0x3a, 0x05, 0x35, 0x32, 0x30, 0x30, 0x30, 0x3a, 0x4a, 0x0a, 0x16, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
+ 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74,
+ 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x49, 0x20, 0x01, 0x28, 0x08, 0x3a,
+ 0x04, 0x74, 0x72, 0x75, 0x65, 0x3a, 0x4d, 0x0a, 0x18, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x74, 0x72,
+ 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
+ 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x4a, 0x20, 0x01, 0x28, 0x09, 0x3a, 0x05, 0x68,
+ 0x65, 0x6c, 0x6c, 0x6f, 0x3a, 0x4c, 0x0a, 0x17, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65,
+ 0x73, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45,
+ 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x4b, 0x20, 0x01, 0x28, 0x0c, 0x3a, 0x05, 0x77, 0x6f, 0x72,
+ 0x6c, 0x64, 0x3a, 0x7c, 0x0a, 0x1d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64,
+ 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74,
+ 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x51, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e,
+ 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45,
+ 0x6e, 0x75, 0x6d, 0x3a, 0x03, 0x42, 0x41, 0x52, 0x3a, 0x79, 0x0a, 0x1e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f,
+ 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
+ 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65,
+ 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73,
+ 0x18, 0x52, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e,
+ 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x0b,
+ 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x42, 0x41, 0x52, 0x3a, 0x7d, 0x0a, 0x1d, 0x64, 0x65, 0x66, 0x61, 0x75,
+ 0x6c, 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e,
+ 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74,
+ 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
+ 0x6e, 0x73, 0x18, 0x53, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f,
+ 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x49, 0x6d, 0x70, 0x6f,
+ 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x0a, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x42, 0x41, 0x52, 0x3a, 0x55,
+ 0x0a, 0x1e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x69, 0x65,
+ 0x63, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
+ 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x54, 0x20, 0x01, 0x28, 0x09, 0x3a, 0x03, 0x61, 0x62,
+ 0x63, 0x42, 0x02, 0x08, 0x02, 0x3a, 0x4d, 0x0a, 0x16, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x72,
+ 0x64, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
+ 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45,
+ 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x55, 0x20, 0x01, 0x28, 0x09, 0x3a, 0x03, 0x31, 0x32, 0x33,
+ 0x42, 0x02, 0x08, 0x01, 0x3a, 0x42, 0x0a, 0x13, 0x6d, 0x79, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x5f, 0x75,
+ 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x72, 0x64,
+ 0x65, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x32, 0x20, 0x01, 0x28, 0x09, 0x3a, 0x3f, 0x0a, 0x10, 0x6d, 0x79, 0x5f, 0x65,
+ 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x74, 0x12, 0x25, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x62, 0x75, 0x66, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x46, 0x69, 0x65,
+ 0x6c, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x42, 0x49, 0x42,
+ 0x0d, 0x55, 0x6e, 0x69, 0x74, 0x74, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x48, 0x01, 0xc2, 0x3e, 0x21, 0x47,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72,
+ 0x73, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0xca, 0x3e, 0x11, 0x55, 0x6e, 0x69, 0x74, 0x54,
+ 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x69, 0x6c, 0x65,
+ }, new pbd::FileDescriptor[] {
+ self::UnitTestImportProtoFile.Descriptor,
+ });
+ #endregion
+
+ #region Extensions
+ /*public static readonly pb::GeneratedExtension<self::TestAllExtensions, int> OptionalInt32Extension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, int>(Descriptor.Extensions[0]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, long> OptionalInt64Extension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, long>(Descriptor.Extensions[1]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, uint> OptionalUint32Extension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, uint>(Descriptor.Extensions[2]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, ulong> OptionalUint64Extension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, ulong>(Descriptor.Extensions[3]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, int> OptionalSint32Extension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, int>(Descriptor.Extensions[4]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, long> OptionalSint64Extension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, long>(Descriptor.Extensions[5]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, uint> OptionalFixed32Extension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, uint>(Descriptor.Extensions[6]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, ulong> OptionalFixed64Extension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, ulong>(Descriptor.Extensions[7]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, int> OptionalSfixed32Extension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, int>(Descriptor.Extensions[8]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, long> OptionalSfixed64Extension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, long>(Descriptor.Extensions[9]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, float> OptionalFloatExtension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, float>(Descriptor.Extensions[10]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, double> OptionalDoubleExtension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, double>(Descriptor.Extensions[11]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, bool> OptionalBoolExtension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, bool>(Descriptor.Extensions[12]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, string> OptionalStringExtension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, string>(Descriptor.Extensions[13]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, pb::ByteString> OptionalBytesExtension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, pb::ByteString>(Descriptor.Extensions[14]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, self::OptionalGroup_extension> OptionalGroupExtension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, self::OptionalGroup_extension>(Descriptor.Extensions[15]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, self::TestAllTypes.Types.NestedMessage> OptionalNestedMessageExtension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, self::TestAllTypes.Types.NestedMessage>(Descriptor.Extensions[16]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, self::ForeignMessage> OptionalForeignMessageExtension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, self::ForeignMessage>(Descriptor.Extensions[17]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, self::ImportMessage> OptionalImportMessageExtension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, self::ImportMessage>(Descriptor.Extensions[18]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, self::TestAllTypes.Types.NestedEnum> OptionalNestedEnumExtension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, self::TestAllTypes.Types.NestedEnum>(Descriptor.Extensions[19]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, self::ForeignEnum> OptionalForeignEnumExtension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, self::ForeignEnum>(Descriptor.Extensions[20]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, self::ImportEnum> OptionalImportEnumExtension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, self::ImportEnum>(Descriptor.Extensions[21]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, string> OptionalStringPieceExtension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, string>(Descriptor.Extensions[22]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, string> OptionalCordExtension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, string>(Descriptor.Extensions[23]);
+ public static readonly
+ pb::GeneratedExtension<self::TestAllExtensions, scg::IList<int>> name =
+ pb::GeneratedExtension.CreateRepeatedExtension<self::TestAllExtensions, int>(Descriptor.Extensions[24]);
+ public static readonly
+ pb::GeneratedExtension<self::TestAllExtensions, scg::IList<long>> name =
+ pb::GeneratedExtension.CreateRepeatedExtension<self::TestAllExtensions, long>(Descriptor.Extensions[25]);
+ public static readonly
+ pb::GeneratedExtension<self::TestAllExtensions, scg::IList<uint>> name =
+ pb::GeneratedExtension.CreateRepeatedExtension<self::TestAllExtensions, uint>(Descriptor.Extensions[26]);
+ public static readonly
+ pb::GeneratedExtension<self::TestAllExtensions, scg::IList<ulong>> name =
+ pb::GeneratedExtension.CreateRepeatedExtension<self::TestAllExtensions, ulong>(Descriptor.Extensions[27]);
+ public static readonly
+ pb::GeneratedExtension<self::TestAllExtensions, scg::IList<int>> name =
+ pb::GeneratedExtension.CreateRepeatedExtension<self::TestAllExtensions, int>(Descriptor.Extensions[28]);
+ public static readonly
+ pb::GeneratedExtension<self::TestAllExtensions, scg::IList<long>> name =
+ pb::GeneratedExtension.CreateRepeatedExtension<self::TestAllExtensions, long>(Descriptor.Extensions[29]);
+ public static readonly
+ pb::GeneratedExtension<self::TestAllExtensions, scg::IList<uint>> name =
+ pb::GeneratedExtension.CreateRepeatedExtension<self::TestAllExtensions, uint>(Descriptor.Extensions[30]);
+ public static readonly
+ pb::GeneratedExtension<self::TestAllExtensions, scg::IList<ulong>> name =
+ pb::GeneratedExtension.CreateRepeatedExtension<self::TestAllExtensions, ulong>(Descriptor.Extensions[31]);
+ public static readonly
+ pb::GeneratedExtension<self::TestAllExtensions, scg::IList<int>> name =
+ pb::GeneratedExtension.CreateRepeatedExtension<self::TestAllExtensions, int>(Descriptor.Extensions[32]);
+ public static readonly
+ pb::GeneratedExtension<self::TestAllExtensions, scg::IList<long>> name =
+ pb::GeneratedExtension.CreateRepeatedExtension<self::TestAllExtensions, long>(Descriptor.Extensions[33]);
+ public static readonly
+ pb::GeneratedExtension<self::TestAllExtensions, scg::IList<float>> name =
+ pb::GeneratedExtension.CreateRepeatedExtension<self::TestAllExtensions, float>(Descriptor.Extensions[34]);
+ public static readonly
+ pb::GeneratedExtension<self::TestAllExtensions, scg::IList<double>> name =
+ pb::GeneratedExtension.CreateRepeatedExtension<self::TestAllExtensions, double>(Descriptor.Extensions[35]);
+ public static readonly
+ pb::GeneratedExtension<self::TestAllExtensions, scg::IList<bool>> name =
+ pb::GeneratedExtension.CreateRepeatedExtension<self::TestAllExtensions, bool>(Descriptor.Extensions[36]);
+ public static readonly
+ pb::GeneratedExtension<self::TestAllExtensions, scg::IList<string>> name =
+ pb::GeneratedExtension.CreateRepeatedExtension<self::TestAllExtensions, string>(Descriptor.Extensions[37]);
+ public static readonly
+ pb::GeneratedExtension<self::TestAllExtensions, scg::IList<pb::ByteString>> name =
+ pb::GeneratedExtension.CreateRepeatedExtension<self::TestAllExtensions, pb::ByteString>(Descriptor.Extensions[38]);
+ public static readonly
+ pb::GeneratedExtension<self::TestAllExtensions, scg::IList<self::RepeatedGroup_extension>> name =
+ pb::GeneratedExtension.CreateRepeatedExtension<self::TestAllExtensions, self::RepeatedGroup_extension>(Descriptor.Extensions[39]);
+ public static readonly
+ pb::GeneratedExtension<self::TestAllExtensions, scg::IList<self::TestAllTypes.Types.NestedMessage>> name =
+ pb::GeneratedExtension.CreateRepeatedExtension<self::TestAllExtensions, self::TestAllTypes.Types.NestedMessage>(Descriptor.Extensions[40]);
+ public static readonly
+ pb::GeneratedExtension<self::TestAllExtensions, scg::IList<self::ForeignMessage>> name =
+ pb::GeneratedExtension.CreateRepeatedExtension<self::TestAllExtensions, self::ForeignMessage>(Descriptor.Extensions[41]);
+ public static readonly
+ pb::GeneratedExtension<self::TestAllExtensions, scg::IList<self::ImportMessage>> name =
+ pb::GeneratedExtension.CreateRepeatedExtension<self::TestAllExtensions, self::ImportMessage>(Descriptor.Extensions[42]);
+ public static readonly
+ pb::GeneratedExtension<self::TestAllExtensions, scg::IList<self::TestAllTypes.Types.NestedEnum>> name =
+ pb::GeneratedExtension.CreateRepeatedExtension<self::TestAllExtensions, self::TestAllTypes.Types.NestedEnum>(Descriptor.Extensions[43]);
+ public static readonly
+ pb::GeneratedExtension<self::TestAllExtensions, scg::IList<self::ForeignEnum>> name =
+ pb::GeneratedExtension.CreateRepeatedExtension<self::TestAllExtensions, self::ForeignEnum>(Descriptor.Extensions[44]);
+ public static readonly
+ pb::GeneratedExtension<self::TestAllExtensions, scg::IList<self::ImportEnum>> name =
+ pb::GeneratedExtension.CreateRepeatedExtension<self::TestAllExtensions, self::ImportEnum>(Descriptor.Extensions[45]);
+ public static readonly
+ pb::GeneratedExtension<self::TestAllExtensions, scg::IList<string>> name =
+ pb::GeneratedExtension.CreateRepeatedExtension<self::TestAllExtensions, string>(Descriptor.Extensions[46]);
+ public static readonly
+ pb::GeneratedExtension<self::TestAllExtensions, scg::IList<string>> name =
+ pb::GeneratedExtension.CreateRepeatedExtension<self::TestAllExtensions, string>(Descriptor.Extensions[47]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, int> DefaultInt32Extension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, int>(Descriptor.Extensions[48]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, long> DefaultInt64Extension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, long>(Descriptor.Extensions[49]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, uint> DefaultUint32Extension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, uint>(Descriptor.Extensions[50]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, ulong> DefaultUint64Extension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, ulong>(Descriptor.Extensions[51]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, int> DefaultSint32Extension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, int>(Descriptor.Extensions[52]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, long> DefaultSint64Extension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, long>(Descriptor.Extensions[53]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, uint> DefaultFixed32Extension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, uint>(Descriptor.Extensions[54]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, ulong> DefaultFixed64Extension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, ulong>(Descriptor.Extensions[55]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, int> DefaultSfixed32Extension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, int>(Descriptor.Extensions[56]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, long> DefaultSfixed64Extension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, long>(Descriptor.Extensions[57]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, float> DefaultFloatExtension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, float>(Descriptor.Extensions[58]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, double> DefaultDoubleExtension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, double>(Descriptor.Extensions[59]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, bool> DefaultBoolExtension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, bool>(Descriptor.Extensions[60]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, string> DefaultStringExtension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, string>(Descriptor.Extensions[61]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, pb::ByteString> DefaultBytesExtension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, pb::ByteString>(Descriptor.Extensions[62]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, self::TestAllTypes.Types.NestedEnum> DefaultNestedEnumExtension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, self::TestAllTypes.Types.NestedEnum>(Descriptor.Extensions[63]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, self::ForeignEnum> DefaultForeignEnumExtension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, self::ForeignEnum>(Descriptor.Extensions[64]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, self::ImportEnum> DefaultImportEnumExtension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, self::ImportEnum>(Descriptor.Extensions[65]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, string> DefaultStringPieceExtension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, string>(Descriptor.Extensions[66]);
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, string> DefaultCordExtension =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, string>(Descriptor.Extensions[67]);
+ public static readonly pb::GeneratedExtension<self::TestFieldOrderings, string> MyExtensionString =
+ pb::GeneratedExtension.CreateExtension<self::TestFieldOrderings, string>(Descriptor.Extensions[68]);
+ public static readonly pb::GeneratedExtension<self::TestFieldOrderings, int> MyExtensionInt =
+ pb::GeneratedExtension.CreateExtension<self::TestFieldOrderings, int>(Descriptor.Extensions[69]);
+ */
+ #endregion
+
+ #region Static variables
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_TestAllTypes__Descriptor
+ = Descriptor.MessageTypes[0];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_TestAllTypes__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_TestAllTypes__Descriptor,
+ new string[] { "OptionalInt32", "OptionalInt64", "OptionalUint32", "OptionalUint64", "OptionalSint32", "OptionalSint64", "OptionalFixed32", "OptionalFixed64", "OptionalSfixed32", "OptionalSfixed64", "OptionalFloat", "OptionalDouble", "OptionalBool", "OptionalString", "OptionalBytes", "OptionalGroup", "OptionalNestedMessage", "OptionalForeignMessage", "OptionalImportMessage", "OptionalNestedEnum", "OptionalForeignEnum", "OptionalImportEnum", "OptionalStringPiece", "OptionalCord", "RepeatedInt32", "RepeatedInt64", "RepeatedUint32", "RepeatedUint64", "RepeatedSint32", "RepeatedSint64", "RepeatedFixed32", "RepeatedFixed64", "RepeatedSfixed32", "RepeatedSfixed64", "RepeatedFloat", "RepeatedDouble", "RepeatedBool", "RepeatedString", "RepeatedBytes", "RepeatedGroup", "RepeatedNestedMessage", "RepeatedForeignMessage", "RepeatedImportMessage", "RepeatedNestedEnum", "RepeatedForeignEnum", "RepeatedImportEnum", "RepeatedStringPiece", "RepeatedCord", "DefaultInt32", "DefaultInt64", "DefaultUint32", "DefaultUint64", "DefaultSint32", "DefaultSint64", "DefaultFixed32", "DefaultFixed64", "DefaultSfixed32", "DefaultSfixed64", "DefaultFloat", "DefaultDouble", "DefaultBool", "DefaultString", "DefaultBytes", "DefaultNestedEnum", "DefaultForeignEnum", "DefaultImportEnum", "DefaultStringPiece", "DefaultCord", },
+ typeof (self::TestAllTypes),
+ typeof (self::TestAllTypes.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_TestAllTypes_NestedMessage__Descriptor
+ = internal__static_protobuf_unittest_TestAllTypes__Descriptor.NestedTypes[0];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_TestAllTypes_NestedMessage__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_TestAllTypes_NestedMessage__Descriptor,
+ new string[] { "Bb", },
+ typeof (self::TestAllTypes.Types.NestedMessage),
+ typeof (self::TestAllTypes.Types.NestedMessage.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_TestAllTypes_OptionalGroup__Descriptor
+ = internal__static_protobuf_unittest_TestAllTypes__Descriptor.NestedTypes[1];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_TestAllTypes_OptionalGroup__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_TestAllTypes_OptionalGroup__Descriptor,
+ new string[] { "A", },
+ typeof (self::TestAllTypes.Types.OptionalGroup),
+ typeof (self::TestAllTypes.Types.OptionalGroup.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_TestAllTypes_RepeatedGroup__Descriptor
+ = internal__static_protobuf_unittest_TestAllTypes__Descriptor.NestedTypes[2];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_TestAllTypes_RepeatedGroup__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_TestAllTypes_RepeatedGroup__Descriptor,
+ new string[] { "A", },
+ typeof (self::TestAllTypes.Types.RepeatedGroup),
+ typeof (self::TestAllTypes.Types.RepeatedGroup.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_ForeignMessage__Descriptor
+ = Descriptor.MessageTypes[1];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_ForeignMessage__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_ForeignMessage__Descriptor,
+ new string[] { "C", },
+ typeof (self::ForeignMessage),
+ typeof (self::ForeignMessage.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_TestAllExtensions__Descriptor
+ = Descriptor.MessageTypes[2];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_TestAllExtensions__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_TestAllExtensions__Descriptor,
+ new string[] { },
+ typeof (self::TestAllExtensions),
+ typeof (self::TestAllExtensions.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_OptionalGroup_extension__Descriptor
+ = Descriptor.MessageTypes[3];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_OptionalGroup_extension__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_OptionalGroup_extension__Descriptor,
+ new string[] { "A", },
+ typeof (self::OptionalGroup_extension),
+ typeof (self::OptionalGroup_extension.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_RepeatedGroup_extension__Descriptor
+ = Descriptor.MessageTypes[4];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_RepeatedGroup_extension__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_RepeatedGroup_extension__Descriptor,
+ new string[] { "A", },
+ typeof (self::RepeatedGroup_extension),
+ typeof (self::RepeatedGroup_extension.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_TestRequired__Descriptor
+ = Descriptor.MessageTypes[5];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_TestRequired__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_TestRequired__Descriptor,
+ new string[] { "A", "Dummy2", "B", "Dummy4", "Dummy5", "Dummy6", "Dummy7", "Dummy8", "Dummy9", "Dummy10", "Dummy11", "Dummy12", "Dummy13", "Dummy14", "Dummy15", "Dummy16", "Dummy17", "Dummy18", "Dummy19", "Dummy20", "Dummy21", "Dummy22", "Dummy23", "Dummy24", "Dummy25", "Dummy26", "Dummy27", "Dummy28", "Dummy29", "Dummy30", "Dummy31", "Dummy32", "C", },
+ typeof (self::TestRequired),
+ typeof (self::TestRequired.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_TestRequiredForeign__Descriptor
+ = Descriptor.MessageTypes[6];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_TestRequiredForeign__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_TestRequiredForeign__Descriptor,
+ new string[] { "OptionalMessage", "RepeatedMessage", "Dummy", },
+ typeof (self::TestRequiredForeign),
+ typeof (self::TestRequiredForeign.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_TestForeignNested__Descriptor
+ = Descriptor.MessageTypes[7];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_TestForeignNested__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_TestForeignNested__Descriptor,
+ new string[] { "ForeignNested", },
+ typeof (self::TestForeignNested),
+ typeof (self::TestForeignNested.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_TestEmptyMessage__Descriptor
+ = Descriptor.MessageTypes[8];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_TestEmptyMessage__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_TestEmptyMessage__Descriptor,
+ new string[] { },
+ typeof (self::TestEmptyMessage),
+ typeof (self::TestEmptyMessage.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_TestEmptyMessageWithExtensions__Descriptor
+ = Descriptor.MessageTypes[9];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_TestEmptyMessageWithExtensions__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_TestEmptyMessageWithExtensions__Descriptor,
+ new string[] { },
+ typeof (self::TestEmptyMessageWithExtensions),
+ typeof (self::TestEmptyMessageWithExtensions.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_TestReallyLargeTagNumber__Descriptor
+ = Descriptor.MessageTypes[10];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_TestReallyLargeTagNumber__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_TestReallyLargeTagNumber__Descriptor,
+ new string[] { "A", "Bb", },
+ typeof (self::TestReallyLargeTagNumber),
+ typeof (self::TestReallyLargeTagNumber.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_TestRecursiveMessage__Descriptor
+ = Descriptor.MessageTypes[11];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_TestRecursiveMessage__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_TestRecursiveMessage__Descriptor,
+ new string[] { "A", "I", },
+ typeof (self::TestRecursiveMessage),
+ typeof (self::TestRecursiveMessage.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_TestMutualRecursionA__Descriptor
+ = Descriptor.MessageTypes[12];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_TestMutualRecursionA__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_TestMutualRecursionA__Descriptor,
+ new string[] { "Bb", },
+ typeof (self::TestMutualRecursionA),
+ typeof (self::TestMutualRecursionA.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_TestMutualRecursionB__Descriptor
+ = Descriptor.MessageTypes[13];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_TestMutualRecursionB__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_TestMutualRecursionB__Descriptor,
+ new string[] { "A", "OptionalInt32", },
+ typeof (self::TestMutualRecursionB),
+ typeof (self::TestMutualRecursionB.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_TestDupFieldNumber__Descriptor
+ = Descriptor.MessageTypes[14];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_TestDupFieldNumber__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_TestDupFieldNumber__Descriptor,
+ new string[] { "A", "Foo", "Bar", },
+ typeof (self::TestDupFieldNumber),
+ typeof (self::TestDupFieldNumber.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_TestDupFieldNumber_Foo__Descriptor
+ = internal__static_protobuf_unittest_TestDupFieldNumber__Descriptor.NestedTypes[0];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_TestDupFieldNumber_Foo__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_TestDupFieldNumber_Foo__Descriptor,
+ new string[] { "A", },
+ typeof (self::TestDupFieldNumber.Types.Foo),
+ typeof (self::TestDupFieldNumber.Types.Foo.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_TestDupFieldNumber_Bar__Descriptor
+ = internal__static_protobuf_unittest_TestDupFieldNumber__Descriptor.NestedTypes[1];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_TestDupFieldNumber_Bar__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_TestDupFieldNumber_Bar__Descriptor,
+ new string[] { "A", },
+ typeof (self::TestDupFieldNumber.Types.Bar),
+ typeof (self::TestDupFieldNumber.Types.Bar.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_TestNestedMessageHasBits__Descriptor
+ = Descriptor.MessageTypes[15];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_TestNestedMessageHasBits__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_TestNestedMessageHasBits__Descriptor,
+ new string[] { "OptionalNestedMessage", },
+ typeof (self::TestNestedMessageHasBits),
+ typeof (self::TestNestedMessageHasBits.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_TestNestedMessageHasBits_NestedMessage__Descriptor
+ = internal__static_protobuf_unittest_TestNestedMessageHasBits__Descriptor.NestedTypes[0];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_TestNestedMessageHasBits_NestedMessage__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_TestNestedMessageHasBits_NestedMessage__Descriptor,
+ new string[] { "NestedmessageRepeatedInt32", "NestedmessageRepeatedForeignmessage", },
+ typeof (self::TestNestedMessageHasBits.Types.NestedMessage),
+ typeof (self::TestNestedMessageHasBits.Types.NestedMessage.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_TestCamelCaseFieldNames__Descriptor
+ = Descriptor.MessageTypes[16];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_TestCamelCaseFieldNames__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_TestCamelCaseFieldNames__Descriptor,
+ new string[] { "PrimitiveField", "StringField", "EnumField", "MessageField", "StringPieceField", "CordField", "RepeatedPrimitiveField", "RepeatedStringField", "RepeatedEnumField", "RepeatedMessageField", "RepeatedStringPieceField", "RepeatedCordField", },
+ typeof (self::TestCamelCaseFieldNames),
+ typeof (self::TestCamelCaseFieldNames.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_TestFieldOrderings__Descriptor
+ = Descriptor.MessageTypes[17];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_TestFieldOrderings__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_TestFieldOrderings__Descriptor,
+ new string[] { "MyString", "MyInt", "MyFloat", },
+ typeof (self::TestFieldOrderings),
+ typeof (self::TestFieldOrderings.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_TestExtremeDefaultValues__Descriptor
+ = Descriptor.MessageTypes[18];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_TestExtremeDefaultValues__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_TestExtremeDefaultValues__Descriptor,
+ new string[] { "EscapedBytes", "LargeUint32", "LargeUint64", "SmallInt32", "SmallInt64", "Utf8String", },
+ typeof (self::TestExtremeDefaultValues),
+ typeof (self::TestExtremeDefaultValues.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_FooRequest__Descriptor
+ = Descriptor.MessageTypes[19];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_FooRequest__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_FooRequest__Descriptor,
+ new string[] { },
+ typeof (self::FooRequest),
+ typeof (self::FooRequest.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_FooResponse__Descriptor
+ = Descriptor.MessageTypes[20];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_FooResponse__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_FooResponse__Descriptor,
+ new string[] { },
+ typeof (self::FooResponse),
+ typeof (self::FooResponse.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_BarRequest__Descriptor
+ = Descriptor.MessageTypes[21];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_BarRequest__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_BarRequest__Descriptor,
+ new string[] { },
+ typeof (self::BarRequest),
+ typeof (self::BarRequest.Builder));
+ internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_BarResponse__Descriptor
+ = Descriptor.MessageTypes[22];
+ internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_BarResponse__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_BarResponse__Descriptor,
+ new string[] { },
+ typeof (self::BarResponse),
+ typeof (self::BarResponse.Builder));
+ #endregion
+
+ }
+
+ #region Enums
+ public enum ForeignEnum {
+ FOREIGN_FOO = 4,
+ FOREIGN_BAR = 5,
+ FOREIGN_BAZ = 6,
+ }
+
+ public enum TestEnumWithDupValue {
+ FOO1 = 1,
+ BAR1 = 2,
+ BAZ = 3,
+ }
+
+ public enum TestSparseEnum {
+ SPARSE_A = 123,
+ SPARSE_B = 62374,
+ SPARSE_C = 12589234,
+ SPARSE_D = -15,
+ SPARSE_E = -53452,
+ SPARSE_F = 0,
+ SPARSE_G = 2,
+ }
+
+ #endregion
+
+ #region Messages
+ public sealed partial class TestAllTypes : pb::GeneratedMessage<TestAllTypes, TestAllTypes.Builder> {
+ // Use TestAllTypes.CreateBuilder() to construct.
+ private TestAllTypes() {}
+
+ private static readonly TestAllTypes defaultInstance = new TestAllTypes();
+ public static TestAllTypes DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override TestAllTypes DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestAllTypes__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestAllTypes__FieldAccessorTable; }
+ }
+
+ #region Nested types
+ public static class Types {
+ public enum NestedEnum {
+ FOO = 1,
+ BAR = 2,
+ BAZ = 3,
+ }
+
+ public sealed partial class NestedMessage : pb::GeneratedMessage<NestedMessage, NestedMessage.Builder> {
+ // Use NestedMessage.CreateBuilder() to construct.
+ private NestedMessage() {}
+
+ private static readonly NestedMessage defaultInstance = new NestedMessage();
+ public static NestedMessage DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override NestedMessage DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestAllTypes_NestedMessage__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestAllTypes_NestedMessage__FieldAccessorTable; }
+ }
+
+ // optional int32 bb = 1;
+ private bool hasBb;
+ private int bb_ = 0;
+ public bool HasBb {
+ get { return hasBb; }
+ }
+ public int Bb {
+ get { return bb_; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ if (HasBb) {
+ output.WriteInt32(1, Bb);
+ }
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (HasBb) {
+ size += pb::CodedOutputStream.ComputeInt32Size(1, Bb);
+ }
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::TestAllTypes.Types.NestedMessage ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestAllTypes.Types.NestedMessage ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestAllTypes.Types.NestedMessage ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestAllTypes.Types.NestedMessage parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestAllTypes.Types.NestedMessage ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestAllTypes.Types.NestedMessage ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestAllTypes.Types.NestedMessage ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestAllTypes.Types.NestedMessage ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::TestAllTypes.Types.NestedMessage> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::TestAllTypes.Types.NestedMessage prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::TestAllTypes.Types.NestedMessage, Builder> {
+ // Construct using self::TestAllTypes.Types.NestedMessage.CreateBuilder()
+ internal Builder() {}
+
+ self::TestAllTypes.Types.NestedMessage result = new self::TestAllTypes.Types.NestedMessage();
+
+ protected override self::TestAllTypes.Types.NestedMessage MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::TestAllTypes.Types.NestedMessage> Clear() {
+ result = new self::TestAllTypes.Types.NestedMessage();
+ return this;
+ }
+
+ public override IBuilder<self::TestAllTypes.Types.NestedMessage> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::TestAllTypes.Types.NestedMessage.Descriptor; }
+ }
+
+ public override self::TestAllTypes.Types.NestedMessage DefaultInstanceForType {
+ get { return self::TestAllTypes.Types.NestedMessage.DefaultInstance; }
+ }
+
+ public override self::TestAllTypes.Types.NestedMessage BuildPartial() {
+ self::TestAllTypes.Types.NestedMessage returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::TestAllTypes.Types.NestedMessage) {
+ return MergeFrom((self::TestAllTypes.Types.NestedMessage) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::TestAllTypes.Types.NestedMessage> MergeFrom(self::TestAllTypes.Types.NestedMessage other) {
+ if (other == self::TestAllTypes.Types.NestedMessage.DefaultInstance) return this;
+ if (other.HasBb) {
+ Bb = other.Bb;
+ }
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::TestAllTypes.Types.NestedMessage> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::TestAllTypes.Types.NestedMessage> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ case 8: {
+ Bb = input.ReadInt32();
+ break;
+ }
+ }
+ }
+ }
+
+
+ // optional int32 bb = 1;
+ public bool HasBb {
+ get { return result.HasBb; }
+ }
+ public int Bb {
+ get { return result.Bb; }
+ set { SetBb(value); }
+ }
+ public Builder SetBb(int value) {
+ result.hasBb = true;
+ result.bb_ = value;
+ return this;
+ }
+ public Builder ClearBb() {
+ result.hasBb = false;
+ result.bb_ = 0;
+ return this;
+ }
+ }
+ }
+
+ public sealed partial class OptionalGroup : pb::GeneratedMessage<OptionalGroup, OptionalGroup.Builder> {
+ // Use OptionalGroup.CreateBuilder() to construct.
+ private OptionalGroup() {}
+
+ private static readonly OptionalGroup defaultInstance = new OptionalGroup();
+ public static OptionalGroup DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override OptionalGroup DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestAllTypes_OptionalGroup__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestAllTypes_OptionalGroup__FieldAccessorTable; }
+ }
+
+ // optional int32 a = 17;
+ private bool hasA;
+ private int a_ = 0;
+ public bool HasA {
+ get { return hasA; }
+ }
+ public int A {
+ get { return a_; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ if (HasA) {
+ output.WriteInt32(17, A);
+ }
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (HasA) {
+ size += pb::CodedOutputStream.ComputeInt32Size(17, A);
+ }
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::TestAllTypes.Types.OptionalGroup ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestAllTypes.Types.OptionalGroup ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestAllTypes.Types.OptionalGroup ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestAllTypes.Types.OptionalGroup parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestAllTypes.Types.OptionalGroup ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestAllTypes.Types.OptionalGroup ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestAllTypes.Types.OptionalGroup ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestAllTypes.Types.OptionalGroup ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::TestAllTypes.Types.OptionalGroup> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::TestAllTypes.Types.OptionalGroup prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::TestAllTypes.Types.OptionalGroup, Builder> {
+ // Construct using self::TestAllTypes.Types.OptionalGroup.CreateBuilder()
+ internal Builder() {}
+
+ self::TestAllTypes.Types.OptionalGroup result = new self::TestAllTypes.Types.OptionalGroup();
+
+ protected override self::TestAllTypes.Types.OptionalGroup MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::TestAllTypes.Types.OptionalGroup> Clear() {
+ result = new self::TestAllTypes.Types.OptionalGroup();
+ return this;
+ }
+
+ public override IBuilder<self::TestAllTypes.Types.OptionalGroup> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::TestAllTypes.Types.OptionalGroup.Descriptor; }
+ }
+
+ public override self::TestAllTypes.Types.OptionalGroup DefaultInstanceForType {
+ get { return self::TestAllTypes.Types.OptionalGroup.DefaultInstance; }
+ }
+
+ public override self::TestAllTypes.Types.OptionalGroup BuildPartial() {
+ self::TestAllTypes.Types.OptionalGroup returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::TestAllTypes.Types.OptionalGroup) {
+ return MergeFrom((self::TestAllTypes.Types.OptionalGroup) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::TestAllTypes.Types.OptionalGroup> MergeFrom(self::TestAllTypes.Types.OptionalGroup other) {
+ if (other == self::TestAllTypes.Types.OptionalGroup.DefaultInstance) return this;
+ if (other.HasA) {
+ A = other.A;
+ }
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::TestAllTypes.Types.OptionalGroup> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::TestAllTypes.Types.OptionalGroup> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ case 136: {
+ A = input.ReadInt32();
+ break;
+ }
+ }
+ }
+ }
+
+
+ // optional int32 a = 17;
+ public bool HasA {
+ get { return result.HasA; }
+ }
+ public int A {
+ get { return result.A; }
+ set { SetA(value); }
+ }
+ public Builder SetA(int value) {
+ result.hasA = true;
+ result.a_ = value;
+ return this;
+ }
+ public Builder ClearA() {
+ result.hasA = false;
+ result.a_ = 0;
+ return this;
+ }
+ }
+ }
+
+ public sealed partial class RepeatedGroup : pb::GeneratedMessage<RepeatedGroup, RepeatedGroup.Builder> {
+ // Use RepeatedGroup.CreateBuilder() to construct.
+ private RepeatedGroup() {}
+
+ private static readonly RepeatedGroup defaultInstance = new RepeatedGroup();
+ public static RepeatedGroup DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override RepeatedGroup DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestAllTypes_RepeatedGroup__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestAllTypes_RepeatedGroup__FieldAccessorTable; }
+ }
+
+ // optional int32 a = 47;
+ private bool hasA;
+ private int a_ = 0;
+ public bool HasA {
+ get { return hasA; }
+ }
+ public int A {
+ get { return a_; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ if (HasA) {
+ output.WriteInt32(47, A);
+ }
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (HasA) {
+ size += pb::CodedOutputStream.ComputeInt32Size(47, A);
+ }
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::TestAllTypes.Types.RepeatedGroup ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestAllTypes.Types.RepeatedGroup ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestAllTypes.Types.RepeatedGroup ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestAllTypes.Types.RepeatedGroup parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestAllTypes.Types.RepeatedGroup ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestAllTypes.Types.RepeatedGroup ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestAllTypes.Types.RepeatedGroup ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestAllTypes.Types.RepeatedGroup ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::TestAllTypes.Types.RepeatedGroup> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::TestAllTypes.Types.RepeatedGroup prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::TestAllTypes.Types.RepeatedGroup, Builder> {
+ // Construct using self::TestAllTypes.Types.RepeatedGroup.CreateBuilder()
+ internal Builder() {}
+
+ self::TestAllTypes.Types.RepeatedGroup result = new self::TestAllTypes.Types.RepeatedGroup();
+
+ protected override self::TestAllTypes.Types.RepeatedGroup MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::TestAllTypes.Types.RepeatedGroup> Clear() {
+ result = new self::TestAllTypes.Types.RepeatedGroup();
+ return this;
+ }
+
+ public override IBuilder<self::TestAllTypes.Types.RepeatedGroup> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::TestAllTypes.Types.RepeatedGroup.Descriptor; }
+ }
+
+ public override self::TestAllTypes.Types.RepeatedGroup DefaultInstanceForType {
+ get { return self::TestAllTypes.Types.RepeatedGroup.DefaultInstance; }
+ }
+
+ public override self::TestAllTypes.Types.RepeatedGroup BuildPartial() {
+ self::TestAllTypes.Types.RepeatedGroup returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::TestAllTypes.Types.RepeatedGroup) {
+ return MergeFrom((self::TestAllTypes.Types.RepeatedGroup) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::TestAllTypes.Types.RepeatedGroup> MergeFrom(self::TestAllTypes.Types.RepeatedGroup other) {
+ if (other == self::TestAllTypes.Types.RepeatedGroup.DefaultInstance) return this;
+ if (other.HasA) {
+ A = other.A;
+ }
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::TestAllTypes.Types.RepeatedGroup> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::TestAllTypes.Types.RepeatedGroup> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ case 376: {
+ A = input.ReadInt32();
+ break;
+ }
+ }
+ }
+ }
+
+
+ // optional int32 a = 47;
+ public bool HasA {
+ get { return result.HasA; }
+ }
+ public int A {
+ get { return result.A; }
+ set { SetA(value); }
+ }
+ public Builder SetA(int value) {
+ result.hasA = true;
+ result.a_ = value;
+ return this;
+ }
+ public Builder ClearA() {
+ result.hasA = false;
+ result.a_ = 0;
+ return this;
+ }
+ }
+ }
+
+ }
+ #endregion
+
+ // optional int32 optional_int32 = 1;
+ private bool hasOptionalInt32;
+ private int optionalInt32_ = 0;
+ public bool HasOptionalInt32 {
+ get { return hasOptionalInt32; }
+ }
+ public int OptionalInt32 {
+ get { return optionalInt32_; }
+ }
+
+ // optional int64 optional_int64 = 2;
+ private bool hasOptionalInt64;
+ private long optionalInt64_ = 0L;
+ public bool HasOptionalInt64 {
+ get { return hasOptionalInt64; }
+ }
+ public long OptionalInt64 {
+ get { return optionalInt64_; }
+ }
+
+ // optional uint32 optional_uint32 = 3;
+ private bool hasOptionalUint32;
+ private uint optionalUint32_ = 0;
+ public bool HasOptionalUint32 {
+ get { return hasOptionalUint32; }
+ }
+ public uint OptionalUint32 {
+ get { return optionalUint32_; }
+ }
+
+ // optional uint64 optional_uint64 = 4;
+ private bool hasOptionalUint64;
+ private ulong optionalUint64_ = 0UL;
+ public bool HasOptionalUint64 {
+ get { return hasOptionalUint64; }
+ }
+ public ulong OptionalUint64 {
+ get { return optionalUint64_; }
+ }
+
+ // optional sint32 optional_sint32 = 5;
+ private bool hasOptionalSint32;
+ private int optionalSint32_ = 0;
+ public bool HasOptionalSint32 {
+ get { return hasOptionalSint32; }
+ }
+ public int OptionalSint32 {
+ get { return optionalSint32_; }
+ }
+
+ // optional sint64 optional_sint64 = 6;
+ private bool hasOptionalSint64;
+ private long optionalSint64_ = 0L;
+ public bool HasOptionalSint64 {
+ get { return hasOptionalSint64; }
+ }
+ public long OptionalSint64 {
+ get { return optionalSint64_; }
+ }
+
+ // optional fixed32 optional_fixed32 = 7;
+ private bool hasOptionalFixed32;
+ private uint optionalFixed32_ = 0;
+ public bool HasOptionalFixed32 {
+ get { return hasOptionalFixed32; }
+ }
+ public uint OptionalFixed32 {
+ get { return optionalFixed32_; }
+ }
+
+ // optional fixed64 optional_fixed64 = 8;
+ private bool hasOptionalFixed64;
+ private ulong optionalFixed64_ = 0UL;
+ public bool HasOptionalFixed64 {
+ get { return hasOptionalFixed64; }
+ }
+ public ulong OptionalFixed64 {
+ get { return optionalFixed64_; }
+ }
+
+ // optional sfixed32 optional_sfixed32 = 9;
+ private bool hasOptionalSfixed32;
+ private int optionalSfixed32_ = 0;
+ public bool HasOptionalSfixed32 {
+ get { return hasOptionalSfixed32; }
+ }
+ public int OptionalSfixed32 {
+ get { return optionalSfixed32_; }
+ }
+
+ // optional sfixed64 optional_sfixed64 = 10;
+ private bool hasOptionalSfixed64;
+ private long optionalSfixed64_ = 0L;
+ public bool HasOptionalSfixed64 {
+ get { return hasOptionalSfixed64; }
+ }
+ public long OptionalSfixed64 {
+ get { return optionalSfixed64_; }
+ }
+
+ // optional float optional_float = 11;
+ private bool hasOptionalFloat;
+ private float optionalFloat_ = 0F;
+ public bool HasOptionalFloat {
+ get { return hasOptionalFloat; }
+ }
+ public float OptionalFloat {
+ get { return optionalFloat_; }
+ }
+
+ // optional double optional_double = 12;
+ private bool hasOptionalDouble;
+ private double optionalDouble_ = 0D;
+ public bool HasOptionalDouble {
+ get { return hasOptionalDouble; }
+ }
+ public double OptionalDouble {
+ get { return optionalDouble_; }
+ }
+
+ // optional bool optional_bool = 13;
+ private bool hasOptionalBool;
+ private bool optionalBool_ = false;
+ public bool HasOptionalBool {
+ get { return hasOptionalBool; }
+ }
+ public bool OptionalBool {
+ get { return optionalBool_; }
+ }
+
+ // optional string optional_string = 14;
+ private bool hasOptionalString;
+ private string optionalString_ = "";
+ public bool HasOptionalString {
+ get { return hasOptionalString; }
+ }
+ public string OptionalString {
+ get { return optionalString_; }
+ }
+
+ // optional bytes optional_bytes = 15;
+ private bool hasOptionalBytes;
+ private pb::ByteString optionalBytes_ = pb::ByteString.Empty;
+ public bool HasOptionalBytes {
+ get { return hasOptionalBytes; }
+ }
+ public pb::ByteString OptionalBytes {
+ get { return optionalBytes_; }
+ }
+
+ // optional group OptionalGroup = 16 {
+ private bool hasOptionalGroup;
+ private self::TestAllTypes.Types.OptionalGroup optionalGroup_ = self::TestAllTypes.Types.OptionalGroup.DefaultInstance;
+ public bool HasOptionalGroup {
+ get { return hasOptionalGroup; }
+ }
+ public self::TestAllTypes.Types.OptionalGroup OptionalGroup {
+ get { return optionalGroup_; }
+ }
+
+ // optional .protobuf_unittest.TestAllTypes.NestedMessage optional_nested_message = 18;
+ private bool hasOptionalNestedMessage;
+ private self::TestAllTypes.Types.NestedMessage optionalNestedMessage_ = self::TestAllTypes.Types.NestedMessage.DefaultInstance;
+ public bool HasOptionalNestedMessage {
+ get { return hasOptionalNestedMessage; }
+ }
+ public self::TestAllTypes.Types.NestedMessage OptionalNestedMessage {
+ get { return optionalNestedMessage_; }
+ }
+
+ // optional .protobuf_unittest.ForeignMessage optional_foreign_message = 19;
+ private bool hasOptionalForeignMessage;
+ private self::ForeignMessage optionalForeignMessage_ = self::ForeignMessage.DefaultInstance;
+ public bool HasOptionalForeignMessage {
+ get { return hasOptionalForeignMessage; }
+ }
+ public self::ForeignMessage OptionalForeignMessage {
+ get { return optionalForeignMessage_; }
+ }
+
+ // optional .protobuf_unittest_import.ImportMessage optional_import_message = 20;
+ private bool hasOptionalImportMessage;
+ private self::ImportMessage optionalImportMessage_ = self::ImportMessage.DefaultInstance;
+ public bool HasOptionalImportMessage {
+ get { return hasOptionalImportMessage; }
+ }
+ public self::ImportMessage OptionalImportMessage {
+ get { return optionalImportMessage_; }
+ }
+
+ // optional .protobuf_unittest.TestAllTypes.NestedEnum optional_nested_enum = 21;
+ private bool hasOptionalNestedEnum;
+ private self::TestAllTypes.Types.NestedEnum optionalNestedEnum_ = self::TestAllTypes.Types.NestedEnum.FOO;
+ public bool HasOptionalNestedEnum {
+ get { return hasOptionalNestedEnum; }
+ }
+ public self::TestAllTypes.Types.NestedEnum OptionalNestedEnum { get { return optionalNestedEnum_; }}
+
+ // optional .protobuf_unittest.ForeignEnum optional_foreign_enum = 22;
+ private bool hasOptionalForeignEnum;
+ private self::ForeignEnum optionalForeignEnum_ = self::ForeignEnum.FOREIGN_FOO;
+ public bool HasOptionalForeignEnum {
+ get { return hasOptionalForeignEnum; }
+ }
+ public self::ForeignEnum OptionalForeignEnum { get { return optionalForeignEnum_; }}
+
+ // optional .protobuf_unittest_import.ImportEnum optional_import_enum = 23;
+ private bool hasOptionalImportEnum;
+ private self::ImportEnum optionalImportEnum_ = self::ImportEnum.IMPORT_FOO;
+ public bool HasOptionalImportEnum {
+ get { return hasOptionalImportEnum; }
+ }
+ public self::ImportEnum OptionalImportEnum { get { return optionalImportEnum_; }}
+
+ // optional string optional_string_piece = 24 [ctype = STRING_PIECE];
+ private bool hasOptionalStringPiece;
+ private string optionalStringPiece_ = "";
+ public bool HasOptionalStringPiece {
+ get { return hasOptionalStringPiece; }
+ }
+ public string OptionalStringPiece {
+ get { return optionalStringPiece_; }
+ }
+
+ // optional string optional_cord = 25 [ctype = CORD];
+ private bool hasOptionalCord;
+ private string optionalCord_ = "";
+ public bool HasOptionalCord {
+ get { return hasOptionalCord; }
+ }
+ public string OptionalCord {
+ get { return optionalCord_; }
+ }
+
+ // repeated int32 repeated_int32 = 31;
+ private scg::IList<int> repeatedInt32_ = pbc::Lists<int>.Empty;
+ public scg::IList<int> RepeatedInt32List {
+ get { return repeatedInt32_; }
+ }
+ public int RepeatedInt32Count {
+ get { return repeatedInt32_.Count; }
+ }
+ public int GetRepeatedInt32(int index) {
+ return repeatedInt32_[index];
+ }
+
+ // repeated int64 repeated_int64 = 32;
+ private scg::IList<long> repeatedInt64_ = pbc::Lists<long>.Empty;
+ public scg::IList<long> RepeatedInt64List {
+ get { return repeatedInt64_; }
+ }
+ public int RepeatedInt64Count {
+ get { return repeatedInt64_.Count; }
+ }
+ public long GetRepeatedInt64(int index) {
+ return repeatedInt64_[index];
+ }
+
+ // repeated uint32 repeated_uint32 = 33;
+ private scg::IList<uint> repeatedUint32_ = pbc::Lists<uint>.Empty;
+ public scg::IList<uint> RepeatedUint32List {
+ get { return repeatedUint32_; }
+ }
+ public int RepeatedUint32Count {
+ get { return repeatedUint32_.Count; }
+ }
+ public uint GetRepeatedUint32(int index) {
+ return repeatedUint32_[index];
+ }
+
+ // repeated uint64 repeated_uint64 = 34;
+ private scg::IList<ulong> repeatedUint64_ = pbc::Lists<ulong>.Empty;
+ public scg::IList<ulong> RepeatedUint64List {
+ get { return repeatedUint64_; }
+ }
+ public int RepeatedUint64Count {
+ get { return repeatedUint64_.Count; }
+ }
+ public ulong GetRepeatedUint64(int index) {
+ return repeatedUint64_[index];
+ }
+
+ // repeated sint32 repeated_sint32 = 35;
+ private scg::IList<int> repeatedSint32_ = pbc::Lists<int>.Empty;
+ public scg::IList<int> RepeatedSint32List {
+ get { return repeatedSint32_; }
+ }
+ public int RepeatedSint32Count {
+ get { return repeatedSint32_.Count; }
+ }
+ public int GetRepeatedSint32(int index) {
+ return repeatedSint32_[index];
+ }
+
+ // repeated sint64 repeated_sint64 = 36;
+ private scg::IList<long> repeatedSint64_ = pbc::Lists<long>.Empty;
+ public scg::IList<long> RepeatedSint64List {
+ get { return repeatedSint64_; }
+ }
+ public int RepeatedSint64Count {
+ get { return repeatedSint64_.Count; }
+ }
+ public long GetRepeatedSint64(int index) {
+ return repeatedSint64_[index];
+ }
+
+ // repeated fixed32 repeated_fixed32 = 37;
+ private scg::IList<uint> repeatedFixed32_ = pbc::Lists<uint>.Empty;
+ public scg::IList<uint> RepeatedFixed32List {
+ get { return repeatedFixed32_; }
+ }
+ public int RepeatedFixed32Count {
+ get { return repeatedFixed32_.Count; }
+ }
+ public uint GetRepeatedFixed32(int index) {
+ return repeatedFixed32_[index];
+ }
+
+ // repeated fixed64 repeated_fixed64 = 38;
+ private scg::IList<ulong> repeatedFixed64_ = pbc::Lists<ulong>.Empty;
+ public scg::IList<ulong> RepeatedFixed64List {
+ get { return repeatedFixed64_; }
+ }
+ public int RepeatedFixed64Count {
+ get { return repeatedFixed64_.Count; }
+ }
+ public ulong GetRepeatedFixed64(int index) {
+ return repeatedFixed64_[index];
+ }
+
+ // repeated sfixed32 repeated_sfixed32 = 39;
+ private scg::IList<int> repeatedSfixed32_ = pbc::Lists<int>.Empty;
+ public scg::IList<int> RepeatedSfixed32List {
+ get { return repeatedSfixed32_; }
+ }
+ public int RepeatedSfixed32Count {
+ get { return repeatedSfixed32_.Count; }
+ }
+ public int GetRepeatedSfixed32(int index) {
+ return repeatedSfixed32_[index];
+ }
+
+ // repeated sfixed64 repeated_sfixed64 = 40;
+ private scg::IList<long> repeatedSfixed64_ = pbc::Lists<long>.Empty;
+ public scg::IList<long> RepeatedSfixed64List {
+ get { return repeatedSfixed64_; }
+ }
+ public int RepeatedSfixed64Count {
+ get { return repeatedSfixed64_.Count; }
+ }
+ public long GetRepeatedSfixed64(int index) {
+ return repeatedSfixed64_[index];
+ }
+
+ // repeated float repeated_float = 41;
+ private scg::IList<float> repeatedFloat_ = pbc::Lists<float>.Empty;
+ public scg::IList<float> RepeatedFloatList {
+ get { return repeatedFloat_; }
+ }
+ public int RepeatedFloatCount {
+ get { return repeatedFloat_.Count; }
+ }
+ public float GetRepeatedFloat(int index) {
+ return repeatedFloat_[index];
+ }
+
+ // repeated double repeated_double = 42;
+ private scg::IList<double> repeatedDouble_ = pbc::Lists<double>.Empty;
+ public scg::IList<double> RepeatedDoubleList {
+ get { return repeatedDouble_; }
+ }
+ public int RepeatedDoubleCount {
+ get { return repeatedDouble_.Count; }
+ }
+ public double GetRepeatedDouble(int index) {
+ return repeatedDouble_[index];
+ }
+
+ // repeated bool repeated_bool = 43;
+ private scg::IList<bool> repeatedBool_ = pbc::Lists<bool>.Empty;
+ public scg::IList<bool> RepeatedBoolList {
+ get { return repeatedBool_; }
+ }
+ public int RepeatedBoolCount {
+ get { return repeatedBool_.Count; }
+ }
+ public bool GetRepeatedBool(int index) {
+ return repeatedBool_[index];
+ }
+
+ // repeated string repeated_string = 44;
+ private scg::IList<string> repeatedString_ = pbc::Lists<string>.Empty;
+ public scg::IList<string> RepeatedStringList {
+ get { return repeatedString_; }
+ }
+ public int RepeatedStringCount {
+ get { return repeatedString_.Count; }
+ }
+ public string GetRepeatedString(int index) {
+ return repeatedString_[index];
+ }
+
+ // repeated bytes repeated_bytes = 45;
+ private scg::IList<pb::ByteString> repeatedBytes_ = pbc::Lists<pb::ByteString>.Empty;
+ public scg::IList<pb::ByteString> RepeatedBytesList {
+ get { return repeatedBytes_; }
+ }
+ public int RepeatedBytesCount {
+ get { return repeatedBytes_.Count; }
+ }
+ public pb::ByteString GetRepeatedBytes(int index) {
+ return repeatedBytes_[index];
+ }
+
+ // repeated group RepeatedGroup = 46 {
+ private scg::IList<self::TestAllTypes.Types.RepeatedGroup> repeatedGroup_ = pbc::Lists<self::TestAllTypes.Types.RepeatedGroup>.Empty;
+ public scg::IList<self::TestAllTypes.Types.RepeatedGroup> RepeatedGroupList {
+ get { return repeatedGroup_; }
+ }
+ public int RepeatedGroupCount
+ { get { return repeatedGroup_.Count; }
+ }
+ public self::TestAllTypes.Types.RepeatedGroup GetRepeatedGroup(int index) {
+ return repeatedGroup_ [index];
+ }
+
+ // repeated .protobuf_unittest.TestAllTypes.NestedMessage repeated_nested_message = 48;
+ private scg::IList<self::TestAllTypes.Types.NestedMessage> repeatedNestedMessage_ = pbc::Lists<self::TestAllTypes.Types.NestedMessage>.Empty;
+ public scg::IList<self::TestAllTypes.Types.NestedMessage> RepeatedNestedMessageList {
+ get { return repeatedNestedMessage_; }
+ }
+ public int RepeatedNestedMessageCount
+ { get { return repeatedNestedMessage_.Count; }
+ }
+ public self::TestAllTypes.Types.NestedMessage GetRepeatedNestedMessage(int index) {
+ return repeatedNestedMessage_ [index];
+ }
+
+ // repeated .protobuf_unittest.ForeignMessage repeated_foreign_message = 49;
+ private scg::IList<self::ForeignMessage> repeatedForeignMessage_ = pbc::Lists<self::ForeignMessage>.Empty;
+ public scg::IList<self::ForeignMessage> RepeatedForeignMessageList {
+ get { return repeatedForeignMessage_; }
+ }
+ public int RepeatedForeignMessageCount
+ { get { return repeatedForeignMessage_.Count; }
+ }
+ public self::ForeignMessage GetRepeatedForeignMessage(int index) {
+ return repeatedForeignMessage_ [index];
+ }
+
+ // repeated .protobuf_unittest_import.ImportMessage repeated_import_message = 50;
+ private scg::IList<self::ImportMessage> repeatedImportMessage_ = pbc::Lists<self::ImportMessage>.Empty;
+ public scg::IList<self::ImportMessage> RepeatedImportMessageList {
+ get { return repeatedImportMessage_; }
+ }
+ public int RepeatedImportMessageCount
+ { get { return repeatedImportMessage_.Count; }
+ }
+ public self::ImportMessage GetRepeatedImportMessage(int index) {
+ return repeatedImportMessage_ [index];
+ }
+
+ // repeated .protobuf_unittest.TestAllTypes.NestedEnum repeated_nested_enum = 51;
+ private scg::IList<self::TestAllTypes.Types.NestedEnum> repeatedNestedEnum_ = new scg::List<self::TestAllTypes.Types.NestedEnum> ();
+ public scg.IList<self::TestAllTypes.Types.NestedEnum> RepeatedNestedEnumList {
+ get { return pbc::Lists.AsReadOnly(repeatedNestedEnum_); }
+ }
+ public int RepeatedNestedEnumCount {
+ get { return repeatedNestedEnum_.Count; }
+ }
+ public self::TestAllTypes.Types.NestedEnum GetRepeatedNestedEnum(int index) {
+ return repeatedNestedEnum_[index];
+ }
+
+ // repeated .protobuf_unittest.ForeignEnum repeated_foreign_enum = 52;
+ private scg::IList<self::ForeignEnum> repeatedForeignEnum_ = new scg::List<self::ForeignEnum> ();
+ public scg.IList<self::ForeignEnum> RepeatedForeignEnumList {
+ get { return pbc::Lists.AsReadOnly(repeatedForeignEnum_); }
+ }
+ public int RepeatedForeignEnumCount {
+ get { return repeatedForeignEnum_.Count; }
+ }
+ public self::ForeignEnum GetRepeatedForeignEnum(int index) {
+ return repeatedForeignEnum_[index];
+ }
+
+ // repeated .protobuf_unittest_import.ImportEnum repeated_import_enum = 53;
+ private scg::IList<self::ImportEnum> repeatedImportEnum_ = new scg::List<self::ImportEnum> ();
+ public scg.IList<self::ImportEnum> RepeatedImportEnumList {
+ get { return pbc::Lists.AsReadOnly(repeatedImportEnum_); }
+ }
+ public int RepeatedImportEnumCount {
+ get { return repeatedImportEnum_.Count; }
+ }
+ public self::ImportEnum GetRepeatedImportEnum(int index) {
+ return repeatedImportEnum_[index];
+ }
+
+ // repeated string repeated_string_piece = 54 [ctype = STRING_PIECE];
+ private scg::IList<string> repeatedStringPiece_ = pbc::Lists<string>.Empty;
+ public scg::IList<string> RepeatedStringPieceList {
+ get { return repeatedStringPiece_; }
+ }
+ public int RepeatedStringPieceCount {
+ get { return repeatedStringPiece_.Count; }
+ }
+ public string GetRepeatedStringPiece(int index) {
+ return repeatedStringPiece_[index];
+ }
+
+ // repeated string repeated_cord = 55 [ctype = CORD];
+ private scg::IList<string> repeatedCord_ = pbc::Lists<string>.Empty;
+ public scg::IList<string> RepeatedCordList {
+ get { return repeatedCord_; }
+ }
+ public int RepeatedCordCount {
+ get { return repeatedCord_.Count; }
+ }
+ public string GetRepeatedCord(int index) {
+ return repeatedCord_[index];
+ }
+
+ // optional int32 default_int32 = 61 [default = 41];
+ private bool hasDefaultInt32;
+ private int defaultInt32_ = 41;
+ public bool HasDefaultInt32 {
+ get { return hasDefaultInt32; }
+ }
+ public int DefaultInt32 {
+ get { return defaultInt32_; }
+ }
+
+ // optional int64 default_int64 = 62 [default = 42];
+ private bool hasDefaultInt64;
+ private long defaultInt64_ = 42L;
+ public bool HasDefaultInt64 {
+ get { return hasDefaultInt64; }
+ }
+ public long DefaultInt64 {
+ get { return defaultInt64_; }
+ }
+
+ // optional uint32 default_uint32 = 63 [default = 43];
+ private bool hasDefaultUint32;
+ private uint defaultUint32_ = 43;
+ public bool HasDefaultUint32 {
+ get { return hasDefaultUint32; }
+ }
+ public uint DefaultUint32 {
+ get { return defaultUint32_; }
+ }
+
+ // optional uint64 default_uint64 = 64 [default = 44];
+ private bool hasDefaultUint64;
+ private ulong defaultUint64_ = 44UL;
+ public bool HasDefaultUint64 {
+ get { return hasDefaultUint64; }
+ }
+ public ulong DefaultUint64 {
+ get { return defaultUint64_; }
+ }
+
+ // optional sint32 default_sint32 = 65 [default = -45];
+ private bool hasDefaultSint32;
+ private int defaultSint32_ = -45;
+ public bool HasDefaultSint32 {
+ get { return hasDefaultSint32; }
+ }
+ public int DefaultSint32 {
+ get { return defaultSint32_; }
+ }
+
+ // optional sint64 default_sint64 = 66 [default = 46];
+ private bool hasDefaultSint64;
+ private long defaultSint64_ = 46L;
+ public bool HasDefaultSint64 {
+ get { return hasDefaultSint64; }
+ }
+ public long DefaultSint64 {
+ get { return defaultSint64_; }
+ }
+
+ // optional fixed32 default_fixed32 = 67 [default = 47];
+ private bool hasDefaultFixed32;
+ private uint defaultFixed32_ = 47;
+ public bool HasDefaultFixed32 {
+ get { return hasDefaultFixed32; }
+ }
+ public uint DefaultFixed32 {
+ get { return defaultFixed32_; }
+ }
+
+ // optional fixed64 default_fixed64 = 68 [default = 48];
+ private bool hasDefaultFixed64;
+ private ulong defaultFixed64_ = 48UL;
+ public bool HasDefaultFixed64 {
+ get { return hasDefaultFixed64; }
+ }
+ public ulong DefaultFixed64 {
+ get { return defaultFixed64_; }
+ }
+
+ // optional sfixed32 default_sfixed32 = 69 [default = 49];
+ private bool hasDefaultSfixed32;
+ private int defaultSfixed32_ = 49;
+ public bool HasDefaultSfixed32 {
+ get { return hasDefaultSfixed32; }
+ }
+ public int DefaultSfixed32 {
+ get { return defaultSfixed32_; }
+ }
+
+ // optional sfixed64 default_sfixed64 = 70 [default = -50];
+ private bool hasDefaultSfixed64;
+ private long defaultSfixed64_ = -50L;
+ public bool HasDefaultSfixed64 {
+ get { return hasDefaultSfixed64; }
+ }
+ public long DefaultSfixed64 {
+ get { return defaultSfixed64_; }
+ }
+
+ // optional float default_float = 71 [default = 51.5];
+ private bool hasDefaultFloat;
+ private float defaultFloat_ = 51.5F;
+ public bool HasDefaultFloat {
+ get { return hasDefaultFloat; }
+ }
+ public float DefaultFloat {
+ get { return defaultFloat_; }
+ }
+
+ // optional double default_double = 72 [default = 52000];
+ private bool hasDefaultDouble;
+ private double defaultDouble_ = 52000D;
+ public bool HasDefaultDouble {
+ get { return hasDefaultDouble; }
+ }
+ public double DefaultDouble {
+ get { return defaultDouble_; }
+ }
+
+ // optional bool default_bool = 73 [default = true];
+ private bool hasDefaultBool;
+ private bool defaultBool_ = true;
+ public bool HasDefaultBool {
+ get { return hasDefaultBool; }
+ }
+ public bool DefaultBool {
+ get { return defaultBool_; }
+ }
+
+ // optional string default_string = 74 [default = "hello"];
+ private bool hasDefaultString;
+ private string defaultString_ = "hello";
+ public bool HasDefaultString {
+ get { return hasDefaultString; }
+ }
+ public string DefaultString {
+ get { return defaultString_; }
+ }
+
+ // optional bytes default_bytes = 75 [default = "world"];
+ private bool hasDefaultBytes;
+ private pb::ByteString defaultBytes_ = ((pb::ByteString) self::TestAllTypes.Descriptor.Fields[62].DefaultValue);
+ public bool HasDefaultBytes {
+ get { return hasDefaultBytes; }
+ }
+ public pb::ByteString DefaultBytes {
+ get { return defaultBytes_; }
+ }
+
+ // optional .protobuf_unittest.TestAllTypes.NestedEnum default_nested_enum = 81 [default = BAR];
+ private bool hasDefaultNestedEnum;
+ private self::TestAllTypes.Types.NestedEnum defaultNestedEnum_ = self::TestAllTypes.Types.NestedEnum.BAR;
+ public bool HasDefaultNestedEnum {
+ get { return hasDefaultNestedEnum; }
+ }
+ public self::TestAllTypes.Types.NestedEnum DefaultNestedEnum { get { return defaultNestedEnum_; }}
+
+ // optional .protobuf_unittest.ForeignEnum default_foreign_enum = 82 [default = FOREIGN_BAR];
+ private bool hasDefaultForeignEnum;
+ private self::ForeignEnum defaultForeignEnum_ = self::ForeignEnum.FOREIGN_BAR;
+ public bool HasDefaultForeignEnum {
+ get { return hasDefaultForeignEnum; }
+ }
+ public self::ForeignEnum DefaultForeignEnum { get { return defaultForeignEnum_; }}
+
+ // optional .protobuf_unittest_import.ImportEnum default_import_enum = 83 [default = IMPORT_BAR];
+ private bool hasDefaultImportEnum;
+ private self::ImportEnum defaultImportEnum_ = self::ImportEnum.IMPORT_BAR;
+ public bool HasDefaultImportEnum {
+ get { return hasDefaultImportEnum; }
+ }
+ public self::ImportEnum DefaultImportEnum { get { return defaultImportEnum_; }}
+
+ // optional string default_string_piece = 84 [default = "abc", ctype = STRING_PIECE];
+ private bool hasDefaultStringPiece;
+ private string defaultStringPiece_ = "abc";
+ public bool HasDefaultStringPiece {
+ get { return hasDefaultStringPiece; }
+ }
+ public string DefaultStringPiece {
+ get { return defaultStringPiece_; }
+ }
+
+ // optional string default_cord = 85 [default = "123", ctype = CORD];
+ private bool hasDefaultCord;
+ private string defaultCord_ = "123";
+ public bool HasDefaultCord {
+ get { return hasDefaultCord; }
+ }
+ public string DefaultCord {
+ get { return defaultCord_; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ if (HasOptionalInt32) {
+ output.WriteInt32(1, OptionalInt32);
+ }
+ if (HasOptionalInt64) {
+ output.WriteInt64(2, OptionalInt64);
+ }
+ if (HasOptionalUint32) {
+ output.WriteUInt32(3, OptionalUint32);
+ }
+ if (HasOptionalUint64) {
+ output.WriteUInt64(4, OptionalUint64);
+ }
+ if (HasOptionalSint32) {
+ output.WriteSInt32(5, OptionalSint32);
+ }
+ if (HasOptionalSint64) {
+ output.WriteSInt64(6, OptionalSint64);
+ }
+ if (HasOptionalFixed32) {
+ output.WriteFixed32(7, OptionalFixed32);
+ }
+ if (HasOptionalFixed64) {
+ output.WriteFixed64(8, OptionalFixed64);
+ }
+ if (HasOptionalSfixed32) {
+ output.WriteSFixed32(9, OptionalSfixed32);
+ }
+ if (HasOptionalSfixed64) {
+ output.WriteSFixed64(10, OptionalSfixed64);
+ }
+ if (HasOptionalFloat) {
+ output.WriteFloat(11, OptionalFloat);
+ }
+ if (HasOptionalDouble) {
+ output.WriteDouble(12, OptionalDouble);
+ }
+ if (HasOptionalBool) {
+ output.WriteBool(13, OptionalBool);
+ }
+ if (HasOptionalString) {
+ output.WriteString(14, OptionalString);
+ }
+ if (HasOptionalBytes) {
+ output.WriteBytes(15, OptionalBytes);
+ }
+ if (HasOptionalGroup) {
+ output.WriteGroup(16, OptionalGroup);
+ }
+ if (HasOptionalNestedMessage) {
+ output.WriteMessage(18, OptionalNestedMessage);
+ }
+ if (HasOptionalForeignMessage) {
+ output.WriteMessage(19, OptionalForeignMessage);
+ }
+ if (HasOptionalImportMessage) {
+ output.WriteMessage(20, OptionalImportMessage);
+ }
+ if (HasOptionalNestedEnum) {
+ output.WriteEnum(21, (int) OptionalNestedEnum);
+ }
+ if (HasOptionalForeignEnum) {
+ output.WriteEnum(22, (int) OptionalForeignEnum);
+ }
+ if (HasOptionalImportEnum) {
+ output.WriteEnum(23, (int) OptionalImportEnum);
+ }
+ if (HasOptionalStringPiece) {
+ output.WriteString(24, OptionalStringPiece);
+ }
+ if (HasOptionalCord) {
+ output.WriteString(25, OptionalCord);
+ }
+ foreach (int element in RepeatedInt32List) {
+ output.WriteInt32(31, element);
+ }
+ foreach (long element in RepeatedInt64List) {
+ output.WriteInt64(32, element);
+ }
+ foreach (uint element in RepeatedUint32List) {
+ output.WriteUInt32(33, element);
+ }
+ foreach (ulong element in RepeatedUint64List) {
+ output.WriteUInt64(34, element);
+ }
+ foreach (int element in RepeatedSint32List) {
+ output.WriteSInt32(35, element);
+ }
+ foreach (long element in RepeatedSint64List) {
+ output.WriteSInt64(36, element);
+ }
+ foreach (uint element in RepeatedFixed32List) {
+ output.WriteFixed32(37, element);
+ }
+ foreach (ulong element in RepeatedFixed64List) {
+ output.WriteFixed64(38, element);
+ }
+ foreach (int element in RepeatedSfixed32List) {
+ output.WriteSFixed32(39, element);
+ }
+ foreach (long element in RepeatedSfixed64List) {
+ output.WriteSFixed64(40, element);
+ }
+ foreach (float element in RepeatedFloatList) {
+ output.WriteFloat(41, element);
+ }
+ foreach (double element in RepeatedDoubleList) {
+ output.WriteDouble(42, element);
+ }
+ foreach (bool element in RepeatedBoolList) {
+ output.WriteBool(43, element);
+ }
+ foreach (string element in RepeatedStringList) {
+ output.WriteString(44, element);
+ }
+ foreach (pb::ByteString element in RepeatedBytesList) {
+ output.WriteBytes(45, element);
+ }
+ foreach (self::TestAllTypes.Types.RepeatedGroup element in RepeatedGroupList) {
+ output.WriteGroup(46, element);
+ }
+ foreach (self::TestAllTypes.Types.NestedMessage element in RepeatedNestedMessageList) {
+ output.WriteMessage(48, element);
+ }
+ foreach (self::ForeignMessage element in RepeatedForeignMessageList) {
+ output.WriteMessage(49, element);
+ }
+ foreach (self::ImportMessage element in RepeatedImportMessageList) {
+ output.WriteMessage(50, element);
+ }
+ foreach (self::TestAllTypes.Types.NestedEnum element in RepeatedNestedEnumList) {
+ output.WriteEnum(51, (int) element);
+ }
+ foreach (self::ForeignEnum element in RepeatedForeignEnumList) {
+ output.WriteEnum(52, (int) element);
+ }
+ foreach (self::ImportEnum element in RepeatedImportEnumList) {
+ output.WriteEnum(53, (int) element);
+ }
+ foreach (string element in RepeatedStringPieceList) {
+ output.WriteString(54, element);
+ }
+ foreach (string element in RepeatedCordList) {
+ output.WriteString(55, element);
+ }
+ if (HasDefaultInt32) {
+ output.WriteInt32(61, DefaultInt32);
+ }
+ if (HasDefaultInt64) {
+ output.WriteInt64(62, DefaultInt64);
+ }
+ if (HasDefaultUint32) {
+ output.WriteUInt32(63, DefaultUint32);
+ }
+ if (HasDefaultUint64) {
+ output.WriteUInt64(64, DefaultUint64);
+ }
+ if (HasDefaultSint32) {
+ output.WriteSInt32(65, DefaultSint32);
+ }
+ if (HasDefaultSint64) {
+ output.WriteSInt64(66, DefaultSint64);
+ }
+ if (HasDefaultFixed32) {
+ output.WriteFixed32(67, DefaultFixed32);
+ }
+ if (HasDefaultFixed64) {
+ output.WriteFixed64(68, DefaultFixed64);
+ }
+ if (HasDefaultSfixed32) {
+ output.WriteSFixed32(69, DefaultSfixed32);
+ }
+ if (HasDefaultSfixed64) {
+ output.WriteSFixed64(70, DefaultSfixed64);
+ }
+ if (HasDefaultFloat) {
+ output.WriteFloat(71, DefaultFloat);
+ }
+ if (HasDefaultDouble) {
+ output.WriteDouble(72, DefaultDouble);
+ }
+ if (HasDefaultBool) {
+ output.WriteBool(73, DefaultBool);
+ }
+ if (HasDefaultString) {
+ output.WriteString(74, DefaultString);
+ }
+ if (HasDefaultBytes) {
+ output.WriteBytes(75, DefaultBytes);
+ }
+ if (HasDefaultNestedEnum) {
+ output.WriteEnum(81, (int) DefaultNestedEnum);
+ }
+ if (HasDefaultForeignEnum) {
+ output.WriteEnum(82, (int) DefaultForeignEnum);
+ }
+ if (HasDefaultImportEnum) {
+ output.WriteEnum(83, (int) DefaultImportEnum);
+ }
+ if (HasDefaultStringPiece) {
+ output.WriteString(84, DefaultStringPiece);
+ }
+ if (HasDefaultCord) {
+ output.WriteString(85, DefaultCord);
+ }
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (HasOptionalInt32) {
+ size += pb::CodedOutputStream.ComputeInt32Size(1, OptionalInt32);
+ }
+ if (HasOptionalInt64) {
+ size += pb::CodedOutputStream.ComputeInt64Size(2, OptionalInt64);
+ }
+ if (HasOptionalUint32) {
+ size += pb::CodedOutputStream.ComputeUInt32Size(3, OptionalUint32);
+ }
+ if (HasOptionalUint64) {
+ size += pb::CodedOutputStream.ComputeUInt64Size(4, OptionalUint64);
+ }
+ if (HasOptionalSint32) {
+ size += pb::CodedOutputStream.ComputeSInt32Size(5, OptionalSint32);
+ }
+ if (HasOptionalSint64) {
+ size += pb::CodedOutputStream.ComputeSInt64Size(6, OptionalSint64);
+ }
+ if (HasOptionalFixed32) {
+ size += pb::CodedOutputStream.ComputeFixed32Size(7, OptionalFixed32);
+ }
+ if (HasOptionalFixed64) {
+ size += pb::CodedOutputStream.ComputeFixed64Size(8, OptionalFixed64);
+ }
+ if (HasOptionalSfixed32) {
+ size += pb::CodedOutputStream.ComputeSFixed32Size(9, OptionalSfixed32);
+ }
+ if (HasOptionalSfixed64) {
+ size += pb::CodedOutputStream.ComputeSFixed64Size(10, OptionalSfixed64);
+ }
+ if (HasOptionalFloat) {
+ size += pb::CodedOutputStream.ComputeFloatSize(11, OptionalFloat);
+ }
+ if (HasOptionalDouble) {
+ size += pb::CodedOutputStream.ComputeDoubleSize(12, OptionalDouble);
+ }
+ if (HasOptionalBool) {
+ size += pb::CodedOutputStream.ComputeBoolSize(13, OptionalBool);
+ }
+ if (HasOptionalString) {
+ size += pb::CodedOutputStream.ComputeStringSize(14, OptionalString);
+ }
+ if (HasOptionalBytes) {
+ size += pb::CodedOutputStream.ComputeBytesSize(15, OptionalBytes);
+ }
+ if (HasOptionalGroup) {
+ size += pb::CodedOutputStream.ComputeGroupSize(16, OptionalGroup);
+ }
+ if (HasOptionalNestedMessage) {
+ size += pb::CodedOutputStream.ComputeMessageSize(18, OptionalNestedMessage);
+ }
+ if (HasOptionalForeignMessage) {
+ size += pb::CodedOutputStream.ComputeMessageSize(19, OptionalForeignMessage);
+ }
+ if (HasOptionalImportMessage) {
+ size += pb::CodedOutputStream.ComputeMessageSize(20, OptionalImportMessage);
+ }
+ if (HasOptionalNestedEnum) {
+ size += pb::CodedOutputStream
+ .ComputeEnumSize(21, (int) OptionalNestedEnum);
+ }
+ if (HasOptionalForeignEnum) {
+ size += pb::CodedOutputStream
+ .ComputeEnumSize(22, (int) OptionalForeignEnum);
+ }
+ if (HasOptionalImportEnum) {
+ size += pb::CodedOutputStream
+ .ComputeEnumSize(23, (int) OptionalImportEnum);
+ }
+ if (HasOptionalStringPiece) {
+ size += pb::CodedOutputStream.ComputeStringSize(24, OptionalStringPiece);
+ }
+ if (HasOptionalCord) {
+ size += pb::CodedOutputStream.ComputeStringSize(25, OptionalCord);
+ }
+ foreach (int element in RepeatedInt32List) {
+ size += pb::CodedOutputStream
+ .ComputeInt32Size(31, element);
+ }
+ foreach (long element in RepeatedInt64List) {
+ size += pb::CodedOutputStream
+ .ComputeInt64Size(32, element);
+ }
+ foreach (uint element in RepeatedUint32List) {
+ size += pb::CodedOutputStream
+ .ComputeUInt32Size(33, element);
+ }
+ foreach (ulong element in RepeatedUint64List) {
+ size += pb::CodedOutputStream
+ .ComputeUInt64Size(34, element);
+ }
+ foreach (int element in RepeatedSint32List) {
+ size += pb::CodedOutputStream
+ .ComputeSInt32Size(35, element);
+ }
+ foreach (long element in RepeatedSint64List) {
+ size += pb::CodedOutputStream
+ .ComputeSInt64Size(36, element);
+ }
+ foreach (uint element in RepeatedFixed32List) {
+ size += pb::CodedOutputStream
+ .ComputeFixed32Size(37, element);
+ }
+ foreach (ulong element in RepeatedFixed64List) {
+ size += pb::CodedOutputStream
+ .ComputeFixed64Size(38, element);
+ }
+ foreach (int element in RepeatedSfixed32List) {
+ size += pb::CodedOutputStream
+ .ComputeSFixed32Size(39, element);
+ }
+ foreach (long element in RepeatedSfixed64List) {
+ size += pb::CodedOutputStream
+ .ComputeSFixed64Size(40, element);
+ }
+ foreach (float element in RepeatedFloatList) {
+ size += pb::CodedOutputStream
+ .ComputeFloatSize(41, element);
+ }
+ foreach (double element in RepeatedDoubleList) {
+ size += pb::CodedOutputStream
+ .ComputeDoubleSize(42, element);
+ }
+ foreach (bool element in RepeatedBoolList) {
+ size += pb::CodedOutputStream
+ .ComputeBoolSize(43, element);
+ }
+ foreach (string element in RepeatedStringList) {
+ size += pb::CodedOutputStream
+ .ComputeStringSize(44, element);
+ }
+ foreach (pb::ByteString element in RepeatedBytesList) {
+ size += pb::CodedOutputStream
+ .ComputeBytesSize(45, element);
+ }
+ foreach (self::TestAllTypes.Types.RepeatedGroup element in RepeatedGroupList) {
+ size += pb::CodedOutputStream.ComputeGroupSize(46, element);
+ }
+ foreach (self::TestAllTypes.Types.NestedMessage element in RepeatedNestedMessageList) {
+ size += pb::CodedOutputStream.ComputeMessageSize(48, element);
+ }
+ foreach (self::ForeignMessage element in RepeatedForeignMessageList) {
+ size += pb::CodedOutputStream.ComputeMessageSize(49, element);
+ }
+ foreach (self::ImportMessage element in RepeatedImportMessageList) {
+ size += pb::CodedOutputStream.ComputeMessageSize(50, element);
+ }
+ foreach (self::TestAllTypes.Types.NestedEnum element in RepeatedNestedEnumList) {
+ size += pb::CodedOutputStream
+ .ComputeEnumSize(51, (int) element);
+ }
+ foreach (self::ForeignEnum element in RepeatedForeignEnumList) {
+ size += pb::CodedOutputStream
+ .ComputeEnumSize(52, (int) element);
+ }
+ foreach (self::ImportEnum element in RepeatedImportEnumList) {
+ size += pb::CodedOutputStream
+ .ComputeEnumSize(53, (int) element);
+ }
+ foreach (string element in RepeatedStringPieceList) {
+ size += pb::CodedOutputStream
+ .ComputeStringSize(54, element);
+ }
+ foreach (string element in RepeatedCordList) {
+ size += pb::CodedOutputStream
+ .ComputeStringSize(55, element);
+ }
+ if (HasDefaultInt32) {
+ size += pb::CodedOutputStream.ComputeInt32Size(61, DefaultInt32);
+ }
+ if (HasDefaultInt64) {
+ size += pb::CodedOutputStream.ComputeInt64Size(62, DefaultInt64);
+ }
+ if (HasDefaultUint32) {
+ size += pb::CodedOutputStream.ComputeUInt32Size(63, DefaultUint32);
+ }
+ if (HasDefaultUint64) {
+ size += pb::CodedOutputStream.ComputeUInt64Size(64, DefaultUint64);
+ }
+ if (HasDefaultSint32) {
+ size += pb::CodedOutputStream.ComputeSInt32Size(65, DefaultSint32);
+ }
+ if (HasDefaultSint64) {
+ size += pb::CodedOutputStream.ComputeSInt64Size(66, DefaultSint64);
+ }
+ if (HasDefaultFixed32) {
+ size += pb::CodedOutputStream.ComputeFixed32Size(67, DefaultFixed32);
+ }
+ if (HasDefaultFixed64) {
+ size += pb::CodedOutputStream.ComputeFixed64Size(68, DefaultFixed64);
+ }
+ if (HasDefaultSfixed32) {
+ size += pb::CodedOutputStream.ComputeSFixed32Size(69, DefaultSfixed32);
+ }
+ if (HasDefaultSfixed64) {
+ size += pb::CodedOutputStream.ComputeSFixed64Size(70, DefaultSfixed64);
+ }
+ if (HasDefaultFloat) {
+ size += pb::CodedOutputStream.ComputeFloatSize(71, DefaultFloat);
+ }
+ if (HasDefaultDouble) {
+ size += pb::CodedOutputStream.ComputeDoubleSize(72, DefaultDouble);
+ }
+ if (HasDefaultBool) {
+ size += pb::CodedOutputStream.ComputeBoolSize(73, DefaultBool);
+ }
+ if (HasDefaultString) {
+ size += pb::CodedOutputStream.ComputeStringSize(74, DefaultString);
+ }
+ if (HasDefaultBytes) {
+ size += pb::CodedOutputStream.ComputeBytesSize(75, DefaultBytes);
+ }
+ if (HasDefaultNestedEnum) {
+ size += pb::CodedOutputStream
+ .ComputeEnumSize(81, (int) DefaultNestedEnum);
+ }
+ if (HasDefaultForeignEnum) {
+ size += pb::CodedOutputStream
+ .ComputeEnumSize(82, (int) DefaultForeignEnum);
+ }
+ if (HasDefaultImportEnum) {
+ size += pb::CodedOutputStream
+ .ComputeEnumSize(83, (int) DefaultImportEnum);
+ }
+ if (HasDefaultStringPiece) {
+ size += pb::CodedOutputStream.ComputeStringSize(84, DefaultStringPiece);
+ }
+ if (HasDefaultCord) {
+ size += pb::CodedOutputStream.ComputeStringSize(85, DefaultCord);
+ }
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::TestAllTypes ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestAllTypes ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestAllTypes ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestAllTypes parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestAllTypes ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestAllTypes ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestAllTypes ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestAllTypes ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::TestAllTypes> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::TestAllTypes prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::TestAllTypes, Builder> {
+ // Construct using self::TestAllTypes.CreateBuilder()
+ internal Builder() {}
+
+ self::TestAllTypes result = new self::TestAllTypes();
+
+ protected override self::TestAllTypes MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::TestAllTypes> Clear() {
+ result = new self::TestAllTypes();
+ return this;
+ }
+
+ public override IBuilder<self::TestAllTypes> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::TestAllTypes.Descriptor; }
+ }
+
+ public override self::TestAllTypes DefaultInstanceForType {
+ get { return self::TestAllTypes.DefaultInstance; }
+ }
+
+ public override self::TestAllTypes BuildPartial() {
+ result.repeatedInt32_ = pbc::Lists<int>.AsReadOnly(result.repeatedInt32_);
+ result.repeatedInt64_ = pbc::Lists<long>.AsReadOnly(result.repeatedInt64_);
+ result.repeatedUint32_ = pbc::Lists<uint>.AsReadOnly(result.repeatedUint32_);
+ result.repeatedUint64_ = pbc::Lists<ulong>.AsReadOnly(result.repeatedUint64_);
+ result.repeatedSint32_ = pbc::Lists<int>.AsReadOnly(result.repeatedSint32_);
+ result.repeatedSint64_ = pbc::Lists<long>.AsReadOnly(result.repeatedSint64_);
+ result.repeatedFixed32_ = pbc::Lists<uint>.AsReadOnly(result.repeatedFixed32_);
+ result.repeatedFixed64_ = pbc::Lists<ulong>.AsReadOnly(result.repeatedFixed64_);
+ result.repeatedSfixed32_ = pbc::Lists<int>.AsReadOnly(result.repeatedSfixed32_);
+ result.repeatedSfixed64_ = pbc::Lists<long>.AsReadOnly(result.repeatedSfixed64_);
+ result.repeatedFloat_ = pbc::Lists<float>.AsReadOnly(result.repeatedFloat_);
+ result.repeatedDouble_ = pbc::Lists<double>.AsReadOnly(result.repeatedDouble_);
+ result.repeatedBool_ = pbc::Lists<bool>.AsReadOnly(result.repeatedBool_);
+ result.repeatedString_ = pbc::Lists<string>.AsReadOnly(result.repeatedString_);
+ result.repeatedBytes_ = pbc::Lists<pb::ByteString>.AsReadOnly(result.repeatedBytes_);
+ if (result.repeatedGroup_ != pbc::Lists<self::TestAllTypes.Types.RepeatedGroup>.Empty) {
+ result.repeatedGroup_ = pbc::Lists<self::TestAllTypes.Types.RepeatedGroup>.AsReadOnly(result.repeatedGroup_);
+ }
+ if (result.repeatedNestedMessage_ != pbc::Lists<self::TestAllTypes.Types.NestedMessage>.Empty) {
+ result.repeatedNestedMessage_ = pbc::Lists<self::TestAllTypes.Types.NestedMessage>.AsReadOnly(result.repeatedNestedMessage_);
+ }
+ if (result.repeatedForeignMessage_ != pbc::Lists<self::ForeignMessage>.Empty) {
+ result.repeatedForeignMessage_ = pbc::Lists<self::ForeignMessage>.AsReadOnly(result.repeatedForeignMessage_);
+ }
+ if (result.repeatedImportMessage_ != pbc::Lists<self::ImportMessage>.Empty) {
+ result.repeatedImportMessage_ = pbc::Lists<self::ImportMessage>.AsReadOnly(result.repeatedImportMessage_);
+ }
+ result.repeatedNestedEnum_ = pbc::Lists.AsReadOnly(result.repeatedNestedEnum_);
+ result.repeatedForeignEnum_ = pbc::Lists.AsReadOnly(result.repeatedForeignEnum_);
+ result.repeatedImportEnum_ = pbc::Lists.AsReadOnly(result.repeatedImportEnum_);
+ result.repeatedStringPiece_ = pbc::Lists<string>.AsReadOnly(result.repeatedStringPiece_);
+ result.repeatedCord_ = pbc::Lists<string>.AsReadOnly(result.repeatedCord_);
+ self::TestAllTypes returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::TestAllTypes) {
+ return MergeFrom((self::TestAllTypes) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::TestAllTypes> MergeFrom(self::TestAllTypes other) {
+ if (other == self::TestAllTypes.DefaultInstance) return this;
+ if (other.HasOptionalInt32) {
+ OptionalInt32 = other.OptionalInt32;
+ }
+ if (other.HasOptionalInt64) {
+ OptionalInt64 = other.OptionalInt64;
+ }
+ if (other.HasOptionalUint32) {
+ OptionalUint32 = other.OptionalUint32;
+ }
+ if (other.HasOptionalUint64) {
+ OptionalUint64 = other.OptionalUint64;
+ }
+ if (other.HasOptionalSint32) {
+ OptionalSint32 = other.OptionalSint32;
+ }
+ if (other.HasOptionalSint64) {
+ OptionalSint64 = other.OptionalSint64;
+ }
+ if (other.HasOptionalFixed32) {
+ OptionalFixed32 = other.OptionalFixed32;
+ }
+ if (other.HasOptionalFixed64) {
+ OptionalFixed64 = other.OptionalFixed64;
+ }
+ if (other.HasOptionalSfixed32) {
+ OptionalSfixed32 = other.OptionalSfixed32;
+ }
+ if (other.HasOptionalSfixed64) {
+ OptionalSfixed64 = other.OptionalSfixed64;
+ }
+ if (other.HasOptionalFloat) {
+ OptionalFloat = other.OptionalFloat;
+ }
+ if (other.HasOptionalDouble) {
+ OptionalDouble = other.OptionalDouble;
+ }
+ if (other.HasOptionalBool) {
+ OptionalBool = other.OptionalBool;
+ }
+ if (other.HasOptionalString) {
+ OptionalString = other.OptionalString;
+ }
+ if (other.HasOptionalBytes) {
+ OptionalBytes = other.OptionalBytes;
+ }
+ if (other.HasOptionalGroup) {
+ MergeOptionalGroup(other.OptionalGroup);
+ }
+ if (other.HasOptionalNestedMessage) {
+ MergeOptionalNestedMessage(other.OptionalNestedMessage);
+ }
+ if (other.HasOptionalForeignMessage) {
+ MergeOptionalForeignMessage(other.OptionalForeignMessage);
+ }
+ if (other.HasOptionalImportMessage) {
+ MergeOptionalImportMessage(other.OptionalImportMessage);
+ }
+ if (other.HasOptionalNestedEnum) {
+ OptionalNestedEnum = other.OptionalNestedEnum;
+ }
+ if (other.HasOptionalForeignEnum) {
+ OptionalForeignEnum = other.OptionalForeignEnum;
+ }
+ if (other.HasOptionalImportEnum) {
+ OptionalImportEnum = other.OptionalImportEnum;
+ }
+ if (other.HasOptionalStringPiece) {
+ OptionalStringPiece = other.OptionalStringPiece;
+ }
+ if (other.HasOptionalCord) {
+ OptionalCord = other.OptionalCord;
+ }
+ if (other.repeatedInt32_.Count != 0) {
+ if (result.repeatedInt32_.Count == 0) {
+ result.repeatedInt32_ = new scg::List<int>();
+ }
+ base.AddRange(other.repeatedInt32_, result.repeatedInt32_);
+ }
+ if (other.repeatedInt64_.Count != 0) {
+ if (result.repeatedInt64_.Count == 0) {
+ result.repeatedInt64_ = new scg::List<long>();
+ }
+ base.AddRange(other.repeatedInt64_, result.repeatedInt64_);
+ }
+ if (other.repeatedUint32_.Count != 0) {
+ if (result.repeatedUint32_.Count == 0) {
+ result.repeatedUint32_ = new scg::List<uint>();
+ }
+ base.AddRange(other.repeatedUint32_, result.repeatedUint32_);
+ }
+ if (other.repeatedUint64_.Count != 0) {
+ if (result.repeatedUint64_.Count == 0) {
+ result.repeatedUint64_ = new scg::List<ulong>();
+ }
+ base.AddRange(other.repeatedUint64_, result.repeatedUint64_);
+ }
+ if (other.repeatedSint32_.Count != 0) {
+ if (result.repeatedSint32_.Count == 0) {
+ result.repeatedSint32_ = new scg::List<int>();
+ }
+ base.AddRange(other.repeatedSint32_, result.repeatedSint32_);
+ }
+ if (other.repeatedSint64_.Count != 0) {
+ if (result.repeatedSint64_.Count == 0) {
+ result.repeatedSint64_ = new scg::List<long>();
+ }
+ base.AddRange(other.repeatedSint64_, result.repeatedSint64_);
+ }
+ if (other.repeatedFixed32_.Count != 0) {
+ if (result.repeatedFixed32_.Count == 0) {
+ result.repeatedFixed32_ = new scg::List<uint>();
+ }
+ base.AddRange(other.repeatedFixed32_, result.repeatedFixed32_);
+ }
+ if (other.repeatedFixed64_.Count != 0) {
+ if (result.repeatedFixed64_.Count == 0) {
+ result.repeatedFixed64_ = new scg::List<ulong>();
+ }
+ base.AddRange(other.repeatedFixed64_, result.repeatedFixed64_);
+ }
+ if (other.repeatedSfixed32_.Count != 0) {
+ if (result.repeatedSfixed32_.Count == 0) {
+ result.repeatedSfixed32_ = new scg::List<int>();
+ }
+ base.AddRange(other.repeatedSfixed32_, result.repeatedSfixed32_);
+ }
+ if (other.repeatedSfixed64_.Count != 0) {
+ if (result.repeatedSfixed64_.Count == 0) {
+ result.repeatedSfixed64_ = new scg::List<long>();
+ }
+ base.AddRange(other.repeatedSfixed64_, result.repeatedSfixed64_);
+ }
+ if (other.repeatedFloat_.Count != 0) {
+ if (result.repeatedFloat_.Count == 0) {
+ result.repeatedFloat_ = new scg::List<float>();
+ }
+ base.AddRange(other.repeatedFloat_, result.repeatedFloat_);
+ }
+ if (other.repeatedDouble_.Count != 0) {
+ if (result.repeatedDouble_.Count == 0) {
+ result.repeatedDouble_ = new scg::List<double>();
+ }
+ base.AddRange(other.repeatedDouble_, result.repeatedDouble_);
+ }
+ if (other.repeatedBool_.Count != 0) {
+ if (result.repeatedBool_.Count == 0) {
+ result.repeatedBool_ = new scg::List<bool>();
+ }
+ base.AddRange(other.repeatedBool_, result.repeatedBool_);
+ }
+ if (other.repeatedString_.Count != 0) {
+ if (result.repeatedString_.Count == 0) {
+ result.repeatedString_ = new scg::List<string>();
+ }
+ base.AddRange(other.repeatedString_, result.repeatedString_);
+ }
+ if (other.repeatedBytes_.Count != 0) {
+ if (result.repeatedBytes_.Count == 0) {
+ result.repeatedBytes_ = new scg::List<pb::ByteString>();
+ }
+ base.AddRange(other.repeatedBytes_, result.repeatedBytes_);
+ }
+ if (other.repeatedGroup_.Count != 0) {
+ if (result.repeatedGroup_.Count == 0) {
+ result.repeatedGroup_ = new scg::List<self::TestAllTypes.Types.RepeatedGroup>();
+ }
+ base.AddRange(other.repeatedGroup_, result.repeatedGroup_);
+ }
+ if (other.repeatedNestedMessage_.Count != 0) {
+ if (result.repeatedNestedMessage_.Count == 0) {
+ result.repeatedNestedMessage_ = new scg::List<self::TestAllTypes.Types.NestedMessage>();
+ }
+ base.AddRange(other.repeatedNestedMessage_, result.repeatedNestedMessage_);
+ }
+ if (other.repeatedForeignMessage_.Count != 0) {
+ if (result.repeatedForeignMessage_.Count == 0) {
+ result.repeatedForeignMessage_ = new scg::List<self::ForeignMessage>();
+ }
+ base.AddRange(other.repeatedForeignMessage_, result.repeatedForeignMessage_);
+ }
+ if (other.repeatedImportMessage_.Count != 0) {
+ if (result.repeatedImportMessage_.Count == 0) {
+ result.repeatedImportMessage_ = new scg::List<self::ImportMessage>();
+ }
+ base.AddRange(other.repeatedImportMessage_, result.repeatedImportMessage_);
+ }
+ if (other.repeatedNestedEnum_.Count != 0) {
+ if (result.repeatedNestedEnum_.Count == 0) {
+ result.repeatedNestedEnum_ = new scg::List<self::TestAllTypes.Types.NestedEnum>();
+ }
+ base.AddRange(other.repeatedNestedEnum_, result.repeatedNestedEnum_);
+ }
+ if (other.repeatedForeignEnum_.Count != 0) {
+ if (result.repeatedForeignEnum_.Count == 0) {
+ result.repeatedForeignEnum_ = new scg::List<self::ForeignEnum>();
+ }
+ base.AddRange(other.repeatedForeignEnum_, result.repeatedForeignEnum_);
+ }
+ if (other.repeatedImportEnum_.Count != 0) {
+ if (result.repeatedImportEnum_.Count == 0) {
+ result.repeatedImportEnum_ = new scg::List<self::ImportEnum>();
+ }
+ base.AddRange(other.repeatedImportEnum_, result.repeatedImportEnum_);
+ }
+ if (other.repeatedStringPiece_.Count != 0) {
+ if (result.repeatedStringPiece_.Count == 0) {
+ result.repeatedStringPiece_ = new scg::List<string>();
+ }
+ base.AddRange(other.repeatedStringPiece_, result.repeatedStringPiece_);
+ }
+ if (other.repeatedCord_.Count != 0) {
+ if (result.repeatedCord_.Count == 0) {
+ result.repeatedCord_ = new scg::List<string>();
+ }
+ base.AddRange(other.repeatedCord_, result.repeatedCord_);
+ }
+ if (other.HasDefaultInt32) {
+ DefaultInt32 = other.DefaultInt32;
+ }
+ if (other.HasDefaultInt64) {
+ DefaultInt64 = other.DefaultInt64;
+ }
+ if (other.HasDefaultUint32) {
+ DefaultUint32 = other.DefaultUint32;
+ }
+ if (other.HasDefaultUint64) {
+ DefaultUint64 = other.DefaultUint64;
+ }
+ if (other.HasDefaultSint32) {
+ DefaultSint32 = other.DefaultSint32;
+ }
+ if (other.HasDefaultSint64) {
+ DefaultSint64 = other.DefaultSint64;
+ }
+ if (other.HasDefaultFixed32) {
+ DefaultFixed32 = other.DefaultFixed32;
+ }
+ if (other.HasDefaultFixed64) {
+ DefaultFixed64 = other.DefaultFixed64;
+ }
+ if (other.HasDefaultSfixed32) {
+ DefaultSfixed32 = other.DefaultSfixed32;
+ }
+ if (other.HasDefaultSfixed64) {
+ DefaultSfixed64 = other.DefaultSfixed64;
+ }
+ if (other.HasDefaultFloat) {
+ DefaultFloat = other.DefaultFloat;
+ }
+ if (other.HasDefaultDouble) {
+ DefaultDouble = other.DefaultDouble;
+ }
+ if (other.HasDefaultBool) {
+ DefaultBool = other.DefaultBool;
+ }
+ if (other.HasDefaultString) {
+ DefaultString = other.DefaultString;
+ }
+ if (other.HasDefaultBytes) {
+ DefaultBytes = other.DefaultBytes;
+ }
+ if (other.HasDefaultNestedEnum) {
+ DefaultNestedEnum = other.DefaultNestedEnum;
+ }
+ if (other.HasDefaultForeignEnum) {
+ DefaultForeignEnum = other.DefaultForeignEnum;
+ }
+ if (other.HasDefaultImportEnum) {
+ DefaultImportEnum = other.DefaultImportEnum;
+ }
+ if (other.HasDefaultStringPiece) {
+ DefaultStringPiece = other.DefaultStringPiece;
+ }
+ if (other.HasDefaultCord) {
+ DefaultCord = other.DefaultCord;
+ }
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::TestAllTypes> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::TestAllTypes> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ case 8: {
+ OptionalInt32 = input.ReadInt32();
+ break;
+ }
+ case 16: {
+ OptionalInt64 = input.ReadInt64();
+ break;
+ }
+ case 24: {
+ OptionalUint32 = input.ReadUInt32();
+ break;
+ }
+ case 32: {
+ OptionalUint64 = input.ReadUInt64();
+ break;
+ }
+ case 40: {
+ OptionalSint32 = input.ReadSInt32();
+ break;
+ }
+ case 48: {
+ OptionalSint64 = input.ReadSInt64();
+ break;
+ }
+ case 61: {
+ OptionalFixed32 = input.ReadFixed32();
+ break;
+ }
+ case 65: {
+ OptionalFixed64 = input.ReadFixed64();
+ break;
+ }
+ case 77: {
+ OptionalSfixed32 = input.ReadSFixed32();
+ break;
+ }
+ case 81: {
+ OptionalSfixed64 = input.ReadSFixed64();
+ break;
+ }
+ case 93: {
+ OptionalFloat = input.ReadFloat();
+ break;
+ }
+ case 97: {
+ OptionalDouble = input.ReadDouble();
+ break;
+ }
+ case 104: {
+ OptionalBool = input.ReadBool();
+ break;
+ }
+ case 114: {
+ OptionalString = input.ReadString();
+ break;
+ }
+ case 122: {
+ OptionalBytes = input.ReadBytes();
+ break;
+ }
+ case 131: {
+ self::TestAllTypes.Types.OptionalGroup.Builder subBuilder = self::TestAllTypes.Types.OptionalGroup.CreateBuilder();
+ if (HasOptionalGroup) {
+ subBuilder.MergeFrom(OptionalGroup);
+ }
+ input.ReadGroup(16, subBuilder, extensionRegistry);
+ OptionalGroup = subBuilder.BuildPartial();
+ break;
+ }
+ case 146: {
+ self::TestAllTypes.Types.NestedMessage.Builder subBuilder = self::TestAllTypes.Types.NestedMessage.CreateBuilder();
+ if (HasOptionalNestedMessage) {
+ subBuilder.MergeFrom(OptionalNestedMessage);
+ }
+ input.ReadMessage(subBuilder, extensionRegistry);
+ OptionalNestedMessage = subBuilder.BuildPartial();
+ break;
+ }
+ case 154: {
+ self::ForeignMessage.Builder subBuilder = self::ForeignMessage.CreateBuilder();
+ if (HasOptionalForeignMessage) {
+ subBuilder.MergeFrom(OptionalForeignMessage);
+ }
+ input.ReadMessage(subBuilder, extensionRegistry);
+ OptionalForeignMessage = subBuilder.BuildPartial();
+ break;
+ }
+ case 162: {
+ self::ImportMessage.Builder subBuilder = self::ImportMessage.CreateBuilder();
+ if (HasOptionalImportMessage) {
+ subBuilder.MergeFrom(OptionalImportMessage);
+ }
+ input.ReadMessage(subBuilder, extensionRegistry);
+ OptionalImportMessage = subBuilder.BuildPartial();
+ break;
+ }
+ case 168: {
+ int rawValue = input.ReadEnum();
+ if (!global::System.Enum.IsDefined(typeof(self::TestAllTypes.Types.NestedEnum), rawValue)) {
+ unknownFields.MergeVarintField(21, (ulong) rawValue);
+ } else {
+ OptionalNestedEnum = (self::TestAllTypes.Types.NestedEnum) rawValue;
+ }
+ break;
+ }
+ case 176: {
+ int rawValue = input.ReadEnum();
+ if (!global::System.Enum.IsDefined(typeof(self::ForeignEnum), rawValue)) {
+ unknownFields.MergeVarintField(22, (ulong) rawValue);
+ } else {
+ OptionalForeignEnum = (self::ForeignEnum) rawValue;
+ }
+ break;
+ }
+ case 184: {
+ int rawValue = input.ReadEnum();
+ if (!global::System.Enum.IsDefined(typeof(self::ImportEnum), rawValue)) {
+ unknownFields.MergeVarintField(23, (ulong) rawValue);
+ } else {
+ OptionalImportEnum = (self::ImportEnum) rawValue;
+ }
+ break;
+ }
+ case 194: {
+ OptionalStringPiece = input.ReadString();
+ break;
+ }
+ case 202: {
+ OptionalCord = input.ReadString();
+ break;
+ }
+ case 248: {
+ AddRepeatedInt32(input.ReadInt32());
+ break;
+ }
+ case 256: {
+ AddRepeatedInt64(input.ReadInt64());
+ break;
+ }
+ case 264: {
+ AddRepeatedUint32(input.ReadUInt32());
+ break;
+ }
+ case 272: {
+ AddRepeatedUint64(input.ReadUInt64());
+ break;
+ }
+ case 280: {
+ AddRepeatedSint32(input.ReadSInt32());
+ break;
+ }
+ case 288: {
+ AddRepeatedSint64(input.ReadSInt64());
+ break;
+ }
+ case 301: {
+ AddRepeatedFixed32(input.ReadFixed32());
+ break;
+ }
+ case 305: {
+ AddRepeatedFixed64(input.ReadFixed64());
+ break;
+ }
+ case 317: {
+ AddRepeatedSfixed32(input.ReadSFixed32());
+ break;
+ }
+ case 321: {
+ AddRepeatedSfixed64(input.ReadSFixed64());
+ break;
+ }
+ case 333: {
+ AddRepeatedFloat(input.ReadFloat());
+ break;
+ }
+ case 337: {
+ AddRepeatedDouble(input.ReadDouble());
+ break;
+ }
+ case 344: {
+ AddRepeatedBool(input.ReadBool());
+ break;
+ }
+ case 354: {
+ AddRepeatedString(input.ReadString());
+ break;
+ }
+ case 362: {
+ AddRepeatedBytes(input.ReadBytes());
+ break;
+ }
+ case 371: {
+ self::TestAllTypes.Types.RepeatedGroup.Builder subBuilder = self::TestAllTypes.Types.RepeatedGroup.CreateBuilder();
+ input.ReadGroup(46, subBuilder, extensionRegistry);
+ AddRepeatedGroup(subBuilder.BuildPartial());
+ break;
+ }
+ case 386: {
+ self::TestAllTypes.Types.NestedMessage.Builder subBuilder = self::TestAllTypes.Types.NestedMessage.CreateBuilder();
+ input.ReadMessage(subBuilder, extensionRegistry);
+ AddRepeatedNestedMessage(subBuilder.BuildPartial());
+ break;
+ }
+ case 394: {
+ self::ForeignMessage.Builder subBuilder = self::ForeignMessage.CreateBuilder();
+ input.ReadMessage(subBuilder, extensionRegistry);
+ AddRepeatedForeignMessage(subBuilder.BuildPartial());
+ break;
+ }
+ case 402: {
+ self::ImportMessage.Builder subBuilder = self::ImportMessage.CreateBuilder();
+ input.ReadMessage(subBuilder, extensionRegistry);
+ AddRepeatedImportMessage(subBuilder.BuildPartial());
+ break;
+ }
+ case 408: {
+ int rawValue = input.ReadEnum();
+ self::TestAllTypes.Types.NestedEnum value = (self::TestAllTypes.Types.NestedEnum) rawValue;
+ if (!global::System.Enum.IsDefined(typeof(self::TestAllTypes.Types.NestedEnum), value)) {
+ unknownFields.MergeVarintField(51, (ulong) rawValue);
+ } else {
+ AddRepeatedNestedEnum(value);
+ }
+ break;
+ }
+ case 416: {
+ int rawValue = input.ReadEnum();
+ self::ForeignEnum value = (self::ForeignEnum) rawValue;
+ if (!global::System.Enum.IsDefined(typeof(self::ForeignEnum), value)) {
+ unknownFields.MergeVarintField(52, (ulong) rawValue);
+ } else {
+ AddRepeatedForeignEnum(value);
+ }
+ break;
+ }
+ case 424: {
+ int rawValue = input.ReadEnum();
+ self::ImportEnum value = (self::ImportEnum) rawValue;
+ if (!global::System.Enum.IsDefined(typeof(self::ImportEnum), value)) {
+ unknownFields.MergeVarintField(53, (ulong) rawValue);
+ } else {
+ AddRepeatedImportEnum(value);
+ }
+ break;
+ }
+ case 434: {
+ AddRepeatedStringPiece(input.ReadString());
+ break;
+ }
+ case 442: {
+ AddRepeatedCord(input.ReadString());
+ break;
+ }
+ case 488: {
+ DefaultInt32 = input.ReadInt32();
+ break;
+ }
+ case 496: {
+ DefaultInt64 = input.ReadInt64();
+ break;
+ }
+ case 504: {
+ DefaultUint32 = input.ReadUInt32();
+ break;
+ }
+ case 512: {
+ DefaultUint64 = input.ReadUInt64();
+ break;
+ }
+ case 520: {
+ DefaultSint32 = input.ReadSInt32();
+ break;
+ }
+ case 528: {
+ DefaultSint64 = input.ReadSInt64();
+ break;
+ }
+ case 541: {
+ DefaultFixed32 = input.ReadFixed32();
+ break;
+ }
+ case 545: {
+ DefaultFixed64 = input.ReadFixed64();
+ break;
+ }
+ case 557: {
+ DefaultSfixed32 = input.ReadSFixed32();
+ break;
+ }
+ case 561: {
+ DefaultSfixed64 = input.ReadSFixed64();
+ break;
+ }
+ case 573: {
+ DefaultFloat = input.ReadFloat();
+ break;
+ }
+ case 577: {
+ DefaultDouble = input.ReadDouble();
+ break;
+ }
+ case 584: {
+ DefaultBool = input.ReadBool();
+ break;
+ }
+ case 594: {
+ DefaultString = input.ReadString();
+ break;
+ }
+ case 602: {
+ DefaultBytes = input.ReadBytes();
+ break;
+ }
+ case 648: {
+ int rawValue = input.ReadEnum();
+ if (!global::System.Enum.IsDefined(typeof(self::TestAllTypes.Types.NestedEnum), rawValue)) {
+ unknownFields.MergeVarintField(81, (ulong) rawValue);
+ } else {
+ DefaultNestedEnum = (self::TestAllTypes.Types.NestedEnum) rawValue;
+ }
+ break;
+ }
+ case 656: {
+ int rawValue = input.ReadEnum();
+ if (!global::System.Enum.IsDefined(typeof(self::ForeignEnum), rawValue)) {
+ unknownFields.MergeVarintField(82, (ulong) rawValue);
+ } else {
+ DefaultForeignEnum = (self::ForeignEnum) rawValue;
+ }
+ break;
+ }
+ case 664: {
+ int rawValue = input.ReadEnum();
+ if (!global::System.Enum.IsDefined(typeof(self::ImportEnum), rawValue)) {
+ unknownFields.MergeVarintField(83, (ulong) rawValue);
+ } else {
+ DefaultImportEnum = (self::ImportEnum) rawValue;
+ }
+ break;
+ }
+ case 674: {
+ DefaultStringPiece = input.ReadString();
+ break;
+ }
+ case 682: {
+ DefaultCord = input.ReadString();
+ break;
+ }
+ }
+ }
+ }
+
+
+ // optional int32 optional_int32 = 1;
+ public bool HasOptionalInt32 {
+ get { return result.HasOptionalInt32; }
+ }
+ public int OptionalInt32 {
+ get { return result.OptionalInt32; }
+ set { SetOptionalInt32(value); }
+ }
+ public Builder SetOptionalInt32(int value) {
+ result.hasOptionalInt32 = true;
+ result.optionalInt32_ = value;
+ return this;
+ }
+ public Builder ClearOptionalInt32() {
+ result.hasOptionalInt32 = false;
+ result.optionalInt32_ = 0;
+ return this;
+ }
+
+ // optional int64 optional_int64 = 2;
+ public bool HasOptionalInt64 {
+ get { return result.HasOptionalInt64; }
+ }
+ public long OptionalInt64 {
+ get { return result.OptionalInt64; }
+ set { SetOptionalInt64(value); }
+ }
+ public Builder SetOptionalInt64(long value) {
+ result.hasOptionalInt64 = true;
+ result.optionalInt64_ = value;
+ return this;
+ }
+ public Builder ClearOptionalInt64() {
+ result.hasOptionalInt64 = false;
+ result.optionalInt64_ = 0L;
+ return this;
+ }
+
+ // optional uint32 optional_uint32 = 3;
+ public bool HasOptionalUint32 {
+ get { return result.HasOptionalUint32; }
+ }
+ public uint OptionalUint32 {
+ get { return result.OptionalUint32; }
+ set { SetOptionalUint32(value); }
+ }
+ public Builder SetOptionalUint32(uint value) {
+ result.hasOptionalUint32 = true;
+ result.optionalUint32_ = value;
+ return this;
+ }
+ public Builder ClearOptionalUint32() {
+ result.hasOptionalUint32 = false;
+ result.optionalUint32_ = 0;
+ return this;
+ }
+
+ // optional uint64 optional_uint64 = 4;
+ public bool HasOptionalUint64 {
+ get { return result.HasOptionalUint64; }
+ }
+ public ulong OptionalUint64 {
+ get { return result.OptionalUint64; }
+ set { SetOptionalUint64(value); }
+ }
+ public Builder SetOptionalUint64(ulong value) {
+ result.hasOptionalUint64 = true;
+ result.optionalUint64_ = value;
+ return this;
+ }
+ public Builder ClearOptionalUint64() {
+ result.hasOptionalUint64 = false;
+ result.optionalUint64_ = 0UL;
+ return this;
+ }
+
+ // optional sint32 optional_sint32 = 5;
+ public bool HasOptionalSint32 {
+ get { return result.HasOptionalSint32; }
+ }
+ public int OptionalSint32 {
+ get { return result.OptionalSint32; }
+ set { SetOptionalSint32(value); }
+ }
+ public Builder SetOptionalSint32(int value) {
+ result.hasOptionalSint32 = true;
+ result.optionalSint32_ = value;
+ return this;
+ }
+ public Builder ClearOptionalSint32() {
+ result.hasOptionalSint32 = false;
+ result.optionalSint32_ = 0;
+ return this;
+ }
+
+ // optional sint64 optional_sint64 = 6;
+ public bool HasOptionalSint64 {
+ get { return result.HasOptionalSint64; }
+ }
+ public long OptionalSint64 {
+ get { return result.OptionalSint64; }
+ set { SetOptionalSint64(value); }
+ }
+ public Builder SetOptionalSint64(long value) {
+ result.hasOptionalSint64 = true;
+ result.optionalSint64_ = value;
+ return this;
+ }
+ public Builder ClearOptionalSint64() {
+ result.hasOptionalSint64 = false;
+ result.optionalSint64_ = 0L;
+ return this;
+ }
+
+ // optional fixed32 optional_fixed32 = 7;
+ public bool HasOptionalFixed32 {
+ get { return result.HasOptionalFixed32; }
+ }
+ public uint OptionalFixed32 {
+ get { return result.OptionalFixed32; }
+ set { SetOptionalFixed32(value); }
+ }
+ public Builder SetOptionalFixed32(uint value) {
+ result.hasOptionalFixed32 = true;
+ result.optionalFixed32_ = value;
+ return this;
+ }
+ public Builder ClearOptionalFixed32() {
+ result.hasOptionalFixed32 = false;
+ result.optionalFixed32_ = 0;
+ return this;
+ }
+
+ // optional fixed64 optional_fixed64 = 8;
+ public bool HasOptionalFixed64 {
+ get { return result.HasOptionalFixed64; }
+ }
+ public ulong OptionalFixed64 {
+ get { return result.OptionalFixed64; }
+ set { SetOptionalFixed64(value); }
+ }
+ public Builder SetOptionalFixed64(ulong value) {
+ result.hasOptionalFixed64 = true;
+ result.optionalFixed64_ = value;
+ return this;
+ }
+ public Builder ClearOptionalFixed64() {
+ result.hasOptionalFixed64 = false;
+ result.optionalFixed64_ = 0UL;
+ return this;
+ }
+
+ // optional sfixed32 optional_sfixed32 = 9;
+ public bool HasOptionalSfixed32 {
+ get { return result.HasOptionalSfixed32; }
+ }
+ public int OptionalSfixed32 {
+ get { return result.OptionalSfixed32; }
+ set { SetOptionalSfixed32(value); }
+ }
+ public Builder SetOptionalSfixed32(int value) {
+ result.hasOptionalSfixed32 = true;
+ result.optionalSfixed32_ = value;
+ return this;
+ }
+ public Builder ClearOptionalSfixed32() {
+ result.hasOptionalSfixed32 = false;
+ result.optionalSfixed32_ = 0;
+ return this;
+ }
+
+ // optional sfixed64 optional_sfixed64 = 10;
+ public bool HasOptionalSfixed64 {
+ get { return result.HasOptionalSfixed64; }
+ }
+ public long OptionalSfixed64 {
+ get { return result.OptionalSfixed64; }
+ set { SetOptionalSfixed64(value); }
+ }
+ public Builder SetOptionalSfixed64(long value) {
+ result.hasOptionalSfixed64 = true;
+ result.optionalSfixed64_ = value;
+ return this;
+ }
+ public Builder ClearOptionalSfixed64() {
+ result.hasOptionalSfixed64 = false;
+ result.optionalSfixed64_ = 0L;
+ return this;
+ }
+
+ // optional float optional_float = 11;
+ public bool HasOptionalFloat {
+ get { return result.HasOptionalFloat; }
+ }
+ public float OptionalFloat {
+ get { return result.OptionalFloat; }
+ set { SetOptionalFloat(value); }
+ }
+ public Builder SetOptionalFloat(float value) {
+ result.hasOptionalFloat = true;
+ result.optionalFloat_ = value;
+ return this;
+ }
+ public Builder ClearOptionalFloat() {
+ result.hasOptionalFloat = false;
+ result.optionalFloat_ = 0F;
+ return this;
+ }
+
+ // optional double optional_double = 12;
+ public bool HasOptionalDouble {
+ get { return result.HasOptionalDouble; }
+ }
+ public double OptionalDouble {
+ get { return result.OptionalDouble; }
+ set { SetOptionalDouble(value); }
+ }
+ public Builder SetOptionalDouble(double value) {
+ result.hasOptionalDouble = true;
+ result.optionalDouble_ = value;
+ return this;
+ }
+ public Builder ClearOptionalDouble() {
+ result.hasOptionalDouble = false;
+ result.optionalDouble_ = 0D;
+ return this;
+ }
+
+ // optional bool optional_bool = 13;
+ public bool HasOptionalBool {
+ get { return result.HasOptionalBool; }
+ }
+ public bool OptionalBool {
+ get { return result.OptionalBool; }
+ set { SetOptionalBool(value); }
+ }
+ public Builder SetOptionalBool(bool value) {
+ result.hasOptionalBool = true;
+ result.optionalBool_ = value;
+ return this;
+ }
+ public Builder ClearOptionalBool() {
+ result.hasOptionalBool = false;
+ result.optionalBool_ = false;
+ return this;
+ }
+
+ // optional string optional_string = 14;
+ public bool HasOptionalString {
+ get { return result.HasOptionalString; }
+ }
+ public string OptionalString {
+ get { return result.OptionalString; }
+ set { SetOptionalString(value); }
+ }
+ public Builder SetOptionalString(string value) {
+ result.hasOptionalString = true;
+ result.optionalString_ = value;
+ return this;
+ }
+ public Builder ClearOptionalString() {
+ result.hasOptionalString = false;
+ result.optionalString_ = "";
+ return this;
+ }
+
+ // optional bytes optional_bytes = 15;
+ public bool HasOptionalBytes {
+ get { return result.HasOptionalBytes; }
+ }
+ public pb::ByteString OptionalBytes {
+ get { return result.OptionalBytes; }
+ set { SetOptionalBytes(value); }
+ }
+ public Builder SetOptionalBytes(pb::ByteString value) {
+ result.hasOptionalBytes = true;
+ result.optionalBytes_ = value;
+ return this;
+ }
+ public Builder ClearOptionalBytes() {
+ result.hasOptionalBytes = false;
+ result.optionalBytes_ = pb::ByteString.Empty;
+ return this;
+ }
+
+ // optional group OptionalGroup = 16 {
+ public bool HasOptionalGroup {
+ get { return result.HasOptionalGroup; }
+ }
+ public self::TestAllTypes.Types.OptionalGroup OptionalGroup {
+ get { return result.OptionalGroup; }
+ set { SetOptionalGroup(value); }
+ }
+ public Builder SetOptionalGroup(self::TestAllTypes.Types.OptionalGroup value) {
+ result.hasOptionalGroup = true;
+ result.optionalGroup_ = value;
+ return this;
+ }
+ public Builder SetOptionalGroup(self::TestAllTypes.Types.OptionalGroup.Builder builderForValue) {
+ result.hasOptionalGroup = true;
+ result.optionalGroup_ = builderForValue.Build();
+ return this;
+ }
+ public Builder MergeOptionalGroup(self::TestAllTypes.Types.OptionalGroup value) {
+ if (result.HasOptionalGroup &&
+ result.optionalGroup_ != self::TestAllTypes.Types.OptionalGroup.DefaultInstance) {
+ result.optionalGroup_ =
+ self::TestAllTypes.Types.OptionalGroup.CreateBuilder(result.optionalGroup_).MergeFrom(value).BuildPartial();
+ } else {
+ result.optionalGroup_ = value;
+ }
+ result.hasOptionalGroup = true;
+ return this;
+ }
+ public Builder ClearOptionalGroup() {
+ result.hasOptionalGroup = false;
+ result.optionalGroup_ = self::TestAllTypes.Types.OptionalGroup.DefaultInstance;
+ return this;
+ }
+
+ // optional .protobuf_unittest.TestAllTypes.NestedMessage optional_nested_message = 18;
+ public bool HasOptionalNestedMessage {
+ get { return result.HasOptionalNestedMessage; }
+ }
+ public self::TestAllTypes.Types.NestedMessage OptionalNestedMessage {
+ get { return result.OptionalNestedMessage; }
+ set { SetOptionalNestedMessage(value); }
+ }
+ public Builder SetOptionalNestedMessage(self::TestAllTypes.Types.NestedMessage value) {
+ result.hasOptionalNestedMessage = true;
+ result.optionalNestedMessage_ = value;
+ return this;
+ }
+ public Builder SetOptionalNestedMessage(self::TestAllTypes.Types.NestedMessage.Builder builderForValue) {
+ result.hasOptionalNestedMessage = true;
+ result.optionalNestedMessage_ = builderForValue.Build();
+ return this;
+ }
+ public Builder MergeOptionalNestedMessage(self::TestAllTypes.Types.NestedMessage value) {
+ if (result.HasOptionalNestedMessage &&
+ result.optionalNestedMessage_ != self::TestAllTypes.Types.NestedMessage.DefaultInstance) {
+ result.optionalNestedMessage_ =
+ self::TestAllTypes.Types.NestedMessage.CreateBuilder(result.optionalNestedMessage_).MergeFrom(value).BuildPartial();
+ } else {
+ result.optionalNestedMessage_ = value;
+ }
+ result.hasOptionalNestedMessage = true;
+ return this;
+ }
+ public Builder ClearOptionalNestedMessage() {
+ result.hasOptionalNestedMessage = false;
+ result.optionalNestedMessage_ = self::TestAllTypes.Types.NestedMessage.DefaultInstance;
+ return this;
+ }
+
+ // optional .protobuf_unittest.ForeignMessage optional_foreign_message = 19;
+ public bool HasOptionalForeignMessage {
+ get { return result.HasOptionalForeignMessage; }
+ }
+ public self::ForeignMessage OptionalForeignMessage {
+ get { return result.OptionalForeignMessage; }
+ set { SetOptionalForeignMessage(value); }
+ }
+ public Builder SetOptionalForeignMessage(self::ForeignMessage value) {
+ result.hasOptionalForeignMessage = true;
+ result.optionalForeignMessage_ = value;
+ return this;
+ }
+ public Builder SetOptionalForeignMessage(self::ForeignMessage.Builder builderForValue) {
+ result.hasOptionalForeignMessage = true;
+ result.optionalForeignMessage_ = builderForValue.Build();
+ return this;
+ }
+ public Builder MergeOptionalForeignMessage(self::ForeignMessage value) {
+ if (result.HasOptionalForeignMessage &&
+ result.optionalForeignMessage_ != self::ForeignMessage.DefaultInstance) {
+ result.optionalForeignMessage_ =
+ self::ForeignMessage.CreateBuilder(result.optionalForeignMessage_).MergeFrom(value).BuildPartial();
+ } else {
+ result.optionalForeignMessage_ = value;
+ }
+ result.hasOptionalForeignMessage = true;
+ return this;
+ }
+ public Builder ClearOptionalForeignMessage() {
+ result.hasOptionalForeignMessage = false;
+ result.optionalForeignMessage_ = self::ForeignMessage.DefaultInstance;
+ return this;
+ }
+
+ // optional .protobuf_unittest_import.ImportMessage optional_import_message = 20;
+ public bool HasOptionalImportMessage {
+ get { return result.HasOptionalImportMessage; }
+ }
+ public self::ImportMessage OptionalImportMessage {
+ get { return result.OptionalImportMessage; }
+ set { SetOptionalImportMessage(value); }
+ }
+ public Builder SetOptionalImportMessage(self::ImportMessage value) {
+ result.hasOptionalImportMessage = true;
+ result.optionalImportMessage_ = value;
+ return this;
+ }
+ public Builder SetOptionalImportMessage(self::ImportMessage.Builder builderForValue) {
+ result.hasOptionalImportMessage = true;
+ result.optionalImportMessage_ = builderForValue.Build();
+ return this;
+ }
+ public Builder MergeOptionalImportMessage(self::ImportMessage value) {
+ if (result.HasOptionalImportMessage &&
+ result.optionalImportMessage_ != self::ImportMessage.DefaultInstance) {
+ result.optionalImportMessage_ =
+ self::ImportMessage.CreateBuilder(result.optionalImportMessage_).MergeFrom(value).BuildPartial();
+ } else {
+ result.optionalImportMessage_ = value;
+ }
+ result.hasOptionalImportMessage = true;
+ return this;
+ }
+ public Builder ClearOptionalImportMessage() {
+ result.hasOptionalImportMessage = false;
+ result.optionalImportMessage_ = self::ImportMessage.DefaultInstance;
+ return this;
+ }
+
+ // optional .protobuf_unittest.TestAllTypes.NestedEnum optional_nested_enum = 21;
+ public bool HasOptionalNestedEnum {
+ get { return result.HasOptionalNestedEnum; }
+ }
+ public self::TestAllTypes.Types.NestedEnum OptionalNestedEnum {
+ get { return result.OptionalNestedEnum; }
+ set { SetOptionalNestedEnum(value); }
+ }
+ public Builder SetOptionalNestedEnum(self::TestAllTypes.Types.NestedEnum value) {
+ result.hasOptionalNestedEnum = true;
+ result.optionalNestedEnum_ = value;
+ return this;
+ }
+ public Builder ClearOptionalNestedEnum() {
+ result.hasOptionalNestedEnum = false;
+ result.optionalNestedEnum_ = self::TestAllTypes.Types.NestedEnum.FOO;
+ return this;
+ }
+
+ // optional .protobuf_unittest.ForeignEnum optional_foreign_enum = 22;
+ public bool HasOptionalForeignEnum {
+ get { return result.HasOptionalForeignEnum; }
+ }
+ public self::ForeignEnum OptionalForeignEnum {
+ get { return result.OptionalForeignEnum; }
+ set { SetOptionalForeignEnum(value); }
+ }
+ public Builder SetOptionalForeignEnum(self::ForeignEnum value) {
+ result.hasOptionalForeignEnum = true;
+ result.optionalForeignEnum_ = value;
+ return this;
+ }
+ public Builder ClearOptionalForeignEnum() {
+ result.hasOptionalForeignEnum = false;
+ result.optionalForeignEnum_ = self::ForeignEnum.FOREIGN_FOO;
+ return this;
+ }
+
+ // optional .protobuf_unittest_import.ImportEnum optional_import_enum = 23;
+ public bool HasOptionalImportEnum {
+ get { return result.HasOptionalImportEnum; }
+ }
+ public self::ImportEnum OptionalImportEnum {
+ get { return result.OptionalImportEnum; }
+ set { SetOptionalImportEnum(value); }
+ }
+ public Builder SetOptionalImportEnum(self::ImportEnum value) {
+ result.hasOptionalImportEnum = true;
+ result.optionalImportEnum_ = value;
+ return this;
+ }
+ public Builder ClearOptionalImportEnum() {
+ result.hasOptionalImportEnum = false;
+ result.optionalImportEnum_ = self::ImportEnum.IMPORT_FOO;
+ return this;
+ }
+
+ // optional string optional_string_piece = 24 [ctype = STRING_PIECE];
+ public bool HasOptionalStringPiece {
+ get { return result.HasOptionalStringPiece; }
+ }
+ public string OptionalStringPiece {
+ get { return result.OptionalStringPiece; }
+ set { SetOptionalStringPiece(value); }
+ }
+ public Builder SetOptionalStringPiece(string value) {
+ result.hasOptionalStringPiece = true;
+ result.optionalStringPiece_ = value;
+ return this;
+ }
+ public Builder ClearOptionalStringPiece() {
+ result.hasOptionalStringPiece = false;
+ result.optionalStringPiece_ = "";
+ return this;
+ }
+
+ // optional string optional_cord = 25 [ctype = CORD];
+ public bool HasOptionalCord {
+ get { return result.HasOptionalCord; }
+ }
+ public string OptionalCord {
+ get { return result.OptionalCord; }
+ set { SetOptionalCord(value); }
+ }
+ public Builder SetOptionalCord(string value) {
+ result.hasOptionalCord = true;
+ result.optionalCord_ = value;
+ return this;
+ }
+ public Builder ClearOptionalCord() {
+ result.hasOptionalCord = false;
+ result.optionalCord_ = "";
+ return this;
+ }
+
+ // repeated int32 repeated_int32 = 31;
+ public scg::IList<int> RepeatedInt32List {
+ get { return pbc::Lists<int>.AsReadOnly(result.repeatedInt32_); }
+ }
+ public int RepeatedInt32Count {
+ get { return result.RepeatedInt32Count; }
+ }
+ public int GetRepeatedInt32(int index) {
+ return result.GetRepeatedInt32(index);
+ }
+ public Builder SetRepeatedInt32(int index, int value) {
+ result.repeatedInt32_[index] = value;
+ return this;
+ }
+ public Builder AddRepeatedInt32(int value) {
+ if (result.repeatedInt32_.Count == 0) {
+ result.repeatedInt32_ = new scg::List<int>();
+ }
+ result.repeatedInt32_.Add(value);
+ return this;
+ }
+ public Builder AddRangeRepeatedInt32(scg::IEnumerable<int> values) {
+ if (result.repeatedInt32_.Count == 0) {
+ result.repeatedInt32_ = new scg::List<int>();
+ }
+ base.AddRange(values, result.repeatedInt32_);
+ return this;
+ }
+ public Builder ClearRepeatedInt32() {
+ result.repeatedInt32_ = pbc::Lists<int>.Empty;
+ return this;
+ }
+
+ // repeated int64 repeated_int64 = 32;
+ public scg::IList<long> RepeatedInt64List {
+ get { return pbc::Lists<long>.AsReadOnly(result.repeatedInt64_); }
+ }
+ public int RepeatedInt64Count {
+ get { return result.RepeatedInt64Count; }
+ }
+ public long GetRepeatedInt64(int index) {
+ return result.GetRepeatedInt64(index);
+ }
+ public Builder SetRepeatedInt64(int index, long value) {
+ result.repeatedInt64_[index] = value;
+ return this;
+ }
+ public Builder AddRepeatedInt64(long value) {
+ if (result.repeatedInt64_.Count == 0) {
+ result.repeatedInt64_ = new scg::List<long>();
+ }
+ result.repeatedInt64_.Add(value);
+ return this;
+ }
+ public Builder AddRangeRepeatedInt64(scg::IEnumerable<long> values) {
+ if (result.repeatedInt64_.Count == 0) {
+ result.repeatedInt64_ = new scg::List<long>();
+ }
+ base.AddRange(values, result.repeatedInt64_);
+ return this;
+ }
+ public Builder ClearRepeatedInt64() {
+ result.repeatedInt64_ = pbc::Lists<long>.Empty;
+ return this;
+ }
+
+ // repeated uint32 repeated_uint32 = 33;
+ public scg::IList<uint> RepeatedUint32List {
+ get { return pbc::Lists<uint>.AsReadOnly(result.repeatedUint32_); }
+ }
+ public int RepeatedUint32Count {
+ get { return result.RepeatedUint32Count; }
+ }
+ public uint GetRepeatedUint32(int index) {
+ return result.GetRepeatedUint32(index);
+ }
+ public Builder SetRepeatedUint32(int index, uint value) {
+ result.repeatedUint32_[index] = value;
+ return this;
+ }
+ public Builder AddRepeatedUint32(uint value) {
+ if (result.repeatedUint32_.Count == 0) {
+ result.repeatedUint32_ = new scg::List<uint>();
+ }
+ result.repeatedUint32_.Add(value);
+ return this;
+ }
+ public Builder AddRangeRepeatedUint32(scg::IEnumerable<uint> values) {
+ if (result.repeatedUint32_.Count == 0) {
+ result.repeatedUint32_ = new scg::List<uint>();
+ }
+ base.AddRange(values, result.repeatedUint32_);
+ return this;
+ }
+ public Builder ClearRepeatedUint32() {
+ result.repeatedUint32_ = pbc::Lists<uint>.Empty;
+ return this;
+ }
+
+ // repeated uint64 repeated_uint64 = 34;
+ public scg::IList<ulong> RepeatedUint64List {
+ get { return pbc::Lists<ulong>.AsReadOnly(result.repeatedUint64_); }
+ }
+ public int RepeatedUint64Count {
+ get { return result.RepeatedUint64Count; }
+ }
+ public ulong GetRepeatedUint64(int index) {
+ return result.GetRepeatedUint64(index);
+ }
+ public Builder SetRepeatedUint64(int index, ulong value) {
+ result.repeatedUint64_[index] = value;
+ return this;
+ }
+ public Builder AddRepeatedUint64(ulong value) {
+ if (result.repeatedUint64_.Count == 0) {
+ result.repeatedUint64_ = new scg::List<ulong>();
+ }
+ result.repeatedUint64_.Add(value);
+ return this;
+ }
+ public Builder AddRangeRepeatedUint64(scg::IEnumerable<ulong> values) {
+ if (result.repeatedUint64_.Count == 0) {
+ result.repeatedUint64_ = new scg::List<ulong>();
+ }
+ base.AddRange(values, result.repeatedUint64_);
+ return this;
+ }
+ public Builder ClearRepeatedUint64() {
+ result.repeatedUint64_ = pbc::Lists<ulong>.Empty;
+ return this;
+ }
+
+ // repeated sint32 repeated_sint32 = 35;
+ public scg::IList<int> RepeatedSint32List {
+ get { return pbc::Lists<int>.AsReadOnly(result.repeatedSint32_); }
+ }
+ public int RepeatedSint32Count {
+ get { return result.RepeatedSint32Count; }
+ }
+ public int GetRepeatedSint32(int index) {
+ return result.GetRepeatedSint32(index);
+ }
+ public Builder SetRepeatedSint32(int index, int value) {
+ result.repeatedSint32_[index] = value;
+ return this;
+ }
+ public Builder AddRepeatedSint32(int value) {
+ if (result.repeatedSint32_.Count == 0) {
+ result.repeatedSint32_ = new scg::List<int>();
+ }
+ result.repeatedSint32_.Add(value);
+ return this;
+ }
+ public Builder AddRangeRepeatedSint32(scg::IEnumerable<int> values) {
+ if (result.repeatedSint32_.Count == 0) {
+ result.repeatedSint32_ = new scg::List<int>();
+ }
+ base.AddRange(values, result.repeatedSint32_);
+ return this;
+ }
+ public Builder ClearRepeatedSint32() {
+ result.repeatedSint32_ = pbc::Lists<int>.Empty;
+ return this;
+ }
+
+ // repeated sint64 repeated_sint64 = 36;
+ public scg::IList<long> RepeatedSint64List {
+ get { return pbc::Lists<long>.AsReadOnly(result.repeatedSint64_); }
+ }
+ public int RepeatedSint64Count {
+ get { return result.RepeatedSint64Count; }
+ }
+ public long GetRepeatedSint64(int index) {
+ return result.GetRepeatedSint64(index);
+ }
+ public Builder SetRepeatedSint64(int index, long value) {
+ result.repeatedSint64_[index] = value;
+ return this;
+ }
+ public Builder AddRepeatedSint64(long value) {
+ if (result.repeatedSint64_.Count == 0) {
+ result.repeatedSint64_ = new scg::List<long>();
+ }
+ result.repeatedSint64_.Add(value);
+ return this;
+ }
+ public Builder AddRangeRepeatedSint64(scg::IEnumerable<long> values) {
+ if (result.repeatedSint64_.Count == 0) {
+ result.repeatedSint64_ = new scg::List<long>();
+ }
+ base.AddRange(values, result.repeatedSint64_);
+ return this;
+ }
+ public Builder ClearRepeatedSint64() {
+ result.repeatedSint64_ = pbc::Lists<long>.Empty;
+ return this;
+ }
+
+ // repeated fixed32 repeated_fixed32 = 37;
+ public scg::IList<uint> RepeatedFixed32List {
+ get { return pbc::Lists<uint>.AsReadOnly(result.repeatedFixed32_); }
+ }
+ public int RepeatedFixed32Count {
+ get { return result.RepeatedFixed32Count; }
+ }
+ public uint GetRepeatedFixed32(int index) {
+ return result.GetRepeatedFixed32(index);
+ }
+ public Builder SetRepeatedFixed32(int index, uint value) {
+ result.repeatedFixed32_[index] = value;
+ return this;
+ }
+ public Builder AddRepeatedFixed32(uint value) {
+ if (result.repeatedFixed32_.Count == 0) {
+ result.repeatedFixed32_ = new scg::List<uint>();
+ }
+ result.repeatedFixed32_.Add(value);
+ return this;
+ }
+ public Builder AddRangeRepeatedFixed32(scg::IEnumerable<uint> values) {
+ if (result.repeatedFixed32_.Count == 0) {
+ result.repeatedFixed32_ = new scg::List<uint>();
+ }
+ base.AddRange(values, result.repeatedFixed32_);
+ return this;
+ }
+ public Builder ClearRepeatedFixed32() {
+ result.repeatedFixed32_ = pbc::Lists<uint>.Empty;
+ return this;
+ }
+
+ // repeated fixed64 repeated_fixed64 = 38;
+ public scg::IList<ulong> RepeatedFixed64List {
+ get { return pbc::Lists<ulong>.AsReadOnly(result.repeatedFixed64_); }
+ }
+ public int RepeatedFixed64Count {
+ get { return result.RepeatedFixed64Count; }
+ }
+ public ulong GetRepeatedFixed64(int index) {
+ return result.GetRepeatedFixed64(index);
+ }
+ public Builder SetRepeatedFixed64(int index, ulong value) {
+ result.repeatedFixed64_[index] = value;
+ return this;
+ }
+ public Builder AddRepeatedFixed64(ulong value) {
+ if (result.repeatedFixed64_.Count == 0) {
+ result.repeatedFixed64_ = new scg::List<ulong>();
+ }
+ result.repeatedFixed64_.Add(value);
+ return this;
+ }
+ public Builder AddRangeRepeatedFixed64(scg::IEnumerable<ulong> values) {
+ if (result.repeatedFixed64_.Count == 0) {
+ result.repeatedFixed64_ = new scg::List<ulong>();
+ }
+ base.AddRange(values, result.repeatedFixed64_);
+ return this;
+ }
+ public Builder ClearRepeatedFixed64() {
+ result.repeatedFixed64_ = pbc::Lists<ulong>.Empty;
+ return this;
+ }
+
+ // repeated sfixed32 repeated_sfixed32 = 39;
+ public scg::IList<int> RepeatedSfixed32List {
+ get { return pbc::Lists<int>.AsReadOnly(result.repeatedSfixed32_); }
+ }
+ public int RepeatedSfixed32Count {
+ get { return result.RepeatedSfixed32Count; }
+ }
+ public int GetRepeatedSfixed32(int index) {
+ return result.GetRepeatedSfixed32(index);
+ }
+ public Builder SetRepeatedSfixed32(int index, int value) {
+ result.repeatedSfixed32_[index] = value;
+ return this;
+ }
+ public Builder AddRepeatedSfixed32(int value) {
+ if (result.repeatedSfixed32_.Count == 0) {
+ result.repeatedSfixed32_ = new scg::List<int>();
+ }
+ result.repeatedSfixed32_.Add(value);
+ return this;
+ }
+ public Builder AddRangeRepeatedSfixed32(scg::IEnumerable<int> values) {
+ if (result.repeatedSfixed32_.Count == 0) {
+ result.repeatedSfixed32_ = new scg::List<int>();
+ }
+ base.AddRange(values, result.repeatedSfixed32_);
+ return this;
+ }
+ public Builder ClearRepeatedSfixed32() {
+ result.repeatedSfixed32_ = pbc::Lists<int>.Empty;
+ return this;
+ }
+
+ // repeated sfixed64 repeated_sfixed64 = 40;
+ public scg::IList<long> RepeatedSfixed64List {
+ get { return pbc::Lists<long>.AsReadOnly(result.repeatedSfixed64_); }
+ }
+ public int RepeatedSfixed64Count {
+ get { return result.RepeatedSfixed64Count; }
+ }
+ public long GetRepeatedSfixed64(int index) {
+ return result.GetRepeatedSfixed64(index);
+ }
+ public Builder SetRepeatedSfixed64(int index, long value) {
+ result.repeatedSfixed64_[index] = value;
+ return this;
+ }
+ public Builder AddRepeatedSfixed64(long value) {
+ if (result.repeatedSfixed64_.Count == 0) {
+ result.repeatedSfixed64_ = new scg::List<long>();
+ }
+ result.repeatedSfixed64_.Add(value);
+ return this;
+ }
+ public Builder AddRangeRepeatedSfixed64(scg::IEnumerable<long> values) {
+ if (result.repeatedSfixed64_.Count == 0) {
+ result.repeatedSfixed64_ = new scg::List<long>();
+ }
+ base.AddRange(values, result.repeatedSfixed64_);
+ return this;
+ }
+ public Builder ClearRepeatedSfixed64() {
+ result.repeatedSfixed64_ = pbc::Lists<long>.Empty;
+ return this;
+ }
+
+ // repeated float repeated_float = 41;
+ public scg::IList<float> RepeatedFloatList {
+ get { return pbc::Lists<float>.AsReadOnly(result.repeatedFloat_); }
+ }
+ public int RepeatedFloatCount {
+ get { return result.RepeatedFloatCount; }
+ }
+ public float GetRepeatedFloat(int index) {
+ return result.GetRepeatedFloat(index);
+ }
+ public Builder SetRepeatedFloat(int index, float value) {
+ result.repeatedFloat_[index] = value;
+ return this;
+ }
+ public Builder AddRepeatedFloat(float value) {
+ if (result.repeatedFloat_.Count == 0) {
+ result.repeatedFloat_ = new scg::List<float>();
+ }
+ result.repeatedFloat_.Add(value);
+ return this;
+ }
+ public Builder AddRangeRepeatedFloat(scg::IEnumerable<float> values) {
+ if (result.repeatedFloat_.Count == 0) {
+ result.repeatedFloat_ = new scg::List<float>();
+ }
+ base.AddRange(values, result.repeatedFloat_);
+ return this;
+ }
+ public Builder ClearRepeatedFloat() {
+ result.repeatedFloat_ = pbc::Lists<float>.Empty;
+ return this;
+ }
+
+ // repeated double repeated_double = 42;
+ public scg::IList<double> RepeatedDoubleList {
+ get { return pbc::Lists<double>.AsReadOnly(result.repeatedDouble_); }
+ }
+ public int RepeatedDoubleCount {
+ get { return result.RepeatedDoubleCount; }
+ }
+ public double GetRepeatedDouble(int index) {
+ return result.GetRepeatedDouble(index);
+ }
+ public Builder SetRepeatedDouble(int index, double value) {
+ result.repeatedDouble_[index] = value;
+ return this;
+ }
+ public Builder AddRepeatedDouble(double value) {
+ if (result.repeatedDouble_.Count == 0) {
+ result.repeatedDouble_ = new scg::List<double>();
+ }
+ result.repeatedDouble_.Add(value);
+ return this;
+ }
+ public Builder AddRangeRepeatedDouble(scg::IEnumerable<double> values) {
+ if (result.repeatedDouble_.Count == 0) {
+ result.repeatedDouble_ = new scg::List<double>();
+ }
+ base.AddRange(values, result.repeatedDouble_);
+ return this;
+ }
+ public Builder ClearRepeatedDouble() {
+ result.repeatedDouble_ = pbc::Lists<double>.Empty;
+ return this;
+ }
+
+ // repeated bool repeated_bool = 43;
+ public scg::IList<bool> RepeatedBoolList {
+ get { return pbc::Lists<bool>.AsReadOnly(result.repeatedBool_); }
+ }
+ public int RepeatedBoolCount {
+ get { return result.RepeatedBoolCount; }
+ }
+ public bool GetRepeatedBool(int index) {
+ return result.GetRepeatedBool(index);
+ }
+ public Builder SetRepeatedBool(int index, bool value) {
+ result.repeatedBool_[index] = value;
+ return this;
+ }
+ public Builder AddRepeatedBool(bool value) {
+ if (result.repeatedBool_.Count == 0) {
+ result.repeatedBool_ = new scg::List<bool>();
+ }
+ result.repeatedBool_.Add(value);
+ return this;
+ }
+ public Builder AddRangeRepeatedBool(scg::IEnumerable<bool> values) {
+ if (result.repeatedBool_.Count == 0) {
+ result.repeatedBool_ = new scg::List<bool>();
+ }
+ base.AddRange(values, result.repeatedBool_);
+ return this;
+ }
+ public Builder ClearRepeatedBool() {
+ result.repeatedBool_ = pbc::Lists<bool>.Empty;
+ return this;
+ }
+
+ // repeated string repeated_string = 44;
+ public scg::IList<string> RepeatedStringList {
+ get { return pbc::Lists<string>.AsReadOnly(result.repeatedString_); }
+ }
+ public int RepeatedStringCount {
+ get { return result.RepeatedStringCount; }
+ }
+ public string GetRepeatedString(int index) {
+ return result.GetRepeatedString(index);
+ }
+ public Builder SetRepeatedString(int index, string value) {
+ result.repeatedString_[index] = value;
+ return this;
+ }
+ public Builder AddRepeatedString(string value) {
+ if (result.repeatedString_.Count == 0) {
+ result.repeatedString_ = new scg::List<string>();
+ }
+ result.repeatedString_.Add(value);
+ return this;
+ }
+ public Builder AddRangeRepeatedString(scg::IEnumerable<string> values) {
+ if (result.repeatedString_.Count == 0) {
+ result.repeatedString_ = new scg::List<string>();
+ }
+ base.AddRange(values, result.repeatedString_);
+ return this;
+ }
+ public Builder ClearRepeatedString() {
+ result.repeatedString_ = pbc::Lists<string>.Empty;
+ return this;
+ }
+
+ // repeated bytes repeated_bytes = 45;
+ public scg::IList<pb::ByteString> RepeatedBytesList {
+ get { return pbc::Lists<pb::ByteString>.AsReadOnly(result.repeatedBytes_); }
+ }
+ public int RepeatedBytesCount {
+ get { return result.RepeatedBytesCount; }
+ }
+ public pb::ByteString GetRepeatedBytes(int index) {
+ return result.GetRepeatedBytes(index);
+ }
+ public Builder SetRepeatedBytes(int index, pb::ByteString value) {
+ result.repeatedBytes_[index] = value;
+ return this;
+ }
+ public Builder AddRepeatedBytes(pb::ByteString value) {
+ if (result.repeatedBytes_.Count == 0) {
+ result.repeatedBytes_ = new scg::List<pb::ByteString>();
+ }
+ result.repeatedBytes_.Add(value);
+ return this;
+ }
+ public Builder AddRangeRepeatedBytes(scg::IEnumerable<pb::ByteString> values) {
+ if (result.repeatedBytes_.Count == 0) {
+ result.repeatedBytes_ = new scg::List<pb::ByteString>();
+ }
+ base.AddRange(values, result.repeatedBytes_);
+ return this;
+ }
+ public Builder ClearRepeatedBytes() {
+ result.repeatedBytes_ = pbc::Lists<pb::ByteString>.Empty;
+ return this;
+ }
+
+ // repeated group RepeatedGroup = 46 {
+ public scg::IList<self::TestAllTypes.Types.RepeatedGroup> RepeatedGroupList {
+ get { return pbc::Lists.AsReadOnly(result.repeatedGroup_); }
+ }
+ public int RepeatedGroupCount {
+ get { return result.RepeatedGroupCount; }
+ }
+ public self::TestAllTypes.Types.RepeatedGroup GetRepeatedGroup(int index) {
+ return result.GetRepeatedGroup(index);
+ }
+ public Builder SetRepeatedGroup(int index, self::TestAllTypes.Types.RepeatedGroup value) {
+ result.repeatedGroup_[index] = value;
+ return this;
+ }
+ public Builder SetRepeatedGroup(int index, self::TestAllTypes.Types.RepeatedGroup.Builder builderForValue) {
+ result.repeatedGroup_[index] = builderForValue.Build();
+ return this;
+ }
+ public Builder AddRepeatedGroup(self::TestAllTypes.Types.RepeatedGroup value) {
+ if (result.repeatedGroup_ == pbc::Lists<self::TestAllTypes.Types.RepeatedGroup>.Empty) {
+ result.repeatedGroup_ = new scg::List<self::TestAllTypes.Types.RepeatedGroup>();
+ }
+ result.repeatedGroup_.Add(value);
+ return this;
+ }
+ public Builder AddRepeatedGroup(self::TestAllTypes.Types.RepeatedGroup.Builder builderForValue) {
+ if (result.repeatedGroup_ == pbc::Lists<self::TestAllTypes.Types.RepeatedGroup>.Empty) {
+ result.repeatedGroup_ = new scg::List<self::TestAllTypes.Types.RepeatedGroup>();
+ }
+ result.repeatedGroup_.Add(builderForValue.Build());
+ return this;
+ }
+ public Builder AddRangeRepeatedGroup(scg::IEnumerable<self::TestAllTypes.Types.RepeatedGroup> values) {
+ if (result.repeatedGroup_ == pbc::Lists<self::TestAllTypes.Types.RepeatedGroup>.Empty) {
+ result.repeatedGroup_ = new scg::List<self::TestAllTypes.Types.RepeatedGroup>();
+ }
+ base.AddRange(values, result.repeatedGroup_);
+ return this;
+ }
+ public Builder ClearRepeatedGroup() {
+ result.repeatedGroup_ = pbc::Lists<self::TestAllTypes.Types.RepeatedGroup>.Empty;
+ return this;
+ }
+
+ // repeated .protobuf_unittest.TestAllTypes.NestedMessage repeated_nested_message = 48;
+ public scg::IList<self::TestAllTypes.Types.NestedMessage> RepeatedNestedMessageList {
+ get { return pbc::Lists.AsReadOnly(result.repeatedNestedMessage_); }
+ }
+ public int RepeatedNestedMessageCount {
+ get { return result.RepeatedNestedMessageCount; }
+ }
+ public self::TestAllTypes.Types.NestedMessage GetRepeatedNestedMessage(int index) {
+ return result.GetRepeatedNestedMessage(index);
+ }
+ public Builder SetRepeatedNestedMessage(int index, self::TestAllTypes.Types.NestedMessage value) {
+ result.repeatedNestedMessage_[index] = value;
+ return this;
+ }
+ public Builder SetRepeatedNestedMessage(int index, self::TestAllTypes.Types.NestedMessage.Builder builderForValue) {
+ result.repeatedNestedMessage_[index] = builderForValue.Build();
+ return this;
+ }
+ public Builder AddRepeatedNestedMessage(self::TestAllTypes.Types.NestedMessage value) {
+ if (result.repeatedNestedMessage_ == pbc::Lists<self::TestAllTypes.Types.NestedMessage>.Empty) {
+ result.repeatedNestedMessage_ = new scg::List<self::TestAllTypes.Types.NestedMessage>();
+ }
+ result.repeatedNestedMessage_.Add(value);
+ return this;
+ }
+ public Builder AddRepeatedNestedMessage(self::TestAllTypes.Types.NestedMessage.Builder builderForValue) {
+ if (result.repeatedNestedMessage_ == pbc::Lists<self::TestAllTypes.Types.NestedMessage>.Empty) {
+ result.repeatedNestedMessage_ = new scg::List<self::TestAllTypes.Types.NestedMessage>();
+ }
+ result.repeatedNestedMessage_.Add(builderForValue.Build());
+ return this;
+ }
+ public Builder AddRangeRepeatedNestedMessage(scg::IEnumerable<self::TestAllTypes.Types.NestedMessage> values) {
+ if (result.repeatedNestedMessage_ == pbc::Lists<self::TestAllTypes.Types.NestedMessage>.Empty) {
+ result.repeatedNestedMessage_ = new scg::List<self::TestAllTypes.Types.NestedMessage>();
+ }
+ base.AddRange(values, result.repeatedNestedMessage_);
+ return this;
+ }
+ public Builder ClearRepeatedNestedMessage() {
+ result.repeatedNestedMessage_ = pbc::Lists<self::TestAllTypes.Types.NestedMessage>.Empty;
+ return this;
+ }
+
+ // repeated .protobuf_unittest.ForeignMessage repeated_foreign_message = 49;
+ public scg::IList<self::ForeignMessage> RepeatedForeignMessageList {
+ get { return pbc::Lists.AsReadOnly(result.repeatedForeignMessage_); }
+ }
+ public int RepeatedForeignMessageCount {
+ get { return result.RepeatedForeignMessageCount; }
+ }
+ public self::ForeignMessage GetRepeatedForeignMessage(int index) {
+ return result.GetRepeatedForeignMessage(index);
+ }
+ public Builder SetRepeatedForeignMessage(int index, self::ForeignMessage value) {
+ result.repeatedForeignMessage_[index] = value;
+ return this;
+ }
+ public Builder SetRepeatedForeignMessage(int index, self::ForeignMessage.Builder builderForValue) {
+ result.repeatedForeignMessage_[index] = builderForValue.Build();
+ return this;
+ }
+ public Builder AddRepeatedForeignMessage(self::ForeignMessage value) {
+ if (result.repeatedForeignMessage_ == pbc::Lists<self::ForeignMessage>.Empty) {
+ result.repeatedForeignMessage_ = new scg::List<self::ForeignMessage>();
+ }
+ result.repeatedForeignMessage_.Add(value);
+ return this;
+ }
+ public Builder AddRepeatedForeignMessage(self::ForeignMessage.Builder builderForValue) {
+ if (result.repeatedForeignMessage_ == pbc::Lists<self::ForeignMessage>.Empty) {
+ result.repeatedForeignMessage_ = new scg::List<self::ForeignMessage>();
+ }
+ result.repeatedForeignMessage_.Add(builderForValue.Build());
+ return this;
+ }
+ public Builder AddRangeRepeatedForeignMessage(scg::IEnumerable<self::ForeignMessage> values) {
+ if (result.repeatedForeignMessage_ == pbc::Lists<self::ForeignMessage>.Empty) {
+ result.repeatedForeignMessage_ = new scg::List<self::ForeignMessage>();
+ }
+ base.AddRange(values, result.repeatedForeignMessage_);
+ return this;
+ }
+ public Builder ClearRepeatedForeignMessage() {
+ result.repeatedForeignMessage_ = pbc::Lists<self::ForeignMessage>.Empty;
+ return this;
+ }
+
+ // repeated .protobuf_unittest_import.ImportMessage repeated_import_message = 50;
+ public scg::IList<self::ImportMessage> RepeatedImportMessageList {
+ get { return pbc::Lists.AsReadOnly(result.repeatedImportMessage_); }
+ }
+ public int RepeatedImportMessageCount {
+ get { return result.RepeatedImportMessageCount; }
+ }
+ public self::ImportMessage GetRepeatedImportMessage(int index) {
+ return result.GetRepeatedImportMessage(index);
+ }
+ public Builder SetRepeatedImportMessage(int index, self::ImportMessage value) {
+ result.repeatedImportMessage_[index] = value;
+ return this;
+ }
+ public Builder SetRepeatedImportMessage(int index, self::ImportMessage.Builder builderForValue) {
+ result.repeatedImportMessage_[index] = builderForValue.Build();
+ return this;
+ }
+ public Builder AddRepeatedImportMessage(self::ImportMessage value) {
+ if (result.repeatedImportMessage_ == pbc::Lists<self::ImportMessage>.Empty) {
+ result.repeatedImportMessage_ = new scg::List<self::ImportMessage>();
+ }
+ result.repeatedImportMessage_.Add(value);
+ return this;
+ }
+ public Builder AddRepeatedImportMessage(self::ImportMessage.Builder builderForValue) {
+ if (result.repeatedImportMessage_ == pbc::Lists<self::ImportMessage>.Empty) {
+ result.repeatedImportMessage_ = new scg::List<self::ImportMessage>();
+ }
+ result.repeatedImportMessage_.Add(builderForValue.Build());
+ return this;
+ }
+ public Builder AddRangeRepeatedImportMessage(scg::IEnumerable<self::ImportMessage> values) {
+ if (result.repeatedImportMessage_ == pbc::Lists<self::ImportMessage>.Empty) {
+ result.repeatedImportMessage_ = new scg::List<self::ImportMessage>();
+ }
+ base.AddRange(values, result.repeatedImportMessage_);
+ return this;
+ }
+ public Builder ClearRepeatedImportMessage() {
+ result.repeatedImportMessage_ = pbc::Lists<self::ImportMessage>.Empty;
+ return this;
+ }
+
+ // repeated .protobuf_unittest.TestAllTypes.NestedEnum repeated_nested_enum = 51;
+ public scg::IList<self::TestAllTypes.Types.NestedEnum> RepeatedNestedEnumList {
+ get { return pbc::Lists.AsReadOnly(result.repeatedNestedEnum_); }
+ }
+ public int RepeatedNestedEnumCount {
+ get { return result.RepeatedNestedEnumCount; }
+ }
+ public self::TestAllTypes.Types.NestedEnum GetRepeatedNestedEnum(int index) {
+ return result.GetRepeatedNestedEnum(index);
+ }
+ public Builder SetRepeatedNestedEnum(int index, self::TestAllTypes.Types.NestedEnum value) {
+ result.repeatedNestedEnum_[index] = value;
+ return this;
+ }
+ public Builder AddRepeatedNestedEnum(self::TestAllTypes.Types.NestedEnum value) {
+ if (result.repeatedNestedEnum_.Count == 0) {
+ result.repeatedNestedEnum_ = new scg::List<self::TestAllTypes.Types.NestedEnum>();
+ }
+ result.repeatedNestedEnum_.Add(value);
+ return this;
+ }
+ public Builder AddAllRepeatedNestedEnum(scg::IEnumerable<self::TestAllTypes.Types.NestedEnum> values) {
+ if (result.repeatedNestedEnum_.Count == 0) {
+ result.repeatedNestedEnum_ = new scg::List<self::TestAllTypes.Types.NestedEnum>();
+ }
+ base.AddRange(values, result.repeatedNestedEnum_);
+ return this;
+ }
+ public Builder ClearRepeatedNestedEnum() {
+ result.repeatedNestedEnum_ = pbc::Lists<self::TestAllTypes.Types.NestedEnum>.Empty;
+ return this;
+ }
+
+ // repeated .protobuf_unittest.ForeignEnum repeated_foreign_enum = 52;
+ public scg::IList<self::ForeignEnum> RepeatedForeignEnumList {
+ get { return pbc::Lists.AsReadOnly(result.repeatedForeignEnum_); }
+ }
+ public int RepeatedForeignEnumCount {
+ get { return result.RepeatedForeignEnumCount; }
+ }
+ public self::ForeignEnum GetRepeatedForeignEnum(int index) {
+ return result.GetRepeatedForeignEnum(index);
+ }
+ public Builder SetRepeatedForeignEnum(int index, self::ForeignEnum value) {
+ result.repeatedForeignEnum_[index] = value;
+ return this;
+ }
+ public Builder AddRepeatedForeignEnum(self::ForeignEnum value) {
+ if (result.repeatedForeignEnum_.Count == 0) {
+ result.repeatedForeignEnum_ = new scg::List<self::ForeignEnum>();
+ }
+ result.repeatedForeignEnum_.Add(value);
+ return this;
+ }
+ public Builder AddAllRepeatedForeignEnum(scg::IEnumerable<self::ForeignEnum> values) {
+ if (result.repeatedForeignEnum_.Count == 0) {
+ result.repeatedForeignEnum_ = new scg::List<self::ForeignEnum>();
+ }
+ base.AddRange(values, result.repeatedForeignEnum_);
+ return this;
+ }
+ public Builder ClearRepeatedForeignEnum() {
+ result.repeatedForeignEnum_ = pbc::Lists<self::ForeignEnum>.Empty;
+ return this;
+ }
+
+ // repeated .protobuf_unittest_import.ImportEnum repeated_import_enum = 53;
+ public scg::IList<self::ImportEnum> RepeatedImportEnumList {
+ get { return pbc::Lists.AsReadOnly(result.repeatedImportEnum_); }
+ }
+ public int RepeatedImportEnumCount {
+ get { return result.RepeatedImportEnumCount; }
+ }
+ public self::ImportEnum GetRepeatedImportEnum(int index) {
+ return result.GetRepeatedImportEnum(index);
+ }
+ public Builder SetRepeatedImportEnum(int index, self::ImportEnum value) {
+ result.repeatedImportEnum_[index] = value;
+ return this;
+ }
+ public Builder AddRepeatedImportEnum(self::ImportEnum value) {
+ if (result.repeatedImportEnum_.Count == 0) {
+ result.repeatedImportEnum_ = new scg::List<self::ImportEnum>();
+ }
+ result.repeatedImportEnum_.Add(value);
+ return this;
+ }
+ public Builder AddAllRepeatedImportEnum(scg::IEnumerable<self::ImportEnum> values) {
+ if (result.repeatedImportEnum_.Count == 0) {
+ result.repeatedImportEnum_ = new scg::List<self::ImportEnum>();
+ }
+ base.AddRange(values, result.repeatedImportEnum_);
+ return this;
+ }
+ public Builder ClearRepeatedImportEnum() {
+ result.repeatedImportEnum_ = pbc::Lists<self::ImportEnum>.Empty;
+ return this;
+ }
+
+ // repeated string repeated_string_piece = 54 [ctype = STRING_PIECE];
+ public scg::IList<string> RepeatedStringPieceList {
+ get { return pbc::Lists<string>.AsReadOnly(result.repeatedStringPiece_); }
+ }
+ public int RepeatedStringPieceCount {
+ get { return result.RepeatedStringPieceCount; }
+ }
+ public string GetRepeatedStringPiece(int index) {
+ return result.GetRepeatedStringPiece(index);
+ }
+ public Builder SetRepeatedStringPiece(int index, string value) {
+ result.repeatedStringPiece_[index] = value;
+ return this;
+ }
+ public Builder AddRepeatedStringPiece(string value) {
+ if (result.repeatedStringPiece_.Count == 0) {
+ result.repeatedStringPiece_ = new scg::List<string>();
+ }
+ result.repeatedStringPiece_.Add(value);
+ return this;
+ }
+ public Builder AddRangeRepeatedStringPiece(scg::IEnumerable<string> values) {
+ if (result.repeatedStringPiece_.Count == 0) {
+ result.repeatedStringPiece_ = new scg::List<string>();
+ }
+ base.AddRange(values, result.repeatedStringPiece_);
+ return this;
+ }
+ public Builder ClearRepeatedStringPiece() {
+ result.repeatedStringPiece_ = pbc::Lists<string>.Empty;
+ return this;
+ }
+
+ // repeated string repeated_cord = 55 [ctype = CORD];
+ public scg::IList<string> RepeatedCordList {
+ get { return pbc::Lists<string>.AsReadOnly(result.repeatedCord_); }
+ }
+ public int RepeatedCordCount {
+ get { return result.RepeatedCordCount; }
+ }
+ public string GetRepeatedCord(int index) {
+ return result.GetRepeatedCord(index);
+ }
+ public Builder SetRepeatedCord(int index, string value) {
+ result.repeatedCord_[index] = value;
+ return this;
+ }
+ public Builder AddRepeatedCord(string value) {
+ if (result.repeatedCord_.Count == 0) {
+ result.repeatedCord_ = new scg::List<string>();
+ }
+ result.repeatedCord_.Add(value);
+ return this;
+ }
+ public Builder AddRangeRepeatedCord(scg::IEnumerable<string> values) {
+ if (result.repeatedCord_.Count == 0) {
+ result.repeatedCord_ = new scg::List<string>();
+ }
+ base.AddRange(values, result.repeatedCord_);
+ return this;
+ }
+ public Builder ClearRepeatedCord() {
+ result.repeatedCord_ = pbc::Lists<string>.Empty;
+ return this;
+ }
+
+ // optional int32 default_int32 = 61 [default = 41];
+ public bool HasDefaultInt32 {
+ get { return result.HasDefaultInt32; }
+ }
+ public int DefaultInt32 {
+ get { return result.DefaultInt32; }
+ set { SetDefaultInt32(value); }
+ }
+ public Builder SetDefaultInt32(int value) {
+ result.hasDefaultInt32 = true;
+ result.defaultInt32_ = value;
+ return this;
+ }
+ public Builder ClearDefaultInt32() {
+ result.hasDefaultInt32 = false;
+ result.defaultInt32_ = 41;
+ return this;
+ }
+
+ // optional int64 default_int64 = 62 [default = 42];
+ public bool HasDefaultInt64 {
+ get { return result.HasDefaultInt64; }
+ }
+ public long DefaultInt64 {
+ get { return result.DefaultInt64; }
+ set { SetDefaultInt64(value); }
+ }
+ public Builder SetDefaultInt64(long value) {
+ result.hasDefaultInt64 = true;
+ result.defaultInt64_ = value;
+ return this;
+ }
+ public Builder ClearDefaultInt64() {
+ result.hasDefaultInt64 = false;
+ result.defaultInt64_ = 42L;
+ return this;
+ }
+
+ // optional uint32 default_uint32 = 63 [default = 43];
+ public bool HasDefaultUint32 {
+ get { return result.HasDefaultUint32; }
+ }
+ public uint DefaultUint32 {
+ get { return result.DefaultUint32; }
+ set { SetDefaultUint32(value); }
+ }
+ public Builder SetDefaultUint32(uint value) {
+ result.hasDefaultUint32 = true;
+ result.defaultUint32_ = value;
+ return this;
+ }
+ public Builder ClearDefaultUint32() {
+ result.hasDefaultUint32 = false;
+ result.defaultUint32_ = 43;
+ return this;
+ }
+
+ // optional uint64 default_uint64 = 64 [default = 44];
+ public bool HasDefaultUint64 {
+ get { return result.HasDefaultUint64; }
+ }
+ public ulong DefaultUint64 {
+ get { return result.DefaultUint64; }
+ set { SetDefaultUint64(value); }
+ }
+ public Builder SetDefaultUint64(ulong value) {
+ result.hasDefaultUint64 = true;
+ result.defaultUint64_ = value;
+ return this;
+ }
+ public Builder ClearDefaultUint64() {
+ result.hasDefaultUint64 = false;
+ result.defaultUint64_ = 44UL;
+ return this;
+ }
+
+ // optional sint32 default_sint32 = 65 [default = -45];
+ public bool HasDefaultSint32 {
+ get { return result.HasDefaultSint32; }
+ }
+ public int DefaultSint32 {
+ get { return result.DefaultSint32; }
+ set { SetDefaultSint32(value); }
+ }
+ public Builder SetDefaultSint32(int value) {
+ result.hasDefaultSint32 = true;
+ result.defaultSint32_ = value;
+ return this;
+ }
+ public Builder ClearDefaultSint32() {
+ result.hasDefaultSint32 = false;
+ result.defaultSint32_ = -45;
+ return this;
+ }
+
+ // optional sint64 default_sint64 = 66 [default = 46];
+ public bool HasDefaultSint64 {
+ get { return result.HasDefaultSint64; }
+ }
+ public long DefaultSint64 {
+ get { return result.DefaultSint64; }
+ set { SetDefaultSint64(value); }
+ }
+ public Builder SetDefaultSint64(long value) {
+ result.hasDefaultSint64 = true;
+ result.defaultSint64_ = value;
+ return this;
+ }
+ public Builder ClearDefaultSint64() {
+ result.hasDefaultSint64 = false;
+ result.defaultSint64_ = 46L;
+ return this;
+ }
+
+ // optional fixed32 default_fixed32 = 67 [default = 47];
+ public bool HasDefaultFixed32 {
+ get { return result.HasDefaultFixed32; }
+ }
+ public uint DefaultFixed32 {
+ get { return result.DefaultFixed32; }
+ set { SetDefaultFixed32(value); }
+ }
+ public Builder SetDefaultFixed32(uint value) {
+ result.hasDefaultFixed32 = true;
+ result.defaultFixed32_ = value;
+ return this;
+ }
+ public Builder ClearDefaultFixed32() {
+ result.hasDefaultFixed32 = false;
+ result.defaultFixed32_ = 47;
+ return this;
+ }
+
+ // optional fixed64 default_fixed64 = 68 [default = 48];
+ public bool HasDefaultFixed64 {
+ get { return result.HasDefaultFixed64; }
+ }
+ public ulong DefaultFixed64 {
+ get { return result.DefaultFixed64; }
+ set { SetDefaultFixed64(value); }
+ }
+ public Builder SetDefaultFixed64(ulong value) {
+ result.hasDefaultFixed64 = true;
+ result.defaultFixed64_ = value;
+ return this;
+ }
+ public Builder ClearDefaultFixed64() {
+ result.hasDefaultFixed64 = false;
+ result.defaultFixed64_ = 48UL;
+ return this;
+ }
+
+ // optional sfixed32 default_sfixed32 = 69 [default = 49];
+ public bool HasDefaultSfixed32 {
+ get { return result.HasDefaultSfixed32; }
+ }
+ public int DefaultSfixed32 {
+ get { return result.DefaultSfixed32; }
+ set { SetDefaultSfixed32(value); }
+ }
+ public Builder SetDefaultSfixed32(int value) {
+ result.hasDefaultSfixed32 = true;
+ result.defaultSfixed32_ = value;
+ return this;
+ }
+ public Builder ClearDefaultSfixed32() {
+ result.hasDefaultSfixed32 = false;
+ result.defaultSfixed32_ = 49;
+ return this;
+ }
+
+ // optional sfixed64 default_sfixed64 = 70 [default = -50];
+ public bool HasDefaultSfixed64 {
+ get { return result.HasDefaultSfixed64; }
+ }
+ public long DefaultSfixed64 {
+ get { return result.DefaultSfixed64; }
+ set { SetDefaultSfixed64(value); }
+ }
+ public Builder SetDefaultSfixed64(long value) {
+ result.hasDefaultSfixed64 = true;
+ result.defaultSfixed64_ = value;
+ return this;
+ }
+ public Builder ClearDefaultSfixed64() {
+ result.hasDefaultSfixed64 = false;
+ result.defaultSfixed64_ = -50L;
+ return this;
+ }
+
+ // optional float default_float = 71 [default = 51.5];
+ public bool HasDefaultFloat {
+ get { return result.HasDefaultFloat; }
+ }
+ public float DefaultFloat {
+ get { return result.DefaultFloat; }
+ set { SetDefaultFloat(value); }
+ }
+ public Builder SetDefaultFloat(float value) {
+ result.hasDefaultFloat = true;
+ result.defaultFloat_ = value;
+ return this;
+ }
+ public Builder ClearDefaultFloat() {
+ result.hasDefaultFloat = false;
+ result.defaultFloat_ = 51.5F;
+ return this;
+ }
+
+ // optional double default_double = 72 [default = 52000];
+ public bool HasDefaultDouble {
+ get { return result.HasDefaultDouble; }
+ }
+ public double DefaultDouble {
+ get { return result.DefaultDouble; }
+ set { SetDefaultDouble(value); }
+ }
+ public Builder SetDefaultDouble(double value) {
+ result.hasDefaultDouble = true;
+ result.defaultDouble_ = value;
+ return this;
+ }
+ public Builder ClearDefaultDouble() {
+ result.hasDefaultDouble = false;
+ result.defaultDouble_ = 52000D;
+ return this;
+ }
+
+ // optional bool default_bool = 73 [default = true];
+ public bool HasDefaultBool {
+ get { return result.HasDefaultBool; }
+ }
+ public bool DefaultBool {
+ get { return result.DefaultBool; }
+ set { SetDefaultBool(value); }
+ }
+ public Builder SetDefaultBool(bool value) {
+ result.hasDefaultBool = true;
+ result.defaultBool_ = value;
+ return this;
+ }
+ public Builder ClearDefaultBool() {
+ result.hasDefaultBool = false;
+ result.defaultBool_ = true;
+ return this;
+ }
+
+ // optional string default_string = 74 [default = "hello"];
+ public bool HasDefaultString {
+ get { return result.HasDefaultString; }
+ }
+ public string DefaultString {
+ get { return result.DefaultString; }
+ set { SetDefaultString(value); }
+ }
+ public Builder SetDefaultString(string value) {
+ result.hasDefaultString = true;
+ result.defaultString_ = value;
+ return this;
+ }
+ public Builder ClearDefaultString() {
+ result.hasDefaultString = false;
+ result.defaultString_ = "hello";
+ return this;
+ }
+
+ // optional bytes default_bytes = 75 [default = "world"];
+ public bool HasDefaultBytes {
+ get { return result.HasDefaultBytes; }
+ }
+ public pb::ByteString DefaultBytes {
+ get { return result.DefaultBytes; }
+ set { SetDefaultBytes(value); }
+ }
+ public Builder SetDefaultBytes(pb::ByteString value) {
+ result.hasDefaultBytes = true;
+ result.defaultBytes_ = value;
+ return this;
+ }
+ public Builder ClearDefaultBytes() {
+ result.hasDefaultBytes = false;
+ result.defaultBytes_ = ((pb::ByteString) self::TestAllTypes.Descriptor.Fields[62].DefaultValue);
+ return this;
+ }
+
+ // optional .protobuf_unittest.TestAllTypes.NestedEnum default_nested_enum = 81 [default = BAR];
+ public bool HasDefaultNestedEnum {
+ get { return result.HasDefaultNestedEnum; }
+ }
+ public self::TestAllTypes.Types.NestedEnum DefaultNestedEnum {
+ get { return result.DefaultNestedEnum; }
+ set { SetDefaultNestedEnum(value); }
+ }
+ public Builder SetDefaultNestedEnum(self::TestAllTypes.Types.NestedEnum value) {
+ result.hasDefaultNestedEnum = true;
+ result.defaultNestedEnum_ = value;
+ return this;
+ }
+ public Builder ClearDefaultNestedEnum() {
+ result.hasDefaultNestedEnum = false;
+ result.defaultNestedEnum_ = self::TestAllTypes.Types.NestedEnum.BAR;
+ return this;
+ }
+
+ // optional .protobuf_unittest.ForeignEnum default_foreign_enum = 82 [default = FOREIGN_BAR];
+ public bool HasDefaultForeignEnum {
+ get { return result.HasDefaultForeignEnum; }
+ }
+ public self::ForeignEnum DefaultForeignEnum {
+ get { return result.DefaultForeignEnum; }
+ set { SetDefaultForeignEnum(value); }
+ }
+ public Builder SetDefaultForeignEnum(self::ForeignEnum value) {
+ result.hasDefaultForeignEnum = true;
+ result.defaultForeignEnum_ = value;
+ return this;
+ }
+ public Builder ClearDefaultForeignEnum() {
+ result.hasDefaultForeignEnum = false;
+ result.defaultForeignEnum_ = self::ForeignEnum.FOREIGN_BAR;
+ return this;
+ }
+
+ // optional .protobuf_unittest_import.ImportEnum default_import_enum = 83 [default = IMPORT_BAR];
+ public bool HasDefaultImportEnum {
+ get { return result.HasDefaultImportEnum; }
+ }
+ public self::ImportEnum DefaultImportEnum {
+ get { return result.DefaultImportEnum; }
+ set { SetDefaultImportEnum(value); }
+ }
+ public Builder SetDefaultImportEnum(self::ImportEnum value) {
+ result.hasDefaultImportEnum = true;
+ result.defaultImportEnum_ = value;
+ return this;
+ }
+ public Builder ClearDefaultImportEnum() {
+ result.hasDefaultImportEnum = false;
+ result.defaultImportEnum_ = self::ImportEnum.IMPORT_BAR;
+ return this;
+ }
+
+ // optional string default_string_piece = 84 [default = "abc", ctype = STRING_PIECE];
+ public bool HasDefaultStringPiece {
+ get { return result.HasDefaultStringPiece; }
+ }
+ public string DefaultStringPiece {
+ get { return result.DefaultStringPiece; }
+ set { SetDefaultStringPiece(value); }
+ }
+ public Builder SetDefaultStringPiece(string value) {
+ result.hasDefaultStringPiece = true;
+ result.defaultStringPiece_ = value;
+ return this;
+ }
+ public Builder ClearDefaultStringPiece() {
+ result.hasDefaultStringPiece = false;
+ result.defaultStringPiece_ = "abc";
+ return this;
+ }
+
+ // optional string default_cord = 85 [default = "123", ctype = CORD];
+ public bool HasDefaultCord {
+ get { return result.HasDefaultCord; }
+ }
+ public string DefaultCord {
+ get { return result.DefaultCord; }
+ set { SetDefaultCord(value); }
+ }
+ public Builder SetDefaultCord(string value) {
+ result.hasDefaultCord = true;
+ result.defaultCord_ = value;
+ return this;
+ }
+ public Builder ClearDefaultCord() {
+ result.hasDefaultCord = false;
+ result.defaultCord_ = "123";
+ return this;
+ }
+ }
+ }
+
+ public sealed partial class ForeignMessage : pb::GeneratedMessage<ForeignMessage, ForeignMessage.Builder> {
+ // Use ForeignMessage.CreateBuilder() to construct.
+ private ForeignMessage() {}
+
+ private static readonly ForeignMessage defaultInstance = new ForeignMessage();
+ public static ForeignMessage DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override ForeignMessage DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_ForeignMessage__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_ForeignMessage__FieldAccessorTable; }
+ }
+
+ // optional int32 c = 1;
+ private bool hasC;
+ private int c_ = 0;
+ public bool HasC {
+ get { return hasC; }
+ }
+ public int C {
+ get { return c_; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ if (HasC) {
+ output.WriteInt32(1, C);
+ }
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (HasC) {
+ size += pb::CodedOutputStream.ComputeInt32Size(1, C);
+ }
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::ForeignMessage ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::ForeignMessage ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::ForeignMessage ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::ForeignMessage parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::ForeignMessage ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::ForeignMessage ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::ForeignMessage ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::ForeignMessage ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::ForeignMessage> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::ForeignMessage prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::ForeignMessage, Builder> {
+ // Construct using self::ForeignMessage.CreateBuilder()
+ internal Builder() {}
+
+ self::ForeignMessage result = new self::ForeignMessage();
+
+ protected override self::ForeignMessage MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::ForeignMessage> Clear() {
+ result = new self::ForeignMessage();
+ return this;
+ }
+
+ public override IBuilder<self::ForeignMessage> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::ForeignMessage.Descriptor; }
+ }
+
+ public override self::ForeignMessage DefaultInstanceForType {
+ get { return self::ForeignMessage.DefaultInstance; }
+ }
+
+ public override self::ForeignMessage BuildPartial() {
+ self::ForeignMessage returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::ForeignMessage) {
+ return MergeFrom((self::ForeignMessage) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::ForeignMessage> MergeFrom(self::ForeignMessage other) {
+ if (other == self::ForeignMessage.DefaultInstance) return this;
+ if (other.HasC) {
+ C = other.C;
+ }
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::ForeignMessage> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::ForeignMessage> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ case 8: {
+ C = input.ReadInt32();
+ break;
+ }
+ }
+ }
+ }
+
+
+ // optional int32 c = 1;
+ public bool HasC {
+ get { return result.HasC; }
+ }
+ public int C {
+ get { return result.C; }
+ set { SetC(value); }
+ }
+ public Builder SetC(int value) {
+ result.hasC = true;
+ result.c_ = value;
+ return this;
+ }
+ public Builder ClearC() {
+ result.hasC = false;
+ result.c_ = 0;
+ return this;
+ }
+ }
+ }
+
+ public sealed partial class TestAllExtensions : pb::ExtendableMessage<TestAllExtensions, TestAllExtensions.Builder> {
+ // Use TestAllExtensions.CreateBuilder() to construct.
+ private TestAllExtensions() {}
+
+ private static readonly TestAllExtensions defaultInstance = new TestAllExtensions();
+ public static TestAllExtensions DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override TestAllExtensions DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestAllExtensions__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestAllExtensions__FieldAccessorTable; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ if (!ExtensionsAreInitialized) return false;
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ pb::ExtendableMessage<TestAllExtensions, TestAllExtensions.Builder>.ExtensionWriter extensionWriter = CreateExtensionWriter(this);
+ extensionWriter.WriteUntil(536870912, output);
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ size += ExtensionsSerializedSize;
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::TestAllExtensions ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestAllExtensions ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestAllExtensions ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestAllExtensions parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestAllExtensions ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestAllExtensions ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestAllExtensions ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestAllExtensions ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::TestAllExtensions> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::TestAllExtensions prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::TestAllExtensions, self::TestAllExtensions.Builder>.ExtendableBuilder {
+ // Construct using self::TestAllExtensions.CreateBuilder()
+ internal Builder() {}
+
+ self::TestAllExtensions result = new self::TestAllExtensions();
+
+ protected override self::TestAllExtensions MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::TestAllExtensions> Clear() {
+ result = new self::TestAllExtensions();
+ return this;
+ }
+
+ public override IBuilder<self::TestAllExtensions> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::TestAllExtensions.Descriptor; }
+ }
+
+ public override self::TestAllExtensions DefaultInstanceForType {
+ get { return self::TestAllExtensions.DefaultInstance; }
+ }
+
+ public override self::TestAllExtensions BuildPartial() {
+ self::TestAllExtensions returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::TestAllExtensions) {
+ return MergeFrom((self::TestAllExtensions) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::TestAllExtensions> MergeFrom(self::TestAllExtensions other) {
+ if (other == self::TestAllExtensions.DefaultInstance) return this;
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::TestAllExtensions> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::TestAllExtensions> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ }
+ }
+ }
+
+ }
+ }
+
+ public sealed partial class OptionalGroup_extension : pb::GeneratedMessage<OptionalGroup_extension, OptionalGroup_extension.Builder> {
+ // Use OptionalGroup_extension.CreateBuilder() to construct.
+ private OptionalGroup_extension() {}
+
+ private static readonly OptionalGroup_extension defaultInstance = new OptionalGroup_extension();
+ public static OptionalGroup_extension DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override OptionalGroup_extension DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_OptionalGroup_extension__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_OptionalGroup_extension__FieldAccessorTable; }
+ }
+
+ // optional int32 a = 17;
+ private bool hasA;
+ private int a_ = 0;
+ public bool HasA {
+ get { return hasA; }
+ }
+ public int A {
+ get { return a_; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ if (HasA) {
+ output.WriteInt32(17, A);
+ }
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (HasA) {
+ size += pb::CodedOutputStream.ComputeInt32Size(17, A);
+ }
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::OptionalGroup_extension ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::OptionalGroup_extension ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::OptionalGroup_extension ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::OptionalGroup_extension parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::OptionalGroup_extension ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::OptionalGroup_extension ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::OptionalGroup_extension ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::OptionalGroup_extension ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::OptionalGroup_extension> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::OptionalGroup_extension prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::OptionalGroup_extension, Builder> {
+ // Construct using self::OptionalGroup_extension.CreateBuilder()
+ internal Builder() {}
+
+ self::OptionalGroup_extension result = new self::OptionalGroup_extension();
+
+ protected override self::OptionalGroup_extension MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::OptionalGroup_extension> Clear() {
+ result = new self::OptionalGroup_extension();
+ return this;
+ }
+
+ public override IBuilder<self::OptionalGroup_extension> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::OptionalGroup_extension.Descriptor; }
+ }
+
+ public override self::OptionalGroup_extension DefaultInstanceForType {
+ get { return self::OptionalGroup_extension.DefaultInstance; }
+ }
+
+ public override self::OptionalGroup_extension BuildPartial() {
+ self::OptionalGroup_extension returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::OptionalGroup_extension) {
+ return MergeFrom((self::OptionalGroup_extension) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::OptionalGroup_extension> MergeFrom(self::OptionalGroup_extension other) {
+ if (other == self::OptionalGroup_extension.DefaultInstance) return this;
+ if (other.HasA) {
+ A = other.A;
+ }
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::OptionalGroup_extension> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::OptionalGroup_extension> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ case 136: {
+ A = input.ReadInt32();
+ break;
+ }
+ }
+ }
+ }
+
+
+ // optional int32 a = 17;
+ public bool HasA {
+ get { return result.HasA; }
+ }
+ public int A {
+ get { return result.A; }
+ set { SetA(value); }
+ }
+ public Builder SetA(int value) {
+ result.hasA = true;
+ result.a_ = value;
+ return this;
+ }
+ public Builder ClearA() {
+ result.hasA = false;
+ result.a_ = 0;
+ return this;
+ }
+ }
+ }
+
+ public sealed partial class RepeatedGroup_extension : pb::GeneratedMessage<RepeatedGroup_extension, RepeatedGroup_extension.Builder> {
+ // Use RepeatedGroup_extension.CreateBuilder() to construct.
+ private RepeatedGroup_extension() {}
+
+ private static readonly RepeatedGroup_extension defaultInstance = new RepeatedGroup_extension();
+ public static RepeatedGroup_extension DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override RepeatedGroup_extension DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_RepeatedGroup_extension__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_RepeatedGroup_extension__FieldAccessorTable; }
+ }
+
+ // optional int32 a = 47;
+ private bool hasA;
+ private int a_ = 0;
+ public bool HasA {
+ get { return hasA; }
+ }
+ public int A {
+ get { return a_; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ if (HasA) {
+ output.WriteInt32(47, A);
+ }
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (HasA) {
+ size += pb::CodedOutputStream.ComputeInt32Size(47, A);
+ }
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::RepeatedGroup_extension ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::RepeatedGroup_extension ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::RepeatedGroup_extension ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::RepeatedGroup_extension parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::RepeatedGroup_extension ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::RepeatedGroup_extension ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::RepeatedGroup_extension ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::RepeatedGroup_extension ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::RepeatedGroup_extension> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::RepeatedGroup_extension prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::RepeatedGroup_extension, Builder> {
+ // Construct using self::RepeatedGroup_extension.CreateBuilder()
+ internal Builder() {}
+
+ self::RepeatedGroup_extension result = new self::RepeatedGroup_extension();
+
+ protected override self::RepeatedGroup_extension MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::RepeatedGroup_extension> Clear() {
+ result = new self::RepeatedGroup_extension();
+ return this;
+ }
+
+ public override IBuilder<self::RepeatedGroup_extension> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::RepeatedGroup_extension.Descriptor; }
+ }
+
+ public override self::RepeatedGroup_extension DefaultInstanceForType {
+ get { return self::RepeatedGroup_extension.DefaultInstance; }
+ }
+
+ public override self::RepeatedGroup_extension BuildPartial() {
+ self::RepeatedGroup_extension returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::RepeatedGroup_extension) {
+ return MergeFrom((self::RepeatedGroup_extension) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::RepeatedGroup_extension> MergeFrom(self::RepeatedGroup_extension other) {
+ if (other == self::RepeatedGroup_extension.DefaultInstance) return this;
+ if (other.HasA) {
+ A = other.A;
+ }
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::RepeatedGroup_extension> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::RepeatedGroup_extension> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ case 376: {
+ A = input.ReadInt32();
+ break;
+ }
+ }
+ }
+ }
+
+
+ // optional int32 a = 47;
+ public bool HasA {
+ get { return result.HasA; }
+ }
+ public int A {
+ get { return result.A; }
+ set { SetA(value); }
+ }
+ public Builder SetA(int value) {
+ result.hasA = true;
+ result.a_ = value;
+ return this;
+ }
+ public Builder ClearA() {
+ result.hasA = false;
+ result.a_ = 0;
+ return this;
+ }
+ }
+ }
+
+ public sealed partial class TestRequired : pb::GeneratedMessage<TestRequired, TestRequired.Builder> {
+ // Use TestRequired.CreateBuilder() to construct.
+ private TestRequired() {}
+
+ private static readonly TestRequired defaultInstance = new TestRequired();
+ public static TestRequired DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override TestRequired DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestRequired__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestRequired__FieldAccessorTable; }
+ }
+
+ #region Nested types
+ public static class Types {
+ public static readonly pb::GeneratedExtension<self::TestAllExtensions, self::TestRequired> Single =
+ pb::GeneratedExtension.CreateExtension<self::TestAllExtensions, self::TestRequired>(Descriptor.Extensions[0]);
+ public static readonly
+ pb::GeneratedExtension<self::TestAllExtensions, scg::IList<self::TestRequired>> name =
+ pb::GeneratedExtension.CreateRepeatedExtension<self::TestAllExtensions, self::TestRequired>(Descriptor.Extensions[1]);
+ }
+ #endregion
+
+ // required int32 a = 1;
+ private bool hasA;
+ private int a_ = 0;
+ public bool HasA {
+ get { return hasA; }
+ }
+ public int A {
+ get { return a_; }
+ }
+
+ // optional int32 dummy2 = 2;
+ private bool hasDummy2;
+ private int dummy2_ = 0;
+ public bool HasDummy2 {
+ get { return hasDummy2; }
+ }
+ public int Dummy2 {
+ get { return dummy2_; }
+ }
+
+ // required int32 b = 3;
+ private bool hasB;
+ private int b_ = 0;
+ public bool HasB {
+ get { return hasB; }
+ }
+ public int B {
+ get { return b_; }
+ }
+
+ // optional int32 dummy4 = 4;
+ private bool hasDummy4;
+ private int dummy4_ = 0;
+ public bool HasDummy4 {
+ get { return hasDummy4; }
+ }
+ public int Dummy4 {
+ get { return dummy4_; }
+ }
+
+ // optional int32 dummy5 = 5;
+ private bool hasDummy5;
+ private int dummy5_ = 0;
+ public bool HasDummy5 {
+ get { return hasDummy5; }
+ }
+ public int Dummy5 {
+ get { return dummy5_; }
+ }
+
+ // optional int32 dummy6 = 6;
+ private bool hasDummy6;
+ private int dummy6_ = 0;
+ public bool HasDummy6 {
+ get { return hasDummy6; }
+ }
+ public int Dummy6 {
+ get { return dummy6_; }
+ }
+
+ // optional int32 dummy7 = 7;
+ private bool hasDummy7;
+ private int dummy7_ = 0;
+ public bool HasDummy7 {
+ get { return hasDummy7; }
+ }
+ public int Dummy7 {
+ get { return dummy7_; }
+ }
+
+ // optional int32 dummy8 = 8;
+ private bool hasDummy8;
+ private int dummy8_ = 0;
+ public bool HasDummy8 {
+ get { return hasDummy8; }
+ }
+ public int Dummy8 {
+ get { return dummy8_; }
+ }
+
+ // optional int32 dummy9 = 9;
+ private bool hasDummy9;
+ private int dummy9_ = 0;
+ public bool HasDummy9 {
+ get { return hasDummy9; }
+ }
+ public int Dummy9 {
+ get { return dummy9_; }
+ }
+
+ // optional int32 dummy10 = 10;
+ private bool hasDummy10;
+ private int dummy10_ = 0;
+ public bool HasDummy10 {
+ get { return hasDummy10; }
+ }
+ public int Dummy10 {
+ get { return dummy10_; }
+ }
+
+ // optional int32 dummy11 = 11;
+ private bool hasDummy11;
+ private int dummy11_ = 0;
+ public bool HasDummy11 {
+ get { return hasDummy11; }
+ }
+ public int Dummy11 {
+ get { return dummy11_; }
+ }
+
+ // optional int32 dummy12 = 12;
+ private bool hasDummy12;
+ private int dummy12_ = 0;
+ public bool HasDummy12 {
+ get { return hasDummy12; }
+ }
+ public int Dummy12 {
+ get { return dummy12_; }
+ }
+
+ // optional int32 dummy13 = 13;
+ private bool hasDummy13;
+ private int dummy13_ = 0;
+ public bool HasDummy13 {
+ get { return hasDummy13; }
+ }
+ public int Dummy13 {
+ get { return dummy13_; }
+ }
+
+ // optional int32 dummy14 = 14;
+ private bool hasDummy14;
+ private int dummy14_ = 0;
+ public bool HasDummy14 {
+ get { return hasDummy14; }
+ }
+ public int Dummy14 {
+ get { return dummy14_; }
+ }
+
+ // optional int32 dummy15 = 15;
+ private bool hasDummy15;
+ private int dummy15_ = 0;
+ public bool HasDummy15 {
+ get { return hasDummy15; }
+ }
+ public int Dummy15 {
+ get { return dummy15_; }
+ }
+
+ // optional int32 dummy16 = 16;
+ private bool hasDummy16;
+ private int dummy16_ = 0;
+ public bool HasDummy16 {
+ get { return hasDummy16; }
+ }
+ public int Dummy16 {
+ get { return dummy16_; }
+ }
+
+ // optional int32 dummy17 = 17;
+ private bool hasDummy17;
+ private int dummy17_ = 0;
+ public bool HasDummy17 {
+ get { return hasDummy17; }
+ }
+ public int Dummy17 {
+ get { return dummy17_; }
+ }
+
+ // optional int32 dummy18 = 18;
+ private bool hasDummy18;
+ private int dummy18_ = 0;
+ public bool HasDummy18 {
+ get { return hasDummy18; }
+ }
+ public int Dummy18 {
+ get { return dummy18_; }
+ }
+
+ // optional int32 dummy19 = 19;
+ private bool hasDummy19;
+ private int dummy19_ = 0;
+ public bool HasDummy19 {
+ get { return hasDummy19; }
+ }
+ public int Dummy19 {
+ get { return dummy19_; }
+ }
+
+ // optional int32 dummy20 = 20;
+ private bool hasDummy20;
+ private int dummy20_ = 0;
+ public bool HasDummy20 {
+ get { return hasDummy20; }
+ }
+ public int Dummy20 {
+ get { return dummy20_; }
+ }
+
+ // optional int32 dummy21 = 21;
+ private bool hasDummy21;
+ private int dummy21_ = 0;
+ public bool HasDummy21 {
+ get { return hasDummy21; }
+ }
+ public int Dummy21 {
+ get { return dummy21_; }
+ }
+
+ // optional int32 dummy22 = 22;
+ private bool hasDummy22;
+ private int dummy22_ = 0;
+ public bool HasDummy22 {
+ get { return hasDummy22; }
+ }
+ public int Dummy22 {
+ get { return dummy22_; }
+ }
+
+ // optional int32 dummy23 = 23;
+ private bool hasDummy23;
+ private int dummy23_ = 0;
+ public bool HasDummy23 {
+ get { return hasDummy23; }
+ }
+ public int Dummy23 {
+ get { return dummy23_; }
+ }
+
+ // optional int32 dummy24 = 24;
+ private bool hasDummy24;
+ private int dummy24_ = 0;
+ public bool HasDummy24 {
+ get { return hasDummy24; }
+ }
+ public int Dummy24 {
+ get { return dummy24_; }
+ }
+
+ // optional int32 dummy25 = 25;
+ private bool hasDummy25;
+ private int dummy25_ = 0;
+ public bool HasDummy25 {
+ get { return hasDummy25; }
+ }
+ public int Dummy25 {
+ get { return dummy25_; }
+ }
+
+ // optional int32 dummy26 = 26;
+ private bool hasDummy26;
+ private int dummy26_ = 0;
+ public bool HasDummy26 {
+ get { return hasDummy26; }
+ }
+ public int Dummy26 {
+ get { return dummy26_; }
+ }
+
+ // optional int32 dummy27 = 27;
+ private bool hasDummy27;
+ private int dummy27_ = 0;
+ public bool HasDummy27 {
+ get { return hasDummy27; }
+ }
+ public int Dummy27 {
+ get { return dummy27_; }
+ }
+
+ // optional int32 dummy28 = 28;
+ private bool hasDummy28;
+ private int dummy28_ = 0;
+ public bool HasDummy28 {
+ get { return hasDummy28; }
+ }
+ public int Dummy28 {
+ get { return dummy28_; }
+ }
+
+ // optional int32 dummy29 = 29;
+ private bool hasDummy29;
+ private int dummy29_ = 0;
+ public bool HasDummy29 {
+ get { return hasDummy29; }
+ }
+ public int Dummy29 {
+ get { return dummy29_; }
+ }
+
+ // optional int32 dummy30 = 30;
+ private bool hasDummy30;
+ private int dummy30_ = 0;
+ public bool HasDummy30 {
+ get { return hasDummy30; }
+ }
+ public int Dummy30 {
+ get { return dummy30_; }
+ }
+
+ // optional int32 dummy31 = 31;
+ private bool hasDummy31;
+ private int dummy31_ = 0;
+ public bool HasDummy31 {
+ get { return hasDummy31; }
+ }
+ public int Dummy31 {
+ get { return dummy31_; }
+ }
+
+ // optional int32 dummy32 = 32;
+ private bool hasDummy32;
+ private int dummy32_ = 0;
+ public bool HasDummy32 {
+ get { return hasDummy32; }
+ }
+ public int Dummy32 {
+ get { return dummy32_; }
+ }
+
+ // required int32 c = 33;
+ private bool hasC;
+ private int c_ = 0;
+ public bool HasC {
+ get { return hasC; }
+ }
+ public int C {
+ get { return c_; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ if (!hasA) return false;
+ if (!hasB) return false;
+ if (!hasC) return false;
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ if (HasA) {
+ output.WriteInt32(1, A);
+ }
+ if (HasDummy2) {
+ output.WriteInt32(2, Dummy2);
+ }
+ if (HasB) {
+ output.WriteInt32(3, B);
+ }
+ if (HasDummy4) {
+ output.WriteInt32(4, Dummy4);
+ }
+ if (HasDummy5) {
+ output.WriteInt32(5, Dummy5);
+ }
+ if (HasDummy6) {
+ output.WriteInt32(6, Dummy6);
+ }
+ if (HasDummy7) {
+ output.WriteInt32(7, Dummy7);
+ }
+ if (HasDummy8) {
+ output.WriteInt32(8, Dummy8);
+ }
+ if (HasDummy9) {
+ output.WriteInt32(9, Dummy9);
+ }
+ if (HasDummy10) {
+ output.WriteInt32(10, Dummy10);
+ }
+ if (HasDummy11) {
+ output.WriteInt32(11, Dummy11);
+ }
+ if (HasDummy12) {
+ output.WriteInt32(12, Dummy12);
+ }
+ if (HasDummy13) {
+ output.WriteInt32(13, Dummy13);
+ }
+ if (HasDummy14) {
+ output.WriteInt32(14, Dummy14);
+ }
+ if (HasDummy15) {
+ output.WriteInt32(15, Dummy15);
+ }
+ if (HasDummy16) {
+ output.WriteInt32(16, Dummy16);
+ }
+ if (HasDummy17) {
+ output.WriteInt32(17, Dummy17);
+ }
+ if (HasDummy18) {
+ output.WriteInt32(18, Dummy18);
+ }
+ if (HasDummy19) {
+ output.WriteInt32(19, Dummy19);
+ }
+ if (HasDummy20) {
+ output.WriteInt32(20, Dummy20);
+ }
+ if (HasDummy21) {
+ output.WriteInt32(21, Dummy21);
+ }
+ if (HasDummy22) {
+ output.WriteInt32(22, Dummy22);
+ }
+ if (HasDummy23) {
+ output.WriteInt32(23, Dummy23);
+ }
+ if (HasDummy24) {
+ output.WriteInt32(24, Dummy24);
+ }
+ if (HasDummy25) {
+ output.WriteInt32(25, Dummy25);
+ }
+ if (HasDummy26) {
+ output.WriteInt32(26, Dummy26);
+ }
+ if (HasDummy27) {
+ output.WriteInt32(27, Dummy27);
+ }
+ if (HasDummy28) {
+ output.WriteInt32(28, Dummy28);
+ }
+ if (HasDummy29) {
+ output.WriteInt32(29, Dummy29);
+ }
+ if (HasDummy30) {
+ output.WriteInt32(30, Dummy30);
+ }
+ if (HasDummy31) {
+ output.WriteInt32(31, Dummy31);
+ }
+ if (HasDummy32) {
+ output.WriteInt32(32, Dummy32);
+ }
+ if (HasC) {
+ output.WriteInt32(33, C);
+ }
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (HasA) {
+ size += pb::CodedOutputStream.ComputeInt32Size(1, A);
+ }
+ if (HasDummy2) {
+ size += pb::CodedOutputStream.ComputeInt32Size(2, Dummy2);
+ }
+ if (HasB) {
+ size += pb::CodedOutputStream.ComputeInt32Size(3, B);
+ }
+ if (HasDummy4) {
+ size += pb::CodedOutputStream.ComputeInt32Size(4, Dummy4);
+ }
+ if (HasDummy5) {
+ size += pb::CodedOutputStream.ComputeInt32Size(5, Dummy5);
+ }
+ if (HasDummy6) {
+ size += pb::CodedOutputStream.ComputeInt32Size(6, Dummy6);
+ }
+ if (HasDummy7) {
+ size += pb::CodedOutputStream.ComputeInt32Size(7, Dummy7);
+ }
+ if (HasDummy8) {
+ size += pb::CodedOutputStream.ComputeInt32Size(8, Dummy8);
+ }
+ if (HasDummy9) {
+ size += pb::CodedOutputStream.ComputeInt32Size(9, Dummy9);
+ }
+ if (HasDummy10) {
+ size += pb::CodedOutputStream.ComputeInt32Size(10, Dummy10);
+ }
+ if (HasDummy11) {
+ size += pb::CodedOutputStream.ComputeInt32Size(11, Dummy11);
+ }
+ if (HasDummy12) {
+ size += pb::CodedOutputStream.ComputeInt32Size(12, Dummy12);
+ }
+ if (HasDummy13) {
+ size += pb::CodedOutputStream.ComputeInt32Size(13, Dummy13);
+ }
+ if (HasDummy14) {
+ size += pb::CodedOutputStream.ComputeInt32Size(14, Dummy14);
+ }
+ if (HasDummy15) {
+ size += pb::CodedOutputStream.ComputeInt32Size(15, Dummy15);
+ }
+ if (HasDummy16) {
+ size += pb::CodedOutputStream.ComputeInt32Size(16, Dummy16);
+ }
+ if (HasDummy17) {
+ size += pb::CodedOutputStream.ComputeInt32Size(17, Dummy17);
+ }
+ if (HasDummy18) {
+ size += pb::CodedOutputStream.ComputeInt32Size(18, Dummy18);
+ }
+ if (HasDummy19) {
+ size += pb::CodedOutputStream.ComputeInt32Size(19, Dummy19);
+ }
+ if (HasDummy20) {
+ size += pb::CodedOutputStream.ComputeInt32Size(20, Dummy20);
+ }
+ if (HasDummy21) {
+ size += pb::CodedOutputStream.ComputeInt32Size(21, Dummy21);
+ }
+ if (HasDummy22) {
+ size += pb::CodedOutputStream.ComputeInt32Size(22, Dummy22);
+ }
+ if (HasDummy23) {
+ size += pb::CodedOutputStream.ComputeInt32Size(23, Dummy23);
+ }
+ if (HasDummy24) {
+ size += pb::CodedOutputStream.ComputeInt32Size(24, Dummy24);
+ }
+ if (HasDummy25) {
+ size += pb::CodedOutputStream.ComputeInt32Size(25, Dummy25);
+ }
+ if (HasDummy26) {
+ size += pb::CodedOutputStream.ComputeInt32Size(26, Dummy26);
+ }
+ if (HasDummy27) {
+ size += pb::CodedOutputStream.ComputeInt32Size(27, Dummy27);
+ }
+ if (HasDummy28) {
+ size += pb::CodedOutputStream.ComputeInt32Size(28, Dummy28);
+ }
+ if (HasDummy29) {
+ size += pb::CodedOutputStream.ComputeInt32Size(29, Dummy29);
+ }
+ if (HasDummy30) {
+ size += pb::CodedOutputStream.ComputeInt32Size(30, Dummy30);
+ }
+ if (HasDummy31) {
+ size += pb::CodedOutputStream.ComputeInt32Size(31, Dummy31);
+ }
+ if (HasDummy32) {
+ size += pb::CodedOutputStream.ComputeInt32Size(32, Dummy32);
+ }
+ if (HasC) {
+ size += pb::CodedOutputStream.ComputeInt32Size(33, C);
+ }
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::TestRequired ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestRequired ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestRequired ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestRequired parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestRequired ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestRequired ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestRequired ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestRequired ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::TestRequired> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::TestRequired prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::TestRequired, Builder> {
+ // Construct using self::TestRequired.CreateBuilder()
+ internal Builder() {}
+
+ self::TestRequired result = new self::TestRequired();
+
+ protected override self::TestRequired MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::TestRequired> Clear() {
+ result = new self::TestRequired();
+ return this;
+ }
+
+ public override IBuilder<self::TestRequired> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::TestRequired.Descriptor; }
+ }
+
+ public override self::TestRequired DefaultInstanceForType {
+ get { return self::TestRequired.DefaultInstance; }
+ }
+
+ public override self::TestRequired BuildPartial() {
+ self::TestRequired returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::TestRequired) {
+ return MergeFrom((self::TestRequired) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::TestRequired> MergeFrom(self::TestRequired other) {
+ if (other == self::TestRequired.DefaultInstance) return this;
+ if (other.HasA) {
+ A = other.A;
+ }
+ if (other.HasDummy2) {
+ Dummy2 = other.Dummy2;
+ }
+ if (other.HasB) {
+ B = other.B;
+ }
+ if (other.HasDummy4) {
+ Dummy4 = other.Dummy4;
+ }
+ if (other.HasDummy5) {
+ Dummy5 = other.Dummy5;
+ }
+ if (other.HasDummy6) {
+ Dummy6 = other.Dummy6;
+ }
+ if (other.HasDummy7) {
+ Dummy7 = other.Dummy7;
+ }
+ if (other.HasDummy8) {
+ Dummy8 = other.Dummy8;
+ }
+ if (other.HasDummy9) {
+ Dummy9 = other.Dummy9;
+ }
+ if (other.HasDummy10) {
+ Dummy10 = other.Dummy10;
+ }
+ if (other.HasDummy11) {
+ Dummy11 = other.Dummy11;
+ }
+ if (other.HasDummy12) {
+ Dummy12 = other.Dummy12;
+ }
+ if (other.HasDummy13) {
+ Dummy13 = other.Dummy13;
+ }
+ if (other.HasDummy14) {
+ Dummy14 = other.Dummy14;
+ }
+ if (other.HasDummy15) {
+ Dummy15 = other.Dummy15;
+ }
+ if (other.HasDummy16) {
+ Dummy16 = other.Dummy16;
+ }
+ if (other.HasDummy17) {
+ Dummy17 = other.Dummy17;
+ }
+ if (other.HasDummy18) {
+ Dummy18 = other.Dummy18;
+ }
+ if (other.HasDummy19) {
+ Dummy19 = other.Dummy19;
+ }
+ if (other.HasDummy20) {
+ Dummy20 = other.Dummy20;
+ }
+ if (other.HasDummy21) {
+ Dummy21 = other.Dummy21;
+ }
+ if (other.HasDummy22) {
+ Dummy22 = other.Dummy22;
+ }
+ if (other.HasDummy23) {
+ Dummy23 = other.Dummy23;
+ }
+ if (other.HasDummy24) {
+ Dummy24 = other.Dummy24;
+ }
+ if (other.HasDummy25) {
+ Dummy25 = other.Dummy25;
+ }
+ if (other.HasDummy26) {
+ Dummy26 = other.Dummy26;
+ }
+ if (other.HasDummy27) {
+ Dummy27 = other.Dummy27;
+ }
+ if (other.HasDummy28) {
+ Dummy28 = other.Dummy28;
+ }
+ if (other.HasDummy29) {
+ Dummy29 = other.Dummy29;
+ }
+ if (other.HasDummy30) {
+ Dummy30 = other.Dummy30;
+ }
+ if (other.HasDummy31) {
+ Dummy31 = other.Dummy31;
+ }
+ if (other.HasDummy32) {
+ Dummy32 = other.Dummy32;
+ }
+ if (other.HasC) {
+ C = other.C;
+ }
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::TestRequired> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::TestRequired> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ case 8: {
+ A = input.ReadInt32();
+ break;
+ }
+ case 16: {
+ Dummy2 = input.ReadInt32();
+ break;
+ }
+ case 24: {
+ B = input.ReadInt32();
+ break;
+ }
+ case 32: {
+ Dummy4 = input.ReadInt32();
+ break;
+ }
+ case 40: {
+ Dummy5 = input.ReadInt32();
+ break;
+ }
+ case 48: {
+ Dummy6 = input.ReadInt32();
+ break;
+ }
+ case 56: {
+ Dummy7 = input.ReadInt32();
+ break;
+ }
+ case 64: {
+ Dummy8 = input.ReadInt32();
+ break;
+ }
+ case 72: {
+ Dummy9 = input.ReadInt32();
+ break;
+ }
+ case 80: {
+ Dummy10 = input.ReadInt32();
+ break;
+ }
+ case 88: {
+ Dummy11 = input.ReadInt32();
+ break;
+ }
+ case 96: {
+ Dummy12 = input.ReadInt32();
+ break;
+ }
+ case 104: {
+ Dummy13 = input.ReadInt32();
+ break;
+ }
+ case 112: {
+ Dummy14 = input.ReadInt32();
+ break;
+ }
+ case 120: {
+ Dummy15 = input.ReadInt32();
+ break;
+ }
+ case 128: {
+ Dummy16 = input.ReadInt32();
+ break;
+ }
+ case 136: {
+ Dummy17 = input.ReadInt32();
+ break;
+ }
+ case 144: {
+ Dummy18 = input.ReadInt32();
+ break;
+ }
+ case 152: {
+ Dummy19 = input.ReadInt32();
+ break;
+ }
+ case 160: {
+ Dummy20 = input.ReadInt32();
+ break;
+ }
+ case 168: {
+ Dummy21 = input.ReadInt32();
+ break;
+ }
+ case 176: {
+ Dummy22 = input.ReadInt32();
+ break;
+ }
+ case 184: {
+ Dummy23 = input.ReadInt32();
+ break;
+ }
+ case 192: {
+ Dummy24 = input.ReadInt32();
+ break;
+ }
+ case 200: {
+ Dummy25 = input.ReadInt32();
+ break;
+ }
+ case 208: {
+ Dummy26 = input.ReadInt32();
+ break;
+ }
+ case 216: {
+ Dummy27 = input.ReadInt32();
+ break;
+ }
+ case 224: {
+ Dummy28 = input.ReadInt32();
+ break;
+ }
+ case 232: {
+ Dummy29 = input.ReadInt32();
+ break;
+ }
+ case 240: {
+ Dummy30 = input.ReadInt32();
+ break;
+ }
+ case 248: {
+ Dummy31 = input.ReadInt32();
+ break;
+ }
+ case 256: {
+ Dummy32 = input.ReadInt32();
+ break;
+ }
+ case 264: {
+ C = input.ReadInt32();
+ break;
+ }
+ }
+ }
+ }
+
+
+ // required int32 a = 1;
+ public bool HasA {
+ get { return result.HasA; }
+ }
+ public int A {
+ get { return result.A; }
+ set { SetA(value); }
+ }
+ public Builder SetA(int value) {
+ result.hasA = true;
+ result.a_ = value;
+ return this;
+ }
+ public Builder ClearA() {
+ result.hasA = false;
+ result.a_ = 0;
+ return this;
+ }
+
+ // optional int32 dummy2 = 2;
+ public bool HasDummy2 {
+ get { return result.HasDummy2; }
+ }
+ public int Dummy2 {
+ get { return result.Dummy2; }
+ set { SetDummy2(value); }
+ }
+ public Builder SetDummy2(int value) {
+ result.hasDummy2 = true;
+ result.dummy2_ = value;
+ return this;
+ }
+ public Builder ClearDummy2() {
+ result.hasDummy2 = false;
+ result.dummy2_ = 0;
+ return this;
+ }
+
+ // required int32 b = 3;
+ public bool HasB {
+ get { return result.HasB; }
+ }
+ public int B {
+ get { return result.B; }
+ set { SetB(value); }
+ }
+ public Builder SetB(int value) {
+ result.hasB = true;
+ result.b_ = value;
+ return this;
+ }
+ public Builder ClearB() {
+ result.hasB = false;
+ result.b_ = 0;
+ return this;
+ }
+
+ // optional int32 dummy4 = 4;
+ public bool HasDummy4 {
+ get { return result.HasDummy4; }
+ }
+ public int Dummy4 {
+ get { return result.Dummy4; }
+ set { SetDummy4(value); }
+ }
+ public Builder SetDummy4(int value) {
+ result.hasDummy4 = true;
+ result.dummy4_ = value;
+ return this;
+ }
+ public Builder ClearDummy4() {
+ result.hasDummy4 = false;
+ result.dummy4_ = 0;
+ return this;
+ }
+
+ // optional int32 dummy5 = 5;
+ public bool HasDummy5 {
+ get { return result.HasDummy5; }
+ }
+ public int Dummy5 {
+ get { return result.Dummy5; }
+ set { SetDummy5(value); }
+ }
+ public Builder SetDummy5(int value) {
+ result.hasDummy5 = true;
+ result.dummy5_ = value;
+ return this;
+ }
+ public Builder ClearDummy5() {
+ result.hasDummy5 = false;
+ result.dummy5_ = 0;
+ return this;
+ }
+
+ // optional int32 dummy6 = 6;
+ public bool HasDummy6 {
+ get { return result.HasDummy6; }
+ }
+ public int Dummy6 {
+ get { return result.Dummy6; }
+ set { SetDummy6(value); }
+ }
+ public Builder SetDummy6(int value) {
+ result.hasDummy6 = true;
+ result.dummy6_ = value;
+ return this;
+ }
+ public Builder ClearDummy6() {
+ result.hasDummy6 = false;
+ result.dummy6_ = 0;
+ return this;
+ }
+
+ // optional int32 dummy7 = 7;
+ public bool HasDummy7 {
+ get { return result.HasDummy7; }
+ }
+ public int Dummy7 {
+ get { return result.Dummy7; }
+ set { SetDummy7(value); }
+ }
+ public Builder SetDummy7(int value) {
+ result.hasDummy7 = true;
+ result.dummy7_ = value;
+ return this;
+ }
+ public Builder ClearDummy7() {
+ result.hasDummy7 = false;
+ result.dummy7_ = 0;
+ return this;
+ }
+
+ // optional int32 dummy8 = 8;
+ public bool HasDummy8 {
+ get { return result.HasDummy8; }
+ }
+ public int Dummy8 {
+ get { return result.Dummy8; }
+ set { SetDummy8(value); }
+ }
+ public Builder SetDummy8(int value) {
+ result.hasDummy8 = true;
+ result.dummy8_ = value;
+ return this;
+ }
+ public Builder ClearDummy8() {
+ result.hasDummy8 = false;
+ result.dummy8_ = 0;
+ return this;
+ }
+
+ // optional int32 dummy9 = 9;
+ public bool HasDummy9 {
+ get { return result.HasDummy9; }
+ }
+ public int Dummy9 {
+ get { return result.Dummy9; }
+ set { SetDummy9(value); }
+ }
+ public Builder SetDummy9(int value) {
+ result.hasDummy9 = true;
+ result.dummy9_ = value;
+ return this;
+ }
+ public Builder ClearDummy9() {
+ result.hasDummy9 = false;
+ result.dummy9_ = 0;
+ return this;
+ }
+
+ // optional int32 dummy10 = 10;
+ public bool HasDummy10 {
+ get { return result.HasDummy10; }
+ }
+ public int Dummy10 {
+ get { return result.Dummy10; }
+ set { SetDummy10(value); }
+ }
+ public Builder SetDummy10(int value) {
+ result.hasDummy10 = true;
+ result.dummy10_ = value;
+ return this;
+ }
+ public Builder ClearDummy10() {
+ result.hasDummy10 = false;
+ result.dummy10_ = 0;
+ return this;
+ }
+
+ // optional int32 dummy11 = 11;
+ public bool HasDummy11 {
+ get { return result.HasDummy11; }
+ }
+ public int Dummy11 {
+ get { return result.Dummy11; }
+ set { SetDummy11(value); }
+ }
+ public Builder SetDummy11(int value) {
+ result.hasDummy11 = true;
+ result.dummy11_ = value;
+ return this;
+ }
+ public Builder ClearDummy11() {
+ result.hasDummy11 = false;
+ result.dummy11_ = 0;
+ return this;
+ }
+
+ // optional int32 dummy12 = 12;
+ public bool HasDummy12 {
+ get { return result.HasDummy12; }
+ }
+ public int Dummy12 {
+ get { return result.Dummy12; }
+ set { SetDummy12(value); }
+ }
+ public Builder SetDummy12(int value) {
+ result.hasDummy12 = true;
+ result.dummy12_ = value;
+ return this;
+ }
+ public Builder ClearDummy12() {
+ result.hasDummy12 = false;
+ result.dummy12_ = 0;
+ return this;
+ }
+
+ // optional int32 dummy13 = 13;
+ public bool HasDummy13 {
+ get { return result.HasDummy13; }
+ }
+ public int Dummy13 {
+ get { return result.Dummy13; }
+ set { SetDummy13(value); }
+ }
+ public Builder SetDummy13(int value) {
+ result.hasDummy13 = true;
+ result.dummy13_ = value;
+ return this;
+ }
+ public Builder ClearDummy13() {
+ result.hasDummy13 = false;
+ result.dummy13_ = 0;
+ return this;
+ }
+
+ // optional int32 dummy14 = 14;
+ public bool HasDummy14 {
+ get { return result.HasDummy14; }
+ }
+ public int Dummy14 {
+ get { return result.Dummy14; }
+ set { SetDummy14(value); }
+ }
+ public Builder SetDummy14(int value) {
+ result.hasDummy14 = true;
+ result.dummy14_ = value;
+ return this;
+ }
+ public Builder ClearDummy14() {
+ result.hasDummy14 = false;
+ result.dummy14_ = 0;
+ return this;
+ }
+
+ // optional int32 dummy15 = 15;
+ public bool HasDummy15 {
+ get { return result.HasDummy15; }
+ }
+ public int Dummy15 {
+ get { return result.Dummy15; }
+ set { SetDummy15(value); }
+ }
+ public Builder SetDummy15(int value) {
+ result.hasDummy15 = true;
+ result.dummy15_ = value;
+ return this;
+ }
+ public Builder ClearDummy15() {
+ result.hasDummy15 = false;
+ result.dummy15_ = 0;
+ return this;
+ }
+
+ // optional int32 dummy16 = 16;
+ public bool HasDummy16 {
+ get { return result.HasDummy16; }
+ }
+ public int Dummy16 {
+ get { return result.Dummy16; }
+ set { SetDummy16(value); }
+ }
+ public Builder SetDummy16(int value) {
+ result.hasDummy16 = true;
+ result.dummy16_ = value;
+ return this;
+ }
+ public Builder ClearDummy16() {
+ result.hasDummy16 = false;
+ result.dummy16_ = 0;
+ return this;
+ }
+
+ // optional int32 dummy17 = 17;
+ public bool HasDummy17 {
+ get { return result.HasDummy17; }
+ }
+ public int Dummy17 {
+ get { return result.Dummy17; }
+ set { SetDummy17(value); }
+ }
+ public Builder SetDummy17(int value) {
+ result.hasDummy17 = true;
+ result.dummy17_ = value;
+ return this;
+ }
+ public Builder ClearDummy17() {
+ result.hasDummy17 = false;
+ result.dummy17_ = 0;
+ return this;
+ }
+
+ // optional int32 dummy18 = 18;
+ public bool HasDummy18 {
+ get { return result.HasDummy18; }
+ }
+ public int Dummy18 {
+ get { return result.Dummy18; }
+ set { SetDummy18(value); }
+ }
+ public Builder SetDummy18(int value) {
+ result.hasDummy18 = true;
+ result.dummy18_ = value;
+ return this;
+ }
+ public Builder ClearDummy18() {
+ result.hasDummy18 = false;
+ result.dummy18_ = 0;
+ return this;
+ }
+
+ // optional int32 dummy19 = 19;
+ public bool HasDummy19 {
+ get { return result.HasDummy19; }
+ }
+ public int Dummy19 {
+ get { return result.Dummy19; }
+ set { SetDummy19(value); }
+ }
+ public Builder SetDummy19(int value) {
+ result.hasDummy19 = true;
+ result.dummy19_ = value;
+ return this;
+ }
+ public Builder ClearDummy19() {
+ result.hasDummy19 = false;
+ result.dummy19_ = 0;
+ return this;
+ }
+
+ // optional int32 dummy20 = 20;
+ public bool HasDummy20 {
+ get { return result.HasDummy20; }
+ }
+ public int Dummy20 {
+ get { return result.Dummy20; }
+ set { SetDummy20(value); }
+ }
+ public Builder SetDummy20(int value) {
+ result.hasDummy20 = true;
+ result.dummy20_ = value;
+ return this;
+ }
+ public Builder ClearDummy20() {
+ result.hasDummy20 = false;
+ result.dummy20_ = 0;
+ return this;
+ }
+
+ // optional int32 dummy21 = 21;
+ public bool HasDummy21 {
+ get { return result.HasDummy21; }
+ }
+ public int Dummy21 {
+ get { return result.Dummy21; }
+ set { SetDummy21(value); }
+ }
+ public Builder SetDummy21(int value) {
+ result.hasDummy21 = true;
+ result.dummy21_ = value;
+ return this;
+ }
+ public Builder ClearDummy21() {
+ result.hasDummy21 = false;
+ result.dummy21_ = 0;
+ return this;
+ }
+
+ // optional int32 dummy22 = 22;
+ public bool HasDummy22 {
+ get { return result.HasDummy22; }
+ }
+ public int Dummy22 {
+ get { return result.Dummy22; }
+ set { SetDummy22(value); }
+ }
+ public Builder SetDummy22(int value) {
+ result.hasDummy22 = true;
+ result.dummy22_ = value;
+ return this;
+ }
+ public Builder ClearDummy22() {
+ result.hasDummy22 = false;
+ result.dummy22_ = 0;
+ return this;
+ }
+
+ // optional int32 dummy23 = 23;
+ public bool HasDummy23 {
+ get { return result.HasDummy23; }
+ }
+ public int Dummy23 {
+ get { return result.Dummy23; }
+ set { SetDummy23(value); }
+ }
+ public Builder SetDummy23(int value) {
+ result.hasDummy23 = true;
+ result.dummy23_ = value;
+ return this;
+ }
+ public Builder ClearDummy23() {
+ result.hasDummy23 = false;
+ result.dummy23_ = 0;
+ return this;
+ }
+
+ // optional int32 dummy24 = 24;
+ public bool HasDummy24 {
+ get { return result.HasDummy24; }
+ }
+ public int Dummy24 {
+ get { return result.Dummy24; }
+ set { SetDummy24(value); }
+ }
+ public Builder SetDummy24(int value) {
+ result.hasDummy24 = true;
+ result.dummy24_ = value;
+ return this;
+ }
+ public Builder ClearDummy24() {
+ result.hasDummy24 = false;
+ result.dummy24_ = 0;
+ return this;
+ }
+
+ // optional int32 dummy25 = 25;
+ public bool HasDummy25 {
+ get { return result.HasDummy25; }
+ }
+ public int Dummy25 {
+ get { return result.Dummy25; }
+ set { SetDummy25(value); }
+ }
+ public Builder SetDummy25(int value) {
+ result.hasDummy25 = true;
+ result.dummy25_ = value;
+ return this;
+ }
+ public Builder ClearDummy25() {
+ result.hasDummy25 = false;
+ result.dummy25_ = 0;
+ return this;
+ }
+
+ // optional int32 dummy26 = 26;
+ public bool HasDummy26 {
+ get { return result.HasDummy26; }
+ }
+ public int Dummy26 {
+ get { return result.Dummy26; }
+ set { SetDummy26(value); }
+ }
+ public Builder SetDummy26(int value) {
+ result.hasDummy26 = true;
+ result.dummy26_ = value;
+ return this;
+ }
+ public Builder ClearDummy26() {
+ result.hasDummy26 = false;
+ result.dummy26_ = 0;
+ return this;
+ }
+
+ // optional int32 dummy27 = 27;
+ public bool HasDummy27 {
+ get { return result.HasDummy27; }
+ }
+ public int Dummy27 {
+ get { return result.Dummy27; }
+ set { SetDummy27(value); }
+ }
+ public Builder SetDummy27(int value) {
+ result.hasDummy27 = true;
+ result.dummy27_ = value;
+ return this;
+ }
+ public Builder ClearDummy27() {
+ result.hasDummy27 = false;
+ result.dummy27_ = 0;
+ return this;
+ }
+
+ // optional int32 dummy28 = 28;
+ public bool HasDummy28 {
+ get { return result.HasDummy28; }
+ }
+ public int Dummy28 {
+ get { return result.Dummy28; }
+ set { SetDummy28(value); }
+ }
+ public Builder SetDummy28(int value) {
+ result.hasDummy28 = true;
+ result.dummy28_ = value;
+ return this;
+ }
+ public Builder ClearDummy28() {
+ result.hasDummy28 = false;
+ result.dummy28_ = 0;
+ return this;
+ }
+
+ // optional int32 dummy29 = 29;
+ public bool HasDummy29 {
+ get { return result.HasDummy29; }
+ }
+ public int Dummy29 {
+ get { return result.Dummy29; }
+ set { SetDummy29(value); }
+ }
+ public Builder SetDummy29(int value) {
+ result.hasDummy29 = true;
+ result.dummy29_ = value;
+ return this;
+ }
+ public Builder ClearDummy29() {
+ result.hasDummy29 = false;
+ result.dummy29_ = 0;
+ return this;
+ }
+
+ // optional int32 dummy30 = 30;
+ public bool HasDummy30 {
+ get { return result.HasDummy30; }
+ }
+ public int Dummy30 {
+ get { return result.Dummy30; }
+ set { SetDummy30(value); }
+ }
+ public Builder SetDummy30(int value) {
+ result.hasDummy30 = true;
+ result.dummy30_ = value;
+ return this;
+ }
+ public Builder ClearDummy30() {
+ result.hasDummy30 = false;
+ result.dummy30_ = 0;
+ return this;
+ }
+
+ // optional int32 dummy31 = 31;
+ public bool HasDummy31 {
+ get { return result.HasDummy31; }
+ }
+ public int Dummy31 {
+ get { return result.Dummy31; }
+ set { SetDummy31(value); }
+ }
+ public Builder SetDummy31(int value) {
+ result.hasDummy31 = true;
+ result.dummy31_ = value;
+ return this;
+ }
+ public Builder ClearDummy31() {
+ result.hasDummy31 = false;
+ result.dummy31_ = 0;
+ return this;
+ }
+
+ // optional int32 dummy32 = 32;
+ public bool HasDummy32 {
+ get { return result.HasDummy32; }
+ }
+ public int Dummy32 {
+ get { return result.Dummy32; }
+ set { SetDummy32(value); }
+ }
+ public Builder SetDummy32(int value) {
+ result.hasDummy32 = true;
+ result.dummy32_ = value;
+ return this;
+ }
+ public Builder ClearDummy32() {
+ result.hasDummy32 = false;
+ result.dummy32_ = 0;
+ return this;
+ }
+
+ // required int32 c = 33;
+ public bool HasC {
+ get { return result.HasC; }
+ }
+ public int C {
+ get { return result.C; }
+ set { SetC(value); }
+ }
+ public Builder SetC(int value) {
+ result.hasC = true;
+ result.c_ = value;
+ return this;
+ }
+ public Builder ClearC() {
+ result.hasC = false;
+ result.c_ = 0;
+ return this;
+ }
+ }
+ }
+
+ public sealed partial class TestRequiredForeign : pb::GeneratedMessage<TestRequiredForeign, TestRequiredForeign.Builder> {
+ // Use TestRequiredForeign.CreateBuilder() to construct.
+ private TestRequiredForeign() {}
+
+ private static readonly TestRequiredForeign defaultInstance = new TestRequiredForeign();
+ public static TestRequiredForeign DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override TestRequiredForeign DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestRequiredForeign__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestRequiredForeign__FieldAccessorTable; }
+ }
+
+ // optional .protobuf_unittest.TestRequired optional_message = 1;
+ private bool hasOptionalMessage;
+ private self::TestRequired optionalMessage_ = self::TestRequired.DefaultInstance;
+ public bool HasOptionalMessage {
+ get { return hasOptionalMessage; }
+ }
+ public self::TestRequired OptionalMessage {
+ get { return optionalMessage_; }
+ }
+
+ // repeated .protobuf_unittest.TestRequired repeated_message = 2;
+ private scg::IList<self::TestRequired> repeatedMessage_ = pbc::Lists<self::TestRequired>.Empty;
+ public scg::IList<self::TestRequired> RepeatedMessageList {
+ get { return repeatedMessage_; }
+ }
+ public int RepeatedMessageCount
+ { get { return repeatedMessage_.Count; }
+ }
+ public self::TestRequired GetRepeatedMessage(int index) {
+ return repeatedMessage_ [index];
+ }
+
+ // optional int32 dummy = 3;
+ private bool hasDummy;
+ private int dummy_ = 0;
+ public bool HasDummy {
+ get { return hasDummy; }
+ }
+ public int Dummy {
+ get { return dummy_; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ if (HasOptionalMessage) {
+ if (!OptionalMessage.IsInitialized) return false;
+ }
+ foreach (self::TestRequired element in RepeatedMessageList) {
+ if (!element.IsInitialized) return false;
+ }
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ if (HasOptionalMessage) {
+ output.WriteMessage(1, OptionalMessage);
+ }
+ foreach (self::TestRequired element in RepeatedMessageList) {
+ output.WriteMessage(2, element);
+ }
+ if (HasDummy) {
+ output.WriteInt32(3, Dummy);
+ }
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (HasOptionalMessage) {
+ size += pb::CodedOutputStream.ComputeMessageSize(1, OptionalMessage);
+ }
+ foreach (self::TestRequired element in RepeatedMessageList) {
+ size += pb::CodedOutputStream.ComputeMessageSize(2, element);
+ }
+ if (HasDummy) {
+ size += pb::CodedOutputStream.ComputeInt32Size(3, Dummy);
+ }
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::TestRequiredForeign ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestRequiredForeign ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestRequiredForeign ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestRequiredForeign parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestRequiredForeign ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestRequiredForeign ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestRequiredForeign ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestRequiredForeign ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::TestRequiredForeign> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::TestRequiredForeign prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::TestRequiredForeign, Builder> {
+ // Construct using self::TestRequiredForeign.CreateBuilder()
+ internal Builder() {}
+
+ self::TestRequiredForeign result = new self::TestRequiredForeign();
+
+ protected override self::TestRequiredForeign MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::TestRequiredForeign> Clear() {
+ result = new self::TestRequiredForeign();
+ return this;
+ }
+
+ public override IBuilder<self::TestRequiredForeign> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::TestRequiredForeign.Descriptor; }
+ }
+
+ public override self::TestRequiredForeign DefaultInstanceForType {
+ get { return self::TestRequiredForeign.DefaultInstance; }
+ }
+
+ public override self::TestRequiredForeign BuildPartial() {
+ if (result.repeatedMessage_ != pbc::Lists<self::TestRequired>.Empty) {
+ result.repeatedMessage_ = pbc::Lists<self::TestRequired>.AsReadOnly(result.repeatedMessage_);
+ }
+ self::TestRequiredForeign returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::TestRequiredForeign) {
+ return MergeFrom((self::TestRequiredForeign) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::TestRequiredForeign> MergeFrom(self::TestRequiredForeign other) {
+ if (other == self::TestRequiredForeign.DefaultInstance) return this;
+ if (other.HasOptionalMessage) {
+ MergeOptionalMessage(other.OptionalMessage);
+ }
+ if (other.repeatedMessage_.Count != 0) {
+ if (result.repeatedMessage_.Count == 0) {
+ result.repeatedMessage_ = new scg::List<self::TestRequired>();
+ }
+ base.AddRange(other.repeatedMessage_, result.repeatedMessage_);
+ }
+ if (other.HasDummy) {
+ Dummy = other.Dummy;
+ }
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::TestRequiredForeign> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::TestRequiredForeign> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ case 10: {
+ self::TestRequired.Builder subBuilder = self::TestRequired.CreateBuilder();
+ if (HasOptionalMessage) {
+ subBuilder.MergeFrom(OptionalMessage);
+ }
+ input.ReadMessage(subBuilder, extensionRegistry);
+ OptionalMessage = subBuilder.BuildPartial();
+ break;
+ }
+ case 18: {
+ self::TestRequired.Builder subBuilder = self::TestRequired.CreateBuilder();
+ input.ReadMessage(subBuilder, extensionRegistry);
+ AddRepeatedMessage(subBuilder.BuildPartial());
+ break;
+ }
+ case 24: {
+ Dummy = input.ReadInt32();
+ break;
+ }
+ }
+ }
+ }
+
+
+ // optional .protobuf_unittest.TestRequired optional_message = 1;
+ public bool HasOptionalMessage {
+ get { return result.HasOptionalMessage; }
+ }
+ public self::TestRequired OptionalMessage {
+ get { return result.OptionalMessage; }
+ set { SetOptionalMessage(value); }
+ }
+ public Builder SetOptionalMessage(self::TestRequired value) {
+ result.hasOptionalMessage = true;
+ result.optionalMessage_ = value;
+ return this;
+ }
+ public Builder SetOptionalMessage(self::TestRequired.Builder builderForValue) {
+ result.hasOptionalMessage = true;
+ result.optionalMessage_ = builderForValue.Build();
+ return this;
+ }
+ public Builder MergeOptionalMessage(self::TestRequired value) {
+ if (result.HasOptionalMessage &&
+ result.optionalMessage_ != self::TestRequired.DefaultInstance) {
+ result.optionalMessage_ =
+ self::TestRequired.CreateBuilder(result.optionalMessage_).MergeFrom(value).BuildPartial();
+ } else {
+ result.optionalMessage_ = value;
+ }
+ result.hasOptionalMessage = true;
+ return this;
+ }
+ public Builder ClearOptionalMessage() {
+ result.hasOptionalMessage = false;
+ result.optionalMessage_ = self::TestRequired.DefaultInstance;
+ return this;
+ }
+
+ // repeated .protobuf_unittest.TestRequired repeated_message = 2;
+ public scg::IList<self::TestRequired> RepeatedMessageList {
+ get { return pbc::Lists.AsReadOnly(result.repeatedMessage_); }
+ }
+ public int RepeatedMessageCount {
+ get { return result.RepeatedMessageCount; }
+ }
+ public self::TestRequired GetRepeatedMessage(int index) {
+ return result.GetRepeatedMessage(index);
+ }
+ public Builder SetRepeatedMessage(int index, self::TestRequired value) {
+ result.repeatedMessage_[index] = value;
+ return this;
+ }
+ public Builder SetRepeatedMessage(int index, self::TestRequired.Builder builderForValue) {
+ result.repeatedMessage_[index] = builderForValue.Build();
+ return this;
+ }
+ public Builder AddRepeatedMessage(self::TestRequired value) {
+ if (result.repeatedMessage_ == pbc::Lists<self::TestRequired>.Empty) {
+ result.repeatedMessage_ = new scg::List<self::TestRequired>();
+ }
+ result.repeatedMessage_.Add(value);
+ return this;
+ }
+ public Builder AddRepeatedMessage(self::TestRequired.Builder builderForValue) {
+ if (result.repeatedMessage_ == pbc::Lists<self::TestRequired>.Empty) {
+ result.repeatedMessage_ = new scg::List<self::TestRequired>();
+ }
+ result.repeatedMessage_.Add(builderForValue.Build());
+ return this;
+ }
+ public Builder AddRangeRepeatedMessage(scg::IEnumerable<self::TestRequired> values) {
+ if (result.repeatedMessage_ == pbc::Lists<self::TestRequired>.Empty) {
+ result.repeatedMessage_ = new scg::List<self::TestRequired>();
+ }
+ base.AddRange(values, result.repeatedMessage_);
+ return this;
+ }
+ public Builder ClearRepeatedMessage() {
+ result.repeatedMessage_ = pbc::Lists<self::TestRequired>.Empty;
+ return this;
+ }
+
+ // optional int32 dummy = 3;
+ public bool HasDummy {
+ get { return result.HasDummy; }
+ }
+ public int Dummy {
+ get { return result.Dummy; }
+ set { SetDummy(value); }
+ }
+ public Builder SetDummy(int value) {
+ result.hasDummy = true;
+ result.dummy_ = value;
+ return this;
+ }
+ public Builder ClearDummy() {
+ result.hasDummy = false;
+ result.dummy_ = 0;
+ return this;
+ }
+ }
+ }
+
+ public sealed partial class TestForeignNested : pb::GeneratedMessage<TestForeignNested, TestForeignNested.Builder> {
+ // Use TestForeignNested.CreateBuilder() to construct.
+ private TestForeignNested() {}
+
+ private static readonly TestForeignNested defaultInstance = new TestForeignNested();
+ public static TestForeignNested DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override TestForeignNested DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestForeignNested__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestForeignNested__FieldAccessorTable; }
+ }
+
+ // optional .protobuf_unittest.TestAllTypes.NestedMessage foreign_nested = 1;
+ private bool hasForeignNested;
+ private self::TestAllTypes.Types.NestedMessage foreignNested_ = self::TestAllTypes.Types.NestedMessage.DefaultInstance;
+ public bool HasForeignNested {
+ get { return hasForeignNested; }
+ }
+ public self::TestAllTypes.Types.NestedMessage ForeignNested {
+ get { return foreignNested_; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ if (HasForeignNested) {
+ output.WriteMessage(1, ForeignNested);
+ }
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (HasForeignNested) {
+ size += pb::CodedOutputStream.ComputeMessageSize(1, ForeignNested);
+ }
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::TestForeignNested ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestForeignNested ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestForeignNested ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestForeignNested parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestForeignNested ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestForeignNested ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestForeignNested ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestForeignNested ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::TestForeignNested> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::TestForeignNested prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::TestForeignNested, Builder> {
+ // Construct using self::TestForeignNested.CreateBuilder()
+ internal Builder() {}
+
+ self::TestForeignNested result = new self::TestForeignNested();
+
+ protected override self::TestForeignNested MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::TestForeignNested> Clear() {
+ result = new self::TestForeignNested();
+ return this;
+ }
+
+ public override IBuilder<self::TestForeignNested> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::TestForeignNested.Descriptor; }
+ }
+
+ public override self::TestForeignNested DefaultInstanceForType {
+ get { return self::TestForeignNested.DefaultInstance; }
+ }
+
+ public override self::TestForeignNested BuildPartial() {
+ self::TestForeignNested returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::TestForeignNested) {
+ return MergeFrom((self::TestForeignNested) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::TestForeignNested> MergeFrom(self::TestForeignNested other) {
+ if (other == self::TestForeignNested.DefaultInstance) return this;
+ if (other.HasForeignNested) {
+ MergeForeignNested(other.ForeignNested);
+ }
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::TestForeignNested> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::TestForeignNested> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ case 10: {
+ self::TestAllTypes.Types.NestedMessage.Builder subBuilder = self::TestAllTypes.Types.NestedMessage.CreateBuilder();
+ if (HasForeignNested) {
+ subBuilder.MergeFrom(ForeignNested);
+ }
+ input.ReadMessage(subBuilder, extensionRegistry);
+ ForeignNested = subBuilder.BuildPartial();
+ break;
+ }
+ }
+ }
+ }
+
+
+ // optional .protobuf_unittest.TestAllTypes.NestedMessage foreign_nested = 1;
+ public bool HasForeignNested {
+ get { return result.HasForeignNested; }
+ }
+ public self::TestAllTypes.Types.NestedMessage ForeignNested {
+ get { return result.ForeignNested; }
+ set { SetForeignNested(value); }
+ }
+ public Builder SetForeignNested(self::TestAllTypes.Types.NestedMessage value) {
+ result.hasForeignNested = true;
+ result.foreignNested_ = value;
+ return this;
+ }
+ public Builder SetForeignNested(self::TestAllTypes.Types.NestedMessage.Builder builderForValue) {
+ result.hasForeignNested = true;
+ result.foreignNested_ = builderForValue.Build();
+ return this;
+ }
+ public Builder MergeForeignNested(self::TestAllTypes.Types.NestedMessage value) {
+ if (result.HasForeignNested &&
+ result.foreignNested_ != self::TestAllTypes.Types.NestedMessage.DefaultInstance) {
+ result.foreignNested_ =
+ self::TestAllTypes.Types.NestedMessage.CreateBuilder(result.foreignNested_).MergeFrom(value).BuildPartial();
+ } else {
+ result.foreignNested_ = value;
+ }
+ result.hasForeignNested = true;
+ return this;
+ }
+ public Builder ClearForeignNested() {
+ result.hasForeignNested = false;
+ result.foreignNested_ = self::TestAllTypes.Types.NestedMessage.DefaultInstance;
+ return this;
+ }
+ }
+ }
+
+ public sealed partial class TestEmptyMessage : pb::GeneratedMessage<TestEmptyMessage, TestEmptyMessage.Builder> {
+ // Use TestEmptyMessage.CreateBuilder() to construct.
+ private TestEmptyMessage() {}
+
+ private static readonly TestEmptyMessage defaultInstance = new TestEmptyMessage();
+ public static TestEmptyMessage DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override TestEmptyMessage DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestEmptyMessage__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestEmptyMessage__FieldAccessorTable; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::TestEmptyMessage ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestEmptyMessage ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestEmptyMessage ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestEmptyMessage parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestEmptyMessage ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestEmptyMessage ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestEmptyMessage ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestEmptyMessage ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::TestEmptyMessage> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::TestEmptyMessage prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::TestEmptyMessage, Builder> {
+ // Construct using self::TestEmptyMessage.CreateBuilder()
+ internal Builder() {}
+
+ self::TestEmptyMessage result = new self::TestEmptyMessage();
+
+ protected override self::TestEmptyMessage MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::TestEmptyMessage> Clear() {
+ result = new self::TestEmptyMessage();
+ return this;
+ }
+
+ public override IBuilder<self::TestEmptyMessage> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::TestEmptyMessage.Descriptor; }
+ }
+
+ public override self::TestEmptyMessage DefaultInstanceForType {
+ get { return self::TestEmptyMessage.DefaultInstance; }
+ }
+
+ public override self::TestEmptyMessage BuildPartial() {
+ self::TestEmptyMessage returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::TestEmptyMessage) {
+ return MergeFrom((self::TestEmptyMessage) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::TestEmptyMessage> MergeFrom(self::TestEmptyMessage other) {
+ if (other == self::TestEmptyMessage.DefaultInstance) return this;
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::TestEmptyMessage> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::TestEmptyMessage> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ }
+ }
+ }
+
+ }
+ }
+
+ public sealed partial class TestEmptyMessageWithExtensions : pb::ExtendableMessage<TestEmptyMessageWithExtensions, TestEmptyMessageWithExtensions.Builder> {
+ // Use TestEmptyMessageWithExtensions.CreateBuilder() to construct.
+ private TestEmptyMessageWithExtensions() {}
+
+ private static readonly TestEmptyMessageWithExtensions defaultInstance = new TestEmptyMessageWithExtensions();
+ public static TestEmptyMessageWithExtensions DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override TestEmptyMessageWithExtensions DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestEmptyMessageWithExtensions__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestEmptyMessageWithExtensions__FieldAccessorTable; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ if (!ExtensionsAreInitialized) return false;
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ pb::ExtendableMessage<TestEmptyMessageWithExtensions, TestEmptyMessageWithExtensions.Builder>.ExtensionWriter extensionWriter = CreateExtensionWriter(this);
+ extensionWriter.WriteUntil(536870912, output);
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ size += ExtensionsSerializedSize;
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::TestEmptyMessageWithExtensions ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestEmptyMessageWithExtensions ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestEmptyMessageWithExtensions ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestEmptyMessageWithExtensions parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestEmptyMessageWithExtensions ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestEmptyMessageWithExtensions ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestEmptyMessageWithExtensions ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestEmptyMessageWithExtensions ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::TestEmptyMessageWithExtensions> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::TestEmptyMessageWithExtensions prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::TestEmptyMessageWithExtensions, self::TestEmptyMessageWithExtensions.Builder>.ExtendableBuilder {
+ // Construct using self::TestEmptyMessageWithExtensions.CreateBuilder()
+ internal Builder() {}
+
+ self::TestEmptyMessageWithExtensions result = new self::TestEmptyMessageWithExtensions();
+
+ protected override self::TestEmptyMessageWithExtensions MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::TestEmptyMessageWithExtensions> Clear() {
+ result = new self::TestEmptyMessageWithExtensions();
+ return this;
+ }
+
+ public override IBuilder<self::TestEmptyMessageWithExtensions> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::TestEmptyMessageWithExtensions.Descriptor; }
+ }
+
+ public override self::TestEmptyMessageWithExtensions DefaultInstanceForType {
+ get { return self::TestEmptyMessageWithExtensions.DefaultInstance; }
+ }
+
+ public override self::TestEmptyMessageWithExtensions BuildPartial() {
+ self::TestEmptyMessageWithExtensions returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::TestEmptyMessageWithExtensions) {
+ return MergeFrom((self::TestEmptyMessageWithExtensions) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::TestEmptyMessageWithExtensions> MergeFrom(self::TestEmptyMessageWithExtensions other) {
+ if (other == self::TestEmptyMessageWithExtensions.DefaultInstance) return this;
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::TestEmptyMessageWithExtensions> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::TestEmptyMessageWithExtensions> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ }
+ }
+ }
+
+ }
+ }
+
+ public sealed partial class TestReallyLargeTagNumber : pb::GeneratedMessage<TestReallyLargeTagNumber, TestReallyLargeTagNumber.Builder> {
+ // Use TestReallyLargeTagNumber.CreateBuilder() to construct.
+ private TestReallyLargeTagNumber() {}
+
+ private static readonly TestReallyLargeTagNumber defaultInstance = new TestReallyLargeTagNumber();
+ public static TestReallyLargeTagNumber DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override TestReallyLargeTagNumber DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestReallyLargeTagNumber__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestReallyLargeTagNumber__FieldAccessorTable; }
+ }
+
+ // optional int32 a = 1;
+ private bool hasA;
+ private int a_ = 0;
+ public bool HasA {
+ get { return hasA; }
+ }
+ public int A {
+ get { return a_; }
+ }
+
+ // optional int32 bb = 268435455;
+ private bool hasBb;
+ private int bb_ = 0;
+ public bool HasBb {
+ get { return hasBb; }
+ }
+ public int Bb {
+ get { return bb_; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ if (HasA) {
+ output.WriteInt32(1, A);
+ }
+ if (HasBb) {
+ output.WriteInt32(268435455, Bb);
+ }
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (HasA) {
+ size += pb::CodedOutputStream.ComputeInt32Size(1, A);
+ }
+ if (HasBb) {
+ size += pb::CodedOutputStream.ComputeInt32Size(268435455, Bb);
+ }
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::TestReallyLargeTagNumber ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestReallyLargeTagNumber ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestReallyLargeTagNumber ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestReallyLargeTagNumber parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestReallyLargeTagNumber ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestReallyLargeTagNumber ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestReallyLargeTagNumber ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestReallyLargeTagNumber ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::TestReallyLargeTagNumber> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::TestReallyLargeTagNumber prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::TestReallyLargeTagNumber, Builder> {
+ // Construct using self::TestReallyLargeTagNumber.CreateBuilder()
+ internal Builder() {}
+
+ self::TestReallyLargeTagNumber result = new self::TestReallyLargeTagNumber();
+
+ protected override self::TestReallyLargeTagNumber MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::TestReallyLargeTagNumber> Clear() {
+ result = new self::TestReallyLargeTagNumber();
+ return this;
+ }
+
+ public override IBuilder<self::TestReallyLargeTagNumber> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::TestReallyLargeTagNumber.Descriptor; }
+ }
+
+ public override self::TestReallyLargeTagNumber DefaultInstanceForType {
+ get { return self::TestReallyLargeTagNumber.DefaultInstance; }
+ }
+
+ public override self::TestReallyLargeTagNumber BuildPartial() {
+ self::TestReallyLargeTagNumber returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::TestReallyLargeTagNumber) {
+ return MergeFrom((self::TestReallyLargeTagNumber) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::TestReallyLargeTagNumber> MergeFrom(self::TestReallyLargeTagNumber other) {
+ if (other == self::TestReallyLargeTagNumber.DefaultInstance) return this;
+ if (other.HasA) {
+ A = other.A;
+ }
+ if (other.HasBb) {
+ Bb = other.Bb;
+ }
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::TestReallyLargeTagNumber> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::TestReallyLargeTagNumber> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ case 8: {
+ A = input.ReadInt32();
+ break;
+ }
+ case 2147483640: {
+ Bb = input.ReadInt32();
+ break;
+ }
+ }
+ }
+ }
+
+
+ // optional int32 a = 1;
+ public bool HasA {
+ get { return result.HasA; }
+ }
+ public int A {
+ get { return result.A; }
+ set { SetA(value); }
+ }
+ public Builder SetA(int value) {
+ result.hasA = true;
+ result.a_ = value;
+ return this;
+ }
+ public Builder ClearA() {
+ result.hasA = false;
+ result.a_ = 0;
+ return this;
+ }
+
+ // optional int32 bb = 268435455;
+ public bool HasBb {
+ get { return result.HasBb; }
+ }
+ public int Bb {
+ get { return result.Bb; }
+ set { SetBb(value); }
+ }
+ public Builder SetBb(int value) {
+ result.hasBb = true;
+ result.bb_ = value;
+ return this;
+ }
+ public Builder ClearBb() {
+ result.hasBb = false;
+ result.bb_ = 0;
+ return this;
+ }
+ }
+ }
+
+ public sealed partial class TestRecursiveMessage : pb::GeneratedMessage<TestRecursiveMessage, TestRecursiveMessage.Builder> {
+ // Use TestRecursiveMessage.CreateBuilder() to construct.
+ private TestRecursiveMessage() {}
+
+ private static readonly TestRecursiveMessage defaultInstance = new TestRecursiveMessage();
+ public static TestRecursiveMessage DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override TestRecursiveMessage DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestRecursiveMessage__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestRecursiveMessage__FieldAccessorTable; }
+ }
+
+ // optional .protobuf_unittest.TestRecursiveMessage a = 1;
+ private bool hasA;
+ private self::TestRecursiveMessage a_ = self::TestRecursiveMessage.DefaultInstance;
+ public bool HasA {
+ get { return hasA; }
+ }
+ public self::TestRecursiveMessage A {
+ get { return a_; }
+ }
+
+ // optional int32 i = 2;
+ private bool hasI;
+ private int i_ = 0;
+ public bool HasI {
+ get { return hasI; }
+ }
+ public int I {
+ get { return i_; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ if (HasA) {
+ output.WriteMessage(1, A);
+ }
+ if (HasI) {
+ output.WriteInt32(2, I);
+ }
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (HasA) {
+ size += pb::CodedOutputStream.ComputeMessageSize(1, A);
+ }
+ if (HasI) {
+ size += pb::CodedOutputStream.ComputeInt32Size(2, I);
+ }
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::TestRecursiveMessage ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestRecursiveMessage ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestRecursiveMessage ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestRecursiveMessage parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestRecursiveMessage ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestRecursiveMessage ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestRecursiveMessage ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestRecursiveMessage ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::TestRecursiveMessage> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::TestRecursiveMessage prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::TestRecursiveMessage, Builder> {
+ // Construct using self::TestRecursiveMessage.CreateBuilder()
+ internal Builder() {}
+
+ self::TestRecursiveMessage result = new self::TestRecursiveMessage();
+
+ protected override self::TestRecursiveMessage MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::TestRecursiveMessage> Clear() {
+ result = new self::TestRecursiveMessage();
+ return this;
+ }
+
+ public override IBuilder<self::TestRecursiveMessage> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::TestRecursiveMessage.Descriptor; }
+ }
+
+ public override self::TestRecursiveMessage DefaultInstanceForType {
+ get { return self::TestRecursiveMessage.DefaultInstance; }
+ }
+
+ public override self::TestRecursiveMessage BuildPartial() {
+ self::TestRecursiveMessage returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::TestRecursiveMessage) {
+ return MergeFrom((self::TestRecursiveMessage) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::TestRecursiveMessage> MergeFrom(self::TestRecursiveMessage other) {
+ if (other == self::TestRecursiveMessage.DefaultInstance) return this;
+ if (other.HasA) {
+ MergeA(other.A);
+ }
+ if (other.HasI) {
+ I = other.I;
+ }
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::TestRecursiveMessage> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::TestRecursiveMessage> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ case 10: {
+ self::TestRecursiveMessage.Builder subBuilder = self::TestRecursiveMessage.CreateBuilder();
+ if (HasA) {
+ subBuilder.MergeFrom(A);
+ }
+ input.ReadMessage(subBuilder, extensionRegistry);
+ A = subBuilder.BuildPartial();
+ break;
+ }
+ case 16: {
+ I = input.ReadInt32();
+ break;
+ }
+ }
+ }
+ }
+
+
+ // optional .protobuf_unittest.TestRecursiveMessage a = 1;
+ public bool HasA {
+ get { return result.HasA; }
+ }
+ public self::TestRecursiveMessage A {
+ get { return result.A; }
+ set { SetA(value); }
+ }
+ public Builder SetA(self::TestRecursiveMessage value) {
+ result.hasA = true;
+ result.a_ = value;
+ return this;
+ }
+ public Builder SetA(self::TestRecursiveMessage.Builder builderForValue) {
+ result.hasA = true;
+ result.a_ = builderForValue.Build();
+ return this;
+ }
+ public Builder MergeA(self::TestRecursiveMessage value) {
+ if (result.HasA &&
+ result.a_ != self::TestRecursiveMessage.DefaultInstance) {
+ result.a_ =
+ self::TestRecursiveMessage.CreateBuilder(result.a_).MergeFrom(value).BuildPartial();
+ } else {
+ result.a_ = value;
+ }
+ result.hasA = true;
+ return this;
+ }
+ public Builder ClearA() {
+ result.hasA = false;
+ result.a_ = self::TestRecursiveMessage.DefaultInstance;
+ return this;
+ }
+
+ // optional int32 i = 2;
+ public bool HasI {
+ get { return result.HasI; }
+ }
+ public int I {
+ get { return result.I; }
+ set { SetI(value); }
+ }
+ public Builder SetI(int value) {
+ result.hasI = true;
+ result.i_ = value;
+ return this;
+ }
+ public Builder ClearI() {
+ result.hasI = false;
+ result.i_ = 0;
+ return this;
+ }
+ }
+ }
+
+ public sealed partial class TestMutualRecursionA : pb::GeneratedMessage<TestMutualRecursionA, TestMutualRecursionA.Builder> {
+ // Use TestMutualRecursionA.CreateBuilder() to construct.
+ private TestMutualRecursionA() {}
+
+ private static readonly TestMutualRecursionA defaultInstance = new TestMutualRecursionA();
+ public static TestMutualRecursionA DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override TestMutualRecursionA DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestMutualRecursionA__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestMutualRecursionA__FieldAccessorTable; }
+ }
+
+ // optional .protobuf_unittest.TestMutualRecursionB bb = 1;
+ private bool hasBb;
+ private self::TestMutualRecursionB bb_ = self::TestMutualRecursionB.DefaultInstance;
+ public bool HasBb {
+ get { return hasBb; }
+ }
+ public self::TestMutualRecursionB Bb {
+ get { return bb_; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ if (HasBb) {
+ output.WriteMessage(1, Bb);
+ }
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (HasBb) {
+ size += pb::CodedOutputStream.ComputeMessageSize(1, Bb);
+ }
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::TestMutualRecursionA ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestMutualRecursionA ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestMutualRecursionA ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestMutualRecursionA parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestMutualRecursionA ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestMutualRecursionA ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestMutualRecursionA ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestMutualRecursionA ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::TestMutualRecursionA> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::TestMutualRecursionA prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::TestMutualRecursionA, Builder> {
+ // Construct using self::TestMutualRecursionA.CreateBuilder()
+ internal Builder() {}
+
+ self::TestMutualRecursionA result = new self::TestMutualRecursionA();
+
+ protected override self::TestMutualRecursionA MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::TestMutualRecursionA> Clear() {
+ result = new self::TestMutualRecursionA();
+ return this;
+ }
+
+ public override IBuilder<self::TestMutualRecursionA> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::TestMutualRecursionA.Descriptor; }
+ }
+
+ public override self::TestMutualRecursionA DefaultInstanceForType {
+ get { return self::TestMutualRecursionA.DefaultInstance; }
+ }
+
+ public override self::TestMutualRecursionA BuildPartial() {
+ self::TestMutualRecursionA returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::TestMutualRecursionA) {
+ return MergeFrom((self::TestMutualRecursionA) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::TestMutualRecursionA> MergeFrom(self::TestMutualRecursionA other) {
+ if (other == self::TestMutualRecursionA.DefaultInstance) return this;
+ if (other.HasBb) {
+ MergeBb(other.Bb);
+ }
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::TestMutualRecursionA> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::TestMutualRecursionA> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ case 10: {
+ self::TestMutualRecursionB.Builder subBuilder = self::TestMutualRecursionB.CreateBuilder();
+ if (HasBb) {
+ subBuilder.MergeFrom(Bb);
+ }
+ input.ReadMessage(subBuilder, extensionRegistry);
+ Bb = subBuilder.BuildPartial();
+ break;
+ }
+ }
+ }
+ }
+
+
+ // optional .protobuf_unittest.TestMutualRecursionB bb = 1;
+ public bool HasBb {
+ get { return result.HasBb; }
+ }
+ public self::TestMutualRecursionB Bb {
+ get { return result.Bb; }
+ set { SetBb(value); }
+ }
+ public Builder SetBb(self::TestMutualRecursionB value) {
+ result.hasBb = true;
+ result.bb_ = value;
+ return this;
+ }
+ public Builder SetBb(self::TestMutualRecursionB.Builder builderForValue) {
+ result.hasBb = true;
+ result.bb_ = builderForValue.Build();
+ return this;
+ }
+ public Builder MergeBb(self::TestMutualRecursionB value) {
+ if (result.HasBb &&
+ result.bb_ != self::TestMutualRecursionB.DefaultInstance) {
+ result.bb_ =
+ self::TestMutualRecursionB.CreateBuilder(result.bb_).MergeFrom(value).BuildPartial();
+ } else {
+ result.bb_ = value;
+ }
+ result.hasBb = true;
+ return this;
+ }
+ public Builder ClearBb() {
+ result.hasBb = false;
+ result.bb_ = self::TestMutualRecursionB.DefaultInstance;
+ return this;
+ }
+ }
+ }
+
+ public sealed partial class TestMutualRecursionB : pb::GeneratedMessage<TestMutualRecursionB, TestMutualRecursionB.Builder> {
+ // Use TestMutualRecursionB.CreateBuilder() to construct.
+ private TestMutualRecursionB() {}
+
+ private static readonly TestMutualRecursionB defaultInstance = new TestMutualRecursionB();
+ public static TestMutualRecursionB DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override TestMutualRecursionB DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestMutualRecursionB__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestMutualRecursionB__FieldAccessorTable; }
+ }
+
+ // optional .protobuf_unittest.TestMutualRecursionA a = 1;
+ private bool hasA;
+ private self::TestMutualRecursionA a_ = self::TestMutualRecursionA.DefaultInstance;
+ public bool HasA {
+ get { return hasA; }
+ }
+ public self::TestMutualRecursionA A {
+ get { return a_; }
+ }
+
+ // optional int32 optional_int32 = 2;
+ private bool hasOptionalInt32;
+ private int optionalInt32_ = 0;
+ public bool HasOptionalInt32 {
+ get { return hasOptionalInt32; }
+ }
+ public int OptionalInt32 {
+ get { return optionalInt32_; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ if (HasA) {
+ output.WriteMessage(1, A);
+ }
+ if (HasOptionalInt32) {
+ output.WriteInt32(2, OptionalInt32);
+ }
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (HasA) {
+ size += pb::CodedOutputStream.ComputeMessageSize(1, A);
+ }
+ if (HasOptionalInt32) {
+ size += pb::CodedOutputStream.ComputeInt32Size(2, OptionalInt32);
+ }
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::TestMutualRecursionB ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestMutualRecursionB ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestMutualRecursionB ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestMutualRecursionB parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestMutualRecursionB ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestMutualRecursionB ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestMutualRecursionB ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestMutualRecursionB ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::TestMutualRecursionB> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::TestMutualRecursionB prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::TestMutualRecursionB, Builder> {
+ // Construct using self::TestMutualRecursionB.CreateBuilder()
+ internal Builder() {}
+
+ self::TestMutualRecursionB result = new self::TestMutualRecursionB();
+
+ protected override self::TestMutualRecursionB MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::TestMutualRecursionB> Clear() {
+ result = new self::TestMutualRecursionB();
+ return this;
+ }
+
+ public override IBuilder<self::TestMutualRecursionB> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::TestMutualRecursionB.Descriptor; }
+ }
+
+ public override self::TestMutualRecursionB DefaultInstanceForType {
+ get { return self::TestMutualRecursionB.DefaultInstance; }
+ }
+
+ public override self::TestMutualRecursionB BuildPartial() {
+ self::TestMutualRecursionB returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::TestMutualRecursionB) {
+ return MergeFrom((self::TestMutualRecursionB) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::TestMutualRecursionB> MergeFrom(self::TestMutualRecursionB other) {
+ if (other == self::TestMutualRecursionB.DefaultInstance) return this;
+ if (other.HasA) {
+ MergeA(other.A);
+ }
+ if (other.HasOptionalInt32) {
+ OptionalInt32 = other.OptionalInt32;
+ }
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::TestMutualRecursionB> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::TestMutualRecursionB> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ case 10: {
+ self::TestMutualRecursionA.Builder subBuilder = self::TestMutualRecursionA.CreateBuilder();
+ if (HasA) {
+ subBuilder.MergeFrom(A);
+ }
+ input.ReadMessage(subBuilder, extensionRegistry);
+ A = subBuilder.BuildPartial();
+ break;
+ }
+ case 16: {
+ OptionalInt32 = input.ReadInt32();
+ break;
+ }
+ }
+ }
+ }
+
+
+ // optional .protobuf_unittest.TestMutualRecursionA a = 1;
+ public bool HasA {
+ get { return result.HasA; }
+ }
+ public self::TestMutualRecursionA A {
+ get { return result.A; }
+ set { SetA(value); }
+ }
+ public Builder SetA(self::TestMutualRecursionA value) {
+ result.hasA = true;
+ result.a_ = value;
+ return this;
+ }
+ public Builder SetA(self::TestMutualRecursionA.Builder builderForValue) {
+ result.hasA = true;
+ result.a_ = builderForValue.Build();
+ return this;
+ }
+ public Builder MergeA(self::TestMutualRecursionA value) {
+ if (result.HasA &&
+ result.a_ != self::TestMutualRecursionA.DefaultInstance) {
+ result.a_ =
+ self::TestMutualRecursionA.CreateBuilder(result.a_).MergeFrom(value).BuildPartial();
+ } else {
+ result.a_ = value;
+ }
+ result.hasA = true;
+ return this;
+ }
+ public Builder ClearA() {
+ result.hasA = false;
+ result.a_ = self::TestMutualRecursionA.DefaultInstance;
+ return this;
+ }
+
+ // optional int32 optional_int32 = 2;
+ public bool HasOptionalInt32 {
+ get { return result.HasOptionalInt32; }
+ }
+ public int OptionalInt32 {
+ get { return result.OptionalInt32; }
+ set { SetOptionalInt32(value); }
+ }
+ public Builder SetOptionalInt32(int value) {
+ result.hasOptionalInt32 = true;
+ result.optionalInt32_ = value;
+ return this;
+ }
+ public Builder ClearOptionalInt32() {
+ result.hasOptionalInt32 = false;
+ result.optionalInt32_ = 0;
+ return this;
+ }
+ }
+ }
+
+ public sealed partial class TestDupFieldNumber : pb::GeneratedMessage<TestDupFieldNumber, TestDupFieldNumber.Builder> {
+ // Use TestDupFieldNumber.CreateBuilder() to construct.
+ private TestDupFieldNumber() {}
+
+ private static readonly TestDupFieldNumber defaultInstance = new TestDupFieldNumber();
+ public static TestDupFieldNumber DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override TestDupFieldNumber DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestDupFieldNumber__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestDupFieldNumber__FieldAccessorTable; }
+ }
+
+ #region Nested types
+ public static class Types {
+ public sealed partial class Foo : pb::GeneratedMessage<Foo, Foo.Builder> {
+ // Use Foo.CreateBuilder() to construct.
+ private Foo() {}
+
+ private static readonly Foo defaultInstance = new Foo();
+ public static Foo DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override Foo DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestDupFieldNumber_Foo__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestDupFieldNumber_Foo__FieldAccessorTable; }
+ }
+
+ // optional int32 a = 1;
+ private bool hasA;
+ private int a_ = 0;
+ public bool HasA {
+ get { return hasA; }
+ }
+ public int A {
+ get { return a_; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ if (HasA) {
+ output.WriteInt32(1, A);
+ }
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (HasA) {
+ size += pb::CodedOutputStream.ComputeInt32Size(1, A);
+ }
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::TestDupFieldNumber.Types.Foo ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestDupFieldNumber.Types.Foo ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestDupFieldNumber.Types.Foo ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestDupFieldNumber.Types.Foo parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestDupFieldNumber.Types.Foo ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestDupFieldNumber.Types.Foo ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestDupFieldNumber.Types.Foo ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestDupFieldNumber.Types.Foo ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::TestDupFieldNumber.Types.Foo> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::TestDupFieldNumber.Types.Foo prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::TestDupFieldNumber.Types.Foo, Builder> {
+ // Construct using self::TestDupFieldNumber.Types.Foo.CreateBuilder()
+ internal Builder() {}
+
+ self::TestDupFieldNumber.Types.Foo result = new self::TestDupFieldNumber.Types.Foo();
+
+ protected override self::TestDupFieldNumber.Types.Foo MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::TestDupFieldNumber.Types.Foo> Clear() {
+ result = new self::TestDupFieldNumber.Types.Foo();
+ return this;
+ }
+
+ public override IBuilder<self::TestDupFieldNumber.Types.Foo> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::TestDupFieldNumber.Types.Foo.Descriptor; }
+ }
+
+ public override self::TestDupFieldNumber.Types.Foo DefaultInstanceForType {
+ get { return self::TestDupFieldNumber.Types.Foo.DefaultInstance; }
+ }
+
+ public override self::TestDupFieldNumber.Types.Foo BuildPartial() {
+ self::TestDupFieldNumber.Types.Foo returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::TestDupFieldNumber.Types.Foo) {
+ return MergeFrom((self::TestDupFieldNumber.Types.Foo) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::TestDupFieldNumber.Types.Foo> MergeFrom(self::TestDupFieldNumber.Types.Foo other) {
+ if (other == self::TestDupFieldNumber.Types.Foo.DefaultInstance) return this;
+ if (other.HasA) {
+ A = other.A;
+ }
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::TestDupFieldNumber.Types.Foo> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::TestDupFieldNumber.Types.Foo> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ case 8: {
+ A = input.ReadInt32();
+ break;
+ }
+ }
+ }
+ }
+
+
+ // optional int32 a = 1;
+ public bool HasA {
+ get { return result.HasA; }
+ }
+ public int A {
+ get { return result.A; }
+ set { SetA(value); }
+ }
+ public Builder SetA(int value) {
+ result.hasA = true;
+ result.a_ = value;
+ return this;
+ }
+ public Builder ClearA() {
+ result.hasA = false;
+ result.a_ = 0;
+ return this;
+ }
+ }
+ }
+
+ public sealed partial class Bar : pb::GeneratedMessage<Bar, Bar.Builder> {
+ // Use Bar.CreateBuilder() to construct.
+ private Bar() {}
+
+ private static readonly Bar defaultInstance = new Bar();
+ public static Bar DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override Bar DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestDupFieldNumber_Bar__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestDupFieldNumber_Bar__FieldAccessorTable; }
+ }
+
+ // optional int32 a = 1;
+ private bool hasA;
+ private int a_ = 0;
+ public bool HasA {
+ get { return hasA; }
+ }
+ public int A {
+ get { return a_; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ if (HasA) {
+ output.WriteInt32(1, A);
+ }
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (HasA) {
+ size += pb::CodedOutputStream.ComputeInt32Size(1, A);
+ }
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::TestDupFieldNumber.Types.Bar ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestDupFieldNumber.Types.Bar ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestDupFieldNumber.Types.Bar ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestDupFieldNumber.Types.Bar parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestDupFieldNumber.Types.Bar ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestDupFieldNumber.Types.Bar ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestDupFieldNumber.Types.Bar ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestDupFieldNumber.Types.Bar ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::TestDupFieldNumber.Types.Bar> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::TestDupFieldNumber.Types.Bar prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::TestDupFieldNumber.Types.Bar, Builder> {
+ // Construct using self::TestDupFieldNumber.Types.Bar.CreateBuilder()
+ internal Builder() {}
+
+ self::TestDupFieldNumber.Types.Bar result = new self::TestDupFieldNumber.Types.Bar();
+
+ protected override self::TestDupFieldNumber.Types.Bar MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::TestDupFieldNumber.Types.Bar> Clear() {
+ result = new self::TestDupFieldNumber.Types.Bar();
+ return this;
+ }
+
+ public override IBuilder<self::TestDupFieldNumber.Types.Bar> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::TestDupFieldNumber.Types.Bar.Descriptor; }
+ }
+
+ public override self::TestDupFieldNumber.Types.Bar DefaultInstanceForType {
+ get { return self::TestDupFieldNumber.Types.Bar.DefaultInstance; }
+ }
+
+ public override self::TestDupFieldNumber.Types.Bar BuildPartial() {
+ self::TestDupFieldNumber.Types.Bar returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::TestDupFieldNumber.Types.Bar) {
+ return MergeFrom((self::TestDupFieldNumber.Types.Bar) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::TestDupFieldNumber.Types.Bar> MergeFrom(self::TestDupFieldNumber.Types.Bar other) {
+ if (other == self::TestDupFieldNumber.Types.Bar.DefaultInstance) return this;
+ if (other.HasA) {
+ A = other.A;
+ }
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::TestDupFieldNumber.Types.Bar> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::TestDupFieldNumber.Types.Bar> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ case 8: {
+ A = input.ReadInt32();
+ break;
+ }
+ }
+ }
+ }
+
+
+ // optional int32 a = 1;
+ public bool HasA {
+ get { return result.HasA; }
+ }
+ public int A {
+ get { return result.A; }
+ set { SetA(value); }
+ }
+ public Builder SetA(int value) {
+ result.hasA = true;
+ result.a_ = value;
+ return this;
+ }
+ public Builder ClearA() {
+ result.hasA = false;
+ result.a_ = 0;
+ return this;
+ }
+ }
+ }
+
+ }
+ #endregion
+
+ // optional int32 a = 1;
+ private bool hasA;
+ private int a_ = 0;
+ public bool HasA {
+ get { return hasA; }
+ }
+ public int A {
+ get { return a_; }
+ }
+
+ // optional group Foo = 2 {
+ private bool hasFoo;
+ private self::TestDupFieldNumber.Types.Foo foo_ = self::TestDupFieldNumber.Types.Foo.DefaultInstance;
+ public bool HasFoo {
+ get { return hasFoo; }
+ }
+ public self::TestDupFieldNumber.Types.Foo Foo {
+ get { return foo_; }
+ }
+
+ // optional group Bar = 3 {
+ private bool hasBar;
+ private self::TestDupFieldNumber.Types.Bar bar_ = self::TestDupFieldNumber.Types.Bar.DefaultInstance;
+ public bool HasBar {
+ get { return hasBar; }
+ }
+ public self::TestDupFieldNumber.Types.Bar Bar {
+ get { return bar_; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ if (HasA) {
+ output.WriteInt32(1, A);
+ }
+ if (HasFoo) {
+ output.WriteGroup(2, Foo);
+ }
+ if (HasBar) {
+ output.WriteGroup(3, Bar);
+ }
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (HasA) {
+ size += pb::CodedOutputStream.ComputeInt32Size(1, A);
+ }
+ if (HasFoo) {
+ size += pb::CodedOutputStream.ComputeGroupSize(2, Foo);
+ }
+ if (HasBar) {
+ size += pb::CodedOutputStream.ComputeGroupSize(3, Bar);
+ }
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::TestDupFieldNumber ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestDupFieldNumber ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestDupFieldNumber ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestDupFieldNumber parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestDupFieldNumber ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestDupFieldNumber ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestDupFieldNumber ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestDupFieldNumber ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::TestDupFieldNumber> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::TestDupFieldNumber prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::TestDupFieldNumber, Builder> {
+ // Construct using self::TestDupFieldNumber.CreateBuilder()
+ internal Builder() {}
+
+ self::TestDupFieldNumber result = new self::TestDupFieldNumber();
+
+ protected override self::TestDupFieldNumber MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::TestDupFieldNumber> Clear() {
+ result = new self::TestDupFieldNumber();
+ return this;
+ }
+
+ public override IBuilder<self::TestDupFieldNumber> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::TestDupFieldNumber.Descriptor; }
+ }
+
+ public override self::TestDupFieldNumber DefaultInstanceForType {
+ get { return self::TestDupFieldNumber.DefaultInstance; }
+ }
+
+ public override self::TestDupFieldNumber BuildPartial() {
+ self::TestDupFieldNumber returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::TestDupFieldNumber) {
+ return MergeFrom((self::TestDupFieldNumber) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::TestDupFieldNumber> MergeFrom(self::TestDupFieldNumber other) {
+ if (other == self::TestDupFieldNumber.DefaultInstance) return this;
+ if (other.HasA) {
+ A = other.A;
+ }
+ if (other.HasFoo) {
+ MergeFoo(other.Foo);
+ }
+ if (other.HasBar) {
+ MergeBar(other.Bar);
+ }
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::TestDupFieldNumber> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::TestDupFieldNumber> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ case 8: {
+ A = input.ReadInt32();
+ break;
+ }
+ case 19: {
+ self::TestDupFieldNumber.Types.Foo.Builder subBuilder = self::TestDupFieldNumber.Types.Foo.CreateBuilder();
+ if (HasFoo) {
+ subBuilder.MergeFrom(Foo);
+ }
+ input.ReadGroup(2, subBuilder, extensionRegistry);
+ Foo = subBuilder.BuildPartial();
+ break;
+ }
+ case 27: {
+ self::TestDupFieldNumber.Types.Bar.Builder subBuilder = self::TestDupFieldNumber.Types.Bar.CreateBuilder();
+ if (HasBar) {
+ subBuilder.MergeFrom(Bar);
+ }
+ input.ReadGroup(3, subBuilder, extensionRegistry);
+ Bar = subBuilder.BuildPartial();
+ break;
+ }
+ }
+ }
+ }
+
+
+ // optional int32 a = 1;
+ public bool HasA {
+ get { return result.HasA; }
+ }
+ public int A {
+ get { return result.A; }
+ set { SetA(value); }
+ }
+ public Builder SetA(int value) {
+ result.hasA = true;
+ result.a_ = value;
+ return this;
+ }
+ public Builder ClearA() {
+ result.hasA = false;
+ result.a_ = 0;
+ return this;
+ }
+
+ // optional group Foo = 2 {
+ public bool HasFoo {
+ get { return result.HasFoo; }
+ }
+ public self::TestDupFieldNumber.Types.Foo Foo {
+ get { return result.Foo; }
+ set { SetFoo(value); }
+ }
+ public Builder SetFoo(self::TestDupFieldNumber.Types.Foo value) {
+ result.hasFoo = true;
+ result.foo_ = value;
+ return this;
+ }
+ public Builder SetFoo(self::TestDupFieldNumber.Types.Foo.Builder builderForValue) {
+ result.hasFoo = true;
+ result.foo_ = builderForValue.Build();
+ return this;
+ }
+ public Builder MergeFoo(self::TestDupFieldNumber.Types.Foo value) {
+ if (result.HasFoo &&
+ result.foo_ != self::TestDupFieldNumber.Types.Foo.DefaultInstance) {
+ result.foo_ =
+ self::TestDupFieldNumber.Types.Foo.CreateBuilder(result.foo_).MergeFrom(value).BuildPartial();
+ } else {
+ result.foo_ = value;
+ }
+ result.hasFoo = true;
+ return this;
+ }
+ public Builder ClearFoo() {
+ result.hasFoo = false;
+ result.foo_ = self::TestDupFieldNumber.Types.Foo.DefaultInstance;
+ return this;
+ }
+
+ // optional group Bar = 3 {
+ public bool HasBar {
+ get { return result.HasBar; }
+ }
+ public self::TestDupFieldNumber.Types.Bar Bar {
+ get { return result.Bar; }
+ set { SetBar(value); }
+ }
+ public Builder SetBar(self::TestDupFieldNumber.Types.Bar value) {
+ result.hasBar = true;
+ result.bar_ = value;
+ return this;
+ }
+ public Builder SetBar(self::TestDupFieldNumber.Types.Bar.Builder builderForValue) {
+ result.hasBar = true;
+ result.bar_ = builderForValue.Build();
+ return this;
+ }
+ public Builder MergeBar(self::TestDupFieldNumber.Types.Bar value) {
+ if (result.HasBar &&
+ result.bar_ != self::TestDupFieldNumber.Types.Bar.DefaultInstance) {
+ result.bar_ =
+ self::TestDupFieldNumber.Types.Bar.CreateBuilder(result.bar_).MergeFrom(value).BuildPartial();
+ } else {
+ result.bar_ = value;
+ }
+ result.hasBar = true;
+ return this;
+ }
+ public Builder ClearBar() {
+ result.hasBar = false;
+ result.bar_ = self::TestDupFieldNumber.Types.Bar.DefaultInstance;
+ return this;
+ }
+ }
+ }
+
+ public sealed partial class TestNestedMessageHasBits : pb::GeneratedMessage<TestNestedMessageHasBits, TestNestedMessageHasBits.Builder> {
+ // Use TestNestedMessageHasBits.CreateBuilder() to construct.
+ private TestNestedMessageHasBits() {}
+
+ private static readonly TestNestedMessageHasBits defaultInstance = new TestNestedMessageHasBits();
+ public static TestNestedMessageHasBits DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override TestNestedMessageHasBits DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestNestedMessageHasBits__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestNestedMessageHasBits__FieldAccessorTable; }
+ }
+
+ #region Nested types
+ public static class Types {
+ public sealed partial class NestedMessage : pb::GeneratedMessage<NestedMessage, NestedMessage.Builder> {
+ // Use NestedMessage.CreateBuilder() to construct.
+ private NestedMessage() {}
+
+ private static readonly NestedMessage defaultInstance = new NestedMessage();
+ public static NestedMessage DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override NestedMessage DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestNestedMessageHasBits_NestedMessage__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestNestedMessageHasBits_NestedMessage__FieldAccessorTable; }
+ }
+
+ // repeated int32 nestedmessage_repeated_int32 = 1;
+ private scg::IList<int> nestedmessageRepeatedInt32_ = pbc::Lists<int>.Empty;
+ public scg::IList<int> NestedmessageRepeatedInt32List {
+ get { return nestedmessageRepeatedInt32_; }
+ }
+ public int NestedmessageRepeatedInt32Count {
+ get { return nestedmessageRepeatedInt32_.Count; }
+ }
+ public int GetNestedmessageRepeatedInt32(int index) {
+ return nestedmessageRepeatedInt32_[index];
+ }
+
+ // repeated .protobuf_unittest.ForeignMessage nestedmessage_repeated_foreignmessage = 2;
+ private scg::IList<self::ForeignMessage> nestedmessageRepeatedForeignmessage_ = pbc::Lists<self::ForeignMessage>.Empty;
+ public scg::IList<self::ForeignMessage> NestedmessageRepeatedForeignmessageList {
+ get { return nestedmessageRepeatedForeignmessage_; }
+ }
+ public int NestedmessageRepeatedForeignmessageCount
+ { get { return nestedmessageRepeatedForeignmessage_.Count; }
+ }
+ public self::ForeignMessage GetNestedmessageRepeatedForeignmessage(int index) {
+ return nestedmessageRepeatedForeignmessage_ [index];
+ }
+
+ public override bool IsInitialized {
+ get {
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ foreach (int element in NestedmessageRepeatedInt32List) {
+ output.WriteInt32(1, element);
+ }
+ foreach (self::ForeignMessage element in NestedmessageRepeatedForeignmessageList) {
+ output.WriteMessage(2, element);
+ }
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ foreach (int element in NestedmessageRepeatedInt32List) {
+ size += pb::CodedOutputStream
+ .ComputeInt32Size(1, element);
+ }
+ foreach (self::ForeignMessage element in NestedmessageRepeatedForeignmessageList) {
+ size += pb::CodedOutputStream.ComputeMessageSize(2, element);
+ }
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::TestNestedMessageHasBits.Types.NestedMessage ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestNestedMessageHasBits.Types.NestedMessage ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestNestedMessageHasBits.Types.NestedMessage ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestNestedMessageHasBits.Types.NestedMessage parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestNestedMessageHasBits.Types.NestedMessage ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestNestedMessageHasBits.Types.NestedMessage ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestNestedMessageHasBits.Types.NestedMessage ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestNestedMessageHasBits.Types.NestedMessage ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::TestNestedMessageHasBits.Types.NestedMessage> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::TestNestedMessageHasBits.Types.NestedMessage prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::TestNestedMessageHasBits.Types.NestedMessage, Builder> {
+ // Construct using self::TestNestedMessageHasBits.Types.NestedMessage.CreateBuilder()
+ internal Builder() {}
+
+ self::TestNestedMessageHasBits.Types.NestedMessage result = new self::TestNestedMessageHasBits.Types.NestedMessage();
+
+ protected override self::TestNestedMessageHasBits.Types.NestedMessage MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::TestNestedMessageHasBits.Types.NestedMessage> Clear() {
+ result = new self::TestNestedMessageHasBits.Types.NestedMessage();
+ return this;
+ }
+
+ public override IBuilder<self::TestNestedMessageHasBits.Types.NestedMessage> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::TestNestedMessageHasBits.Types.NestedMessage.Descriptor; }
+ }
+
+ public override self::TestNestedMessageHasBits.Types.NestedMessage DefaultInstanceForType {
+ get { return self::TestNestedMessageHasBits.Types.NestedMessage.DefaultInstance; }
+ }
+
+ public override self::TestNestedMessageHasBits.Types.NestedMessage BuildPartial() {
+ result.nestedmessageRepeatedInt32_ = pbc::Lists<int>.AsReadOnly(result.nestedmessageRepeatedInt32_);
+ if (result.nestedmessageRepeatedForeignmessage_ != pbc::Lists<self::ForeignMessage>.Empty) {
+ result.nestedmessageRepeatedForeignmessage_ = pbc::Lists<self::ForeignMessage>.AsReadOnly(result.nestedmessageRepeatedForeignmessage_);
+ }
+ self::TestNestedMessageHasBits.Types.NestedMessage returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::TestNestedMessageHasBits.Types.NestedMessage) {
+ return MergeFrom((self::TestNestedMessageHasBits.Types.NestedMessage) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::TestNestedMessageHasBits.Types.NestedMessage> MergeFrom(self::TestNestedMessageHasBits.Types.NestedMessage other) {
+ if (other == self::TestNestedMessageHasBits.Types.NestedMessage.DefaultInstance) return this;
+ if (other.nestedmessageRepeatedInt32_.Count != 0) {
+ if (result.nestedmessageRepeatedInt32_.Count == 0) {
+ result.nestedmessageRepeatedInt32_ = new scg::List<int>();
+ }
+ base.AddRange(other.nestedmessageRepeatedInt32_, result.nestedmessageRepeatedInt32_);
+ }
+ if (other.nestedmessageRepeatedForeignmessage_.Count != 0) {
+ if (result.nestedmessageRepeatedForeignmessage_.Count == 0) {
+ result.nestedmessageRepeatedForeignmessage_ = new scg::List<self::ForeignMessage>();
+ }
+ base.AddRange(other.nestedmessageRepeatedForeignmessage_, result.nestedmessageRepeatedForeignmessage_);
+ }
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::TestNestedMessageHasBits.Types.NestedMessage> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::TestNestedMessageHasBits.Types.NestedMessage> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ case 8: {
+ AddNestedmessageRepeatedInt32(input.ReadInt32());
+ break;
+ }
+ case 18: {
+ self::ForeignMessage.Builder subBuilder = self::ForeignMessage.CreateBuilder();
+ input.ReadMessage(subBuilder, extensionRegistry);
+ AddNestedmessageRepeatedForeignmessage(subBuilder.BuildPartial());
+ break;
+ }
+ }
+ }
+ }
+
+
+ // repeated int32 nestedmessage_repeated_int32 = 1;
+ public scg::IList<int> NestedmessageRepeatedInt32List {
+ get { return pbc::Lists<int>.AsReadOnly(result.nestedmessageRepeatedInt32_); }
+ }
+ public int NestedmessageRepeatedInt32Count {
+ get { return result.NestedmessageRepeatedInt32Count; }
+ }
+ public int GetNestedmessageRepeatedInt32(int index) {
+ return result.GetNestedmessageRepeatedInt32(index);
+ }
+ public Builder SetNestedmessageRepeatedInt32(int index, int value) {
+ result.nestedmessageRepeatedInt32_[index] = value;
+ return this;
+ }
+ public Builder AddNestedmessageRepeatedInt32(int value) {
+ if (result.nestedmessageRepeatedInt32_.Count == 0) {
+ result.nestedmessageRepeatedInt32_ = new scg::List<int>();
+ }
+ result.nestedmessageRepeatedInt32_.Add(value);
+ return this;
+ }
+ public Builder AddRangeNestedmessageRepeatedInt32(scg::IEnumerable<int> values) {
+ if (result.nestedmessageRepeatedInt32_.Count == 0) {
+ result.nestedmessageRepeatedInt32_ = new scg::List<int>();
+ }
+ base.AddRange(values, result.nestedmessageRepeatedInt32_);
+ return this;
+ }
+ public Builder ClearNestedmessageRepeatedInt32() {
+ result.nestedmessageRepeatedInt32_ = pbc::Lists<int>.Empty;
+ return this;
+ }
+
+ // repeated .protobuf_unittest.ForeignMessage nestedmessage_repeated_foreignmessage = 2;
+ public scg::IList<self::ForeignMessage> NestedmessageRepeatedForeignmessageList {
+ get { return pbc::Lists.AsReadOnly(result.nestedmessageRepeatedForeignmessage_); }
+ }
+ public int NestedmessageRepeatedForeignmessageCount {
+ get { return result.NestedmessageRepeatedForeignmessageCount; }
+ }
+ public self::ForeignMessage GetNestedmessageRepeatedForeignmessage(int index) {
+ return result.GetNestedmessageRepeatedForeignmessage(index);
+ }
+ public Builder SetNestedmessageRepeatedForeignmessage(int index, self::ForeignMessage value) {
+ result.nestedmessageRepeatedForeignmessage_[index] = value;
+ return this;
+ }
+ public Builder SetNestedmessageRepeatedForeignmessage(int index, self::ForeignMessage.Builder builderForValue) {
+ result.nestedmessageRepeatedForeignmessage_[index] = builderForValue.Build();
+ return this;
+ }
+ public Builder AddNestedmessageRepeatedForeignmessage(self::ForeignMessage value) {
+ if (result.nestedmessageRepeatedForeignmessage_ == pbc::Lists<self::ForeignMessage>.Empty) {
+ result.nestedmessageRepeatedForeignmessage_ = new scg::List<self::ForeignMessage>();
+ }
+ result.nestedmessageRepeatedForeignmessage_.Add(value);
+ return this;
+ }
+ public Builder AddNestedmessageRepeatedForeignmessage(self::ForeignMessage.Builder builderForValue) {
+ if (result.nestedmessageRepeatedForeignmessage_ == pbc::Lists<self::ForeignMessage>.Empty) {
+ result.nestedmessageRepeatedForeignmessage_ = new scg::List<self::ForeignMessage>();
+ }
+ result.nestedmessageRepeatedForeignmessage_.Add(builderForValue.Build());
+ return this;
+ }
+ public Builder AddRangeNestedmessageRepeatedForeignmessage(scg::IEnumerable<self::ForeignMessage> values) {
+ if (result.nestedmessageRepeatedForeignmessage_ == pbc::Lists<self::ForeignMessage>.Empty) {
+ result.nestedmessageRepeatedForeignmessage_ = new scg::List<self::ForeignMessage>();
+ }
+ base.AddRange(values, result.nestedmessageRepeatedForeignmessage_);
+ return this;
+ }
+ public Builder ClearNestedmessageRepeatedForeignmessage() {
+ result.nestedmessageRepeatedForeignmessage_ = pbc::Lists<self::ForeignMessage>.Empty;
+ return this;
+ }
+ }
+ }
+
+ }
+ #endregion
+
+ // optional .protobuf_unittest.TestNestedMessageHasBits.NestedMessage optional_nested_message = 1;
+ private bool hasOptionalNestedMessage;
+ private self::TestNestedMessageHasBits.Types.NestedMessage optionalNestedMessage_ = self::TestNestedMessageHasBits.Types.NestedMessage.DefaultInstance;
+ public bool HasOptionalNestedMessage {
+ get { return hasOptionalNestedMessage; }
+ }
+ public self::TestNestedMessageHasBits.Types.NestedMessage OptionalNestedMessage {
+ get { return optionalNestedMessage_; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ if (HasOptionalNestedMessage) {
+ output.WriteMessage(1, OptionalNestedMessage);
+ }
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (HasOptionalNestedMessage) {
+ size += pb::CodedOutputStream.ComputeMessageSize(1, OptionalNestedMessage);
+ }
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::TestNestedMessageHasBits ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestNestedMessageHasBits ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestNestedMessageHasBits ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestNestedMessageHasBits parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestNestedMessageHasBits ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestNestedMessageHasBits ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestNestedMessageHasBits ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestNestedMessageHasBits ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::TestNestedMessageHasBits> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::TestNestedMessageHasBits prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::TestNestedMessageHasBits, Builder> {
+ // Construct using self::TestNestedMessageHasBits.CreateBuilder()
+ internal Builder() {}
+
+ self::TestNestedMessageHasBits result = new self::TestNestedMessageHasBits();
+
+ protected override self::TestNestedMessageHasBits MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::TestNestedMessageHasBits> Clear() {
+ result = new self::TestNestedMessageHasBits();
+ return this;
+ }
+
+ public override IBuilder<self::TestNestedMessageHasBits> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::TestNestedMessageHasBits.Descriptor; }
+ }
+
+ public override self::TestNestedMessageHasBits DefaultInstanceForType {
+ get { return self::TestNestedMessageHasBits.DefaultInstance; }
+ }
+
+ public override self::TestNestedMessageHasBits BuildPartial() {
+ self::TestNestedMessageHasBits returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::TestNestedMessageHasBits) {
+ return MergeFrom((self::TestNestedMessageHasBits) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::TestNestedMessageHasBits> MergeFrom(self::TestNestedMessageHasBits other) {
+ if (other == self::TestNestedMessageHasBits.DefaultInstance) return this;
+ if (other.HasOptionalNestedMessage) {
+ MergeOptionalNestedMessage(other.OptionalNestedMessage);
+ }
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::TestNestedMessageHasBits> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::TestNestedMessageHasBits> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ case 10: {
+ self::TestNestedMessageHasBits.Types.NestedMessage.Builder subBuilder = self::TestNestedMessageHasBits.Types.NestedMessage.CreateBuilder();
+ if (HasOptionalNestedMessage) {
+ subBuilder.MergeFrom(OptionalNestedMessage);
+ }
+ input.ReadMessage(subBuilder, extensionRegistry);
+ OptionalNestedMessage = subBuilder.BuildPartial();
+ break;
+ }
+ }
+ }
+ }
+
+
+ // optional .protobuf_unittest.TestNestedMessageHasBits.NestedMessage optional_nested_message = 1;
+ public bool HasOptionalNestedMessage {
+ get { return result.HasOptionalNestedMessage; }
+ }
+ public self::TestNestedMessageHasBits.Types.NestedMessage OptionalNestedMessage {
+ get { return result.OptionalNestedMessage; }
+ set { SetOptionalNestedMessage(value); }
+ }
+ public Builder SetOptionalNestedMessage(self::TestNestedMessageHasBits.Types.NestedMessage value) {
+ result.hasOptionalNestedMessage = true;
+ result.optionalNestedMessage_ = value;
+ return this;
+ }
+ public Builder SetOptionalNestedMessage(self::TestNestedMessageHasBits.Types.NestedMessage.Builder builderForValue) {
+ result.hasOptionalNestedMessage = true;
+ result.optionalNestedMessage_ = builderForValue.Build();
+ return this;
+ }
+ public Builder MergeOptionalNestedMessage(self::TestNestedMessageHasBits.Types.NestedMessage value) {
+ if (result.HasOptionalNestedMessage &&
+ result.optionalNestedMessage_ != self::TestNestedMessageHasBits.Types.NestedMessage.DefaultInstance) {
+ result.optionalNestedMessage_ =
+ self::TestNestedMessageHasBits.Types.NestedMessage.CreateBuilder(result.optionalNestedMessage_).MergeFrom(value).BuildPartial();
+ } else {
+ result.optionalNestedMessage_ = value;
+ }
+ result.hasOptionalNestedMessage = true;
+ return this;
+ }
+ public Builder ClearOptionalNestedMessage() {
+ result.hasOptionalNestedMessage = false;
+ result.optionalNestedMessage_ = self::TestNestedMessageHasBits.Types.NestedMessage.DefaultInstance;
+ return this;
+ }
+ }
+ }
+
+ public sealed partial class TestCamelCaseFieldNames : pb::GeneratedMessage<TestCamelCaseFieldNames, TestCamelCaseFieldNames.Builder> {
+ // Use TestCamelCaseFieldNames.CreateBuilder() to construct.
+ private TestCamelCaseFieldNames() {}
+
+ private static readonly TestCamelCaseFieldNames defaultInstance = new TestCamelCaseFieldNames();
+ public static TestCamelCaseFieldNames DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override TestCamelCaseFieldNames DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestCamelCaseFieldNames__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestCamelCaseFieldNames__FieldAccessorTable; }
+ }
+
+ // optional int32 PrimitiveField = 1;
+ private bool hasPrimitiveField;
+ private int primitiveField_ = 0;
+ public bool HasPrimitiveField {
+ get { return hasPrimitiveField; }
+ }
+ public int PrimitiveField {
+ get { return primitiveField_; }
+ }
+
+ // optional string StringField = 2;
+ private bool hasStringField;
+ private string stringField_ = "";
+ public bool HasStringField {
+ get { return hasStringField; }
+ }
+ public string StringField {
+ get { return stringField_; }
+ }
+
+ // optional .protobuf_unittest.ForeignEnum EnumField = 3;
+ private bool hasEnumField;
+ private self::ForeignEnum enumField_ = self::ForeignEnum.FOREIGN_FOO;
+ public bool HasEnumField {
+ get { return hasEnumField; }
+ }
+ public self::ForeignEnum EnumField { get { return enumField_; }}
+
+ // optional .protobuf_unittest.ForeignMessage MessageField = 4;
+ private bool hasMessageField;
+ private self::ForeignMessage messageField_ = self::ForeignMessage.DefaultInstance;
+ public bool HasMessageField {
+ get { return hasMessageField; }
+ }
+ public self::ForeignMessage MessageField {
+ get { return messageField_; }
+ }
+
+ // optional string StringPieceField = 5 [ctype = STRING_PIECE];
+ private bool hasStringPieceField;
+ private string stringPieceField_ = "";
+ public bool HasStringPieceField {
+ get { return hasStringPieceField; }
+ }
+ public string StringPieceField {
+ get { return stringPieceField_; }
+ }
+
+ // optional string CordField = 6 [ctype = CORD];
+ private bool hasCordField;
+ private string cordField_ = "";
+ public bool HasCordField {
+ get { return hasCordField; }
+ }
+ public string CordField {
+ get { return cordField_; }
+ }
+
+ // repeated int32 RepeatedPrimitiveField = 7;
+ private scg::IList<int> repeatedPrimitiveField_ = pbc::Lists<int>.Empty;
+ public scg::IList<int> RepeatedPrimitiveFieldList {
+ get { return repeatedPrimitiveField_; }
+ }
+ public int RepeatedPrimitiveFieldCount {
+ get { return repeatedPrimitiveField_.Count; }
+ }
+ public int GetRepeatedPrimitiveField(int index) {
+ return repeatedPrimitiveField_[index];
+ }
+
+ // repeated string RepeatedStringField = 8;
+ private scg::IList<string> repeatedStringField_ = pbc::Lists<string>.Empty;
+ public scg::IList<string> RepeatedStringFieldList {
+ get { return repeatedStringField_; }
+ }
+ public int RepeatedStringFieldCount {
+ get { return repeatedStringField_.Count; }
+ }
+ public string GetRepeatedStringField(int index) {
+ return repeatedStringField_[index];
+ }
+
+ // repeated .protobuf_unittest.ForeignEnum RepeatedEnumField = 9;
+ private scg::IList<self::ForeignEnum> repeatedEnumField_ = new scg::List<self::ForeignEnum> ();
+ public scg.IList<self::ForeignEnum> RepeatedEnumFieldList {
+ get { return pbc::Lists.AsReadOnly(repeatedEnumField_); }
+ }
+ public int RepeatedEnumFieldCount {
+ get { return repeatedEnumField_.Count; }
+ }
+ public self::ForeignEnum GetRepeatedEnumField(int index) {
+ return repeatedEnumField_[index];
+ }
+
+ // repeated .protobuf_unittest.ForeignMessage RepeatedMessageField = 10;
+ private scg::IList<self::ForeignMessage> repeatedMessageField_ = pbc::Lists<self::ForeignMessage>.Empty;
+ public scg::IList<self::ForeignMessage> RepeatedMessageFieldList {
+ get { return repeatedMessageField_; }
+ }
+ public int RepeatedMessageFieldCount
+ { get { return repeatedMessageField_.Count; }
+ }
+ public self::ForeignMessage GetRepeatedMessageField(int index) {
+ return repeatedMessageField_ [index];
+ }
+
+ // repeated string RepeatedStringPieceField = 11 [ctype = STRING_PIECE];
+ private scg::IList<string> repeatedStringPieceField_ = pbc::Lists<string>.Empty;
+ public scg::IList<string> RepeatedStringPieceFieldList {
+ get { return repeatedStringPieceField_; }
+ }
+ public int RepeatedStringPieceFieldCount {
+ get { return repeatedStringPieceField_.Count; }
+ }
+ public string GetRepeatedStringPieceField(int index) {
+ return repeatedStringPieceField_[index];
+ }
+
+ // repeated string RepeatedCordField = 12 [ctype = CORD];
+ private scg::IList<string> repeatedCordField_ = pbc::Lists<string>.Empty;
+ public scg::IList<string> RepeatedCordFieldList {
+ get { return repeatedCordField_; }
+ }
+ public int RepeatedCordFieldCount {
+ get { return repeatedCordField_.Count; }
+ }
+ public string GetRepeatedCordField(int index) {
+ return repeatedCordField_[index];
+ }
+
+ public override bool IsInitialized {
+ get {
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ if (HasPrimitiveField) {
+ output.WriteInt32(1, PrimitiveField);
+ }
+ if (HasStringField) {
+ output.WriteString(2, StringField);
+ }
+ if (HasEnumField) {
+ output.WriteEnum(3, (int) EnumField);
+ }
+ if (HasMessageField) {
+ output.WriteMessage(4, MessageField);
+ }
+ if (HasStringPieceField) {
+ output.WriteString(5, StringPieceField);
+ }
+ if (HasCordField) {
+ output.WriteString(6, CordField);
+ }
+ foreach (int element in RepeatedPrimitiveFieldList) {
+ output.WriteInt32(7, element);
+ }
+ foreach (string element in RepeatedStringFieldList) {
+ output.WriteString(8, element);
+ }
+ foreach (self::ForeignEnum element in RepeatedEnumFieldList) {
+ output.WriteEnum(9, (int) element);
+ }
+ foreach (self::ForeignMessage element in RepeatedMessageFieldList) {
+ output.WriteMessage(10, element);
+ }
+ foreach (string element in RepeatedStringPieceFieldList) {
+ output.WriteString(11, element);
+ }
+ foreach (string element in RepeatedCordFieldList) {
+ output.WriteString(12, element);
+ }
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (HasPrimitiveField) {
+ size += pb::CodedOutputStream.ComputeInt32Size(1, PrimitiveField);
+ }
+ if (HasStringField) {
+ size += pb::CodedOutputStream.ComputeStringSize(2, StringField);
+ }
+ if (HasEnumField) {
+ size += pb::CodedOutputStream
+ .ComputeEnumSize(3, (int) EnumField);
+ }
+ if (HasMessageField) {
+ size += pb::CodedOutputStream.ComputeMessageSize(4, MessageField);
+ }
+ if (HasStringPieceField) {
+ size += pb::CodedOutputStream.ComputeStringSize(5, StringPieceField);
+ }
+ if (HasCordField) {
+ size += pb::CodedOutputStream.ComputeStringSize(6, CordField);
+ }
+ foreach (int element in RepeatedPrimitiveFieldList) {
+ size += pb::CodedOutputStream
+ .ComputeInt32Size(7, element);
+ }
+ foreach (string element in RepeatedStringFieldList) {
+ size += pb::CodedOutputStream
+ .ComputeStringSize(8, element);
+ }
+ foreach (self::ForeignEnum element in RepeatedEnumFieldList) {
+ size += pb::CodedOutputStream
+ .ComputeEnumSize(9, (int) element);
+ }
+ foreach (self::ForeignMessage element in RepeatedMessageFieldList) {
+ size += pb::CodedOutputStream.ComputeMessageSize(10, element);
+ }
+ foreach (string element in RepeatedStringPieceFieldList) {
+ size += pb::CodedOutputStream
+ .ComputeStringSize(11, element);
+ }
+ foreach (string element in RepeatedCordFieldList) {
+ size += pb::CodedOutputStream
+ .ComputeStringSize(12, element);
+ }
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::TestCamelCaseFieldNames ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestCamelCaseFieldNames ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestCamelCaseFieldNames ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestCamelCaseFieldNames parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestCamelCaseFieldNames ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestCamelCaseFieldNames ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestCamelCaseFieldNames ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestCamelCaseFieldNames ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::TestCamelCaseFieldNames> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::TestCamelCaseFieldNames prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::TestCamelCaseFieldNames, Builder> {
+ // Construct using self::TestCamelCaseFieldNames.CreateBuilder()
+ internal Builder() {}
+
+ self::TestCamelCaseFieldNames result = new self::TestCamelCaseFieldNames();
+
+ protected override self::TestCamelCaseFieldNames MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::TestCamelCaseFieldNames> Clear() {
+ result = new self::TestCamelCaseFieldNames();
+ return this;
+ }
+
+ public override IBuilder<self::TestCamelCaseFieldNames> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::TestCamelCaseFieldNames.Descriptor; }
+ }
+
+ public override self::TestCamelCaseFieldNames DefaultInstanceForType {
+ get { return self::TestCamelCaseFieldNames.DefaultInstance; }
+ }
+
+ public override self::TestCamelCaseFieldNames BuildPartial() {
+ result.repeatedPrimitiveField_ = pbc::Lists<int>.AsReadOnly(result.repeatedPrimitiveField_);
+ result.repeatedStringField_ = pbc::Lists<string>.AsReadOnly(result.repeatedStringField_);
+ result.repeatedEnumField_ = pbc::Lists.AsReadOnly(result.repeatedEnumField_);
+ if (result.repeatedMessageField_ != pbc::Lists<self::ForeignMessage>.Empty) {
+ result.repeatedMessageField_ = pbc::Lists<self::ForeignMessage>.AsReadOnly(result.repeatedMessageField_);
+ }
+ result.repeatedStringPieceField_ = pbc::Lists<string>.AsReadOnly(result.repeatedStringPieceField_);
+ result.repeatedCordField_ = pbc::Lists<string>.AsReadOnly(result.repeatedCordField_);
+ self::TestCamelCaseFieldNames returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::TestCamelCaseFieldNames) {
+ return MergeFrom((self::TestCamelCaseFieldNames) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::TestCamelCaseFieldNames> MergeFrom(self::TestCamelCaseFieldNames other) {
+ if (other == self::TestCamelCaseFieldNames.DefaultInstance) return this;
+ if (other.HasPrimitiveField) {
+ PrimitiveField = other.PrimitiveField;
+ }
+ if (other.HasStringField) {
+ StringField = other.StringField;
+ }
+ if (other.HasEnumField) {
+ EnumField = other.EnumField;
+ }
+ if (other.HasMessageField) {
+ MergeMessageField(other.MessageField);
+ }
+ if (other.HasStringPieceField) {
+ StringPieceField = other.StringPieceField;
+ }
+ if (other.HasCordField) {
+ CordField = other.CordField;
+ }
+ if (other.repeatedPrimitiveField_.Count != 0) {
+ if (result.repeatedPrimitiveField_.Count == 0) {
+ result.repeatedPrimitiveField_ = new scg::List<int>();
+ }
+ base.AddRange(other.repeatedPrimitiveField_, result.repeatedPrimitiveField_);
+ }
+ if (other.repeatedStringField_.Count != 0) {
+ if (result.repeatedStringField_.Count == 0) {
+ result.repeatedStringField_ = new scg::List<string>();
+ }
+ base.AddRange(other.repeatedStringField_, result.repeatedStringField_);
+ }
+ if (other.repeatedEnumField_.Count != 0) {
+ if (result.repeatedEnumField_.Count == 0) {
+ result.repeatedEnumField_ = new scg::List<self::ForeignEnum>();
+ }
+ base.AddRange(other.repeatedEnumField_, result.repeatedEnumField_);
+ }
+ if (other.repeatedMessageField_.Count != 0) {
+ if (result.repeatedMessageField_.Count == 0) {
+ result.repeatedMessageField_ = new scg::List<self::ForeignMessage>();
+ }
+ base.AddRange(other.repeatedMessageField_, result.repeatedMessageField_);
+ }
+ if (other.repeatedStringPieceField_.Count != 0) {
+ if (result.repeatedStringPieceField_.Count == 0) {
+ result.repeatedStringPieceField_ = new scg::List<string>();
+ }
+ base.AddRange(other.repeatedStringPieceField_, result.repeatedStringPieceField_);
+ }
+ if (other.repeatedCordField_.Count != 0) {
+ if (result.repeatedCordField_.Count == 0) {
+ result.repeatedCordField_ = new scg::List<string>();
+ }
+ base.AddRange(other.repeatedCordField_, result.repeatedCordField_);
+ }
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::TestCamelCaseFieldNames> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::TestCamelCaseFieldNames> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ case 8: {
+ PrimitiveField = input.ReadInt32();
+ break;
+ }
+ case 18: {
+ StringField = input.ReadString();
+ break;
+ }
+ case 24: {
+ int rawValue = input.ReadEnum();
+ if (!global::System.Enum.IsDefined(typeof(self::ForeignEnum), rawValue)) {
+ unknownFields.MergeVarintField(3, (ulong) rawValue);
+ } else {
+ EnumField = (self::ForeignEnum) rawValue;
+ }
+ break;
+ }
+ case 34: {
+ self::ForeignMessage.Builder subBuilder = self::ForeignMessage.CreateBuilder();
+ if (HasMessageField) {
+ subBuilder.MergeFrom(MessageField);
+ }
+ input.ReadMessage(subBuilder, extensionRegistry);
+ MessageField = subBuilder.BuildPartial();
+ break;
+ }
+ case 42: {
+ StringPieceField = input.ReadString();
+ break;
+ }
+ case 50: {
+ CordField = input.ReadString();
+ break;
+ }
+ case 56: {
+ AddRepeatedPrimitiveField(input.ReadInt32());
+ break;
+ }
+ case 66: {
+ AddRepeatedStringField(input.ReadString());
+ break;
+ }
+ case 72: {
+ int rawValue = input.ReadEnum();
+ self::ForeignEnum value = (self::ForeignEnum) rawValue;
+ if (!global::System.Enum.IsDefined(typeof(self::ForeignEnum), value)) {
+ unknownFields.MergeVarintField(9, (ulong) rawValue);
+ } else {
+ AddRepeatedEnumField(value);
+ }
+ break;
+ }
+ case 82: {
+ self::ForeignMessage.Builder subBuilder = self::ForeignMessage.CreateBuilder();
+ input.ReadMessage(subBuilder, extensionRegistry);
+ AddRepeatedMessageField(subBuilder.BuildPartial());
+ break;
+ }
+ case 90: {
+ AddRepeatedStringPieceField(input.ReadString());
+ break;
+ }
+ case 98: {
+ AddRepeatedCordField(input.ReadString());
+ break;
+ }
+ }
+ }
+ }
+
+
+ // optional int32 PrimitiveField = 1;
+ public bool HasPrimitiveField {
+ get { return result.HasPrimitiveField; }
+ }
+ public int PrimitiveField {
+ get { return result.PrimitiveField; }
+ set { SetPrimitiveField(value); }
+ }
+ public Builder SetPrimitiveField(int value) {
+ result.hasPrimitiveField = true;
+ result.primitiveField_ = value;
+ return this;
+ }
+ public Builder ClearPrimitiveField() {
+ result.hasPrimitiveField = false;
+ result.primitiveField_ = 0;
+ return this;
+ }
+
+ // optional string StringField = 2;
+ public bool HasStringField {
+ get { return result.HasStringField; }
+ }
+ public string StringField {
+ get { return result.StringField; }
+ set { SetStringField(value); }
+ }
+ public Builder SetStringField(string value) {
+ result.hasStringField = true;
+ result.stringField_ = value;
+ return this;
+ }
+ public Builder ClearStringField() {
+ result.hasStringField = false;
+ result.stringField_ = "";
+ return this;
+ }
+
+ // optional .protobuf_unittest.ForeignEnum EnumField = 3;
+ public bool HasEnumField {
+ get { return result.HasEnumField; }
+ }
+ public self::ForeignEnum EnumField {
+ get { return result.EnumField; }
+ set { SetEnumField(value); }
+ }
+ public Builder SetEnumField(self::ForeignEnum value) {
+ result.hasEnumField = true;
+ result.enumField_ = value;
+ return this;
+ }
+ public Builder ClearEnumField() {
+ result.hasEnumField = false;
+ result.enumField_ = self::ForeignEnum.FOREIGN_FOO;
+ return this;
+ }
+
+ // optional .protobuf_unittest.ForeignMessage MessageField = 4;
+ public bool HasMessageField {
+ get { return result.HasMessageField; }
+ }
+ public self::ForeignMessage MessageField {
+ get { return result.MessageField; }
+ set { SetMessageField(value); }
+ }
+ public Builder SetMessageField(self::ForeignMessage value) {
+ result.hasMessageField = true;
+ result.messageField_ = value;
+ return this;
+ }
+ public Builder SetMessageField(self::ForeignMessage.Builder builderForValue) {
+ result.hasMessageField = true;
+ result.messageField_ = builderForValue.Build();
+ return this;
+ }
+ public Builder MergeMessageField(self::ForeignMessage value) {
+ if (result.HasMessageField &&
+ result.messageField_ != self::ForeignMessage.DefaultInstance) {
+ result.messageField_ =
+ self::ForeignMessage.CreateBuilder(result.messageField_).MergeFrom(value).BuildPartial();
+ } else {
+ result.messageField_ = value;
+ }
+ result.hasMessageField = true;
+ return this;
+ }
+ public Builder ClearMessageField() {
+ result.hasMessageField = false;
+ result.messageField_ = self::ForeignMessage.DefaultInstance;
+ return this;
+ }
+
+ // optional string StringPieceField = 5 [ctype = STRING_PIECE];
+ public bool HasStringPieceField {
+ get { return result.HasStringPieceField; }
+ }
+ public string StringPieceField {
+ get { return result.StringPieceField; }
+ set { SetStringPieceField(value); }
+ }
+ public Builder SetStringPieceField(string value) {
+ result.hasStringPieceField = true;
+ result.stringPieceField_ = value;
+ return this;
+ }
+ public Builder ClearStringPieceField() {
+ result.hasStringPieceField = false;
+ result.stringPieceField_ = "";
+ return this;
+ }
+
+ // optional string CordField = 6 [ctype = CORD];
+ public bool HasCordField {
+ get { return result.HasCordField; }
+ }
+ public string CordField {
+ get { return result.CordField; }
+ set { SetCordField(value); }
+ }
+ public Builder SetCordField(string value) {
+ result.hasCordField = true;
+ result.cordField_ = value;
+ return this;
+ }
+ public Builder ClearCordField() {
+ result.hasCordField = false;
+ result.cordField_ = "";
+ return this;
+ }
+
+ // repeated int32 RepeatedPrimitiveField = 7;
+ public scg::IList<int> RepeatedPrimitiveFieldList {
+ get { return pbc::Lists<int>.AsReadOnly(result.repeatedPrimitiveField_); }
+ }
+ public int RepeatedPrimitiveFieldCount {
+ get { return result.RepeatedPrimitiveFieldCount; }
+ }
+ public int GetRepeatedPrimitiveField(int index) {
+ return result.GetRepeatedPrimitiveField(index);
+ }
+ public Builder SetRepeatedPrimitiveField(int index, int value) {
+ result.repeatedPrimitiveField_[index] = value;
+ return this;
+ }
+ public Builder AddRepeatedPrimitiveField(int value) {
+ if (result.repeatedPrimitiveField_.Count == 0) {
+ result.repeatedPrimitiveField_ = new scg::List<int>();
+ }
+ result.repeatedPrimitiveField_.Add(value);
+ return this;
+ }
+ public Builder AddRangeRepeatedPrimitiveField(scg::IEnumerable<int> values) {
+ if (result.repeatedPrimitiveField_.Count == 0) {
+ result.repeatedPrimitiveField_ = new scg::List<int>();
+ }
+ base.AddRange(values, result.repeatedPrimitiveField_);
+ return this;
+ }
+ public Builder ClearRepeatedPrimitiveField() {
+ result.repeatedPrimitiveField_ = pbc::Lists<int>.Empty;
+ return this;
+ }
+
+ // repeated string RepeatedStringField = 8;
+ public scg::IList<string> RepeatedStringFieldList {
+ get { return pbc::Lists<string>.AsReadOnly(result.repeatedStringField_); }
+ }
+ public int RepeatedStringFieldCount {
+ get { return result.RepeatedStringFieldCount; }
+ }
+ public string GetRepeatedStringField(int index) {
+ return result.GetRepeatedStringField(index);
+ }
+ public Builder SetRepeatedStringField(int index, string value) {
+ result.repeatedStringField_[index] = value;
+ return this;
+ }
+ public Builder AddRepeatedStringField(string value) {
+ if (result.repeatedStringField_.Count == 0) {
+ result.repeatedStringField_ = new scg::List<string>();
+ }
+ result.repeatedStringField_.Add(value);
+ return this;
+ }
+ public Builder AddRangeRepeatedStringField(scg::IEnumerable<string> values) {
+ if (result.repeatedStringField_.Count == 0) {
+ result.repeatedStringField_ = new scg::List<string>();
+ }
+ base.AddRange(values, result.repeatedStringField_);
+ return this;
+ }
+ public Builder ClearRepeatedStringField() {
+ result.repeatedStringField_ = pbc::Lists<string>.Empty;
+ return this;
+ }
+
+ // repeated .protobuf_unittest.ForeignEnum RepeatedEnumField = 9;
+ public scg::IList<self::ForeignEnum> RepeatedEnumFieldList {
+ get { return pbc::Lists.AsReadOnly(result.repeatedEnumField_); }
+ }
+ public int RepeatedEnumFieldCount {
+ get { return result.RepeatedEnumFieldCount; }
+ }
+ public self::ForeignEnum GetRepeatedEnumField(int index) {
+ return result.GetRepeatedEnumField(index);
+ }
+ public Builder SetRepeatedEnumField(int index, self::ForeignEnum value) {
+ result.repeatedEnumField_[index] = value;
+ return this;
+ }
+ public Builder AddRepeatedEnumField(self::ForeignEnum value) {
+ if (result.repeatedEnumField_.Count == 0) {
+ result.repeatedEnumField_ = new scg::List<self::ForeignEnum>();
+ }
+ result.repeatedEnumField_.Add(value);
+ return this;
+ }
+ public Builder AddAllRepeatedEnumField(scg::IEnumerable<self::ForeignEnum> values) {
+ if (result.repeatedEnumField_.Count == 0) {
+ result.repeatedEnumField_ = new scg::List<self::ForeignEnum>();
+ }
+ base.AddRange(values, result.repeatedEnumField_);
+ return this;
+ }
+ public Builder ClearRepeatedEnumField() {
+ result.repeatedEnumField_ = pbc::Lists<self::ForeignEnum>.Empty;
+ return this;
+ }
+
+ // repeated .protobuf_unittest.ForeignMessage RepeatedMessageField = 10;
+ public scg::IList<self::ForeignMessage> RepeatedMessageFieldList {
+ get { return pbc::Lists.AsReadOnly(result.repeatedMessageField_); }
+ }
+ public int RepeatedMessageFieldCount {
+ get { return result.RepeatedMessageFieldCount; }
+ }
+ public self::ForeignMessage GetRepeatedMessageField(int index) {
+ return result.GetRepeatedMessageField(index);
+ }
+ public Builder SetRepeatedMessageField(int index, self::ForeignMessage value) {
+ result.repeatedMessageField_[index] = value;
+ return this;
+ }
+ public Builder SetRepeatedMessageField(int index, self::ForeignMessage.Builder builderForValue) {
+ result.repeatedMessageField_[index] = builderForValue.Build();
+ return this;
+ }
+ public Builder AddRepeatedMessageField(self::ForeignMessage value) {
+ if (result.repeatedMessageField_ == pbc::Lists<self::ForeignMessage>.Empty) {
+ result.repeatedMessageField_ = new scg::List<self::ForeignMessage>();
+ }
+ result.repeatedMessageField_.Add(value);
+ return this;
+ }
+ public Builder AddRepeatedMessageField(self::ForeignMessage.Builder builderForValue) {
+ if (result.repeatedMessageField_ == pbc::Lists<self::ForeignMessage>.Empty) {
+ result.repeatedMessageField_ = new scg::List<self::ForeignMessage>();
+ }
+ result.repeatedMessageField_.Add(builderForValue.Build());
+ return this;
+ }
+ public Builder AddRangeRepeatedMessageField(scg::IEnumerable<self::ForeignMessage> values) {
+ if (result.repeatedMessageField_ == pbc::Lists<self::ForeignMessage>.Empty) {
+ result.repeatedMessageField_ = new scg::List<self::ForeignMessage>();
+ }
+ base.AddRange(values, result.repeatedMessageField_);
+ return this;
+ }
+ public Builder ClearRepeatedMessageField() {
+ result.repeatedMessageField_ = pbc::Lists<self::ForeignMessage>.Empty;
+ return this;
+ }
+
+ // repeated string RepeatedStringPieceField = 11 [ctype = STRING_PIECE];
+ public scg::IList<string> RepeatedStringPieceFieldList {
+ get { return pbc::Lists<string>.AsReadOnly(result.repeatedStringPieceField_); }
+ }
+ public int RepeatedStringPieceFieldCount {
+ get { return result.RepeatedStringPieceFieldCount; }
+ }
+ public string GetRepeatedStringPieceField(int index) {
+ return result.GetRepeatedStringPieceField(index);
+ }
+ public Builder SetRepeatedStringPieceField(int index, string value) {
+ result.repeatedStringPieceField_[index] = value;
+ return this;
+ }
+ public Builder AddRepeatedStringPieceField(string value) {
+ if (result.repeatedStringPieceField_.Count == 0) {
+ result.repeatedStringPieceField_ = new scg::List<string>();
+ }
+ result.repeatedStringPieceField_.Add(value);
+ return this;
+ }
+ public Builder AddRangeRepeatedStringPieceField(scg::IEnumerable<string> values) {
+ if (result.repeatedStringPieceField_.Count == 0) {
+ result.repeatedStringPieceField_ = new scg::List<string>();
+ }
+ base.AddRange(values, result.repeatedStringPieceField_);
+ return this;
+ }
+ public Builder ClearRepeatedStringPieceField() {
+ result.repeatedStringPieceField_ = pbc::Lists<string>.Empty;
+ return this;
+ }
+
+ // repeated string RepeatedCordField = 12 [ctype = CORD];
+ public scg::IList<string> RepeatedCordFieldList {
+ get { return pbc::Lists<string>.AsReadOnly(result.repeatedCordField_); }
+ }
+ public int RepeatedCordFieldCount {
+ get { return result.RepeatedCordFieldCount; }
+ }
+ public string GetRepeatedCordField(int index) {
+ return result.GetRepeatedCordField(index);
+ }
+ public Builder SetRepeatedCordField(int index, string value) {
+ result.repeatedCordField_[index] = value;
+ return this;
+ }
+ public Builder AddRepeatedCordField(string value) {
+ if (result.repeatedCordField_.Count == 0) {
+ result.repeatedCordField_ = new scg::List<string>();
+ }
+ result.repeatedCordField_.Add(value);
+ return this;
+ }
+ public Builder AddRangeRepeatedCordField(scg::IEnumerable<string> values) {
+ if (result.repeatedCordField_.Count == 0) {
+ result.repeatedCordField_ = new scg::List<string>();
+ }
+ base.AddRange(values, result.repeatedCordField_);
+ return this;
+ }
+ public Builder ClearRepeatedCordField() {
+ result.repeatedCordField_ = pbc::Lists<string>.Empty;
+ return this;
+ }
+ }
+ }
+
+ public sealed partial class TestFieldOrderings : pb::ExtendableMessage<TestFieldOrderings, TestFieldOrderings.Builder> {
+ // Use TestFieldOrderings.CreateBuilder() to construct.
+ private TestFieldOrderings() {}
+
+ private static readonly TestFieldOrderings defaultInstance = new TestFieldOrderings();
+ public static TestFieldOrderings DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override TestFieldOrderings DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestFieldOrderings__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestFieldOrderings__FieldAccessorTable; }
+ }
+
+ // optional string my_string = 11;
+ private bool hasMyString;
+ private string myString_ = "";
+ public bool HasMyString {
+ get { return hasMyString; }
+ }
+ public string MyString {
+ get { return myString_; }
+ }
+
+ // optional int64 my_int = 1;
+ private bool hasMyInt;
+ private long myInt_ = 0L;
+ public bool HasMyInt {
+ get { return hasMyInt; }
+ }
+ public long MyInt {
+ get { return myInt_; }
+ }
+
+ // optional float my_float = 101;
+ private bool hasMyFloat;
+ private float myFloat_ = 0F;
+ public bool HasMyFloat {
+ get { return hasMyFloat; }
+ }
+ public float MyFloat {
+ get { return myFloat_; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ if (!ExtensionsAreInitialized) return false;
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ pb::ExtendableMessage<TestFieldOrderings, TestFieldOrderings.Builder>.ExtensionWriter extensionWriter = CreateExtensionWriter(this);
+ if (HasMyInt) {
+ output.WriteInt64(1, MyInt);
+ }
+ extensionWriter.WriteUntil(11, output);
+ if (HasMyString) {
+ output.WriteString(11, MyString);
+ }
+ extensionWriter.WriteUntil(101, output);
+ if (HasMyFloat) {
+ output.WriteFloat(101, MyFloat);
+ }
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (HasMyInt) {
+ size += pb::CodedOutputStream.ComputeInt64Size(1, MyInt);
+ }
+ if (HasMyString) {
+ size += pb::CodedOutputStream.ComputeStringSize(11, MyString);
+ }
+ if (HasMyFloat) {
+ size += pb::CodedOutputStream.ComputeFloatSize(101, MyFloat);
+ }
+ size += ExtensionsSerializedSize;
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::TestFieldOrderings ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestFieldOrderings ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestFieldOrderings ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestFieldOrderings parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestFieldOrderings ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestFieldOrderings ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestFieldOrderings ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestFieldOrderings ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::TestFieldOrderings> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::TestFieldOrderings prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::TestFieldOrderings, self::TestFieldOrderings.Builder>.ExtendableBuilder {
+ // Construct using self::TestFieldOrderings.CreateBuilder()
+ internal Builder() {}
+
+ self::TestFieldOrderings result = new self::TestFieldOrderings();
+
+ protected override self::TestFieldOrderings MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::TestFieldOrderings> Clear() {
+ result = new self::TestFieldOrderings();
+ return this;
+ }
+
+ public override IBuilder<self::TestFieldOrderings> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::TestFieldOrderings.Descriptor; }
+ }
+
+ public override self::TestFieldOrderings DefaultInstanceForType {
+ get { return self::TestFieldOrderings.DefaultInstance; }
+ }
+
+ public override self::TestFieldOrderings BuildPartial() {
+ self::TestFieldOrderings returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::TestFieldOrderings) {
+ return MergeFrom((self::TestFieldOrderings) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::TestFieldOrderings> MergeFrom(self::TestFieldOrderings other) {
+ if (other == self::TestFieldOrderings.DefaultInstance) return this;
+ if (other.HasMyString) {
+ MyString = other.MyString;
+ }
+ if (other.HasMyInt) {
+ MyInt = other.MyInt;
+ }
+ if (other.HasMyFloat) {
+ MyFloat = other.MyFloat;
+ }
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::TestFieldOrderings> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::TestFieldOrderings> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ case 8: {
+ MyInt = input.ReadInt64();
+ break;
+ }
+ case 90: {
+ MyString = input.ReadString();
+ break;
+ }
+ case 813: {
+ MyFloat = input.ReadFloat();
+ break;
+ }
+ }
+ }
+ }
+
+
+ // optional string my_string = 11;
+ public bool HasMyString {
+ get { return result.HasMyString; }
+ }
+ public string MyString {
+ get { return result.MyString; }
+ set { SetMyString(value); }
+ }
+ public Builder SetMyString(string value) {
+ result.hasMyString = true;
+ result.myString_ = value;
+ return this;
+ }
+ public Builder ClearMyString() {
+ result.hasMyString = false;
+ result.myString_ = "";
+ return this;
+ }
+
+ // optional int64 my_int = 1;
+ public bool HasMyInt {
+ get { return result.HasMyInt; }
+ }
+ public long MyInt {
+ get { return result.MyInt; }
+ set { SetMyInt(value); }
+ }
+ public Builder SetMyInt(long value) {
+ result.hasMyInt = true;
+ result.myInt_ = value;
+ return this;
+ }
+ public Builder ClearMyInt() {
+ result.hasMyInt = false;
+ result.myInt_ = 0L;
+ return this;
+ }
+
+ // optional float my_float = 101;
+ public bool HasMyFloat {
+ get { return result.HasMyFloat; }
+ }
+ public float MyFloat {
+ get { return result.MyFloat; }
+ set { SetMyFloat(value); }
+ }
+ public Builder SetMyFloat(float value) {
+ result.hasMyFloat = true;
+ result.myFloat_ = value;
+ return this;
+ }
+ public Builder ClearMyFloat() {
+ result.hasMyFloat = false;
+ result.myFloat_ = 0F;
+ return this;
+ }
+ }
+ }
+
+ public sealed partial class TestExtremeDefaultValues : pb::GeneratedMessage<TestExtremeDefaultValues, TestExtremeDefaultValues.Builder> {
+ // Use TestExtremeDefaultValues.CreateBuilder() to construct.
+ private TestExtremeDefaultValues() {}
+
+ private static readonly TestExtremeDefaultValues defaultInstance = new TestExtremeDefaultValues();
+ public static TestExtremeDefaultValues DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override TestExtremeDefaultValues DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestExtremeDefaultValues__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_TestExtremeDefaultValues__FieldAccessorTable; }
+ }
+
+ // optional bytes escaped_bytes = 1 [default = "\000\001\007\010\014\n\r\t\013\\\'\"\376"];
+ private bool hasEscapedBytes;
+ private pb::ByteString escapedBytes_ = ((pb::ByteString) self::TestExtremeDefaultValues.Descriptor.Fields[0].DefaultValue);
+ public bool HasEscapedBytes {
+ get { return hasEscapedBytes; }
+ }
+ public pb::ByteString EscapedBytes {
+ get { return escapedBytes_; }
+ }
+
+ // optional uint32 large_uint32 = 2 [default = 4294967295];
+ private bool hasLargeUint32;
+ private uint largeUint32_ = 4294967295;
+ public bool HasLargeUint32 {
+ get { return hasLargeUint32; }
+ }
+ public uint LargeUint32 {
+ get { return largeUint32_; }
+ }
+
+ // optional uint64 large_uint64 = 3 [default = 18446744073709551615];
+ private bool hasLargeUint64;
+ private ulong largeUint64_ = 18446744073709551615UL;
+ public bool HasLargeUint64 {
+ get { return hasLargeUint64; }
+ }
+ public ulong LargeUint64 {
+ get { return largeUint64_; }
+ }
+
+ // optional int32 small_int32 = 4 [default = -2147483647];
+ private bool hasSmallInt32;
+ private int smallInt32_ = -2147483647;
+ public bool HasSmallInt32 {
+ get { return hasSmallInt32; }
+ }
+ public int SmallInt32 {
+ get { return smallInt32_; }
+ }
+
+ // optional int64 small_int64 = 5 [default = -9223372036854775807];
+ private bool hasSmallInt64;
+ private long smallInt64_ = -9223372036854775807L;
+ public bool HasSmallInt64 {
+ get { return hasSmallInt64; }
+ }
+ public long SmallInt64 {
+ get { return smallInt64_; }
+ }
+
+ // optional string utf8_string = 6 [default = "\341\210\264"];
+ private bool hasUtf8String;
+ private string utf8String_ = ((string) self::TestExtremeDefaultValues.Descriptor.Fields[5].DefaultValue);
+ public bool HasUtf8String {
+ get { return hasUtf8String; }
+ }
+ public string Utf8String {
+ get { return utf8String_; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ if (HasEscapedBytes) {
+ output.WriteBytes(1, EscapedBytes);
+ }
+ if (HasLargeUint32) {
+ output.WriteUInt32(2, LargeUint32);
+ }
+ if (HasLargeUint64) {
+ output.WriteUInt64(3, LargeUint64);
+ }
+ if (HasSmallInt32) {
+ output.WriteInt32(4, SmallInt32);
+ }
+ if (HasSmallInt64) {
+ output.WriteInt64(5, SmallInt64);
+ }
+ if (HasUtf8String) {
+ output.WriteString(6, Utf8String);
+ }
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (HasEscapedBytes) {
+ size += pb::CodedOutputStream.ComputeBytesSize(1, EscapedBytes);
+ }
+ if (HasLargeUint32) {
+ size += pb::CodedOutputStream.ComputeUInt32Size(2, LargeUint32);
+ }
+ if (HasLargeUint64) {
+ size += pb::CodedOutputStream.ComputeUInt64Size(3, LargeUint64);
+ }
+ if (HasSmallInt32) {
+ size += pb::CodedOutputStream.ComputeInt32Size(4, SmallInt32);
+ }
+ if (HasSmallInt64) {
+ size += pb::CodedOutputStream.ComputeInt64Size(5, SmallInt64);
+ }
+ if (HasUtf8String) {
+ size += pb::CodedOutputStream.ComputeStringSize(6, Utf8String);
+ }
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::TestExtremeDefaultValues ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestExtremeDefaultValues ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestExtremeDefaultValues ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::TestExtremeDefaultValues parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestExtremeDefaultValues ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestExtremeDefaultValues ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::TestExtremeDefaultValues ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::TestExtremeDefaultValues ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::TestExtremeDefaultValues> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::TestExtremeDefaultValues prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::TestExtremeDefaultValues, Builder> {
+ // Construct using self::TestExtremeDefaultValues.CreateBuilder()
+ internal Builder() {}
+
+ self::TestExtremeDefaultValues result = new self::TestExtremeDefaultValues();
+
+ protected override self::TestExtremeDefaultValues MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::TestExtremeDefaultValues> Clear() {
+ result = new self::TestExtremeDefaultValues();
+ return this;
+ }
+
+ public override IBuilder<self::TestExtremeDefaultValues> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::TestExtremeDefaultValues.Descriptor; }
+ }
+
+ public override self::TestExtremeDefaultValues DefaultInstanceForType {
+ get { return self::TestExtremeDefaultValues.DefaultInstance; }
+ }
+
+ public override self::TestExtremeDefaultValues BuildPartial() {
+ self::TestExtremeDefaultValues returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::TestExtremeDefaultValues) {
+ return MergeFrom((self::TestExtremeDefaultValues) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::TestExtremeDefaultValues> MergeFrom(self::TestExtremeDefaultValues other) {
+ if (other == self::TestExtremeDefaultValues.DefaultInstance) return this;
+ if (other.HasEscapedBytes) {
+ EscapedBytes = other.EscapedBytes;
+ }
+ if (other.HasLargeUint32) {
+ LargeUint32 = other.LargeUint32;
+ }
+ if (other.HasLargeUint64) {
+ LargeUint64 = other.LargeUint64;
+ }
+ if (other.HasSmallInt32) {
+ SmallInt32 = other.SmallInt32;
+ }
+ if (other.HasSmallInt64) {
+ SmallInt64 = other.SmallInt64;
+ }
+ if (other.HasUtf8String) {
+ Utf8String = other.Utf8String;
+ }
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::TestExtremeDefaultValues> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::TestExtremeDefaultValues> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ case 10: {
+ EscapedBytes = input.ReadBytes();
+ break;
+ }
+ case 16: {
+ LargeUint32 = input.ReadUInt32();
+ break;
+ }
+ case 24: {
+ LargeUint64 = input.ReadUInt64();
+ break;
+ }
+ case 32: {
+ SmallInt32 = input.ReadInt32();
+ break;
+ }
+ case 40: {
+ SmallInt64 = input.ReadInt64();
+ break;
+ }
+ case 50: {
+ Utf8String = input.ReadString();
+ break;
+ }
+ }
+ }
+ }
+
+
+ // optional bytes escaped_bytes = 1 [default = "\000\001\007\010\014\n\r\t\013\\\'\"\376"];
+ public bool HasEscapedBytes {
+ get { return result.HasEscapedBytes; }
+ }
+ public pb::ByteString EscapedBytes {
+ get { return result.EscapedBytes; }
+ set { SetEscapedBytes(value); }
+ }
+ public Builder SetEscapedBytes(pb::ByteString value) {
+ result.hasEscapedBytes = true;
+ result.escapedBytes_ = value;
+ return this;
+ }
+ public Builder ClearEscapedBytes() {
+ result.hasEscapedBytes = false;
+ result.escapedBytes_ = ((pb::ByteString) self::TestExtremeDefaultValues.Descriptor.Fields[0].DefaultValue);
+ return this;
+ }
+
+ // optional uint32 large_uint32 = 2 [default = 4294967295];
+ public bool HasLargeUint32 {
+ get { return result.HasLargeUint32; }
+ }
+ public uint LargeUint32 {
+ get { return result.LargeUint32; }
+ set { SetLargeUint32(value); }
+ }
+ public Builder SetLargeUint32(uint value) {
+ result.hasLargeUint32 = true;
+ result.largeUint32_ = value;
+ return this;
+ }
+ public Builder ClearLargeUint32() {
+ result.hasLargeUint32 = false;
+ result.largeUint32_ = 4294967295;
+ return this;
+ }
+
+ // optional uint64 large_uint64 = 3 [default = 18446744073709551615];
+ public bool HasLargeUint64 {
+ get { return result.HasLargeUint64; }
+ }
+ public ulong LargeUint64 {
+ get { return result.LargeUint64; }
+ set { SetLargeUint64(value); }
+ }
+ public Builder SetLargeUint64(ulong value) {
+ result.hasLargeUint64 = true;
+ result.largeUint64_ = value;
+ return this;
+ }
+ public Builder ClearLargeUint64() {
+ result.hasLargeUint64 = false;
+ result.largeUint64_ = 18446744073709551615UL;
+ return this;
+ }
+
+ // optional int32 small_int32 = 4 [default = -2147483647];
+ public bool HasSmallInt32 {
+ get { return result.HasSmallInt32; }
+ }
+ public int SmallInt32 {
+ get { return result.SmallInt32; }
+ set { SetSmallInt32(value); }
+ }
+ public Builder SetSmallInt32(int value) {
+ result.hasSmallInt32 = true;
+ result.smallInt32_ = value;
+ return this;
+ }
+ public Builder ClearSmallInt32() {
+ result.hasSmallInt32 = false;
+ result.smallInt32_ = -2147483647;
+ return this;
+ }
+
+ // optional int64 small_int64 = 5 [default = -9223372036854775807];
+ public bool HasSmallInt64 {
+ get { return result.HasSmallInt64; }
+ }
+ public long SmallInt64 {
+ get { return result.SmallInt64; }
+ set { SetSmallInt64(value); }
+ }
+ public Builder SetSmallInt64(long value) {
+ result.hasSmallInt64 = true;
+ result.smallInt64_ = value;
+ return this;
+ }
+ public Builder ClearSmallInt64() {
+ result.hasSmallInt64 = false;
+ result.smallInt64_ = -9223372036854775807L;
+ return this;
+ }
+
+ // optional string utf8_string = 6 [default = "\341\210\264"];
+ public bool HasUtf8String {
+ get { return result.HasUtf8String; }
+ }
+ public string Utf8String {
+ get { return result.Utf8String; }
+ set { SetUtf8String(value); }
+ }
+ public Builder SetUtf8String(string value) {
+ result.hasUtf8String = true;
+ result.utf8String_ = value;
+ return this;
+ }
+ public Builder ClearUtf8String() {
+ result.hasUtf8String = false;
+ result.utf8String_ = ((string) self::TestExtremeDefaultValues.Descriptor.Fields[5].DefaultValue);
+ return this;
+ }
+ }
+ }
+
+ public sealed partial class FooRequest : pb::GeneratedMessage<FooRequest, FooRequest.Builder> {
+ // Use FooRequest.CreateBuilder() to construct.
+ private FooRequest() {}
+
+ private static readonly FooRequest defaultInstance = new FooRequest();
+ public static FooRequest DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override FooRequest DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_FooRequest__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_FooRequest__FieldAccessorTable; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::FooRequest ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::FooRequest ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::FooRequest ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::FooRequest parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::FooRequest ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::FooRequest ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::FooRequest ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::FooRequest ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::FooRequest> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::FooRequest prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::FooRequest, Builder> {
+ // Construct using self::FooRequest.CreateBuilder()
+ internal Builder() {}
+
+ self::FooRequest result = new self::FooRequest();
+
+ protected override self::FooRequest MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::FooRequest> Clear() {
+ result = new self::FooRequest();
+ return this;
+ }
+
+ public override IBuilder<self::FooRequest> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::FooRequest.Descriptor; }
+ }
+
+ public override self::FooRequest DefaultInstanceForType {
+ get { return self::FooRequest.DefaultInstance; }
+ }
+
+ public override self::FooRequest BuildPartial() {
+ self::FooRequest returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::FooRequest) {
+ return MergeFrom((self::FooRequest) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::FooRequest> MergeFrom(self::FooRequest other) {
+ if (other == self::FooRequest.DefaultInstance) return this;
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::FooRequest> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::FooRequest> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ }
+ }
+ }
+
+ }
+ }
+
+ public sealed partial class FooResponse : pb::GeneratedMessage<FooResponse, FooResponse.Builder> {
+ // Use FooResponse.CreateBuilder() to construct.
+ private FooResponse() {}
+
+ private static readonly FooResponse defaultInstance = new FooResponse();
+ public static FooResponse DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override FooResponse DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_FooResponse__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_FooResponse__FieldAccessorTable; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::FooResponse ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::FooResponse ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::FooResponse ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::FooResponse parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::FooResponse ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::FooResponse ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::FooResponse ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::FooResponse ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::FooResponse> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::FooResponse prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::FooResponse, Builder> {
+ // Construct using self::FooResponse.CreateBuilder()
+ internal Builder() {}
+
+ self::FooResponse result = new self::FooResponse();
+
+ protected override self::FooResponse MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::FooResponse> Clear() {
+ result = new self::FooResponse();
+ return this;
+ }
+
+ public override IBuilder<self::FooResponse> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::FooResponse.Descriptor; }
+ }
+
+ public override self::FooResponse DefaultInstanceForType {
+ get { return self::FooResponse.DefaultInstance; }
+ }
+
+ public override self::FooResponse BuildPartial() {
+ self::FooResponse returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::FooResponse) {
+ return MergeFrom((self::FooResponse) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::FooResponse> MergeFrom(self::FooResponse other) {
+ if (other == self::FooResponse.DefaultInstance) return this;
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::FooResponse> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::FooResponse> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ }
+ }
+ }
+
+ }
+ }
+
+ public sealed partial class BarRequest : pb::GeneratedMessage<BarRequest, BarRequest.Builder> {
+ // Use BarRequest.CreateBuilder() to construct.
+ private BarRequest() {}
+
+ private static readonly BarRequest defaultInstance = new BarRequest();
+ public static BarRequest DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override BarRequest DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_BarRequest__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_BarRequest__FieldAccessorTable; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::BarRequest ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::BarRequest ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::BarRequest ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::BarRequest parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::BarRequest ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::BarRequest ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::BarRequest ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::BarRequest ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::BarRequest> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::BarRequest prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::BarRequest, Builder> {
+ // Construct using self::BarRequest.CreateBuilder()
+ internal Builder() {}
+
+ self::BarRequest result = new self::BarRequest();
+
+ protected override self::BarRequest MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::BarRequest> Clear() {
+ result = new self::BarRequest();
+ return this;
+ }
+
+ public override IBuilder<self::BarRequest> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::BarRequest.Descriptor; }
+ }
+
+ public override self::BarRequest DefaultInstanceForType {
+ get { return self::BarRequest.DefaultInstance; }
+ }
+
+ public override self::BarRequest BuildPartial() {
+ self::BarRequest returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::BarRequest) {
+ return MergeFrom((self::BarRequest) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::BarRequest> MergeFrom(self::BarRequest other) {
+ if (other == self::BarRequest.DefaultInstance) return this;
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::BarRequest> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::BarRequest> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ }
+ }
+ }
+
+ }
+ }
+
+ public sealed partial class BarResponse : pb::GeneratedMessage<BarResponse, BarResponse.Builder> {
+ // Use BarResponse.CreateBuilder() to construct.
+ private BarResponse() {}
+
+ private static readonly BarResponse defaultInstance = new BarResponse();
+ public static BarResponse DefaultInstance {
+ get { return defaultInstance; }
+ }
+
+ public override BarResponse DefaultInstanceForType {
+ get { return defaultInstance; }
+ }
+
+ public static pbd::MessageDescriptor Descriptor {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_BarResponse__Descriptor; }
+ }
+
+ protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ get { return self::UnitTestProtoFile.internal__static_protobuf_unittest_BarResponse__FieldAccessorTable; }
+ }
+
+ public override bool IsInitialized {
+ get {
+ return true;
+ }
+ }
+
+ public override void WriteTo(pb::CodedOutputStream output) {
+ UnknownFields.WriteTo(output);
+ }
+
+ private int memoizedSerializedSize = -1;
+ public override int SerializedSize {
+ get {
+ int size = memoizedSerializedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ size += UnknownFields.SerializedSize;
+ memoizedSerializedSize = size;
+ return size;
+ }
+ }
+
+ public static self::BarResponse ParseFrom(pb::ByteString data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::BarResponse ParseFrom(pb::ByteString data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::BarResponse ParseFrom(byte[] data) {
+ return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();
+ }
+ public static self::BarResponse parseFrom(byte[] data,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::BarResponse ParseFrom(global::System.IO.Stream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::BarResponse ParseFrom(
+ global::System.IO.Stream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+ public static self::BarResponse ParseFrom(pb::CodedInputStream input) {
+ return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
+ }
+ public static self::BarResponse ParseFrom(pb::CodedInputStream input,
+ pb::ExtensionRegistry extensionRegistry) {
+ return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry))
+ .BuildParsed();
+ }
+
+ public static Builder CreateBuilder() { return new Builder(); }
+ public override IBuilder<self::BarResponse> CreateBuilderForType() { return new Builder(); }
+ public static Builder CreateBuilder(self::BarResponse prototype) {
+ return (Builder) new Builder().MergeFrom(prototype);
+ }
+
+ public sealed partial class Builder : pb::GeneratedBuilder<self::BarResponse, Builder> {
+ // Construct using self::BarResponse.CreateBuilder()
+ internal Builder() {}
+
+ self::BarResponse result = new self::BarResponse();
+
+ protected override self::BarResponse MessageBeingBuilt {
+ get { return result; }
+ }
+
+ public override IBuilder<self::BarResponse> Clear() {
+ result = new self::BarResponse();
+ return this;
+ }
+
+ public override IBuilder<self::BarResponse> Clone() {
+ return new Builder().MergeFrom(result);
+ }
+
+ public override pbd::MessageDescriptor DescriptorForType {
+ get { return self::BarResponse.Descriptor; }
+ }
+
+ public override self::BarResponse DefaultInstanceForType {
+ get { return self::BarResponse.DefaultInstance; }
+ }
+
+ public override self::BarResponse BuildPartial() {
+ self::BarResponse returnMe = result;
+ result = null;
+ return returnMe;
+ }
+
+ public override IBuilder MergeFrom(pb::IMessage other) {
+ if (other is self::BarResponse) {
+ return MergeFrom((self::BarResponse) other);
+ } else {
+ base.MergeFrom(other);
+ return this;
+ }
+ }
+
+ public override IBuilder<self::BarResponse> MergeFrom(self::BarResponse other) {
+ if (other == self::BarResponse.DefaultInstance) return this;
+ this.MergeUnknownFields(other.UnknownFields);
+ return this;
+ }
+
+ public override IBuilder<self::BarResponse> MergeFrom(pb::CodedInputStream input) {
+ return MergeFrom(input, pb::ExtensionRegistry.Empty);
+ }
+
+ public override IBuilder<self::BarResponse> MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ pb::UnknownFieldSet.Builder unknownFields =
+ pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ while (true) {
+ uint tag = input.ReadTag();
+ switch (tag) {
+ case 0:
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ default: {
+ if (!ParseUnknownField(input, unknownFields,
+ extensionRegistry, tag)) {
+ this.UnknownFields = unknownFields.Build();
+ return this;
+ }
+ break;
+ }
+ }
+ }
+ }
+
+ }
+ }
+
+ #endregion
+
+ #region Services
+ public abstract class TestService : pb::IService {
+ public abstract void Foo(
+ pb::IRpcController controller,
+ self::FooRequest request,
+ global::System.Action<self::FooResponse> done);
+ public abstract void Bar(
+ pb::IRpcController controller,
+ self::BarRequest request,
+ global::System.Action<self::BarResponse> done);
+
+ public static pbd::ServiceDescriptor Descriptor {
+ get { return self::UnitTestProtoFile.Descriptor.Services[0]; }
+ }
+ public pbd::ServiceDescriptor DescriptorForType {
+ get { return Descriptor; }
+ }
+
+ public void CallMethod(
+ pbd::MethodDescriptor method,
+ pb::IRpcController controller,
+ pb::IMessage request,
+ global::System.Action<pb::IMessage> done) {
+ if (method.Service != Descriptor) {
+ throw new global::System.ArgumentException(
+ "Service.CallMethod() given method descriptor for wrong " +
+ "service type.");
+ }
+ switch(method.Index) {
+ case 0:
+ this.Foo(controller, (self::FooRequest)request,
+ pb::RpcUtil.SpecializeCallback<self::FooResponse>(
+ done));
+ return;
+ case 1:
+ this.Bar(controller, (self::BarRequest)request,
+ pb::RpcUtil.SpecializeCallback<self::BarResponse>(
+ done));
+ return;
+ default:
+ throw new global::System.InvalidOperationException("Can't get here.");
+ }
+ }
+
+ public pb::IMessage GetRequestPrototype(pbd::MethodDescriptor method) {
+ if (method.Service != Descriptor) {
+ throw new global::System.ArgumentException(
+ "Service.GetRequestPrototype() given method " +
+ "descriptor for wrong service type.");
+ }
+ switch(method.Index) {
+ case 0:
+ return self::FooRequest.DefaultInstance;
+ case 1:
+ return self::BarRequest.DefaultInstance;
+ default:
+ throw new global::System.ArgumentException("Can't get here.");
+ }
+ }
+
+ public pb::IMessage GetResponsePrototype(pbd::MethodDescriptor method) {
+ if (method.Service != Descriptor) {
+ throw new global::System.ArgumentException(
+ "Service.GetResponsePrototype() given method " +
+ "descriptor for wrong service type.");
+ }
+ switch(method.Index) {
+ case 0:
+ return self::FooResponse.DefaultInstance;
+ case 1:
+ return self::BarResponse.DefaultInstance;
+ default:
+ throw new global::System.ArgumentException("Can't get here.");
+ }
+ }
+
+ public static Stub CreateStub(
+ pb::IRpcChannel channel) {
+ return new Stub(channel);
+ }
+
+ public class Stub : self::TestService {
+ internal Stub(pb::IRpcChannel channel) {
+ this.channel = channel;
+ }
+
+ private readonly pb::IRpcChannel channel;
+
+ public pb::IRpcChannel Channel {
+ get { return channel; }
+ }
+
+ public override void Foo(
+ pb::IRpcController controller,
+ self::FooRequest request,
+ global::System.Action<self::FooResponse> done) {
+ channel.CallMethod(
+ Descriptor.Methods[0],
+ controller,
+ request,
+ self::FooResponse.DefaultInstance,
+ pb::RpcUtil.GeneralizeCallback(done, self::FooResponse.DefaultInstance));
+ }
+
+ public override void Bar(
+ pb::IRpcController controller,
+ self::BarRequest request,
+ global::System.Action<self::BarResponse> done) {
+ channel.CallMethod(
+ Descriptor.Methods[1],
+ controller,
+ request,
+ self::BarResponse.DefaultInstance,
+ pb::RpcUtil.GeneralizeCallback(done, self::BarResponse.DefaultInstance));
+ }
+ }
+ }
+
+ #endregion
+}
diff --git a/csharp/ProtocolBuffers.Test/TestUtil.cs b/csharp/ProtocolBuffers.Test/TestUtil.cs
new file mode 100644
index 00000000..40ad878d
--- /dev/null
+++ b/csharp/ProtocolBuffers.Test/TestUtil.cs
@@ -0,0 +1,32 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.IO;
+
+namespace Google.ProtocolBuffers {
+ internal static class TestUtil {
+
+ private static DirectoryInfo testDataDirectory;
+
+ internal static DirectoryInfo TestDataDirectory {
+ get {
+ if (testDataDirectory != null) {
+ return testDataDirectory;
+ }
+
+ DirectoryInfo ancestor = new DirectoryInfo(".");
+ // Search each parent directory looking for "src/google/protobuf".
+ while (ancestor != null) {
+ string candidate = Path.Combine(ancestor.FullName, "src/google/protobuf");
+ if (Directory.Exists(candidate)) {
+ testDataDirectory = new DirectoryInfo(candidate);
+ return testDataDirectory;
+ }
+ ancestor = ancestor.Parent;
+ }
+ // TODO(jonskeet): Come up with a better exception to throw
+ throw new Exception("Unable to find directory containing test files");
+ }
+ }
+ }
+}