aboutsummaryrefslogtreecommitdiff
path: root/src/ProtocolBuffers.Test/TestProtos/UnitTestCustomOptionsProtoFile.cs
diff options
context:
space:
mode:
authorcsharptest <roger@csharptest.net>2011-09-09 21:05:29 -0500
committerrogerk <devnull@localhost>2011-09-09 21:05:29 -0500
commit1a0764ab27ae7189ae4b2b8a1d9f7a0599568282 (patch)
tree413ef5d6826ce9ba6568a1696a9ada8aaad1f17f /src/ProtocolBuffers.Test/TestProtos/UnitTestCustomOptionsProtoFile.cs
parent8f0dcf3df1548a1eff0bed54a9b992f55b8f72d5 (diff)
downloadprotobuf-1a0764ab27ae7189ae4b2b8a1d9f7a0599568282.tar.gz
protobuf-1a0764ab27ae7189ae4b2b8a1d9f7a0599568282.tar.bz2
protobuf-1a0764ab27ae7189ae4b2b8a1d9f7a0599568282.zip
First pass at implementation and testing of reusable builders.
Diffstat (limited to 'src/ProtocolBuffers.Test/TestProtos/UnitTestCustomOptionsProtoFile.cs')
-rw-r--r--src/ProtocolBuffers.Test/TestProtos/UnitTestCustomOptionsProtoFile.cs880
1 files changed, 693 insertions, 187 deletions
diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestCustomOptionsProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestCustomOptionsProtoFile.cs
index 0b1be422..bc29da26 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestCustomOptionsProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestCustomOptionsProtoFile.cs
@@ -513,7 +513,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder ToBuilder() { return CreateBuilder(this); }
public override Builder CreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder(TestMessageWithCustomOptions prototype) {
- return (Builder) new Builder().MergeFrom(prototype);
+ return new Builder(prototype);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
@@ -523,21 +523,48 @@ namespace Google.ProtocolBuffers.TestProtos {
protected override Builder ThisBuilder {
get { return this; }
}
- public Builder() {}
+ public Builder() {
+ result = DefaultInstance ?? new TestMessageWithCustomOptions();
+ builderIsReadOnly = result == DefaultInstance;
+ }
+ internal Builder(TestMessageWithCustomOptions cloneFrom) {
+ result = cloneFrom;
+ builderIsReadOnly = true;
+ }
+
+ bool builderIsReadOnly;
+ TestMessageWithCustomOptions result;
+
+ private TestMessageWithCustomOptions PrepareBuilder() {
+ if (builderIsReadOnly) {
+ TestMessageWithCustomOptions original = result;
+ result = new TestMessageWithCustomOptions();
+ builderIsReadOnly = false;
+ MergeFrom(original);
+ }
+ return result;
+ }
- TestMessageWithCustomOptions result = new TestMessageWithCustomOptions();
+ public override bool IsInitialized {
+ get { return result.IsInitialized; }
+ }
protected override TestMessageWithCustomOptions MessageBeingBuilt {
- get { return result; }
+ get { return PrepareBuilder(); }
}
public override Builder Clear() {
- result = new TestMessageWithCustomOptions();
+ result = DefaultInstance ?? new TestMessageWithCustomOptions();
+ builderIsReadOnly = true;
return this;
}
public override Builder Clone() {
- return new Builder().MergeFrom(result);
+ if (builderIsReadOnly) {
+ return new Builder(result);
+ } else {
+ return new Builder().MergeFrom(result);
+ }
}
public override pbd::MessageDescriptor DescriptorForType {
@@ -549,12 +576,11 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override TestMessageWithCustomOptions BuildPartial() {
- if (result == null) {
- throw new global::System.InvalidOperationException("build() has already been called on this Builder");
+ if (builderIsReadOnly) {
+ return result;
}
- TestMessageWithCustomOptions returnMe = result;
- result = null;
- return returnMe;
+ builderIsReadOnly = true;
+ return result;
}
public override Builder MergeFrom(pb::IMessage other) {
@@ -568,6 +594,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder MergeFrom(TestMessageWithCustomOptions other) {
if (other == global::Google.ProtocolBuffers.TestProtos.TestMessageWithCustomOptions.DefaultInstance) return this;
+ PrepareBuilder();
if (other.HasField1) {
Field1 = other.Field1;
}
@@ -580,6 +607,7 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ PrepareBuilder();
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -636,11 +664,13 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public Builder SetField1(string value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
+ PrepareBuilder();
result.hasField1 = true;
result.field1_ = value;
return this;
}
public Builder ClearField1() {
+ PrepareBuilder();
result.hasField1 = false;
result.field1_ = "";
return this;
@@ -737,7 +767,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder ToBuilder() { return CreateBuilder(this); }
public override Builder CreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder(CustomOptionFooRequest prototype) {
- return (Builder) new Builder().MergeFrom(prototype);
+ return new Builder(prototype);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
@@ -747,21 +777,48 @@ namespace Google.ProtocolBuffers.TestProtos {
protected override Builder ThisBuilder {
get { return this; }
}
- public Builder() {}
+ public Builder() {
+ result = DefaultInstance ?? new CustomOptionFooRequest();
+ builderIsReadOnly = result == DefaultInstance;
+ }
+ internal Builder(CustomOptionFooRequest cloneFrom) {
+ result = cloneFrom;
+ builderIsReadOnly = true;
+ }
+
+ bool builderIsReadOnly;
+ CustomOptionFooRequest result;
+
+ private CustomOptionFooRequest PrepareBuilder() {
+ if (builderIsReadOnly) {
+ CustomOptionFooRequest original = result;
+ result = new CustomOptionFooRequest();
+ builderIsReadOnly = false;
+ MergeFrom(original);
+ }
+ return result;
+ }
- CustomOptionFooRequest result = new CustomOptionFooRequest();
+ public override bool IsInitialized {
+ get { return result.IsInitialized; }
+ }
protected override CustomOptionFooRequest MessageBeingBuilt {
- get { return result; }
+ get { return PrepareBuilder(); }
}
public override Builder Clear() {
- result = new CustomOptionFooRequest();
+ result = DefaultInstance ?? new CustomOptionFooRequest();
+ builderIsReadOnly = true;
return this;
}
public override Builder Clone() {
- return new Builder().MergeFrom(result);
+ if (builderIsReadOnly) {
+ return new Builder(result);
+ } else {
+ return new Builder().MergeFrom(result);
+ }
}
public override pbd::MessageDescriptor DescriptorForType {
@@ -773,12 +830,11 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override CustomOptionFooRequest BuildPartial() {
- if (result == null) {
- throw new global::System.InvalidOperationException("build() has already been called on this Builder");
+ if (builderIsReadOnly) {
+ return result;
}
- CustomOptionFooRequest returnMe = result;
- result = null;
- return returnMe;
+ builderIsReadOnly = true;
+ return result;
}
public override Builder MergeFrom(pb::IMessage other) {
@@ -792,6 +848,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder MergeFrom(CustomOptionFooRequest other) {
if (other == global::Google.ProtocolBuffers.TestProtos.CustomOptionFooRequest.DefaultInstance) return this;
+ PrepareBuilder();
this.MergeUnknownFields(other.UnknownFields);
return this;
}
@@ -801,6 +858,7 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ PrepareBuilder();
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -935,7 +993,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder ToBuilder() { return CreateBuilder(this); }
public override Builder CreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder(CustomOptionFooResponse prototype) {
- return (Builder) new Builder().MergeFrom(prototype);
+ return new Builder(prototype);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
@@ -945,21 +1003,48 @@ namespace Google.ProtocolBuffers.TestProtos {
protected override Builder ThisBuilder {
get { return this; }
}
- public Builder() {}
+ public Builder() {
+ result = DefaultInstance ?? new CustomOptionFooResponse();
+ builderIsReadOnly = result == DefaultInstance;
+ }
+ internal Builder(CustomOptionFooResponse cloneFrom) {
+ result = cloneFrom;
+ builderIsReadOnly = true;
+ }
- CustomOptionFooResponse result = new CustomOptionFooResponse();
+ bool builderIsReadOnly;
+ CustomOptionFooResponse result;
+
+ private CustomOptionFooResponse PrepareBuilder() {
+ if (builderIsReadOnly) {
+ CustomOptionFooResponse original = result;
+ result = new CustomOptionFooResponse();
+ builderIsReadOnly = false;
+ MergeFrom(original);
+ }
+ return result;
+ }
+
+ public override bool IsInitialized {
+ get { return result.IsInitialized; }
+ }
protected override CustomOptionFooResponse MessageBeingBuilt {
- get { return result; }
+ get { return PrepareBuilder(); }
}
public override Builder Clear() {
- result = new CustomOptionFooResponse();
+ result = DefaultInstance ?? new CustomOptionFooResponse();
+ builderIsReadOnly = true;
return this;
}
public override Builder Clone() {
- return new Builder().MergeFrom(result);
+ if (builderIsReadOnly) {
+ return new Builder(result);
+ } else {
+ return new Builder().MergeFrom(result);
+ }
}
public override pbd::MessageDescriptor DescriptorForType {
@@ -971,12 +1056,11 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override CustomOptionFooResponse BuildPartial() {
- if (result == null) {
- throw new global::System.InvalidOperationException("build() has already been called on this Builder");
+ if (builderIsReadOnly) {
+ return result;
}
- CustomOptionFooResponse returnMe = result;
- result = null;
- return returnMe;
+ builderIsReadOnly = true;
+ return result;
}
public override Builder MergeFrom(pb::IMessage other) {
@@ -990,6 +1074,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder MergeFrom(CustomOptionFooResponse other) {
if (other == global::Google.ProtocolBuffers.TestProtos.CustomOptionFooResponse.DefaultInstance) return this;
+ PrepareBuilder();
this.MergeUnknownFields(other.UnknownFields);
return this;
}
@@ -999,6 +1084,7 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ PrepareBuilder();
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -1148,7 +1234,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder ToBuilder() { return CreateBuilder(this); }
public override Builder CreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder(DummyMessageContainingEnum prototype) {
- return (Builder) new Builder().MergeFrom(prototype);
+ return new Builder(prototype);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
@@ -1158,21 +1244,48 @@ namespace Google.ProtocolBuffers.TestProtos {
protected override Builder ThisBuilder {
get { return this; }
}
- public Builder() {}
+ public Builder() {
+ result = DefaultInstance ?? new DummyMessageContainingEnum();
+ builderIsReadOnly = result == DefaultInstance;
+ }
+ internal Builder(DummyMessageContainingEnum cloneFrom) {
+ result = cloneFrom;
+ builderIsReadOnly = true;
+ }
- DummyMessageContainingEnum result = new DummyMessageContainingEnum();
+ bool builderIsReadOnly;
+ DummyMessageContainingEnum result;
+
+ private DummyMessageContainingEnum PrepareBuilder() {
+ if (builderIsReadOnly) {
+ DummyMessageContainingEnum original = result;
+ result = new DummyMessageContainingEnum();
+ builderIsReadOnly = false;
+ MergeFrom(original);
+ }
+ return result;
+ }
+
+ public override bool IsInitialized {
+ get { return result.IsInitialized; }
+ }
protected override DummyMessageContainingEnum MessageBeingBuilt {
- get { return result; }
+ get { return PrepareBuilder(); }
}
public override Builder Clear() {
- result = new DummyMessageContainingEnum();
+ result = DefaultInstance ?? new DummyMessageContainingEnum();
+ builderIsReadOnly = true;
return this;
}
public override Builder Clone() {
- return new Builder().MergeFrom(result);
+ if (builderIsReadOnly) {
+ return new Builder(result);
+ } else {
+ return new Builder().MergeFrom(result);
+ }
}
public override pbd::MessageDescriptor DescriptorForType {
@@ -1184,12 +1297,11 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override DummyMessageContainingEnum BuildPartial() {
- if (result == null) {
- throw new global::System.InvalidOperationException("build() has already been called on this Builder");
+ if (builderIsReadOnly) {
+ return result;
}
- DummyMessageContainingEnum returnMe = result;
- result = null;
- return returnMe;
+ builderIsReadOnly = true;
+ return result;
}
public override Builder MergeFrom(pb::IMessage other) {
@@ -1203,6 +1315,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder MergeFrom(DummyMessageContainingEnum other) {
if (other == global::Google.ProtocolBuffers.TestProtos.DummyMessageContainingEnum.DefaultInstance) return this;
+ PrepareBuilder();
this.MergeUnknownFields(other.UnknownFields);
return this;
}
@@ -1212,6 +1325,7 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ PrepareBuilder();
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -1346,7 +1460,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder ToBuilder() { return CreateBuilder(this); }
public override Builder CreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder(DummyMessageInvalidAsOptionType prototype) {
- return (Builder) new Builder().MergeFrom(prototype);
+ return new Builder(prototype);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
@@ -1356,21 +1470,48 @@ namespace Google.ProtocolBuffers.TestProtos {
protected override Builder ThisBuilder {
get { return this; }
}
- public Builder() {}
+ public Builder() {
+ result = DefaultInstance ?? new DummyMessageInvalidAsOptionType();
+ builderIsReadOnly = result == DefaultInstance;
+ }
+ internal Builder(DummyMessageInvalidAsOptionType cloneFrom) {
+ result = cloneFrom;
+ builderIsReadOnly = true;
+ }
- DummyMessageInvalidAsOptionType result = new DummyMessageInvalidAsOptionType();
+ bool builderIsReadOnly;
+ DummyMessageInvalidAsOptionType result;
+
+ private DummyMessageInvalidAsOptionType PrepareBuilder() {
+ if (builderIsReadOnly) {
+ DummyMessageInvalidAsOptionType original = result;
+ result = new DummyMessageInvalidAsOptionType();
+ builderIsReadOnly = false;
+ MergeFrom(original);
+ }
+ return result;
+ }
+
+ public override bool IsInitialized {
+ get { return result.IsInitialized; }
+ }
protected override DummyMessageInvalidAsOptionType MessageBeingBuilt {
- get { return result; }
+ get { return PrepareBuilder(); }
}
public override Builder Clear() {
- result = new DummyMessageInvalidAsOptionType();
+ result = DefaultInstance ?? new DummyMessageInvalidAsOptionType();
+ builderIsReadOnly = true;
return this;
}
public override Builder Clone() {
- return new Builder().MergeFrom(result);
+ if (builderIsReadOnly) {
+ return new Builder(result);
+ } else {
+ return new Builder().MergeFrom(result);
+ }
}
public override pbd::MessageDescriptor DescriptorForType {
@@ -1382,12 +1523,11 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override DummyMessageInvalidAsOptionType BuildPartial() {
- if (result == null) {
- throw new global::System.InvalidOperationException("build() has already been called on this Builder");
+ if (builderIsReadOnly) {
+ return result;
}
- DummyMessageInvalidAsOptionType returnMe = result;
- result = null;
- return returnMe;
+ builderIsReadOnly = true;
+ return result;
}
public override Builder MergeFrom(pb::IMessage other) {
@@ -1401,6 +1541,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder MergeFrom(DummyMessageInvalidAsOptionType other) {
if (other == global::Google.ProtocolBuffers.TestProtos.DummyMessageInvalidAsOptionType.DefaultInstance) return this;
+ PrepareBuilder();
this.MergeUnknownFields(other.UnknownFields);
return this;
}
@@ -1410,6 +1551,7 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ PrepareBuilder();
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -1544,7 +1686,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder ToBuilder() { return CreateBuilder(this); }
public override Builder CreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder(CustomOptionMinIntegerValues prototype) {
- return (Builder) new Builder().MergeFrom(prototype);
+ return new Builder(prototype);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
@@ -1554,21 +1696,48 @@ namespace Google.ProtocolBuffers.TestProtos {
protected override Builder ThisBuilder {
get { return this; }
}
- public Builder() {}
+ public Builder() {
+ result = DefaultInstance ?? new CustomOptionMinIntegerValues();
+ builderIsReadOnly = result == DefaultInstance;
+ }
+ internal Builder(CustomOptionMinIntegerValues cloneFrom) {
+ result = cloneFrom;
+ builderIsReadOnly = true;
+ }
- CustomOptionMinIntegerValues result = new CustomOptionMinIntegerValues();
+ bool builderIsReadOnly;
+ CustomOptionMinIntegerValues result;
+
+ private CustomOptionMinIntegerValues PrepareBuilder() {
+ if (builderIsReadOnly) {
+ CustomOptionMinIntegerValues original = result;
+ result = new CustomOptionMinIntegerValues();
+ builderIsReadOnly = false;
+ MergeFrom(original);
+ }
+ return result;
+ }
+
+ public override bool IsInitialized {
+ get { return result.IsInitialized; }
+ }
protected override CustomOptionMinIntegerValues MessageBeingBuilt {
- get { return result; }
+ get { return PrepareBuilder(); }
}
public override Builder Clear() {
- result = new CustomOptionMinIntegerValues();
+ result = DefaultInstance ?? new CustomOptionMinIntegerValues();
+ builderIsReadOnly = true;
return this;
}
public override Builder Clone() {
- return new Builder().MergeFrom(result);
+ if (builderIsReadOnly) {
+ return new Builder(result);
+ } else {
+ return new Builder().MergeFrom(result);
+ }
}
public override pbd::MessageDescriptor DescriptorForType {
@@ -1580,12 +1749,11 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override CustomOptionMinIntegerValues BuildPartial() {
- if (result == null) {
- throw new global::System.InvalidOperationException("build() has already been called on this Builder");
+ if (builderIsReadOnly) {
+ return result;
}
- CustomOptionMinIntegerValues returnMe = result;
- result = null;
- return returnMe;
+ builderIsReadOnly = true;
+ return result;
}
public override Builder MergeFrom(pb::IMessage other) {
@@ -1599,6 +1767,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder MergeFrom(CustomOptionMinIntegerValues other) {
if (other == global::Google.ProtocolBuffers.TestProtos.CustomOptionMinIntegerValues.DefaultInstance) return this;
+ PrepareBuilder();
this.MergeUnknownFields(other.UnknownFields);
return this;
}
@@ -1608,6 +1777,7 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ PrepareBuilder();
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -1742,7 +1912,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder ToBuilder() { return CreateBuilder(this); }
public override Builder CreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder(CustomOptionMaxIntegerValues prototype) {
- return (Builder) new Builder().MergeFrom(prototype);
+ return new Builder(prototype);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
@@ -1752,21 +1922,48 @@ namespace Google.ProtocolBuffers.TestProtos {
protected override Builder ThisBuilder {
get { return this; }
}
- public Builder() {}
+ public Builder() {
+ result = DefaultInstance ?? new CustomOptionMaxIntegerValues();
+ builderIsReadOnly = result == DefaultInstance;
+ }
+ internal Builder(CustomOptionMaxIntegerValues cloneFrom) {
+ result = cloneFrom;
+ builderIsReadOnly = true;
+ }
+
+ bool builderIsReadOnly;
+ CustomOptionMaxIntegerValues result;
+
+ private CustomOptionMaxIntegerValues PrepareBuilder() {
+ if (builderIsReadOnly) {
+ CustomOptionMaxIntegerValues original = result;
+ result = new CustomOptionMaxIntegerValues();
+ builderIsReadOnly = false;
+ MergeFrom(original);
+ }
+ return result;
+ }
- CustomOptionMaxIntegerValues result = new CustomOptionMaxIntegerValues();
+ public override bool IsInitialized {
+ get { return result.IsInitialized; }
+ }
protected override CustomOptionMaxIntegerValues MessageBeingBuilt {
- get { return result; }
+ get { return PrepareBuilder(); }
}
public override Builder Clear() {
- result = new CustomOptionMaxIntegerValues();
+ result = DefaultInstance ?? new CustomOptionMaxIntegerValues();
+ builderIsReadOnly = true;
return this;
}
public override Builder Clone() {
- return new Builder().MergeFrom(result);
+ if (builderIsReadOnly) {
+ return new Builder(result);
+ } else {
+ return new Builder().MergeFrom(result);
+ }
}
public override pbd::MessageDescriptor DescriptorForType {
@@ -1778,12 +1975,11 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override CustomOptionMaxIntegerValues BuildPartial() {
- if (result == null) {
- throw new global::System.InvalidOperationException("build() has already been called on this Builder");
+ if (builderIsReadOnly) {
+ return result;
}
- CustomOptionMaxIntegerValues returnMe = result;
- result = null;
- return returnMe;
+ builderIsReadOnly = true;
+ return result;
}
public override Builder MergeFrom(pb::IMessage other) {
@@ -1797,6 +1993,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder MergeFrom(CustomOptionMaxIntegerValues other) {
if (other == global::Google.ProtocolBuffers.TestProtos.CustomOptionMaxIntegerValues.DefaultInstance) return this;
+ PrepareBuilder();
this.MergeUnknownFields(other.UnknownFields);
return this;
}
@@ -1806,6 +2003,7 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ PrepareBuilder();
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -1940,7 +2138,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder ToBuilder() { return CreateBuilder(this); }
public override Builder CreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder(CustomOptionOtherValues prototype) {
- return (Builder) new Builder().MergeFrom(prototype);
+ return new Builder(prototype);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
@@ -1950,21 +2148,48 @@ namespace Google.ProtocolBuffers.TestProtos {
protected override Builder ThisBuilder {
get { return this; }
}
- public Builder() {}
+ public Builder() {
+ result = DefaultInstance ?? new CustomOptionOtherValues();
+ builderIsReadOnly = result == DefaultInstance;
+ }
+ internal Builder(CustomOptionOtherValues cloneFrom) {
+ result = cloneFrom;
+ builderIsReadOnly = true;
+ }
+
+ bool builderIsReadOnly;
+ CustomOptionOtherValues result;
- CustomOptionOtherValues result = new CustomOptionOtherValues();
+ private CustomOptionOtherValues PrepareBuilder() {
+ if (builderIsReadOnly) {
+ CustomOptionOtherValues original = result;
+ result = new CustomOptionOtherValues();
+ builderIsReadOnly = false;
+ MergeFrom(original);
+ }
+ return result;
+ }
+
+ public override bool IsInitialized {
+ get { return result.IsInitialized; }
+ }
protected override CustomOptionOtherValues MessageBeingBuilt {
- get { return result; }
+ get { return PrepareBuilder(); }
}
public override Builder Clear() {
- result = new CustomOptionOtherValues();
+ result = DefaultInstance ?? new CustomOptionOtherValues();
+ builderIsReadOnly = true;
return this;
}
public override Builder Clone() {
- return new Builder().MergeFrom(result);
+ if (builderIsReadOnly) {
+ return new Builder(result);
+ } else {
+ return new Builder().MergeFrom(result);
+ }
}
public override pbd::MessageDescriptor DescriptorForType {
@@ -1976,12 +2201,11 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override CustomOptionOtherValues BuildPartial() {
- if (result == null) {
- throw new global::System.InvalidOperationException("build() has already been called on this Builder");
+ if (builderIsReadOnly) {
+ return result;
}
- CustomOptionOtherValues returnMe = result;
- result = null;
- return returnMe;
+ builderIsReadOnly = true;
+ return result;
}
public override Builder MergeFrom(pb::IMessage other) {
@@ -1995,6 +2219,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder MergeFrom(CustomOptionOtherValues other) {
if (other == global::Google.ProtocolBuffers.TestProtos.CustomOptionOtherValues.DefaultInstance) return this;
+ PrepareBuilder();
this.MergeUnknownFields(other.UnknownFields);
return this;
}
@@ -2004,6 +2229,7 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ PrepareBuilder();
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -2138,7 +2364,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder ToBuilder() { return CreateBuilder(this); }
public override Builder CreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder(SettingRealsFromPositiveInts prototype) {
- return (Builder) new Builder().MergeFrom(prototype);
+ return new Builder(prototype);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
@@ -2148,21 +2374,48 @@ namespace Google.ProtocolBuffers.TestProtos {
protected override Builder ThisBuilder {
get { return this; }
}
- public Builder() {}
+ public Builder() {
+ result = DefaultInstance ?? new SettingRealsFromPositiveInts();
+ builderIsReadOnly = result == DefaultInstance;
+ }
+ internal Builder(SettingRealsFromPositiveInts cloneFrom) {
+ result = cloneFrom;
+ builderIsReadOnly = true;
+ }
+
+ bool builderIsReadOnly;
+ SettingRealsFromPositiveInts result;
- SettingRealsFromPositiveInts result = new SettingRealsFromPositiveInts();
+ private SettingRealsFromPositiveInts PrepareBuilder() {
+ if (builderIsReadOnly) {
+ SettingRealsFromPositiveInts original = result;
+ result = new SettingRealsFromPositiveInts();
+ builderIsReadOnly = false;
+ MergeFrom(original);
+ }
+ return result;
+ }
+
+ public override bool IsInitialized {
+ get { return result.IsInitialized; }
+ }
protected override SettingRealsFromPositiveInts MessageBeingBuilt {
- get { return result; }
+ get { return PrepareBuilder(); }
}
public override Builder Clear() {
- result = new SettingRealsFromPositiveInts();
+ result = DefaultInstance ?? new SettingRealsFromPositiveInts();
+ builderIsReadOnly = true;
return this;
}
public override Builder Clone() {
- return new Builder().MergeFrom(result);
+ if (builderIsReadOnly) {
+ return new Builder(result);
+ } else {
+ return new Builder().MergeFrom(result);
+ }
}
public override pbd::MessageDescriptor DescriptorForType {
@@ -2174,12 +2427,11 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override SettingRealsFromPositiveInts BuildPartial() {
- if (result == null) {
- throw new global::System.InvalidOperationException("build() has already been called on this Builder");
+ if (builderIsReadOnly) {
+ return result;
}
- SettingRealsFromPositiveInts returnMe = result;
- result = null;
- return returnMe;
+ builderIsReadOnly = true;
+ return result;
}
public override Builder MergeFrom(pb::IMessage other) {
@@ -2193,6 +2445,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder MergeFrom(SettingRealsFromPositiveInts other) {
if (other == global::Google.ProtocolBuffers.TestProtos.SettingRealsFromPositiveInts.DefaultInstance) return this;
+ PrepareBuilder();
this.MergeUnknownFields(other.UnknownFields);
return this;
}
@@ -2202,6 +2455,7 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ PrepareBuilder();
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -2336,7 +2590,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder ToBuilder() { return CreateBuilder(this); }
public override Builder CreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder(SettingRealsFromNegativeInts prototype) {
- return (Builder) new Builder().MergeFrom(prototype);
+ return new Builder(prototype);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
@@ -2346,21 +2600,48 @@ namespace Google.ProtocolBuffers.TestProtos {
protected override Builder ThisBuilder {
get { return this; }
}
- public Builder() {}
+ public Builder() {
+ result = DefaultInstance ?? new SettingRealsFromNegativeInts();
+ builderIsReadOnly = result == DefaultInstance;
+ }
+ internal Builder(SettingRealsFromNegativeInts cloneFrom) {
+ result = cloneFrom;
+ builderIsReadOnly = true;
+ }
- SettingRealsFromNegativeInts result = new SettingRealsFromNegativeInts();
+ bool builderIsReadOnly;
+ SettingRealsFromNegativeInts result;
+
+ private SettingRealsFromNegativeInts PrepareBuilder() {
+ if (builderIsReadOnly) {
+ SettingRealsFromNegativeInts original = result;
+ result = new SettingRealsFromNegativeInts();
+ builderIsReadOnly = false;
+ MergeFrom(original);
+ }
+ return result;
+ }
+
+ public override bool IsInitialized {
+ get { return result.IsInitialized; }
+ }
protected override SettingRealsFromNegativeInts MessageBeingBuilt {
- get { return result; }
+ get { return PrepareBuilder(); }
}
public override Builder Clear() {
- result = new SettingRealsFromNegativeInts();
+ result = DefaultInstance ?? new SettingRealsFromNegativeInts();
+ builderIsReadOnly = true;
return this;
}
public override Builder Clone() {
- return new Builder().MergeFrom(result);
+ if (builderIsReadOnly) {
+ return new Builder(result);
+ } else {
+ return new Builder().MergeFrom(result);
+ }
}
public override pbd::MessageDescriptor DescriptorForType {
@@ -2372,12 +2653,11 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override SettingRealsFromNegativeInts BuildPartial() {
- if (result == null) {
- throw new global::System.InvalidOperationException("build() has already been called on this Builder");
+ if (builderIsReadOnly) {
+ return result;
}
- SettingRealsFromNegativeInts returnMe = result;
- result = null;
- return returnMe;
+ builderIsReadOnly = true;
+ return result;
}
public override Builder MergeFrom(pb::IMessage other) {
@@ -2391,6 +2671,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder MergeFrom(SettingRealsFromNegativeInts other) {
if (other == global::Google.ProtocolBuffers.TestProtos.SettingRealsFromNegativeInts.DefaultInstance) return this;
+ PrepareBuilder();
this.MergeUnknownFields(other.UnknownFields);
return this;
}
@@ -2400,6 +2681,7 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ PrepareBuilder();
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -2586,7 +2868,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder ToBuilder() { return CreateBuilder(this); }
public override Builder CreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder(ComplexOptionType1 prototype) {
- return (Builder) new Builder().MergeFrom(prototype);
+ return new Builder(prototype);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
@@ -2596,21 +2878,48 @@ namespace Google.ProtocolBuffers.TestProtos {
protected override Builder ThisBuilder {
get { return this; }
}
- public Builder() {}
+ public Builder() {
+ result = DefaultInstance ?? new ComplexOptionType1();
+ builderIsReadOnly = result == DefaultInstance;
+ }
+ internal Builder(ComplexOptionType1 cloneFrom) {
+ result = cloneFrom;
+ builderIsReadOnly = true;
+ }
+
+ bool builderIsReadOnly;
+ ComplexOptionType1 result;
+
+ private ComplexOptionType1 PrepareBuilder() {
+ if (builderIsReadOnly) {
+ ComplexOptionType1 original = result;
+ result = new ComplexOptionType1();
+ builderIsReadOnly = false;
+ MergeFrom(original);
+ }
+ return result;
+ }
- ComplexOptionType1 result = new ComplexOptionType1();
+ public override bool IsInitialized {
+ get { return result.IsInitialized; }
+ }
protected override ComplexOptionType1 MessageBeingBuilt {
- get { return result; }
+ get { return PrepareBuilder(); }
}
public override Builder Clear() {
- result = new ComplexOptionType1();
+ result = DefaultInstance ?? new ComplexOptionType1();
+ builderIsReadOnly = true;
return this;
}
public override Builder Clone() {
- return new Builder().MergeFrom(result);
+ if (builderIsReadOnly) {
+ return new Builder(result);
+ } else {
+ return new Builder().MergeFrom(result);
+ }
}
public override pbd::MessageDescriptor DescriptorForType {
@@ -2622,12 +2931,11 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override ComplexOptionType1 BuildPartial() {
- if (result == null) {
- throw new global::System.InvalidOperationException("build() has already been called on this Builder");
+ if (builderIsReadOnly) {
+ return result;
}
- ComplexOptionType1 returnMe = result;
- result = null;
- return returnMe;
+ builderIsReadOnly = true;
+ return result;
}
public override Builder MergeFrom(pb::IMessage other) {
@@ -2641,6 +2949,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder MergeFrom(ComplexOptionType1 other) {
if (other == global::Google.ProtocolBuffers.TestProtos.ComplexOptionType1.DefaultInstance) return this;
+ PrepareBuilder();
if (other.HasFoo) {
Foo = other.Foo;
}
@@ -2660,6 +2969,7 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ PrepareBuilder();
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -2723,11 +3033,13 @@ namespace Google.ProtocolBuffers.TestProtos {
set { SetFoo(value); }
}
public Builder SetFoo(int value) {
+ PrepareBuilder();
result.hasFoo = true;
result.foo_ = value;
return this;
}
public Builder ClearFoo() {
+ PrepareBuilder();
result.hasFoo = false;
result.foo_ = 0;
return this;
@@ -2741,11 +3053,13 @@ namespace Google.ProtocolBuffers.TestProtos {
set { SetFoo2(value); }
}
public Builder SetFoo2(int value) {
+ PrepareBuilder();
result.hasFoo2 = true;
result.foo2_ = value;
return this;
}
public Builder ClearFoo2() {
+ PrepareBuilder();
result.hasFoo2 = false;
result.foo2_ = 0;
return this;
@@ -2759,11 +3073,13 @@ namespace Google.ProtocolBuffers.TestProtos {
set { SetFoo3(value); }
}
public Builder SetFoo3(int value) {
+ PrepareBuilder();
result.hasFoo3 = true;
result.foo3_ = value;
return this;
}
public Builder ClearFoo3() {
+ PrepareBuilder();
result.hasFoo3 = false;
result.foo3_ = 0;
return this;
@@ -2910,7 +3226,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder ToBuilder() { return CreateBuilder(this); }
public override Builder CreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder(ComplexOptionType4 prototype) {
- return (Builder) new Builder().MergeFrom(prototype);
+ return new Builder(prototype);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
@@ -2920,21 +3236,48 @@ namespace Google.ProtocolBuffers.TestProtos {
protected override Builder ThisBuilder {
get { return this; }
}
- public Builder() {}
+ public Builder() {
+ result = DefaultInstance ?? new ComplexOptionType4();
+ builderIsReadOnly = result == DefaultInstance;
+ }
+ internal Builder(ComplexOptionType4 cloneFrom) {
+ result = cloneFrom;
+ builderIsReadOnly = true;
+ }
- ComplexOptionType4 result = new ComplexOptionType4();
+ bool builderIsReadOnly;
+ ComplexOptionType4 result;
+
+ private ComplexOptionType4 PrepareBuilder() {
+ if (builderIsReadOnly) {
+ ComplexOptionType4 original = result;
+ result = new ComplexOptionType4();
+ builderIsReadOnly = false;
+ MergeFrom(original);
+ }
+ return result;
+ }
+
+ public override bool IsInitialized {
+ get { return result.IsInitialized; }
+ }
protected override ComplexOptionType4 MessageBeingBuilt {
- get { return result; }
+ get { return PrepareBuilder(); }
}
public override Builder Clear() {
- result = new ComplexOptionType4();
+ result = DefaultInstance ?? new ComplexOptionType4();
+ builderIsReadOnly = true;
return this;
}
public override Builder Clone() {
- return new Builder().MergeFrom(result);
+ if (builderIsReadOnly) {
+ return new Builder(result);
+ } else {
+ return new Builder().MergeFrom(result);
+ }
}
public override pbd::MessageDescriptor DescriptorForType {
@@ -2946,12 +3289,11 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override ComplexOptionType4 BuildPartial() {
- if (result == null) {
- throw new global::System.InvalidOperationException("build() has already been called on this Builder");
+ if (builderIsReadOnly) {
+ return result;
}
- ComplexOptionType4 returnMe = result;
- result = null;
- return returnMe;
+ builderIsReadOnly = true;
+ return result;
}
public override Builder MergeFrom(pb::IMessage other) {
@@ -2965,6 +3307,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder MergeFrom(ComplexOptionType4 other) {
if (other == global::Google.ProtocolBuffers.TestProtos.ComplexOptionType2.Types.ComplexOptionType4.DefaultInstance) return this;
+ PrepareBuilder();
if (other.HasWaldo) {
Waldo = other.Waldo;
}
@@ -2977,6 +3320,7 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ PrepareBuilder();
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -3032,11 +3376,13 @@ namespace Google.ProtocolBuffers.TestProtos {
set { SetWaldo(value); }
}
public Builder SetWaldo(int value) {
+ PrepareBuilder();
result.hasWaldo = true;
result.waldo_ = value;
return this;
}
public Builder ClearWaldo() {
+ PrepareBuilder();
result.hasWaldo = false;
result.waldo_ = 0;
return this;
@@ -3164,7 +3510,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder ToBuilder() { return CreateBuilder(this); }
public override Builder CreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder(ComplexOptionType2 prototype) {
- return (Builder) new Builder().MergeFrom(prototype);
+ return new Builder(prototype);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
@@ -3174,21 +3520,48 @@ namespace Google.ProtocolBuffers.TestProtos {
protected override Builder ThisBuilder {
get { return this; }
}
- public Builder() {}
+ public Builder() {
+ result = DefaultInstance ?? new ComplexOptionType2();
+ builderIsReadOnly = result == DefaultInstance;
+ }
+ internal Builder(ComplexOptionType2 cloneFrom) {
+ result = cloneFrom;
+ builderIsReadOnly = true;
+ }
+
+ bool builderIsReadOnly;
+ ComplexOptionType2 result;
- ComplexOptionType2 result = new ComplexOptionType2();
+ private ComplexOptionType2 PrepareBuilder() {
+ if (builderIsReadOnly) {
+ ComplexOptionType2 original = result;
+ result = new ComplexOptionType2();
+ builderIsReadOnly = false;
+ MergeFrom(original);
+ }
+ return result;
+ }
+
+ public override bool IsInitialized {
+ get { return result.IsInitialized; }
+ }
protected override ComplexOptionType2 MessageBeingBuilt {
- get { return result; }
+ get { return PrepareBuilder(); }
}
public override Builder Clear() {
- result = new ComplexOptionType2();
+ result = DefaultInstance ?? new ComplexOptionType2();
+ builderIsReadOnly = true;
return this;
}
public override Builder Clone() {
- return new Builder().MergeFrom(result);
+ if (builderIsReadOnly) {
+ return new Builder(result);
+ } else {
+ return new Builder().MergeFrom(result);
+ }
}
public override pbd::MessageDescriptor DescriptorForType {
@@ -3200,12 +3573,11 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override ComplexOptionType2 BuildPartial() {
- if (result == null) {
- throw new global::System.InvalidOperationException("build() has already been called on this Builder");
+ if (builderIsReadOnly) {
+ return result;
}
- ComplexOptionType2 returnMe = result;
- result = null;
- return returnMe;
+ builderIsReadOnly = true;
+ return result;
}
public override Builder MergeFrom(pb::IMessage other) {
@@ -3219,6 +3591,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder MergeFrom(ComplexOptionType2 other) {
if (other == global::Google.ProtocolBuffers.TestProtos.ComplexOptionType2.DefaultInstance) return this;
+ PrepareBuilder();
if (other.HasBar) {
MergeBar(other.Bar);
}
@@ -3238,6 +3611,7 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ PrepareBuilder();
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -3312,18 +3686,21 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public Builder SetBar(global::Google.ProtocolBuffers.TestProtos.ComplexOptionType1 value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
+ PrepareBuilder();
result.hasBar = true;
result.bar_ = value;
return this;
}
public Builder SetBar(global::Google.ProtocolBuffers.TestProtos.ComplexOptionType1.Builder builderForValue) {
pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
+ PrepareBuilder();
result.hasBar = true;
result.bar_ = builderForValue.Build();
return this;
}
public Builder MergeBar(global::Google.ProtocolBuffers.TestProtos.ComplexOptionType1 value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
+ PrepareBuilder();
if (result.hasBar &&
result.bar_ != global::Google.ProtocolBuffers.TestProtos.ComplexOptionType1.DefaultInstance) {
result.bar_ = global::Google.ProtocolBuffers.TestProtos.ComplexOptionType1.CreateBuilder(result.bar_).MergeFrom(value).BuildPartial();
@@ -3334,6 +3711,7 @@ namespace Google.ProtocolBuffers.TestProtos {
return this;
}
public Builder ClearBar() {
+ PrepareBuilder();
result.hasBar = false;
result.bar_ = global::Google.ProtocolBuffers.TestProtos.ComplexOptionType1.DefaultInstance;
return this;
@@ -3347,11 +3725,13 @@ namespace Google.ProtocolBuffers.TestProtos {
set { SetBaz(value); }
}
public Builder SetBaz(int value) {
+ PrepareBuilder();
result.hasBaz = true;
result.baz_ = value;
return this;
}
public Builder ClearBaz() {
+ PrepareBuilder();
result.hasBaz = false;
result.baz_ = 0;
return this;
@@ -3366,18 +3746,21 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public Builder SetFred(global::Google.ProtocolBuffers.TestProtos.ComplexOptionType2.Types.ComplexOptionType4 value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
+ PrepareBuilder();
result.hasFred = true;
result.fred_ = value;
return this;
}
public Builder SetFred(global::Google.ProtocolBuffers.TestProtos.ComplexOptionType2.Types.ComplexOptionType4.Builder builderForValue) {
pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
+ PrepareBuilder();
result.hasFred = true;
result.fred_ = builderForValue.Build();
return this;
}
public Builder MergeFred(global::Google.ProtocolBuffers.TestProtos.ComplexOptionType2.Types.ComplexOptionType4 value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
+ PrepareBuilder();
if (result.hasFred &&
result.fred_ != global::Google.ProtocolBuffers.TestProtos.ComplexOptionType2.Types.ComplexOptionType4.DefaultInstance) {
result.fred_ = global::Google.ProtocolBuffers.TestProtos.ComplexOptionType2.Types.ComplexOptionType4.CreateBuilder(result.fred_).MergeFrom(value).BuildPartial();
@@ -3388,6 +3771,7 @@ namespace Google.ProtocolBuffers.TestProtos {
return this;
}
public Builder ClearFred() {
+ PrepareBuilder();
result.hasFred = false;
result.fred_ = global::Google.ProtocolBuffers.TestProtos.ComplexOptionType2.Types.ComplexOptionType4.DefaultInstance;
return this;
@@ -3532,7 +3916,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder ToBuilder() { return CreateBuilder(this); }
public override Builder CreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder(ComplexOptionType5 prototype) {
- return (Builder) new Builder().MergeFrom(prototype);
+ return new Builder(prototype);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
@@ -3542,21 +3926,48 @@ namespace Google.ProtocolBuffers.TestProtos {
protected override Builder ThisBuilder {
get { return this; }
}
- public Builder() {}
+ public Builder() {
+ result = DefaultInstance ?? new ComplexOptionType5();
+ builderIsReadOnly = result == DefaultInstance;
+ }
+ internal Builder(ComplexOptionType5 cloneFrom) {
+ result = cloneFrom;
+ builderIsReadOnly = true;
+ }
+
+ bool builderIsReadOnly;
+ ComplexOptionType5 result;
+
+ private ComplexOptionType5 PrepareBuilder() {
+ if (builderIsReadOnly) {
+ ComplexOptionType5 original = result;
+ result = new ComplexOptionType5();
+ builderIsReadOnly = false;
+ MergeFrom(original);
+ }
+ return result;
+ }
- ComplexOptionType5 result = new ComplexOptionType5();
+ public override bool IsInitialized {
+ get { return result.IsInitialized; }
+ }
protected override ComplexOptionType5 MessageBeingBuilt {
- get { return result; }
+ get { return PrepareBuilder(); }
}
public override Builder Clear() {
- result = new ComplexOptionType5();
+ result = DefaultInstance ?? new ComplexOptionType5();
+ builderIsReadOnly = true;
return this;
}
public override Builder Clone() {
- return new Builder().MergeFrom(result);
+ if (builderIsReadOnly) {
+ return new Builder(result);
+ } else {
+ return new Builder().MergeFrom(result);
+ }
}
public override pbd::MessageDescriptor DescriptorForType {
@@ -3568,12 +3979,11 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override ComplexOptionType5 BuildPartial() {
- if (result == null) {
- throw new global::System.InvalidOperationException("build() has already been called on this Builder");
+ if (builderIsReadOnly) {
+ return result;
}
- ComplexOptionType5 returnMe = result;
- result = null;
- return returnMe;
+ builderIsReadOnly = true;
+ return result;
}
public override Builder MergeFrom(pb::IMessage other) {
@@ -3587,6 +3997,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder MergeFrom(ComplexOptionType5 other) {
if (other == global::Google.ProtocolBuffers.TestProtos.ComplexOptionType3.Types.ComplexOptionType5.DefaultInstance) return this;
+ PrepareBuilder();
if (other.HasPlugh) {
Plugh = other.Plugh;
}
@@ -3599,6 +4010,7 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ PrepareBuilder();
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -3654,11 +4066,13 @@ namespace Google.ProtocolBuffers.TestProtos {
set { SetPlugh(value); }
}
public Builder SetPlugh(int value) {
+ PrepareBuilder();
result.hasPlugh = true;
result.plugh_ = value;
return this;
}
public Builder ClearPlugh() {
+ PrepareBuilder();
result.hasPlugh = false;
result.plugh_ = 0;
return this;
@@ -3763,7 +4177,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder ToBuilder() { return CreateBuilder(this); }
public override Builder CreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder(ComplexOptionType3 prototype) {
- return (Builder) new Builder().MergeFrom(prototype);
+ return new Builder(prototype);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
@@ -3773,21 +4187,48 @@ namespace Google.ProtocolBuffers.TestProtos {
protected override Builder ThisBuilder {
get { return this; }
}
- public Builder() {}
+ public Builder() {
+ result = DefaultInstance ?? new ComplexOptionType3();
+ builderIsReadOnly = result == DefaultInstance;
+ }
+ internal Builder(ComplexOptionType3 cloneFrom) {
+ result = cloneFrom;
+ builderIsReadOnly = true;
+ }
- ComplexOptionType3 result = new ComplexOptionType3();
+ bool builderIsReadOnly;
+ ComplexOptionType3 result;
+
+ private ComplexOptionType3 PrepareBuilder() {
+ if (builderIsReadOnly) {
+ ComplexOptionType3 original = result;
+ result = new ComplexOptionType3();
+ builderIsReadOnly = false;
+ MergeFrom(original);
+ }
+ return result;
+ }
+
+ public override bool IsInitialized {
+ get { return result.IsInitialized; }
+ }
protected override ComplexOptionType3 MessageBeingBuilt {
- get { return result; }
+ get { return PrepareBuilder(); }
}
public override Builder Clear() {
- result = new ComplexOptionType3();
+ result = DefaultInstance ?? new ComplexOptionType3();
+ builderIsReadOnly = true;
return this;
}
public override Builder Clone() {
- return new Builder().MergeFrom(result);
+ if (builderIsReadOnly) {
+ return new Builder(result);
+ } else {
+ return new Builder().MergeFrom(result);
+ }
}
public override pbd::MessageDescriptor DescriptorForType {
@@ -3799,12 +4240,11 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override ComplexOptionType3 BuildPartial() {
- if (result == null) {
- throw new global::System.InvalidOperationException("build() has already been called on this Builder");
+ if (builderIsReadOnly) {
+ return result;
}
- ComplexOptionType3 returnMe = result;
- result = null;
- return returnMe;
+ builderIsReadOnly = true;
+ return result;
}
public override Builder MergeFrom(pb::IMessage other) {
@@ -3818,6 +4258,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder MergeFrom(ComplexOptionType3 other) {
if (other == global::Google.ProtocolBuffers.TestProtos.ComplexOptionType3.DefaultInstance) return this;
+ PrepareBuilder();
if (other.HasQux) {
Qux = other.Qux;
}
@@ -3833,6 +4274,7 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ PrepareBuilder();
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -3897,11 +4339,13 @@ namespace Google.ProtocolBuffers.TestProtos {
set { SetQux(value); }
}
public Builder SetQux(int value) {
+ PrepareBuilder();
result.hasQux = true;
result.qux_ = value;
return this;
}
public Builder ClearQux() {
+ PrepareBuilder();
result.hasQux = false;
result.qux_ = 0;
return this;
@@ -3916,18 +4360,21 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public Builder SetComplexOptionType5(global::Google.ProtocolBuffers.TestProtos.ComplexOptionType3.Types.ComplexOptionType5 value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
+ PrepareBuilder();
result.hasComplexOptionType5 = true;
result.complexOptionType5_ = value;
return this;
}
public Builder SetComplexOptionType5(global::Google.ProtocolBuffers.TestProtos.ComplexOptionType3.Types.ComplexOptionType5.Builder builderForValue) {
pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
+ PrepareBuilder();
result.hasComplexOptionType5 = true;
result.complexOptionType5_ = builderForValue.Build();
return this;
}
public Builder MergeComplexOptionType5(global::Google.ProtocolBuffers.TestProtos.ComplexOptionType3.Types.ComplexOptionType5 value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
+ PrepareBuilder();
if (result.hasComplexOptionType5 &&
result.complexOptionType5_ != global::Google.ProtocolBuffers.TestProtos.ComplexOptionType3.Types.ComplexOptionType5.DefaultInstance) {
result.complexOptionType5_ = global::Google.ProtocolBuffers.TestProtos.ComplexOptionType3.Types.ComplexOptionType5.CreateBuilder(result.complexOptionType5_).MergeFrom(value).BuildPartial();
@@ -3938,6 +4385,7 @@ namespace Google.ProtocolBuffers.TestProtos {
return this;
}
public Builder ClearComplexOptionType5() {
+ PrepareBuilder();
result.hasComplexOptionType5 = false;
result.complexOptionType5_ = global::Google.ProtocolBuffers.TestProtos.ComplexOptionType3.Types.ComplexOptionType5.DefaultInstance;
return this;
@@ -4050,7 +4498,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder ToBuilder() { return CreateBuilder(this); }
public override Builder CreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder(ComplexOpt6 prototype) {
- return (Builder) new Builder().MergeFrom(prototype);
+ return new Builder(prototype);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
@@ -4060,21 +4508,48 @@ namespace Google.ProtocolBuffers.TestProtos {
protected override Builder ThisBuilder {
get { return this; }
}
- public Builder() {}
+ public Builder() {
+ result = DefaultInstance ?? new ComplexOpt6();
+ builderIsReadOnly = result == DefaultInstance;
+ }
+ internal Builder(ComplexOpt6 cloneFrom) {
+ result = cloneFrom;
+ builderIsReadOnly = true;
+ }
+
+ bool builderIsReadOnly;
+ ComplexOpt6 result;
+
+ private ComplexOpt6 PrepareBuilder() {
+ if (builderIsReadOnly) {
+ ComplexOpt6 original = result;
+ result = new ComplexOpt6();
+ builderIsReadOnly = false;
+ MergeFrom(original);
+ }
+ return result;
+ }
- ComplexOpt6 result = new ComplexOpt6();
+ public override bool IsInitialized {
+ get { return result.IsInitialized; }
+ }
protected override ComplexOpt6 MessageBeingBuilt {
- get { return result; }
+ get { return PrepareBuilder(); }
}
public override Builder Clear() {
- result = new ComplexOpt6();
+ result = DefaultInstance ?? new ComplexOpt6();
+ builderIsReadOnly = true;
return this;
}
public override Builder Clone() {
- return new Builder().MergeFrom(result);
+ if (builderIsReadOnly) {
+ return new Builder(result);
+ } else {
+ return new Builder().MergeFrom(result);
+ }
}
public override pbd::MessageDescriptor DescriptorForType {
@@ -4086,12 +4561,11 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override ComplexOpt6 BuildPartial() {
- if (result == null) {
- throw new global::System.InvalidOperationException("build() has already been called on this Builder");
+ if (builderIsReadOnly) {
+ return result;
}
- ComplexOpt6 returnMe = result;
- result = null;
- return returnMe;
+ builderIsReadOnly = true;
+ return result;
}
public override Builder MergeFrom(pb::IMessage other) {
@@ -4105,6 +4579,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder MergeFrom(ComplexOpt6 other) {
if (other == global::Google.ProtocolBuffers.TestProtos.ComplexOpt6.DefaultInstance) return this;
+ PrepareBuilder();
if (other.HasXyzzy) {
Xyzzy = other.Xyzzy;
}
@@ -4117,6 +4592,7 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ PrepareBuilder();
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -4172,11 +4648,13 @@ namespace Google.ProtocolBuffers.TestProtos {
set { SetXyzzy(value); }
}
public Builder SetXyzzy(int value) {
+ PrepareBuilder();
result.hasXyzzy = true;
result.xyzzy_ = value;
return this;
}
public Builder ClearXyzzy() {
+ PrepareBuilder();
result.hasXyzzy = false;
result.xyzzy_ = 0;
return this;
@@ -4273,7 +4751,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder ToBuilder() { return CreateBuilder(this); }
public override Builder CreateBuilderForType() { return new Builder(); }
public static Builder CreateBuilder(VariousComplexOptions prototype) {
- return (Builder) new Builder().MergeFrom(prototype);
+ return new Builder(prototype);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
@@ -4283,21 +4761,48 @@ namespace Google.ProtocolBuffers.TestProtos {
protected override Builder ThisBuilder {
get { return this; }
}
- public Builder() {}
+ public Builder() {
+ result = DefaultInstance ?? new VariousComplexOptions();
+ builderIsReadOnly = result == DefaultInstance;
+ }
+ internal Builder(VariousComplexOptions cloneFrom) {
+ result = cloneFrom;
+ builderIsReadOnly = true;
+ }
+
+ bool builderIsReadOnly;
+ VariousComplexOptions result;
- VariousComplexOptions result = new VariousComplexOptions();
+ private VariousComplexOptions PrepareBuilder() {
+ if (builderIsReadOnly) {
+ VariousComplexOptions original = result;
+ result = new VariousComplexOptions();
+ builderIsReadOnly = false;
+ MergeFrom(original);
+ }
+ return result;
+ }
+
+ public override bool IsInitialized {
+ get { return result.IsInitialized; }
+ }
protected override VariousComplexOptions MessageBeingBuilt {
- get { return result; }
+ get { return PrepareBuilder(); }
}
public override Builder Clear() {
- result = new VariousComplexOptions();
+ result = DefaultInstance ?? new VariousComplexOptions();
+ builderIsReadOnly = true;
return this;
}
public override Builder Clone() {
- return new Builder().MergeFrom(result);
+ if (builderIsReadOnly) {
+ return new Builder(result);
+ } else {
+ return new Builder().MergeFrom(result);
+ }
}
public override pbd::MessageDescriptor DescriptorForType {
@@ -4309,12 +4814,11 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override VariousComplexOptions BuildPartial() {
- if (result == null) {
- throw new global::System.InvalidOperationException("build() has already been called on this Builder");
+ if (builderIsReadOnly) {
+ return result;
}
- VariousComplexOptions returnMe = result;
- result = null;
- return returnMe;
+ builderIsReadOnly = true;
+ return result;
}
public override Builder MergeFrom(pb::IMessage other) {
@@ -4328,6 +4832,7 @@ namespace Google.ProtocolBuffers.TestProtos {
public override Builder MergeFrom(VariousComplexOptions other) {
if (other == global::Google.ProtocolBuffers.TestProtos.VariousComplexOptions.DefaultInstance) return this;
+ PrepareBuilder();
this.MergeUnknownFields(other.UnknownFields);
return this;
}
@@ -4337,6 +4842,7 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ PrepareBuilder();
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;