aboutsummaryrefslogtreecommitdiff
path: root/csharp
diff options
context:
space:
mode:
authorJon Skeet <skeet@pobox.com>2008-08-14 20:37:12 +0100
committerJon Skeet <skeet@pobox.com>2008-08-14 20:37:12 +0100
commit272d384f6ad064756edc8d9778c5bcf667783821 (patch)
treeeed1435ff63c89a52e426df79323a9b1c1bef24a /csharp
parentdb9d2fcd06bd8604f2ff9f30489640f64c70c4cb (diff)
downloadprotobuf-272d384f6ad064756edc8d9778c5bcf667783821.tar.gz
protobuf-272d384f6ad064756edc8d9778c5bcf667783821.tar.bz2
protobuf-272d384f6ad064756edc8d9778c5bcf667783821.zip
Use delegates instead of dynamic reflection.
Diffstat (limited to 'csharp')
-rw-r--r--csharp/ProtocolBuffers.Test/TestProtos/MessageWithNoOuter.cs12
-rw-r--r--csharp/ProtocolBuffers.Test/TestProtos/MultiFileProto.cs16
-rw-r--r--csharp/ProtocolBuffers.Test/TestProtos/UnitTestEmbedOptimizeForProtoFile.cs14
-rw-r--r--csharp/ProtocolBuffers.Test/TestProtos/UnitTestImportProtoFile.cs14
-rw-r--r--csharp/ProtocolBuffers.Test/TestProtos/UnitTestMessageSetProtoFile.cs84
-rw-r--r--csharp/ProtocolBuffers.Test/TestProtos/UnitTestOptimizeForProtoFile.cs14
-rw-r--r--csharp/ProtocolBuffers.Test/TestProtos/UnitTestProtoFile.cs406
-rw-r--r--csharp/ProtocolBuffers/DescriptorProtos/DescriptorProtoFile.cs210
-rw-r--r--csharp/ProtocolBuffers/FieldAccess/Delegates.cs11
-rw-r--r--csharp/ProtocolBuffers/FieldAccess/FieldAccessorTable.cs30
-rw-r--r--csharp/ProtocolBuffers/FieldAccess/IFieldAccessor.cs14
-rw-r--r--csharp/ProtocolBuffers/FieldAccess/RepeatedEnumAccessor.cs10
-rw-r--r--csharp/ProtocolBuffers/FieldAccess/RepeatedMessageAccessor.cs7
-rw-r--r--csharp/ProtocolBuffers/FieldAccess/RepeatedPrimitiveAccessor.cs41
-rw-r--r--csharp/ProtocolBuffers/FieldAccess/SingleEnumAccessor.cs11
-rw-r--r--csharp/ProtocolBuffers/FieldAccess/SingleMessageAccessor.cs9
-rw-r--r--csharp/ProtocolBuffers/FieldAccess/SinglePrimitiveAccessor.cs34
-rw-r--r--csharp/ProtocolBuffers/GeneratedBuilder.cs6
-rw-r--r--csharp/ProtocolBuffers/GeneratedMessage.cs23
-rw-r--r--csharp/ProtocolBuffers/ProtocolBuffers.csproj3
20 files changed, 556 insertions, 413 deletions
diff --git a/csharp/ProtocolBuffers.Test/TestProtos/MessageWithNoOuter.cs b/csharp/ProtocolBuffers.Test/TestProtos/MessageWithNoOuter.cs
index dc318ce3..fc54b4ba 100644
--- a/csharp/ProtocolBuffers.Test/TestProtos/MessageWithNoOuter.cs
+++ b/csharp/ProtocolBuffers.Test/TestProtos/MessageWithNoOuter.cs
@@ -16,11 +16,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override MessageWithNoOuter ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.MultiFileProto.internal__static_protobuf_unittest_MessageWithNoOuter__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<MessageWithNoOuter, MessageWithNoOuter.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.MultiFileProto.internal__static_protobuf_unittest_MessageWithNoOuter__FieldAccessorTable; }
}
@@ -40,11 +44,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override NestedMessage ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.MultiFileProto.internal__static_protobuf_unittest_MessageWithNoOuter_NestedMessage__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<NestedMessage, NestedMessage.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.MultiFileProto.internal__static_protobuf_unittest_MessageWithNoOuter_NestedMessage__FieldAccessorTable; }
}
diff --git a/csharp/ProtocolBuffers.Test/TestProtos/MultiFileProto.cs b/csharp/ProtocolBuffers.Test/TestProtos/MultiFileProto.cs
index 83bd5e51..33b719b4 100644
--- a/csharp/ProtocolBuffers.Test/TestProtos/MultiFileProto.cs
+++ b/csharp/ProtocolBuffers.Test/TestProtos/MultiFileProto.cs
@@ -64,18 +64,14 @@ namespace Google.ProtocolBuffers.TestProtos {
#region Static variables
internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_MessageWithNoOuter__Descriptor
= Descriptor.MessageTypes[0];
- internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_MessageWithNoOuter__FieldAccessorTable
- = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_MessageWithNoOuter__Descriptor,
- new string[] { "Nested", "Foreign", "NestedEnum", "ForeignEnum", },
- typeof (global::Google.ProtocolBuffers.TestProtos.MessageWithNoOuter),
- typeof (global::Google.ProtocolBuffers.TestProtos.MessageWithNoOuter.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.MessageWithNoOuter, global::Google.ProtocolBuffers.TestProtos.MessageWithNoOuter.Builder> internal__static_protobuf_unittest_MessageWithNoOuter__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.MessageWithNoOuter, global::Google.ProtocolBuffers.TestProtos.MessageWithNoOuter.Builder>(internal__static_protobuf_unittest_MessageWithNoOuter__Descriptor,
+ new string[] { "Nested", "Foreign", "NestedEnum", "ForeignEnum", });
internal static readonly pbd::MessageDescriptor internal__static_protobuf_unittest_MessageWithNoOuter_NestedMessage__Descriptor
= internal__static_protobuf_unittest_MessageWithNoOuter__Descriptor.NestedTypes[0];
- internal static pb::FieldAccess.FieldAccessorTable internal__static_protobuf_unittest_MessageWithNoOuter_NestedMessage__FieldAccessorTable
- = new pb::FieldAccess.FieldAccessorTable(internal__static_protobuf_unittest_MessageWithNoOuter_NestedMessage__Descriptor,
- new string[] { "I", },
- typeof (global::Google.ProtocolBuffers.TestProtos.MessageWithNoOuter.Types.NestedMessage),
- typeof (global::Google.ProtocolBuffers.TestProtos.MessageWithNoOuter.Types.NestedMessage.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.MessageWithNoOuter.Types.NestedMessage, global::Google.ProtocolBuffers.TestProtos.MessageWithNoOuter.Types.NestedMessage.Builder> internal__static_protobuf_unittest_MessageWithNoOuter_NestedMessage__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.MessageWithNoOuter.Types.NestedMessage, global::Google.ProtocolBuffers.TestProtos.MessageWithNoOuter.Types.NestedMessage.Builder>(internal__static_protobuf_unittest_MessageWithNoOuter_NestedMessage__Descriptor,
+ new string[] { "I", });
#endregion
}
diff --git a/csharp/ProtocolBuffers.Test/TestProtos/UnitTestEmbedOptimizeForProtoFile.cs b/csharp/ProtocolBuffers.Test/TestProtos/UnitTestEmbedOptimizeForProtoFile.cs
index e35f9b1d..dbb446e0 100644
--- a/csharp/ProtocolBuffers.Test/TestProtos/UnitTestEmbedOptimizeForProtoFile.cs
+++ b/csharp/ProtocolBuffers.Test/TestProtos/UnitTestEmbedOptimizeForProtoFile.cs
@@ -43,11 +43,9 @@ namespace Google.ProtocolBuffers.TestProtos {
#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 (global::Google.ProtocolBuffers.TestProtos.TestEmbedOptimizedForSize),
- typeof (global::Google.ProtocolBuffers.TestProtos.TestEmbedOptimizedForSize.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestEmbedOptimizedForSize, global::Google.ProtocolBuffers.TestProtos.TestEmbedOptimizedForSize.Builder> internal__static_protobuf_unittest_TestEmbedOptimizedForSize__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestEmbedOptimizedForSize, global::Google.ProtocolBuffers.TestProtos.TestEmbedOptimizedForSize.Builder>(internal__static_protobuf_unittest_TestEmbedOptimizedForSize__Descriptor,
+ new string[] { "OptionalMessage", "RepeatedMessage", });
#endregion
}
@@ -66,11 +64,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override TestEmbedOptimizedForSize ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestEmbedOptimizeForProtoFile.internal__static_protobuf_unittest_TestEmbedOptimizedForSize__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<TestEmbedOptimizedForSize, TestEmbedOptimizedForSize.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestEmbedOptimizeForProtoFile.internal__static_protobuf_unittest_TestEmbedOptimizedForSize__FieldAccessorTable; }
}
diff --git a/csharp/ProtocolBuffers.Test/TestProtos/UnitTestImportProtoFile.cs b/csharp/ProtocolBuffers.Test/TestProtos/UnitTestImportProtoFile.cs
index ff784d47..8a73c0db 100644
--- a/csharp/ProtocolBuffers.Test/TestProtos/UnitTestImportProtoFile.cs
+++ b/csharp/ProtocolBuffers.Test/TestProtos/UnitTestImportProtoFile.cs
@@ -37,11 +37,9 @@ namespace Google.ProtocolBuffers.TestProtos {
#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 (global::Google.ProtocolBuffers.TestProtos.ImportMessage),
- typeof (global::Google.ProtocolBuffers.TestProtos.ImportMessage.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.ImportMessage, global::Google.ProtocolBuffers.TestProtos.ImportMessage.Builder> internal__static_protobuf_unittest_import_ImportMessage__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.ImportMessage, global::Google.ProtocolBuffers.TestProtos.ImportMessage.Builder>(internal__static_protobuf_unittest_import_ImportMessage__Descriptor,
+ new string[] { "D", });
#endregion
}
@@ -66,11 +64,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override ImportMessage ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestImportProtoFile.internal__static_protobuf_unittest_import_ImportMessage__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<ImportMessage, ImportMessage.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestImportProtoFile.internal__static_protobuf_unittest_import_ImportMessage__FieldAccessorTable; }
}
diff --git a/csharp/ProtocolBuffers.Test/TestProtos/UnitTestMessageSetProtoFile.cs b/csharp/ProtocolBuffers.Test/TestProtos/UnitTestMessageSetProtoFile.cs
index 56dd1ca1..cdeebd20 100644
--- a/csharp/ProtocolBuffers.Test/TestProtos/UnitTestMessageSetProtoFile.cs
+++ b/csharp/ProtocolBuffers.Test/TestProtos/UnitTestMessageSetProtoFile.cs
@@ -58,46 +58,34 @@ namespace Google.ProtocolBuffers.TestProtos {
#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 (global::Google.ProtocolBuffers.TestProtos.TestMessageSet),
- typeof (global::Google.ProtocolBuffers.TestProtos.TestMessageSet.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestMessageSet, global::Google.ProtocolBuffers.TestProtos.TestMessageSet.Builder> internal__static_protobuf_unittest_TestMessageSet__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestMessageSet, global::Google.ProtocolBuffers.TestProtos.TestMessageSet.Builder>(internal__static_protobuf_unittest_TestMessageSet__Descriptor,
+ new string[] { });
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 (global::Google.ProtocolBuffers.TestProtos.TestMessageSetContainer),
- typeof (global::Google.ProtocolBuffers.TestProtos.TestMessageSetContainer.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestMessageSetContainer, global::Google.ProtocolBuffers.TestProtos.TestMessageSetContainer.Builder> internal__static_protobuf_unittest_TestMessageSetContainer__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestMessageSetContainer, global::Google.ProtocolBuffers.TestProtos.TestMessageSetContainer.Builder>(internal__static_protobuf_unittest_TestMessageSetContainer__Descriptor,
+ new string[] { "MessageSet", });
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 (global::Google.ProtocolBuffers.TestProtos.TestMessageSetExtension1),
- typeof (global::Google.ProtocolBuffers.TestProtos.TestMessageSetExtension1.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestMessageSetExtension1, global::Google.ProtocolBuffers.TestProtos.TestMessageSetExtension1.Builder> internal__static_protobuf_unittest_TestMessageSetExtension1__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestMessageSetExtension1, global::Google.ProtocolBuffers.TestProtos.TestMessageSetExtension1.Builder>(internal__static_protobuf_unittest_TestMessageSetExtension1__Descriptor,
+ new string[] { "I", });
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 (global::Google.ProtocolBuffers.TestProtos.TestMessageSetExtension2),
- typeof (global::Google.ProtocolBuffers.TestProtos.TestMessageSetExtension2.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestMessageSetExtension2, global::Google.ProtocolBuffers.TestProtos.TestMessageSetExtension2.Builder> internal__static_protobuf_unittest_TestMessageSetExtension2__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestMessageSetExtension2, global::Google.ProtocolBuffers.TestProtos.TestMessageSetExtension2.Builder>(internal__static_protobuf_unittest_TestMessageSetExtension2__Descriptor,
+ new string[] { "Str", });
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 (global::Google.ProtocolBuffers.TestProtos.RawMessageSet),
- typeof (global::Google.ProtocolBuffers.TestProtos.RawMessageSet.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.RawMessageSet, global::Google.ProtocolBuffers.TestProtos.RawMessageSet.Builder> internal__static_protobuf_unittest_RawMessageSet__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.RawMessageSet, global::Google.ProtocolBuffers.TestProtos.RawMessageSet.Builder>(internal__static_protobuf_unittest_RawMessageSet__Descriptor,
+ new string[] { "Item", });
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 (global::Google.ProtocolBuffers.TestProtos.RawMessageSet.Types.Item),
- typeof (global::Google.ProtocolBuffers.TestProtos.RawMessageSet.Types.Item.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.RawMessageSet.Types.Item, global::Google.ProtocolBuffers.TestProtos.RawMessageSet.Types.Item.Builder> internal__static_protobuf_unittest_RawMessageSet_Item__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.RawMessageSet.Types.Item, global::Google.ProtocolBuffers.TestProtos.RawMessageSet.Types.Item.Builder>(internal__static_protobuf_unittest_RawMessageSet_Item__Descriptor,
+ new string[] { "TypeId", "Message", });
#endregion
}
@@ -116,11 +104,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override TestMessageSet ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestMessageSetProtoFile.internal__static_protobuf_unittest_TestMessageSet__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<TestMessageSet, TestMessageSet.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestMessageSetProtoFile.internal__static_protobuf_unittest_TestMessageSet__FieldAccessorTable; }
}
@@ -281,11 +273,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override TestMessageSetContainer ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestMessageSetProtoFile.internal__static_protobuf_unittest_TestMessageSetContainer__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<TestMessageSetContainer, TestMessageSetContainer.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestMessageSetProtoFile.internal__static_protobuf_unittest_TestMessageSetContainer__FieldAccessorTable; }
}
@@ -508,11 +504,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override TestMessageSetExtension1 ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestMessageSetProtoFile.internal__static_protobuf_unittest_TestMessageSetExtension1__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<TestMessageSetExtension1, TestMessageSetExtension1.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestMessageSetProtoFile.internal__static_protobuf_unittest_TestMessageSetExtension1__FieldAccessorTable; }
}
@@ -718,11 +718,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override TestMessageSetExtension2 ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestMessageSetProtoFile.internal__static_protobuf_unittest_TestMessageSetExtension2__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<TestMessageSetExtension2, TestMessageSetExtension2.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestMessageSetProtoFile.internal__static_protobuf_unittest_TestMessageSetExtension2__FieldAccessorTable; }
}
@@ -928,11 +932,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override RawMessageSet ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestMessageSetProtoFile.internal__static_protobuf_unittest_RawMessageSet__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<RawMessageSet, RawMessageSet.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestMessageSetProtoFile.internal__static_protobuf_unittest_RawMessageSet__FieldAccessorTable; }
}
@@ -948,11 +956,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override Item ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestMessageSetProtoFile.internal__static_protobuf_unittest_RawMessageSet_Item__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<Item, Item.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestMessageSetProtoFile.internal__static_protobuf_unittest_RawMessageSet_Item__FieldAccessorTable; }
}
diff --git a/csharp/ProtocolBuffers.Test/TestProtos/UnitTestOptimizeForProtoFile.cs b/csharp/ProtocolBuffers.Test/TestProtos/UnitTestOptimizeForProtoFile.cs
index 5315b95e..2272e2b7 100644
--- a/csharp/ProtocolBuffers.Test/TestProtos/UnitTestOptimizeForProtoFile.cs
+++ b/csharp/ProtocolBuffers.Test/TestProtos/UnitTestOptimizeForProtoFile.cs
@@ -42,11 +42,9 @@ namespace Google.ProtocolBuffers.TestProtos {
#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 (global::Google.ProtocolBuffers.TestProtos.TestOptimizedForSize),
- typeof (global::Google.ProtocolBuffers.TestProtos.TestOptimizedForSize.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestOptimizedForSize, global::Google.ProtocolBuffers.TestProtos.TestOptimizedForSize.Builder> 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", });
#endregion
}
@@ -65,11 +63,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override TestOptimizedForSize ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestOptimizeForProtoFile.internal__static_protobuf_unittest_TestOptimizedForSize__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<TestOptimizedForSize, TestOptimizedForSize.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestOptimizeForProtoFile.internal__static_protobuf_unittest_TestOptimizedForSize__FieldAccessorTable; }
}
diff --git a/csharp/ProtocolBuffers.Test/TestProtos/UnitTestProtoFile.cs b/csharp/ProtocolBuffers.Test/TestProtos/UnitTestProtoFile.cs
index 0c75f4a1..b638dc46 100644
--- a/csharp/ProtocolBuffers.Test/TestProtos/UnitTestProtoFile.cs
+++ b/csharp/ProtocolBuffers.Test/TestProtos/UnitTestProtoFile.cs
@@ -799,207 +799,149 @@ namespace Google.ProtocolBuffers.TestProtos {
#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 (global::Google.ProtocolBuffers.TestProtos.TestAllTypes),
- typeof (global::Google.ProtocolBuffers.TestProtos.TestAllTypes.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestAllTypes, global::Google.ProtocolBuffers.TestProtos.TestAllTypes.Builder> internal__static_protobuf_unittest_TestAllTypes__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestAllTypes, global::Google.ProtocolBuffers.TestProtos.TestAllTypes.Builder>(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", });
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 (global::Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.NestedMessage),
- typeof (global::Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.NestedMessage.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.NestedMessage, global::Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.NestedMessage.Builder> internal__static_protobuf_unittest_TestAllTypes_NestedMessage__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.NestedMessage, global::Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.NestedMessage.Builder>(internal__static_protobuf_unittest_TestAllTypes_NestedMessage__Descriptor,
+ new string[] { "Bb", });
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 (global::Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.OptionalGroup),
- typeof (global::Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.OptionalGroup.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.OptionalGroup, global::Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.OptionalGroup.Builder> internal__static_protobuf_unittest_TestAllTypes_OptionalGroup__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.OptionalGroup, global::Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.OptionalGroup.Builder>(internal__static_protobuf_unittest_TestAllTypes_OptionalGroup__Descriptor,
+ new string[] { "A", });
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 (global::Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.RepeatedGroup),
- typeof (global::Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.RepeatedGroup.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.RepeatedGroup, global::Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.RepeatedGroup.Builder> internal__static_protobuf_unittest_TestAllTypes_RepeatedGroup__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.RepeatedGroup, global::Google.ProtocolBuffers.TestProtos.TestAllTypes.Types.RepeatedGroup.Builder>(internal__static_protobuf_unittest_TestAllTypes_RepeatedGroup__Descriptor,
+ new string[] { "A", });
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 (global::Google.ProtocolBuffers.TestProtos.ForeignMessage),
- typeof (global::Google.ProtocolBuffers.TestProtos.ForeignMessage.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.ForeignMessage, global::Google.ProtocolBuffers.TestProtos.ForeignMessage.Builder> internal__static_protobuf_unittest_ForeignMessage__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.ForeignMessage, global::Google.ProtocolBuffers.TestProtos.ForeignMessage.Builder>(internal__static_protobuf_unittest_ForeignMessage__Descriptor,
+ new string[] { "C", });
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 (global::Google.ProtocolBuffers.TestProtos.TestAllExtensions),
- typeof (global::Google.ProtocolBuffers.TestProtos.TestAllExtensions.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestAllExtensions, global::Google.ProtocolBuffers.TestProtos.TestAllExtensions.Builder> internal__static_protobuf_unittest_TestAllExtensions__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestAllExtensions, global::Google.ProtocolBuffers.TestProtos.TestAllExtensions.Builder>(internal__static_protobuf_unittest_TestAllExtensions__Descriptor,
+ new string[] { });
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 (global::Google.ProtocolBuffers.TestProtos.OptionalGroup_extension),
- typeof (global::Google.ProtocolBuffers.TestProtos.OptionalGroup_extension.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.OptionalGroup_extension, global::Google.ProtocolBuffers.TestProtos.OptionalGroup_extension.Builder> internal__static_protobuf_unittest_OptionalGroup_extension__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.OptionalGroup_extension, global::Google.ProtocolBuffers.TestProtos.OptionalGroup_extension.Builder>(internal__static_protobuf_unittest_OptionalGroup_extension__Descriptor,
+ new string[] { "A", });
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 (global::Google.ProtocolBuffers.TestProtos.RepeatedGroup_extension),
- typeof (global::Google.ProtocolBuffers.TestProtos.RepeatedGroup_extension.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.RepeatedGroup_extension, global::Google.ProtocolBuffers.TestProtos.RepeatedGroup_extension.Builder> internal__static_protobuf_unittest_RepeatedGroup_extension__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.RepeatedGroup_extension, global::Google.ProtocolBuffers.TestProtos.RepeatedGroup_extension.Builder>(internal__static_protobuf_unittest_RepeatedGroup_extension__Descriptor,
+ new string[] { "A", });
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 (global::Google.ProtocolBuffers.TestProtos.TestRequired),
- typeof (global::Google.ProtocolBuffers.TestProtos.TestRequired.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestRequired, global::Google.ProtocolBuffers.TestProtos.TestRequired.Builder> internal__static_protobuf_unittest_TestRequired__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestRequired, global::Google.ProtocolBuffers.TestProtos.TestRequired.Builder>(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", });
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 (global::Google.ProtocolBuffers.TestProtos.TestRequiredForeign),
- typeof (global::Google.ProtocolBuffers.TestProtos.TestRequiredForeign.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestRequiredForeign, global::Google.ProtocolBuffers.TestProtos.TestRequiredForeign.Builder> internal__static_protobuf_unittest_TestRequiredForeign__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestRequiredForeign, global::Google.ProtocolBuffers.TestProtos.TestRequiredForeign.Builder>(internal__static_protobuf_unittest_TestRequiredForeign__Descriptor,
+ new string[] { "OptionalMessage", "RepeatedMessage", "Dummy", });
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 (global::Google.ProtocolBuffers.TestProtos.TestForeignNested),
- typeof (global::Google.ProtocolBuffers.TestProtos.TestForeignNested.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestForeignNested, global::Google.ProtocolBuffers.TestProtos.TestForeignNested.Builder> internal__static_protobuf_unittest_TestForeignNested__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestForeignNested, global::Google.ProtocolBuffers.TestProtos.TestForeignNested.Builder>(internal__static_protobuf_unittest_TestForeignNested__Descriptor,
+ new string[] { "ForeignNested", });
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 (global::Google.ProtocolBuffers.TestProtos.TestEmptyMessage),
- typeof (global::Google.ProtocolBuffers.TestProtos.TestEmptyMessage.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestEmptyMessage, global::Google.ProtocolBuffers.TestProtos.TestEmptyMessage.Builder> internal__static_protobuf_unittest_TestEmptyMessage__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestEmptyMessage, global::Google.ProtocolBuffers.TestProtos.TestEmptyMessage.Builder>(internal__static_protobuf_unittest_TestEmptyMessage__Descriptor,
+ new string[] { });
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 (global::Google.ProtocolBuffers.TestProtos.TestEmptyMessageWithExtensions),
- typeof (global::Google.ProtocolBuffers.TestProtos.TestEmptyMessageWithExtensions.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestEmptyMessageWithExtensions, global::Google.ProtocolBuffers.TestProtos.TestEmptyMessageWithExtensions.Builder> internal__static_protobuf_unittest_TestEmptyMessageWithExtensions__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestEmptyMessageWithExtensions, global::Google.ProtocolBuffers.TestProtos.TestEmptyMessageWithExtensions.Builder>(internal__static_protobuf_unittest_TestEmptyMessageWithExtensions__Descriptor,
+ new string[] { });
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 (global::Google.ProtocolBuffers.TestProtos.TestReallyLargeTagNumber),
- typeof (global::Google.ProtocolBuffers.TestProtos.TestReallyLargeTagNumber.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestReallyLargeTagNumber, global::Google.ProtocolBuffers.TestProtos.TestReallyLargeTagNumber.Builder> internal__static_protobuf_unittest_TestReallyLargeTagNumber__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestReallyLargeTagNumber, global::Google.ProtocolBuffers.TestProtos.TestReallyLargeTagNumber.Builder>(internal__static_protobuf_unittest_TestReallyLargeTagNumber__Descriptor,
+ new string[] { "A", "Bb", });
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 (global::Google.ProtocolBuffers.TestProtos.TestRecursiveMessage),
- typeof (global::Google.ProtocolBuffers.TestProtos.TestRecursiveMessage.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestRecursiveMessage, global::Google.ProtocolBuffers.TestProtos.TestRecursiveMessage.Builder> internal__static_protobuf_unittest_TestRecursiveMessage__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestRecursiveMessage, global::Google.ProtocolBuffers.TestProtos.TestRecursiveMessage.Builder>(internal__static_protobuf_unittest_TestRecursiveMessage__Descriptor,
+ new string[] { "A", "I", });
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 (global::Google.ProtocolBuffers.TestProtos.TestMutualRecursionA),
- typeof (global::Google.ProtocolBuffers.TestProtos.TestMutualRecursionA.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestMutualRecursionA, global::Google.ProtocolBuffers.TestProtos.TestMutualRecursionA.Builder> internal__static_protobuf_unittest_TestMutualRecursionA__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestMutualRecursionA, global::Google.ProtocolBuffers.TestProtos.TestMutualRecursionA.Builder>(internal__static_protobuf_unittest_TestMutualRecursionA__Descriptor,
+ new string[] { "Bb", });
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 (global::Google.ProtocolBuffers.TestProtos.TestMutualRecursionB),
- typeof (global::Google.ProtocolBuffers.TestProtos.TestMutualRecursionB.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestMutualRecursionB, global::Google.ProtocolBuffers.TestProtos.TestMutualRecursionB.Builder> internal__static_protobuf_unittest_TestMutualRecursionB__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestMutualRecursionB, global::Google.ProtocolBuffers.TestProtos.TestMutualRecursionB.Builder>(internal__static_protobuf_unittest_TestMutualRecursionB__Descriptor,
+ new string[] { "A", "OptionalInt32", });
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 (global::Google.ProtocolBuffers.TestProtos.TestDupFieldNumber),
- typeof (global::Google.ProtocolBuffers.TestProtos.TestDupFieldNumber.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestDupFieldNumber, global::Google.ProtocolBuffers.TestProtos.TestDupFieldNumber.Builder> internal__static_protobuf_unittest_TestDupFieldNumber__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestDupFieldNumber, global::Google.ProtocolBuffers.TestProtos.TestDupFieldNumber.Builder>(internal__static_protobuf_unittest_TestDupFieldNumber__Descriptor,
+ new string[] { "A", "Foo", "Bar", });
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 (global::Google.ProtocolBuffers.TestProtos.TestDupFieldNumber.Types.Foo),
- typeof (global::Google.ProtocolBuffers.TestProtos.TestDupFieldNumber.Types.Foo.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestDupFieldNumber.Types.Foo, global::Google.ProtocolBuffers.TestProtos.TestDupFieldNumber.Types.Foo.Builder> internal__static_protobuf_unittest_TestDupFieldNumber_Foo__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestDupFieldNumber.Types.Foo, global::Google.ProtocolBuffers.TestProtos.TestDupFieldNumber.Types.Foo.Builder>(internal__static_protobuf_unittest_TestDupFieldNumber_Foo__Descriptor,
+ new string[] { "A", });
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 (global::Google.ProtocolBuffers.TestProtos.TestDupFieldNumber.Types.Bar),
- typeof (global::Google.ProtocolBuffers.TestProtos.TestDupFieldNumber.Types.Bar.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestDupFieldNumber.Types.Bar, global::Google.ProtocolBuffers.TestProtos.TestDupFieldNumber.Types.Bar.Builder> internal__static_protobuf_unittest_TestDupFieldNumber_Bar__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestDupFieldNumber.Types.Bar, global::Google.ProtocolBuffers.TestProtos.TestDupFieldNumber.Types.Bar.Builder>(internal__static_protobuf_unittest_TestDupFieldNumber_Bar__Descriptor,
+ new string[] { "A", });
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 (global::Google.ProtocolBuffers.TestProtos.TestNestedMessageHasBits),
- typeof (global::Google.ProtocolBuffers.TestProtos.TestNestedMessageHasBits.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestNestedMessageHasBits, global::Google.ProtocolBuffers.TestProtos.TestNestedMessageHasBits.Builder> internal__static_protobuf_unittest_TestNestedMessageHasBits__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestNestedMessageHasBits, global::Google.ProtocolBuffers.TestProtos.TestNestedMessageHasBits.Builder>(internal__static_protobuf_unittest_TestNestedMessageHasBits__Descriptor,
+ new string[] { "OptionalNestedMessage", });
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 (global::Google.ProtocolBuffers.TestProtos.TestNestedMessageHasBits.Types.NestedMessage),
- typeof (global::Google.ProtocolBuffers.TestProtos.TestNestedMessageHasBits.Types.NestedMessage.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestNestedMessageHasBits.Types.NestedMessage, global::Google.ProtocolBuffers.TestProtos.TestNestedMessageHasBits.Types.NestedMessage.Builder> internal__static_protobuf_unittest_TestNestedMessageHasBits_NestedMessage__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestNestedMessageHasBits.Types.NestedMessage, global::Google.ProtocolBuffers.TestProtos.TestNestedMessageHasBits.Types.NestedMessage.Builder>(internal__static_protobuf_unittest_TestNestedMessageHasBits_NestedMessage__Descriptor,
+ new string[] { "NestedmessageRepeatedInt32", "NestedmessageRepeatedForeignmessage", });
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 (global::Google.ProtocolBuffers.TestProtos.TestCamelCaseFieldNames),
- typeof (global::Google.ProtocolBuffers.TestProtos.TestCamelCaseFieldNames.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestCamelCaseFieldNames, global::Google.ProtocolBuffers.TestProtos.TestCamelCaseFieldNames.Builder> internal__static_protobuf_unittest_TestCamelCaseFieldNames__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestCamelCaseFieldNames, global::Google.ProtocolBuffers.TestProtos.TestCamelCaseFieldNames.Builder>(internal__static_protobuf_unittest_TestCamelCaseFieldNames__Descriptor,
+ new string[] { "PrimitiveField", "StringField", "EnumField", "MessageField", "StringPieceField", "CordField", "RepeatedPrimitiveField", "RepeatedStringField", "RepeatedEnumField", "RepeatedMessageField", "RepeatedStringPieceField", "RepeatedCordField", });
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 (global::Google.ProtocolBuffers.TestProtos.TestFieldOrderings),
- typeof (global::Google.ProtocolBuffers.TestProtos.TestFieldOrderings.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestFieldOrderings, global::Google.ProtocolBuffers.TestProtos.TestFieldOrderings.Builder> internal__static_protobuf_unittest_TestFieldOrderings__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestFieldOrderings, global::Google.ProtocolBuffers.TestProtos.TestFieldOrderings.Builder>(internal__static_protobuf_unittest_TestFieldOrderings__Descriptor,
+ new string[] { "MyString", "MyInt", "MyFloat", });
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 (global::Google.ProtocolBuffers.TestProtos.TestExtremeDefaultValues),
- typeof (global::Google.ProtocolBuffers.TestProtos.TestExtremeDefaultValues.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestExtremeDefaultValues, global::Google.ProtocolBuffers.TestProtos.TestExtremeDefaultValues.Builder> internal__static_protobuf_unittest_TestExtremeDefaultValues__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestExtremeDefaultValues, global::Google.ProtocolBuffers.TestProtos.TestExtremeDefaultValues.Builder>(internal__static_protobuf_unittest_TestExtremeDefaultValues__Descriptor,
+ new string[] { "EscapedBytes", "LargeUint32", "LargeUint64", "SmallInt32", "SmallInt64", "Utf8String", });
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 (global::Google.ProtocolBuffers.TestProtos.FooRequest),
- typeof (global::Google.ProtocolBuffers.TestProtos.FooRequest.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.FooRequest, global::Google.ProtocolBuffers.TestProtos.FooRequest.Builder> internal__static_protobuf_unittest_FooRequest__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.FooRequest, global::Google.ProtocolBuffers.TestProtos.FooRequest.Builder>(internal__static_protobuf_unittest_FooRequest__Descriptor,
+ new string[] { });
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 (global::Google.ProtocolBuffers.TestProtos.FooResponse),
- typeof (global::Google.ProtocolBuffers.TestProtos.FooResponse.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.FooResponse, global::Google.ProtocolBuffers.TestProtos.FooResponse.Builder> internal__static_protobuf_unittest_FooResponse__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.FooResponse, global::Google.ProtocolBuffers.TestProtos.FooResponse.Builder>(internal__static_protobuf_unittest_FooResponse__Descriptor,
+ new string[] { });
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 (global::Google.ProtocolBuffers.TestProtos.BarRequest),
- typeof (global::Google.ProtocolBuffers.TestProtos.BarRequest.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.BarRequest, global::Google.ProtocolBuffers.TestProtos.BarRequest.Builder> internal__static_protobuf_unittest_BarRequest__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.BarRequest, global::Google.ProtocolBuffers.TestProtos.BarRequest.Builder>(internal__static_protobuf_unittest_BarRequest__Descriptor,
+ new string[] { });
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 (global::Google.ProtocolBuffers.TestProtos.BarResponse),
- typeof (global::Google.ProtocolBuffers.TestProtos.BarResponse.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.BarResponse, global::Google.ProtocolBuffers.TestProtos.BarResponse.Builder> internal__static_protobuf_unittest_BarResponse__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.BarResponse, global::Google.ProtocolBuffers.TestProtos.BarResponse.Builder>(internal__static_protobuf_unittest_BarResponse__Descriptor,
+ new string[] { });
#endregion
}
@@ -1040,11 +982,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override TestAllTypes ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestAllTypes__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<TestAllTypes, TestAllTypes.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestAllTypes__FieldAccessorTable; }
}
@@ -1066,11 +1012,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override NestedMessage ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestAllTypes_NestedMessage__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<NestedMessage, NestedMessage.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestAllTypes_NestedMessage__FieldAccessorTable; }
}
@@ -1269,11 +1219,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override OptionalGroup ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestAllTypes_OptionalGroup__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<OptionalGroup, OptionalGroup.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestAllTypes_OptionalGroup__FieldAccessorTable; }
}
@@ -1472,11 +1426,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override RepeatedGroup ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestAllTypes_RepeatedGroup__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<RepeatedGroup, RepeatedGroup.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestAllTypes_RepeatedGroup__FieldAccessorTable; }
}
@@ -5363,11 +5321,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override ForeignMessage ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_ForeignMessage__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<ForeignMessage, ForeignMessage.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_ForeignMessage__FieldAccessorTable; }
}
@@ -5566,11 +5528,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override TestAllExtensions ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestAllExtensions__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<TestAllExtensions, TestAllExtensions.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestAllExtensions__FieldAccessorTable; }
}
@@ -5731,11 +5697,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override OptionalGroup_extension ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_OptionalGroup_extension__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<OptionalGroup_extension, OptionalGroup_extension.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_OptionalGroup_extension__FieldAccessorTable; }
}
@@ -5934,11 +5904,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override RepeatedGroup_extension ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_RepeatedGroup_extension__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<RepeatedGroup_extension, RepeatedGroup_extension.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_RepeatedGroup_extension__FieldAccessorTable; }
}
@@ -6137,11 +6111,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override TestRequired ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestRequired__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<TestRequired, TestRequired.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestRequired__FieldAccessorTable; }
}
@@ -7697,11 +7675,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override TestRequiredForeign ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestRequiredForeign__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<TestRequiredForeign, TestRequiredForeign.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestRequiredForeign__FieldAccessorTable; }
}
@@ -8046,11 +8028,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override TestForeignNested ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestForeignNested__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<TestForeignNested, TestForeignNested.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestForeignNested__FieldAccessorTable; }
}
@@ -8270,11 +8256,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override TestEmptyMessage ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestEmptyMessage__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<TestEmptyMessage, TestEmptyMessage.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestEmptyMessage__FieldAccessorTable; }
}
@@ -8431,11 +8421,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override TestEmptyMessageWithExtensions ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestEmptyMessageWithExtensions__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<TestEmptyMessageWithExtensions, TestEmptyMessageWithExtensions.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestEmptyMessageWithExtensions__FieldAccessorTable; }
}
@@ -8596,11 +8590,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override TestReallyLargeTagNumber ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestReallyLargeTagNumber__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<TestReallyLargeTagNumber, TestReallyLargeTagNumber.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestReallyLargeTagNumber__FieldAccessorTable; }
}
@@ -8841,11 +8839,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override TestRecursiveMessage ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestRecursiveMessage__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<TestRecursiveMessage, TestRecursiveMessage.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestRecursiveMessage__FieldAccessorTable; }
}
@@ -9107,11 +9109,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override TestMutualRecursionA ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestMutualRecursionA__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<TestMutualRecursionA, TestMutualRecursionA.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestMutualRecursionA__FieldAccessorTable; }
}
@@ -9331,11 +9337,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override TestMutualRecursionB ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestMutualRecursionB__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<TestMutualRecursionB, TestMutualRecursionB.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestMutualRecursionB__FieldAccessorTable; }
}
@@ -9597,11 +9607,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override TestDupFieldNumber ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestDupFieldNumber__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<TestDupFieldNumber, TestDupFieldNumber.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestDupFieldNumber__FieldAccessorTable; }
}
@@ -9617,11 +9631,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override Foo ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestDupFieldNumber_Foo__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<Foo, Foo.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestDupFieldNumber_Foo__FieldAccessorTable; }
}
@@ -9820,11 +9838,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override Bar ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestDupFieldNumber_Bar__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<Bar, Bar.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestDupFieldNumber_Bar__FieldAccessorTable; }
}
@@ -10337,11 +10359,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override TestNestedMessageHasBits ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestNestedMessageHasBits__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<TestNestedMessageHasBits, TestNestedMessageHasBits.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestNestedMessageHasBits__FieldAccessorTable; }
}
@@ -10357,11 +10383,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override NestedMessage ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestNestedMessageHasBits_NestedMessage__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<NestedMessage, NestedMessage.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestNestedMessageHasBits_NestedMessage__FieldAccessorTable; }
}
@@ -10867,11 +10897,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override TestCamelCaseFieldNames ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestCamelCaseFieldNames__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<TestCamelCaseFieldNames, TestCamelCaseFieldNames.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestCamelCaseFieldNames__FieldAccessorTable; }
}
@@ -11703,11 +11737,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override TestFieldOrderings ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestFieldOrderings__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<TestFieldOrderings, TestFieldOrderings.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestFieldOrderings__FieldAccessorTable; }
}
@@ -11995,11 +12033,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override TestExtremeDefaultValues ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestExtremeDefaultValues__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<TestExtremeDefaultValues, TestExtremeDefaultValues.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_TestExtremeDefaultValues__FieldAccessorTable; }
}
@@ -12408,11 +12450,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override FooRequest ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_FooRequest__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<FooRequest, FooRequest.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_FooRequest__FieldAccessorTable; }
}
@@ -12569,11 +12615,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override FooResponse ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_FooResponse__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<FooResponse, FooResponse.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_FooResponse__FieldAccessorTable; }
}
@@ -12730,11 +12780,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override BarRequest ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_BarRequest__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<BarRequest, BarRequest.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_BarRequest__FieldAccessorTable; }
}
@@ -12891,11 +12945,15 @@ namespace Google.ProtocolBuffers.TestProtos {
get { return defaultInstance; }
}
+ protected override BarResponse ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_BarResponse__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<BarResponse, BarResponse.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.TestProtos.UnitTestProtoFile.internal__static_protobuf_unittest_BarResponse__FieldAccessorTable; }
}
diff --git a/csharp/ProtocolBuffers/DescriptorProtos/DescriptorProtoFile.cs b/csharp/ProtocolBuffers/DescriptorProtos/DescriptorProtoFile.cs
index ec7bf585..e61f80cf 100644
--- a/csharp/ProtocolBuffers/DescriptorProtos/DescriptorProtoFile.cs
+++ b/csharp/ProtocolBuffers/DescriptorProtos/DescriptorProtoFile.cs
@@ -164,109 +164,79 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
#region Static variables
internal static readonly pbd::MessageDescriptor internal__static_google_protobuf_FileDescriptorProto__Descriptor
= Descriptor.MessageTypes[0];
- internal static pb::FieldAccess.FieldAccessorTable internal__static_google_protobuf_FileDescriptorProto__FieldAccessorTable
- = new pb::FieldAccess.FieldAccessorTable(internal__static_google_protobuf_FileDescriptorProto__Descriptor,
- new string[] { "Name", "Package", "Dependency", "MessageType", "EnumType", "Service", "Extension", "Options", },
- typeof (global::Google.ProtocolBuffers.DescriptorProtos.FileDescriptorProto),
- typeof (global::Google.ProtocolBuffers.DescriptorProtos.FileDescriptorProto.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.FileDescriptorProto, global::Google.ProtocolBuffers.DescriptorProtos.FileDescriptorProto.Builder> internal__static_google_protobuf_FileDescriptorProto__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.FileDescriptorProto, global::Google.ProtocolBuffers.DescriptorProtos.FileDescriptorProto.Builder>(internal__static_google_protobuf_FileDescriptorProto__Descriptor,
+ new string[] { "Name", "Package", "Dependency", "MessageType", "EnumType", "Service", "Extension", "Options", });
internal static readonly pbd::MessageDescriptor internal__static_google_protobuf_DescriptorProto__Descriptor
= Descriptor.MessageTypes[1];
- internal static pb::FieldAccess.FieldAccessorTable internal__static_google_protobuf_DescriptorProto__FieldAccessorTable
- = new pb::FieldAccess.FieldAccessorTable(internal__static_google_protobuf_DescriptorProto__Descriptor,
- new string[] { "Name", "Field", "Extension", "NestedType", "EnumType", "ExtensionRange", "Options", },
- typeof (global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProto),
- typeof (global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProto.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProto, global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProto.Builder> internal__static_google_protobuf_DescriptorProto__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProto, global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProto.Builder>(internal__static_google_protobuf_DescriptorProto__Descriptor,
+ new string[] { "Name", "Field", "Extension", "NestedType", "EnumType", "ExtensionRange", "Options", });
internal static readonly pbd::MessageDescriptor internal__static_google_protobuf_DescriptorProto_ExtensionRange__Descriptor
= internal__static_google_protobuf_DescriptorProto__Descriptor.NestedTypes[0];
- internal static pb::FieldAccess.FieldAccessorTable internal__static_google_protobuf_DescriptorProto_ExtensionRange__FieldAccessorTable
- = new pb::FieldAccess.FieldAccessorTable(internal__static_google_protobuf_DescriptorProto_ExtensionRange__Descriptor,
- new string[] { "Start", "End", },
- typeof (global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProto.Types.ExtensionRange),
- typeof (global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProto.Types.ExtensionRange.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProto.Types.ExtensionRange, global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProto.Types.ExtensionRange.Builder> internal__static_google_protobuf_DescriptorProto_ExtensionRange__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProto.Types.ExtensionRange, global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProto.Types.ExtensionRange.Builder>(internal__static_google_protobuf_DescriptorProto_ExtensionRange__Descriptor,
+ new string[] { "Start", "End", });
internal static readonly pbd::MessageDescriptor internal__static_google_protobuf_FieldDescriptorProto__Descriptor
= Descriptor.MessageTypes[2];
- internal static pb::FieldAccess.FieldAccessorTable internal__static_google_protobuf_FieldDescriptorProto__FieldAccessorTable
- = new pb::FieldAccess.FieldAccessorTable(internal__static_google_protobuf_FieldDescriptorProto__Descriptor,
- new string[] { "Name", "Number", "Label", "Type", "TypeName", "Extendee", "DefaultValue", "Options", },
- typeof (global::Google.ProtocolBuffers.DescriptorProtos.FieldDescriptorProto),
- typeof (global::Google.ProtocolBuffers.DescriptorProtos.FieldDescriptorProto.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.FieldDescriptorProto, global::Google.ProtocolBuffers.DescriptorProtos.FieldDescriptorProto.Builder> internal__static_google_protobuf_FieldDescriptorProto__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.FieldDescriptorProto, global::Google.ProtocolBuffers.DescriptorProtos.FieldDescriptorProto.Builder>(internal__static_google_protobuf_FieldDescriptorProto__Descriptor,
+ new string[] { "Name", "Number", "Label", "Type", "TypeName", "Extendee", "DefaultValue", "Options", });
internal static readonly pbd::MessageDescriptor internal__static_google_protobuf_EnumDescriptorProto__Descriptor
= Descriptor.MessageTypes[3];
- internal static pb::FieldAccess.FieldAccessorTable internal__static_google_protobuf_EnumDescriptorProto__FieldAccessorTable
- = new pb::FieldAccess.FieldAccessorTable(internal__static_google_protobuf_EnumDescriptorProto__Descriptor,
- new string[] { "Name", "Value", "Options", },
- typeof (global::Google.ProtocolBuffers.DescriptorProtos.EnumDescriptorProto),
- typeof (global::Google.ProtocolBuffers.DescriptorProtos.EnumDescriptorProto.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.EnumDescriptorProto, global::Google.ProtocolBuffers.DescriptorProtos.EnumDescriptorProto.Builder> internal__static_google_protobuf_EnumDescriptorProto__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.EnumDescriptorProto, global::Google.ProtocolBuffers.DescriptorProtos.EnumDescriptorProto.Builder>(internal__static_google_protobuf_EnumDescriptorProto__Descriptor,
+ new string[] { "Name", "Value", "Options", });
internal static readonly pbd::MessageDescriptor internal__static_google_protobuf_EnumValueDescriptorProto__Descriptor
= Descriptor.MessageTypes[4];
- internal static pb::FieldAccess.FieldAccessorTable internal__static_google_protobuf_EnumValueDescriptorProto__FieldAccessorTable
- = new pb::FieldAccess.FieldAccessorTable(internal__static_google_protobuf_EnumValueDescriptorProto__Descriptor,
- new string[] { "Name", "Number", "Options", },
- typeof (global::Google.ProtocolBuffers.DescriptorProtos.EnumValueDescriptorProto),
- typeof (global::Google.ProtocolBuffers.DescriptorProtos.EnumValueDescriptorProto.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.EnumValueDescriptorProto, global::Google.ProtocolBuffers.DescriptorProtos.EnumValueDescriptorProto.Builder> internal__static_google_protobuf_EnumValueDescriptorProto__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.EnumValueDescriptorProto, global::Google.ProtocolBuffers.DescriptorProtos.EnumValueDescriptorProto.Builder>(internal__static_google_protobuf_EnumValueDescriptorProto__Descriptor,
+ new string[] { "Name", "Number", "Options", });
internal static readonly pbd::MessageDescriptor internal__static_google_protobuf_ServiceDescriptorProto__Descriptor
= Descriptor.MessageTypes[5];
- internal static pb::FieldAccess.FieldAccessorTable internal__static_google_protobuf_ServiceDescriptorProto__FieldAccessorTable
- = new pb::FieldAccess.FieldAccessorTable(internal__static_google_protobuf_ServiceDescriptorProto__Descriptor,
- new string[] { "Name", "Method", "Options", },
- typeof (global::Google.ProtocolBuffers.DescriptorProtos.ServiceDescriptorProto),
- typeof (global::Google.ProtocolBuffers.DescriptorProtos.ServiceDescriptorProto.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.ServiceDescriptorProto, global::Google.ProtocolBuffers.DescriptorProtos.ServiceDescriptorProto.Builder> internal__static_google_protobuf_ServiceDescriptorProto__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.ServiceDescriptorProto, global::Google.ProtocolBuffers.DescriptorProtos.ServiceDescriptorProto.Builder>(internal__static_google_protobuf_ServiceDescriptorProto__Descriptor,
+ new string[] { "Name", "Method", "Options", });
internal static readonly pbd::MessageDescriptor internal__static_google_protobuf_MethodDescriptorProto__Descriptor
= Descriptor.MessageTypes[6];
- internal static pb::FieldAccess.FieldAccessorTable internal__static_google_protobuf_MethodDescriptorProto__FieldAccessorTable
- = new pb::FieldAccess.FieldAccessorTable(internal__static_google_protobuf_MethodDescriptorProto__Descriptor,
- new string[] { "Name", "InputType", "OutputType", "Options", },
- typeof (global::Google.ProtocolBuffers.DescriptorProtos.MethodDescriptorProto),
- typeof (global::Google.ProtocolBuffers.DescriptorProtos.MethodDescriptorProto.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.MethodDescriptorProto, global::Google.ProtocolBuffers.DescriptorProtos.MethodDescriptorProto.Builder> internal__static_google_protobuf_MethodDescriptorProto__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.MethodDescriptorProto, global::Google.ProtocolBuffers.DescriptorProtos.MethodDescriptorProto.Builder>(internal__static_google_protobuf_MethodDescriptorProto__Descriptor,
+ new string[] { "Name", "InputType", "OutputType", "Options", });
internal static readonly pbd::MessageDescriptor internal__static_google_protobuf_FileOptions__Descriptor
= Descriptor.MessageTypes[7];
- internal static pb::FieldAccess.FieldAccessorTable internal__static_google_protobuf_FileOptions__FieldAccessorTable
- = new pb::FieldAccess.FieldAccessorTable(internal__static_google_protobuf_FileOptions__Descriptor,
- new string[] { "JavaPackage", "JavaOuterClassname", "JavaMultipleFiles", "OptimizeFor", "CsharpNamespace", "CsharpFileClassname", "CsharpMultipleFiles", "CsharpNestClasses", "CsharpPublicClasses", },
- typeof (global::Google.ProtocolBuffers.DescriptorProtos.FileOptions),
- typeof (global::Google.ProtocolBuffers.DescriptorProtos.FileOptions.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.FileOptions, global::Google.ProtocolBuffers.DescriptorProtos.FileOptions.Builder> internal__static_google_protobuf_FileOptions__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.FileOptions, global::Google.ProtocolBuffers.DescriptorProtos.FileOptions.Builder>(internal__static_google_protobuf_FileOptions__Descriptor,
+ new string[] { "JavaPackage", "JavaOuterClassname", "JavaMultipleFiles", "OptimizeFor", "CsharpNamespace", "CsharpFileClassname", "CsharpMultipleFiles", "CsharpNestClasses", "CsharpPublicClasses", });
internal static readonly pbd::MessageDescriptor internal__static_google_protobuf_MessageOptions__Descriptor
= Descriptor.MessageTypes[8];
- internal static pb::FieldAccess.FieldAccessorTable internal__static_google_protobuf_MessageOptions__FieldAccessorTable
- = new pb::FieldAccess.FieldAccessorTable(internal__static_google_protobuf_MessageOptions__Descriptor,
- new string[] { "MessageSetWireFormat", },
- typeof (global::Google.ProtocolBuffers.DescriptorProtos.MessageOptions),
- typeof (global::Google.ProtocolBuffers.DescriptorProtos.MessageOptions.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.MessageOptions, global::Google.ProtocolBuffers.DescriptorProtos.MessageOptions.Builder> internal__static_google_protobuf_MessageOptions__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.MessageOptions, global::Google.ProtocolBuffers.DescriptorProtos.MessageOptions.Builder>(internal__static_google_protobuf_MessageOptions__Descriptor,
+ new string[] { "MessageSetWireFormat", });
internal static readonly pbd::MessageDescriptor internal__static_google_protobuf_FieldOptions__Descriptor
= Descriptor.MessageTypes[9];
- internal static pb::FieldAccess.FieldAccessorTable internal__static_google_protobuf_FieldOptions__FieldAccessorTable
- = new pb::FieldAccess.FieldAccessorTable(internal__static_google_protobuf_FieldOptions__Descriptor,
- new string[] { "Ctype", "ExperimentalMapKey", },
- typeof (global::Google.ProtocolBuffers.DescriptorProtos.FieldOptions),
- typeof (global::Google.ProtocolBuffers.DescriptorProtos.FieldOptions.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.FieldOptions, global::Google.ProtocolBuffers.DescriptorProtos.FieldOptions.Builder> internal__static_google_protobuf_FieldOptions__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.FieldOptions, global::Google.ProtocolBuffers.DescriptorProtos.FieldOptions.Builder>(internal__static_google_protobuf_FieldOptions__Descriptor,
+ new string[] { "Ctype", "ExperimentalMapKey", });
internal static readonly pbd::MessageDescriptor internal__static_google_protobuf_EnumOptions__Descriptor
= Descriptor.MessageTypes[10];
- internal static pb::FieldAccess.FieldAccessorTable internal__static_google_protobuf_EnumOptions__FieldAccessorTable
- = new pb::FieldAccess.FieldAccessorTable(internal__static_google_protobuf_EnumOptions__Descriptor,
- new string[] { },
- typeof (global::Google.ProtocolBuffers.DescriptorProtos.EnumOptions),
- typeof (global::Google.ProtocolBuffers.DescriptorProtos.EnumOptions.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.EnumOptions, global::Google.ProtocolBuffers.DescriptorProtos.EnumOptions.Builder> internal__static_google_protobuf_EnumOptions__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.EnumOptions, global::Google.ProtocolBuffers.DescriptorProtos.EnumOptions.Builder>(internal__static_google_protobuf_EnumOptions__Descriptor,
+ new string[] { });
internal static readonly pbd::MessageDescriptor internal__static_google_protobuf_EnumValueOptions__Descriptor
= Descriptor.MessageTypes[11];
- internal static pb::FieldAccess.FieldAccessorTable internal__static_google_protobuf_EnumValueOptions__FieldAccessorTable
- = new pb::FieldAccess.FieldAccessorTable(internal__static_google_protobuf_EnumValueOptions__Descriptor,
- new string[] { },
- typeof (global::Google.ProtocolBuffers.DescriptorProtos.EnumValueOptions),
- typeof (global::Google.ProtocolBuffers.DescriptorProtos.EnumValueOptions.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.EnumValueOptions, global::Google.ProtocolBuffers.DescriptorProtos.EnumValueOptions.Builder> internal__static_google_protobuf_EnumValueOptions__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.EnumValueOptions, global::Google.ProtocolBuffers.DescriptorProtos.EnumValueOptions.Builder>(internal__static_google_protobuf_EnumValueOptions__Descriptor,
+ new string[] { });
internal static readonly pbd::MessageDescriptor internal__static_google_protobuf_ServiceOptions__Descriptor
= Descriptor.MessageTypes[12];
- internal static pb::FieldAccess.FieldAccessorTable internal__static_google_protobuf_ServiceOptions__FieldAccessorTable
- = new pb::FieldAccess.FieldAccessorTable(internal__static_google_protobuf_ServiceOptions__Descriptor,
- new string[] { },
- typeof (global::Google.ProtocolBuffers.DescriptorProtos.ServiceOptions),
- typeof (global::Google.ProtocolBuffers.DescriptorProtos.ServiceOptions.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.ServiceOptions, global::Google.ProtocolBuffers.DescriptorProtos.ServiceOptions.Builder> internal__static_google_protobuf_ServiceOptions__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.ServiceOptions, global::Google.ProtocolBuffers.DescriptorProtos.ServiceOptions.Builder>(internal__static_google_protobuf_ServiceOptions__Descriptor,
+ new string[] { });
internal static readonly pbd::MessageDescriptor internal__static_google_protobuf_MethodOptions__Descriptor
= Descriptor.MessageTypes[13];
- internal static pb::FieldAccess.FieldAccessorTable internal__static_google_protobuf_MethodOptions__FieldAccessorTable
- = new pb::FieldAccess.FieldAccessorTable(internal__static_google_protobuf_MethodOptions__Descriptor,
- new string[] { },
- typeof (global::Google.ProtocolBuffers.DescriptorProtos.MethodOptions),
- typeof (global::Google.ProtocolBuffers.DescriptorProtos.MethodOptions.Builder));
+ internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.MethodOptions, global::Google.ProtocolBuffers.DescriptorProtos.MethodOptions.Builder> internal__static_google_protobuf_MethodOptions__FieldAccessorTable
+ = new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.DescriptorProtos.MethodOptions, global::Google.ProtocolBuffers.DescriptorProtos.MethodOptions.Builder>(internal__static_google_protobuf_MethodOptions__Descriptor,
+ new string[] { });
#endregion
}
@@ -285,11 +255,15 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
get { return defaultInstance; }
}
+ protected override FileDescriptorProto ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.internal__static_google_protobuf_FileDescriptorProto__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<FileDescriptorProto, FileDescriptorProto.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.internal__static_google_protobuf_FileDescriptorProto__FieldAccessorTable; }
}
@@ -964,11 +938,15 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
get { return defaultInstance; }
}
+ protected override DescriptorProto ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.internal__static_google_protobuf_DescriptorProto__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<DescriptorProto, DescriptorProto.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.internal__static_google_protobuf_DescriptorProto__FieldAccessorTable; }
}
@@ -984,11 +962,15 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
get { return defaultInstance; }
}
+ protected override ExtensionRange ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.internal__static_google_protobuf_DescriptorProto_ExtensionRange__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<ExtensionRange, ExtensionRange.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.internal__static_google_protobuf_DescriptorProto_ExtensionRange__FieldAccessorTable; }
}
@@ -1865,11 +1847,15 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
get { return defaultInstance; }
}
+ protected override FieldDescriptorProto ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.internal__static_google_protobuf_FieldDescriptorProto__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<FieldDescriptorProto, FieldDescriptorProto.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.internal__static_google_protobuf_FieldDescriptorProto__FieldAccessorTable; }
}
@@ -2423,11 +2409,15 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
get { return defaultInstance; }
}
+ protected override EnumDescriptorProto ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.internal__static_google_protobuf_EnumDescriptorProto__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<EnumDescriptorProto, EnumDescriptorProto.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.internal__static_google_protobuf_EnumDescriptorProto__FieldAccessorTable; }
}
@@ -2766,11 +2756,15 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
get { return defaultInstance; }
}
+ protected override EnumValueDescriptorProto ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.internal__static_google_protobuf_EnumValueDescriptorProto__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<EnumValueDescriptorProto, EnumValueDescriptorProto.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.internal__static_google_protobuf_EnumValueDescriptorProto__FieldAccessorTable; }
}
@@ -3074,11 +3068,15 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
get { return defaultInstance; }
}
+ protected override ServiceDescriptorProto ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.internal__static_google_protobuf_ServiceDescriptorProto__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<ServiceDescriptorProto, ServiceDescriptorProto.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.internal__static_google_protobuf_ServiceDescriptorProto__FieldAccessorTable; }
}
@@ -3417,11 +3415,15 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
get { return defaultInstance; }
}
+ protected override MethodDescriptorProto ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.internal__static_google_protobuf_MethodDescriptorProto__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<MethodDescriptorProto, MethodDescriptorProto.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.internal__static_google_protobuf_MethodDescriptorProto__FieldAccessorTable; }
}
@@ -3767,11 +3769,15 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
get { return defaultInstance; }
}
+ protected override FileOptions ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.internal__static_google_protobuf_FileOptions__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<FileOptions, FileOptions.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.internal__static_google_protobuf_FileOptions__FieldAccessorTable; }
}
@@ -4320,11 +4326,15 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
get { return defaultInstance; }
}
+ protected override MessageOptions ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.internal__static_google_protobuf_MessageOptions__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<MessageOptions, MessageOptions.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.internal__static_google_protobuf_MessageOptions__FieldAccessorTable; }
}
@@ -4523,11 +4533,15 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
get { return defaultInstance; }
}
+ protected override FieldOptions ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.internal__static_google_protobuf_FieldOptions__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<FieldOptions, FieldOptions.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.internal__static_google_protobuf_FieldOptions__FieldAccessorTable; }
}
@@ -4782,11 +4796,15 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
get { return defaultInstance; }
}
+ protected override EnumOptions ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.internal__static_google_protobuf_EnumOptions__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<EnumOptions, EnumOptions.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.internal__static_google_protobuf_EnumOptions__FieldAccessorTable; }
}
@@ -4943,11 +4961,15 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
get { return defaultInstance; }
}
+ protected override EnumValueOptions ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.internal__static_google_protobuf_EnumValueOptions__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<EnumValueOptions, EnumValueOptions.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.internal__static_google_protobuf_EnumValueOptions__FieldAccessorTable; }
}
@@ -5104,11 +5126,15 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
get { return defaultInstance; }
}
+ protected override ServiceOptions ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.internal__static_google_protobuf_ServiceOptions__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<ServiceOptions, ServiceOptions.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.internal__static_google_protobuf_ServiceOptions__FieldAccessorTable; }
}
@@ -5265,11 +5291,15 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
get { return defaultInstance; }
}
+ protected override MethodOptions ThisMessage {
+ get { return this; }
+ }
+
public static pbd::MessageDescriptor Descriptor {
get { return global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.internal__static_google_protobuf_MethodOptions__Descriptor; }
}
- protected override pb::FieldAccess.FieldAccessorTable InternalFieldAccessors {
+ protected override pb::FieldAccess.FieldAccessorTable<MethodOptions, MethodOptions.Builder> InternalFieldAccessors {
get { return global::Google.ProtocolBuffers.DescriptorProtos.DescriptorProtoFile.internal__static_google_protobuf_MethodOptions__FieldAccessorTable; }
}
diff --git a/csharp/ProtocolBuffers/FieldAccess/Delegates.cs b/csharp/ProtocolBuffers/FieldAccess/Delegates.cs
new file mode 100644
index 00000000..04b1d94c
--- /dev/null
+++ b/csharp/ProtocolBuffers/FieldAccess/Delegates.cs
@@ -0,0 +1,11 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Google.ProtocolBuffers.FieldAccess {
+
+ delegate bool HasDelegate<T>(T message);
+ delegate T ClearDelegate<T>(T builder);
+ delegate int RepeatedCountDelegate<T>(T message);
+ delegate object GetValueDelegate<T>(T message);
+}
diff --git a/csharp/ProtocolBuffers/FieldAccess/FieldAccessorTable.cs b/csharp/ProtocolBuffers/FieldAccess/FieldAccessorTable.cs
index 24113b41..c7f5da6d 100644
--- a/csharp/ProtocolBuffers/FieldAccess/FieldAccessorTable.cs
+++ b/csharp/ProtocolBuffers/FieldAccess/FieldAccessorTable.cs
@@ -23,9 +23,11 @@ namespace Google.ProtocolBuffers.FieldAccess {
/// create appropriate instances in the .proto file description class.
/// TODO(jonskeet): See if we can hide it somewhere...
/// </summary>
- public sealed class FieldAccessorTable {
+ public sealed class FieldAccessorTable<TMessage, TBuilder>
+ where TMessage : IMessage<TMessage, TBuilder>
+ where TBuilder : IBuilder<TMessage, TBuilder> {
- readonly IFieldAccessor[] accessors;
+ readonly IFieldAccessor<TMessage, TBuilder>[] accessors;
readonly MessageDescriptor descriptor;
@@ -39,36 +41,34 @@ namespace Google.ProtocolBuffers.FieldAccess {
/// </summary>
/// <param name="descriptor">The type's descriptor</param>
/// <param name="propertyNames">The Pascal-case names of all the field-based properties in the message.</param>
- /// <param name="messageType">The .NET type representing the message</param>
- /// <param name="builderType">The .NET type representing the message's builder type</param>
- public FieldAccessorTable(MessageDescriptor descriptor, String[] propertyNames, Type messageType, Type builderType) {
+ public FieldAccessorTable(MessageDescriptor descriptor, String[] propertyNames) {
this.descriptor = descriptor;
- accessors = new IFieldAccessor[descriptor.Fields.Count];
+ accessors = new IFieldAccessor<TMessage, TBuilder>[descriptor.Fields.Count];
for (int i=0; i < accessors.Length; i++) {
- accessors[i] = CreateAccessor(descriptor.Fields[i], propertyNames[i], messageType, builderType);
+ accessors[i] = CreateAccessor(descriptor.Fields[i], propertyNames[i]);
}
}
/// <summary>
/// Creates an accessor for a single field
/// </summary>
- private static IFieldAccessor CreateAccessor(FieldDescriptor field, string name, Type messageType, Type builderType) {
+ private static IFieldAccessor<TMessage, TBuilder> CreateAccessor(FieldDescriptor field, string name) {
if (field.IsRepeated) {
switch (field.MappedType) {
- case MappedType.Message: return new RepeatedMessageAccessor(name, messageType, builderType);
- case MappedType.Enum: return new RepeatedEnumAccessor(field, name, messageType, builderType);
- default: return new RepeatedPrimitiveAccessor(name, messageType, builderType);
+ case MappedType.Message: return new RepeatedMessageAccessor<TMessage, TBuilder>(name);
+ case MappedType.Enum: return new RepeatedEnumAccessor<TMessage, TBuilder>(field, name);
+ default: return new RepeatedPrimitiveAccessor<TMessage, TBuilder>(name);
}
} else {
switch (field.MappedType) {
- case MappedType.Message: return new SingleMessageAccessor(name, messageType, builderType);
- case MappedType.Enum: return new SingleEnumAccessor(field, name, messageType, builderType);
- default: return new SinglePrimitiveAccessor(name, messageType, builderType);
+ case MappedType.Message: return new SingleMessageAccessor<TMessage, TBuilder>(name);
+ case MappedType.Enum: return new SingleEnumAccessor<TMessage, TBuilder>(field, name);
+ default: return new SinglePrimitiveAccessor<TMessage, TBuilder>(name);
}
}
}
- internal IFieldAccessor this[FieldDescriptor field] {
+ internal IFieldAccessor<TMessage, TBuilder> this[FieldDescriptor field] {
get {
if (field.ContainingType != descriptor) {
throw new ArgumentException("FieldDescriptor does not match message type.");
diff --git a/csharp/ProtocolBuffers/FieldAccess/IFieldAccessor.cs b/csharp/ProtocolBuffers/FieldAccess/IFieldAccessor.cs
index 3e47fdc6..eb57c8c9 100644
--- a/csharp/ProtocolBuffers/FieldAccess/IFieldAccessor.cs
+++ b/csharp/ProtocolBuffers/FieldAccess/IFieldAccessor.cs
@@ -21,23 +21,25 @@ namespace Google.ProtocolBuffers.FieldAccess {
/// The property descriptors for each field are created once and then cached.
/// In addition, this interface holds knowledge of repeated fields, builders etc.
/// </summary>
- internal interface IFieldAccessor {
+ internal interface IFieldAccessor<TMessage, TBuilder>
+ where TMessage : IMessage<TMessage, TBuilder>
+ where TBuilder : IBuilder<TMessage, TBuilder> {
/// <summary>
/// Indicates whether the specified message contains the field.
/// </summary>
- bool Has(IMessage message);
+ bool Has(TMessage message);
/// <summary>
/// Gets the count of the repeated field in the specified message.
/// </summary>
- int GetRepeatedCount(IMessage message);
+ int GetRepeatedCount(TMessage message);
/// <summary>
/// Clears the field in the specified builder.
/// </summary>
/// <param name="builder"></param>
- void Clear(IBuilder builder);
+ void Clear(TBuilder builder);
/// <summary>
/// Creates a builder for the type of this field (which must be a message field).
@@ -47,11 +49,11 @@ namespace Google.ProtocolBuffers.FieldAccess {
/// <summary>
/// Accessor for single fields
/// </summary>
- object GetValue(IMessage message);
+ object GetValue(TMessage message);
/// <summary>
/// Mutator for single fields
/// </summary>
- void SetValue(IBuilder builder, object value);
+ void SetValue(TBuilder builder, object value);
/// <summary>
/// Accessor for repeated fields
diff --git a/csharp/ProtocolBuffers/FieldAccess/RepeatedEnumAccessor.cs b/csharp/ProtocolBuffers/FieldAccess/RepeatedEnumAccessor.cs
index f6b273ee..3082071b 100644
--- a/csharp/ProtocolBuffers/FieldAccess/RepeatedEnumAccessor.cs
+++ b/csharp/ProtocolBuffers/FieldAccess/RepeatedEnumAccessor.cs
@@ -24,17 +24,17 @@ namespace Google.ProtocolBuffers.FieldAccess {
/// <summary>
/// Accessor for a repeated enum field.
/// </summary>
- internal sealed class RepeatedEnumAccessor : RepeatedPrimitiveAccessor {
+ internal sealed class RepeatedEnumAccessor<TMessage, TBuilder> : RepeatedPrimitiveAccessor<TMessage, TBuilder>
+ where TMessage : IMessage<TMessage, TBuilder>
+ where TBuilder : IBuilder<TMessage, TBuilder> {
private readonly EnumDescriptor enumDescriptor;
- internal RepeatedEnumAccessor(FieldDescriptor field, string name, Type messageType, Type builderType)
- : base(name, messageType, builderType) {
-
+ internal RepeatedEnumAccessor(FieldDescriptor field, string name) : base(name) {
enumDescriptor = field.EnumType;
}
- public override object GetValue(IMessage message) {
+ public override object GetValue(TMessage message) {
List<EnumValueDescriptor> ret = new List<EnumValueDescriptor>();
foreach (int rawValue in (IEnumerable) base.GetValue(message)) {
ret.Add(enumDescriptor.FindValueByNumber(rawValue));
diff --git a/csharp/ProtocolBuffers/FieldAccess/RepeatedMessageAccessor.cs b/csharp/ProtocolBuffers/FieldAccess/RepeatedMessageAccessor.cs
index d0c53dcc..f350752d 100644
--- a/csharp/ProtocolBuffers/FieldAccess/RepeatedMessageAccessor.cs
+++ b/csharp/ProtocolBuffers/FieldAccess/RepeatedMessageAccessor.cs
@@ -24,7 +24,9 @@ namespace Google.ProtocolBuffers.FieldAccess {
/// TODO(jonskeet): Try to extract the commonality between this and SingleMessageAccessor.
/// We almost want multiple inheritance...
/// </summary>
- internal sealed class RepeatedMessageAccessor : RepeatedPrimitiveAccessor {
+ internal sealed class RepeatedMessageAccessor<TMessage, TBuilder> : RepeatedPrimitiveAccessor<TMessage, TBuilder>
+ where TMessage : IMessage<TMessage, TBuilder>
+ where TBuilder : IBuilder<TMessage, TBuilder> {
/// <summary>
/// The static method to create a builder for the property type. For example,
@@ -33,8 +35,7 @@ namespace Google.ProtocolBuffers.FieldAccess {
/// </summary>
private readonly MethodInfo createBuilderMethod;
- internal RepeatedMessageAccessor(string name, Type messageType, Type builderType)
- : base(name, messageType, builderType) {
+ internal RepeatedMessageAccessor(string name) : base(name) {
createBuilderMethod = ClrType.GetMethod("CreateBuilder", new Type[0]);
if (createBuilderMethod == null) {
throw new ArgumentException("No public static CreateBuilder method declared in " + ClrType.Name);
diff --git a/csharp/ProtocolBuffers/FieldAccess/RepeatedPrimitiveAccessor.cs b/csharp/ProtocolBuffers/FieldAccess/RepeatedPrimitiveAccessor.cs
index ad44991d..39184b1f 100644
--- a/csharp/ProtocolBuffers/FieldAccess/RepeatedPrimitiveAccessor.cs
+++ b/csharp/ProtocolBuffers/FieldAccess/RepeatedPrimitiveAccessor.cs
@@ -21,12 +21,14 @@ namespace Google.ProtocolBuffers.FieldAccess {
/// <summary>
/// Accesor for a repeated field of type int, ByteString etc.
/// </summary>
- internal class RepeatedPrimitiveAccessor : IFieldAccessor {
+ internal class RepeatedPrimitiveAccessor<TMessage, TBuilder> : IFieldAccessor<TMessage, TBuilder>
+ where TMessage : IMessage<TMessage, TBuilder>
+ where TBuilder : IBuilder<TMessage, TBuilder> {
private readonly PropertyInfo messageProperty;
private readonly PropertyInfo builderProperty;
- private readonly PropertyInfo countProperty;
- private readonly MethodInfo clearMethod;
+ private readonly RepeatedCountDelegate<TMessage> countDelegate;
+ private readonly ClearDelegate<TBuilder> clearDelegate;
private readonly MethodInfo addMethod;
private readonly MethodInfo getElementMethod;
private readonly MethodInfo setElementMethod;
@@ -40,14 +42,14 @@ namespace Google.ProtocolBuffers.FieldAccess {
get { return getElementMethod.ReturnType; }
}
- internal RepeatedPrimitiveAccessor(string name, Type messageType, Type builderType) {
- messageProperty = messageType.GetProperty(name + "List");
- builderProperty = builderType.GetProperty(name + "List");
- countProperty = messageType.GetProperty(name + "Count");
- clearMethod = builderType.GetMethod("Clear" + name);
- getElementMethod = messageType.GetMethod("Get" + name, new Type[] { typeof(int) });
- addMethod = builderType.GetMethod("Add" + name, new Type[] { ClrType });
- setElementMethod = builderType.GetMethod("Set" + name, new Type[] { typeof(int), ClrType });
+ internal RepeatedPrimitiveAccessor(string name) {
+ messageProperty = typeof(TMessage).GetProperty(name + "List");
+ builderProperty = typeof(TBuilder).GetProperty(name + "List");
+ PropertyInfo countProperty = typeof(TMessage).GetProperty(name + "Count");
+ MethodInfo clearMethod = typeof(TBuilder).GetMethod("Clear" + name);
+ getElementMethod = typeof(TMessage).GetMethod("Get" + name, new Type[] { typeof(int) });
+ addMethod = typeof(TBuilder).GetMethod("Add" + name, new Type[] { ClrType });
+ setElementMethod = typeof(TBuilder).GetMethod("Set" + name, new Type[] { typeof(int), ClrType });
if (messageProperty == null
|| builderProperty == null
|| countProperty == null
@@ -57,9 +59,12 @@ namespace Google.ProtocolBuffers.FieldAccess {
|| setElementMethod == null) {
throw new ArgumentException("Not all required properties/methods available");
}
+ clearDelegate = (ClearDelegate<TBuilder>)Delegate.CreateDelegate(typeof(ClearDelegate<TBuilder>), clearMethod);
+ countDelegate = (RepeatedCountDelegate<TMessage>)Delegate.CreateDelegate
+ (typeof(RepeatedCountDelegate<TMessage>), countProperty.GetGetMethod());
}
- public bool Has(IMessage message) {
+ public bool Has(TMessage message) {
throw new InvalidOperationException();
}
@@ -67,11 +72,11 @@ namespace Google.ProtocolBuffers.FieldAccess {
throw new InvalidOperationException();
}
- public virtual object GetValue(IMessage message) {
+ public virtual object GetValue(TMessage message) {
return messageProperty.GetValue(message, null);
}
- public void SetValue(IBuilder builder, object value) {
+ public void SetValue(TBuilder builder, object value) {
// Add all the elements individually. This serves two purposes:
// 1) Verifies that each element has the correct type.
// 2) Insures that the caller cannot modify the list later on and
@@ -82,12 +87,12 @@ namespace Google.ProtocolBuffers.FieldAccess {
}
}
- public void Clear(IBuilder builder) {
- clearMethod.Invoke(builder, null);
+ public void Clear(TBuilder builder) {
+ clearDelegate(builder);
}
- public int GetRepeatedCount(IMessage message) {
- return (int) countProperty.GetValue(message, null);
+ public int GetRepeatedCount(TMessage message) {
+ return countDelegate(message);
}
public virtual object GetRepeatedValue(IMessage message, int index) {
diff --git a/csharp/ProtocolBuffers/FieldAccess/SingleEnumAccessor.cs b/csharp/ProtocolBuffers/FieldAccess/SingleEnumAccessor.cs
index 7db6b182..eb28160a 100644
--- a/csharp/ProtocolBuffers/FieldAccess/SingleEnumAccessor.cs
+++ b/csharp/ProtocolBuffers/FieldAccess/SingleEnumAccessor.cs
@@ -20,12 +20,13 @@ namespace Google.ProtocolBuffers.FieldAccess {
/// <summary>
/// Accessor for fields representing a non-repeated enum value.
/// </summary>
- internal sealed class SingleEnumAccessor : SinglePrimitiveAccessor {
+ internal sealed class SingleEnumAccessor<TMessage, TBuilder> : SinglePrimitiveAccessor<TMessage, TBuilder>
+ where TMessage : IMessage<TMessage, TBuilder>
+ where TBuilder : IBuilder<TMessage, TBuilder> {
private readonly EnumDescriptor enumDescriptor;
- internal SingleEnumAccessor(FieldDescriptor field, string name, Type messageType, Type builderType)
- : base(name, messageType, builderType) {
+ internal SingleEnumAccessor(FieldDescriptor field, string name) : base(name) {
enumDescriptor = field.EnumType;
}
@@ -34,7 +35,7 @@ namespace Google.ProtocolBuffers.FieldAccess {
/// Note that if an enum has multiple values for the same number, the descriptor
/// for the first value with that number will be returned.
/// </summary>
- public override object GetValue(IMessage message) {
+ public override object GetValue(TMessage message) {
// Note: This relies on the fact that the CLR allows unboxing from an enum to
// its underlying value
int rawValue = (int) base.GetValue(message);
@@ -45,7 +46,7 @@ namespace Google.ProtocolBuffers.FieldAccess {
/// Sets the value as an enum (via an int) in the builder,
/// from an EnumValueDescriptor parameter.
/// </summary>
- public override void SetValue(IBuilder builder, object value) {
+ public override void SetValue(TBuilder builder, object value) {
EnumValueDescriptor valueDescriptor = (EnumValueDescriptor) value;
base.SetValue(builder, valueDescriptor.Number);
}
diff --git a/csharp/ProtocolBuffers/FieldAccess/SingleMessageAccessor.cs b/csharp/ProtocolBuffers/FieldAccess/SingleMessageAccessor.cs
index 7945f461..460d450d 100644
--- a/csharp/ProtocolBuffers/FieldAccess/SingleMessageAccessor.cs
+++ b/csharp/ProtocolBuffers/FieldAccess/SingleMessageAccessor.cs
@@ -20,7 +20,9 @@ namespace Google.ProtocolBuffers.FieldAccess {
/// <summary>
/// Accessor for fields representing a non-repeated message value.
/// </summary>
- internal sealed class SingleMessageAccessor : SinglePrimitiveAccessor {
+ internal sealed class SingleMessageAccessor<TMessage, TBuilder> : SinglePrimitiveAccessor<TMessage, TBuilder>
+ where TMessage : IMessage<TMessage, TBuilder>
+ where TBuilder : IBuilder<TMessage, TBuilder> {
/// <summary>
/// The static method to create a builder for the property type. For example,
@@ -30,8 +32,7 @@ namespace Google.ProtocolBuffers.FieldAccess {
private readonly MethodInfo createBuilderMethod;
- internal SingleMessageAccessor(string name, Type messageType, Type builderType)
- : base(name, messageType, builderType) {
+ internal SingleMessageAccessor(string name) : base(name) {
createBuilderMethod = ClrType.GetMethod("CreateBuilder", new Type[0]);//BindingFlags.Public | BindingFlags.Static | BindingFlags.DeclaredOnly);
if (createBuilderMethod == null) {
@@ -55,7 +56,7 @@ namespace Google.ProtocolBuffers.FieldAccess {
return CreateBuilder().WeakMergeFrom(message).WeakBuild();
}
- public override void SetValue(IBuilder builder, object value) {
+ public override void SetValue(TBuilder builder, object value) {
base.SetValue(builder, CoerceType(value));
}
diff --git a/csharp/ProtocolBuffers/FieldAccess/SinglePrimitiveAccessor.cs b/csharp/ProtocolBuffers/FieldAccess/SinglePrimitiveAccessor.cs
index efa77047..8d12b45c 100644
--- a/csharp/ProtocolBuffers/FieldAccess/SinglePrimitiveAccessor.cs
+++ b/csharp/ProtocolBuffers/FieldAccess/SinglePrimitiveAccessor.cs
@@ -20,12 +20,14 @@ namespace Google.ProtocolBuffers.FieldAccess {
/// <summary>
/// Access for a non-repeated field of a "primitive" type (i.e. not another message or an enum).
/// </summary>
- internal class SinglePrimitiveAccessor : IFieldAccessor {
+ internal class SinglePrimitiveAccessor<TMessage, TBuilder> : IFieldAccessor<TMessage, TBuilder>
+ where TMessage : IMessage<TMessage, TBuilder>
+ where TBuilder : IBuilder<TMessage, TBuilder> {
private readonly PropertyInfo messageProperty;
private readonly PropertyInfo builderProperty;
- private readonly PropertyInfo hasProperty;
- private readonly MethodInfo clearMethod;
+ private readonly HasDelegate<TMessage> hasDelegate;
+ private readonly ClearDelegate<TBuilder> clearDelegate;
/// <summary>
/// The CLR type of the field (int, the enum type, ByteString, the message etc).
@@ -35,22 +37,24 @@ namespace Google.ProtocolBuffers.FieldAccess {
get { return messageProperty.PropertyType; }
}
- internal SinglePrimitiveAccessor(string name, Type messageType, Type builderType) {
- messageProperty = messageType.GetProperty(name);
- builderProperty = builderType.GetProperty(name);
- hasProperty = messageType.GetProperty("Has" + name);
- clearMethod = builderType.GetMethod("Clear" + name);
+ internal SinglePrimitiveAccessor(string name) {
+ messageProperty = typeof(TMessage).GetProperty(name);
+ builderProperty = typeof(TBuilder).GetProperty(name);
+ PropertyInfo hasProperty = typeof(TMessage).GetProperty("Has" + name);
+ MethodInfo clearMethod = typeof(TBuilder).GetMethod("Clear" + name);
if (messageProperty == null || builderProperty == null || hasProperty == null || clearMethod == null) {
throw new ArgumentException("Not all required properties/methods available");
}
+ hasDelegate = (HasDelegate<TMessage>)Delegate.CreateDelegate(typeof(HasDelegate<TMessage>), hasProperty.GetGetMethod());
+ clearDelegate = (ClearDelegate<TBuilder>)Delegate.CreateDelegate(typeof(ClearDelegate<TBuilder>), clearMethod);
}
- public bool Has(IMessage message) {
- return (bool) hasProperty.GetValue(message, null);
+ public bool Has(TMessage message) {
+ return hasDelegate(message);
}
- public void Clear(IBuilder builder) {
- clearMethod.Invoke(builder, null);
+ public void Clear(TBuilder builder) {
+ clearDelegate(builder);
}
/// <summary>
@@ -60,16 +64,16 @@ namespace Google.ProtocolBuffers.FieldAccess {
throw new InvalidOperationException();
}
- public virtual object GetValue(IMessage message) {
+ public virtual object GetValue(TMessage message) {
return messageProperty.GetValue(message, null);
}
- public virtual void SetValue(IBuilder builder, object value) {
+ public virtual void SetValue(TBuilder builder, object value) {
builderProperty.SetValue(builder, value, null);
}
#region Methods only related to repeated values
- public int GetRepeatedCount(IMessage message) {
+ public int GetRepeatedCount(TMessage message) {
throw new InvalidOperationException();
}
diff --git a/csharp/ProtocolBuffers/GeneratedBuilder.cs b/csharp/ProtocolBuffers/GeneratedBuilder.cs
index 35f22fc3..54d37392 100644
--- a/csharp/ProtocolBuffers/GeneratedBuilder.cs
+++ b/csharp/ProtocolBuffers/GeneratedBuilder.cs
@@ -34,8 +34,8 @@ namespace Google.ProtocolBuffers {
/// </summary>
protected abstract TMessage MessageBeingBuilt { get; }
- protected internal FieldAccessorTable InternalFieldAccessors {
- get { return MessageBeingBuilt.FieldAccesseorsFromBuilder; }
+ protected internal FieldAccessorTable<TMessage, TBuilder> InternalFieldAccessors {
+ get { return MessageBeingBuilt.FieldAccessorsFromBuilder; }
}
public override bool IsInitialized {
@@ -104,7 +104,7 @@ namespace Google.ProtocolBuffers {
}
public override TBuilder ClearField(FieldDescriptor field) {
- InternalFieldAccessors[field].Clear(this);
+ InternalFieldAccessors[field].Clear(ThisBuilder);
return ThisBuilder;
}
diff --git a/csharp/ProtocolBuffers/GeneratedMessage.cs b/csharp/ProtocolBuffers/GeneratedMessage.cs
index 479986f6..0fd54f6c 100644
--- a/csharp/ProtocolBuffers/GeneratedMessage.cs
+++ b/csharp/ProtocolBuffers/GeneratedMessage.cs
@@ -33,11 +33,16 @@ namespace Google.ProtocolBuffers {
private UnknownFieldSet unknownFields = UnknownFieldSet.DefaultInstance;
- internal FieldAccessorTable FieldAccesseorsFromBuilder {
+ /// <summary>
+ /// Returns the message as a TMessage.
+ /// </summary>
+ protected abstract TMessage ThisMessage { get; }
+
+ internal FieldAccessorTable<TMessage, TBuilder> FieldAccessorsFromBuilder {
get { return InternalFieldAccessors; }
}
- protected abstract FieldAccessorTable InternalFieldAccessors { get; }
+ protected abstract FieldAccessorTable<TMessage, TBuilder> InternalFieldAccessors { get; }
public override MessageDescriptor DescriptorForType {
get { return InternalFieldAccessors.Descriptor; }
@@ -49,13 +54,13 @@ namespace Google.ProtocolBuffers {
var ret = new SortedList<FieldDescriptor, object>();
MessageDescriptor descriptor = DescriptorForType;
foreach (FieldDescriptor field in descriptor.Fields) {
- IFieldAccessor accessor = InternalFieldAccessors[field];
+ IFieldAccessor<TMessage, TBuilder> accessor = InternalFieldAccessors[field];
if (field.IsRepeated) {
- if (accessor.GetRepeatedCount(this) != 0) {
- ret[field] = accessor.GetValue(this);
+ if (accessor.GetRepeatedCount(ThisMessage) != 0) {
+ ret[field] = accessor.GetValue(ThisMessage);
}
} else if (HasField(field)) {
- ret[field] = accessor.GetValue(this);
+ ret[field] = accessor.GetValue(ThisMessage);
}
}
return ret;
@@ -99,11 +104,11 @@ namespace Google.ProtocolBuffers {
}
public override bool HasField(FieldDescriptor field) {
- return InternalFieldAccessors[field].Has(this);
+ return InternalFieldAccessors[field].Has(ThisMessage);
}
public override int GetRepeatedFieldCount(FieldDescriptor field) {
- return InternalFieldAccessors[field].GetRepeatedCount(this);
+ return InternalFieldAccessors[field].GetRepeatedCount(ThisMessage);
}
public override object this[FieldDescriptor field, int index] {
@@ -111,7 +116,7 @@ namespace Google.ProtocolBuffers {
}
public override object this[FieldDescriptor field] {
- get { return InternalFieldAccessors[field].GetValue(this); }
+ get { return InternalFieldAccessors[field].GetValue(ThisMessage); }
}
public override UnknownFieldSet UnknownFields {
diff --git a/csharp/ProtocolBuffers/ProtocolBuffers.csproj b/csharp/ProtocolBuffers/ProtocolBuffers.csproj
index e74d94db..c057b414 100644
--- a/csharp/ProtocolBuffers/ProtocolBuffers.csproj
+++ b/csharp/ProtocolBuffers/ProtocolBuffers.csproj
@@ -34,6 +34,8 @@
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="AbstractBuilder.cs" />
@@ -69,6 +71,7 @@
<Compile Include="ExtendableMessage.cs" />
<Compile Include="ExtensionInfo.cs" />
<Compile Include="ExtensionRegistry.cs" />
+ <Compile Include="FieldAccess\Delegates.cs" />
<Compile Include="FieldAccess\SingleEnumAccessor.cs" />
<Compile Include="FieldAccess\SingleMessageAccessor.cs" />
<Compile Include="FieldAccess\SinglePrimitiveAccessor.cs" />