aboutsummaryrefslogtreecommitdiff
path: root/csharp/src/ProtocolBuffers.Test/TestProtos/UnittestOptimizeFor.cs
diff options
context:
space:
mode:
Diffstat (limited to 'csharp/src/ProtocolBuffers.Test/TestProtos/UnittestOptimizeFor.cs')
-rw-r--r--csharp/src/ProtocolBuffers.Test/TestProtos/UnittestOptimizeFor.cs61
1 files changed, 40 insertions, 21 deletions
diff --git a/csharp/src/ProtocolBuffers.Test/TestProtos/UnittestOptimizeFor.cs b/csharp/src/ProtocolBuffers.Test/TestProtos/UnittestOptimizeFor.cs
index 33e2ef4f..d07df059 100644
--- a/csharp/src/ProtocolBuffers.Test/TestProtos/UnittestOptimizeFor.cs
+++ b/csharp/src/ProtocolBuffers.Test/TestProtos/UnittestOptimizeFor.cs
@@ -54,7 +54,7 @@ namespace Google.ProtocolBuffers.TestProtos {
internal__static_protobuf_unittest_TestOptimizedForSize__Descriptor = Descriptor.MessageTypes[0];
internal__static_protobuf_unittest_TestOptimizedForSize__FieldAccessorTable =
new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestOptimizedForSize, global::Google.ProtocolBuffers.TestProtos.TestOptimizedForSize.Builder>(internal__static_protobuf_unittest_TestOptimizedForSize__Descriptor,
- new string[] { "I", "Msg", "IntegerField", "StringField", });
+ new string[] { "I", "Msg", "IntegerField", "StringField", "Foo", });
global::Google.ProtocolBuffers.TestProtos.TestOptimizedForSize.TestExtension = pb::GeneratedSingleExtension<int>.CreateInstance(global::Google.ProtocolBuffers.TestProtos.TestOptimizedForSize.Descriptor.Extensions[0]);
global::Google.ProtocolBuffers.TestProtos.TestOptimizedForSize.TestExtension2 = pb::GeneratedSingleExtension<global::Google.ProtocolBuffers.TestProtos.TestRequiredOptimizedForSize>.CreateInstance(global::Google.ProtocolBuffers.TestProtos.TestOptimizedForSize.Descriptor.Extensions[1]);
internal__static_protobuf_unittest_TestRequiredOptimizedForSize__Descriptor = Descriptor.MessageTypes[1];
@@ -107,6 +107,17 @@ namespace Google.ProtocolBuffers.TestProtos {
public static pb::GeneratedExtensionBase<int> TestExtension;
public const int TestExtension2FieldNumber = 1235;
public static pb::GeneratedExtensionBase<global::Google.ProtocolBuffers.TestProtos.TestRequiredOptimizedForSize> TestExtension2;
+ private object foo_;
+ public enum FooOneofCase {
+ IntegerField = 2,
+ StringField = 3,
+ None = 0,
+ }
+ private FooOneofCase fooCase_ = FooOneofCase.None;
+ public FooOneofCase FooCase {
+ get { return fooCase_; }
+ }
+
public const int IFieldNumber = 1;
private bool hasI;
private int i_;
@@ -128,23 +139,19 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public const int IntegerFieldFieldNumber = 2;
- private bool hasIntegerField;
- private int integerField_;
public bool HasIntegerField {
- get { return hasIntegerField; }
+ get { return fooCase_ == FooOneofCase.IntegerField; }
}
public int IntegerField {
- get { return integerField_; }
+ get { return fooCase_ == FooOneofCase.IntegerField ? (int) foo_ : 0; }
}
public const int StringFieldFieldNumber = 3;
- private bool hasStringField;
- private string stringField_ = "";
public bool HasStringField {
- get { return hasStringField; }
+ get { return fooCase_ == FooOneofCase.StringField; }
}
public string StringField {
- get { return stringField_; }
+ get { return fooCase_ == FooOneofCase.StringField ? (string) foo_ : ""; }
}
public static TestOptimizedForSize ParseFrom(pb::ByteString data) {
@@ -315,43 +322,55 @@ namespace Google.ProtocolBuffers.TestProtos {
}
public bool HasIntegerField {
- get { return result.hasIntegerField; }
+ get { return result.fooCase_ == FooOneofCase.IntegerField; }
}
public int IntegerField {
- get { return result.IntegerField; }
+ get { return result.fooCase_ == FooOneofCase.IntegerField ? (int) result.foo_ : 0; }
set { SetIntegerField(value); }
}
public Builder SetIntegerField(int value) {
PrepareBuilder();
- result.hasIntegerField = true;
- result.integerField_ = value;
+ result.foo_ = value;
+ result.fooCase_ = FooOneofCase.IntegerField;
return this;
}
public Builder ClearIntegerField() {
PrepareBuilder();
- result.hasIntegerField = false;
- result.integerField_ = 0;
+ if (result.fooCase_ == FooOneofCase.IntegerField) {
+ result.fooCase_ = FooOneofCase.None;
+ }
return this;
}
public bool HasStringField {
- get { return result.hasStringField; }
+ get { return result.fooCase_ == FooOneofCase.StringField; }
}
public string StringField {
- get { return result.StringField; }
+ get { return result.fooCase_ == FooOneofCase.StringField ? (string) result.foo_ : ""; }
set { SetStringField(value); }
}
public Builder SetStringField(string value) {
pb::ThrowHelper.ThrowIfNull(value, "value");
PrepareBuilder();
- result.hasStringField = true;
- result.stringField_ = value;
+ result.foo_ = value;
+ result.fooCase_ = FooOneofCase.StringField;
return this;
}
public Builder ClearStringField() {
PrepareBuilder();
- result.hasStringField = false;
- result.stringField_ = "";
+ if (result.fooCase_ == FooOneofCase.StringField) {
+ result.fooCase_ = FooOneofCase.None;
+ }
+ return this;
+ }
+
+ public FooOneofCase FooCase {
+ get { return result.fooCase_; }
+ }
+ public Builder ClearFoo() {
+ PrepareBuilder();
+ result.foo_ = null;
+ result.fooCase_ = FooOneofCase.None;
return this;
}
}