Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
P
protobuf
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
protobuf
Commits
f26f8dce
Commit
f26f8dce
authored
Aug 14, 2008
by
Jon Skeet
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
The great generics revisiting.
parent
9134a21f
Show whitespace changes
Inline
Side-by-side
Showing
36 changed files
with
708 additions
and
756 deletions
+708
-756
AbstractMessageTest.cs
csharp/ProtocolBuffers.Test/AbstractMessageTest.cs
+35
-28
DynamicMessageTest.cs
csharp/ProtocolBuffers.Test/DynamicMessageTest.cs
+5
-5
MessageTest.cs
csharp/ProtocolBuffers.Test/MessageTest.cs
+2
-4
ReflectionTester.cs
csharp/ProtocolBuffers.Test/ReflectionTester.cs
+66
-66
MessageWithNoOuter.cs
csharp/ProtocolBuffers.Test/TestProtos/MessageWithNoOuter.cs
+14
-6
MultiFileProto.cs
csharp/ProtocolBuffers.Test/TestProtos/MultiFileProto.cs
+2
-2
ServiceWithNoOuter.cs
csharp/ProtocolBuffers.Test/TestProtos/ServiceWithNoOuter.cs
+1
-1
UnitTestEmbedOptimizeForProtoFile.cs
...fers.Test/TestProtos/UnitTestEmbedOptimizeForProtoFile.cs
+11
-11
UnitTestImportProtoFile.cs
...rotocolBuffers.Test/TestProtos/UnitTestImportProtoFile.cs
+11
-11
UnitTestMessageSetProtoFile.cs
...colBuffers.Test/TestProtos/UnitTestMessageSetProtoFile.cs
+70
-70
UnitTestOptimizeForProtoFile.cs
...olBuffers.Test/TestProtos/UnitTestOptimizeForProtoFile.cs
+9
-5
UnitTestProtoFile.cs
csharp/ProtocolBuffers.Test/TestProtos/UnitTestProtoFile.cs
+0
-0
AbstractBuilder.cs
csharp/ProtocolBuffers/AbstractBuilder.cs
+90
-70
AbstractMessage.cs
csharp/ProtocolBuffers/AbstractMessage.cs
+12
-14
CodedInputStream.cs
csharp/ProtocolBuffers/CodedInputStream.cs
+2
-2
DescriptorProtoFile.cs
...p/ProtocolBuffers/DescriptorProtos/DescriptorProtoFile.cs
+165
-165
DynamicMessage.cs
csharp/ProtocolBuffers/DynamicMessage.cs
+42
-34
ExtendableBuilder.cs
csharp/ProtocolBuffers/ExtendableBuilder.cs
+14
-17
ExtendableMessage.cs
csharp/ProtocolBuffers/ExtendableMessage.cs
+7
-7
ExtensionRegistry.cs
csharp/ProtocolBuffers/ExtensionRegistry.cs
+1
-2
RepeatedMessageAccessor.cs
...rp/ProtocolBuffers/FieldAccess/RepeatedMessageAccessor.cs
+1
-1
SingleMessageAccessor.cs
csharp/ProtocolBuffers/FieldAccess/SingleMessageAccessor.cs
+1
-1
FieldSet.cs
csharp/ProtocolBuffers/FieldSet.cs
+14
-14
GeneratedBuilder.cs
csharp/ProtocolBuffers/GeneratedBuilder.cs
+17
-95
GeneratedExtensionBase.cs
csharp/ProtocolBuffers/GeneratedExtensionBase.cs
+3
-3
GeneratedMessage.cs
csharp/ProtocolBuffers/GeneratedMessage.cs
+2
-14
GeneratedRepeatException.cs
csharp/ProtocolBuffers/GeneratedRepeatException.cs
+3
-3
GeneratedSingleExtension.cs
csharp/ProtocolBuffers/GeneratedSingleExtension.cs
+3
-5
IBuilder.cs
csharp/ProtocolBuffers/IBuilder.cs
+59
-56
IMessage.cs
csharp/ProtocolBuffers/IMessage.cs
+17
-23
InvalidProtocolBufferException.cs
csharp/ProtocolBuffers/InvalidProtocolBufferException.cs
+2
-2
RpcUtil.cs
csharp/ProtocolBuffers/RpcUtil.cs
+5
-4
TextFormat.cs
csharp/ProtocolBuffers/TextFormat.cs
+1
-0
csharp_extension.cc
src/google/protobuf/compiler/csharp/csharp_extension.cc
+4
-4
csharp_message.cc
src/google/protobuf/compiler/csharp/csharp_message.cc
+16
-10
csharp_service.cc
src/google/protobuf/compiler/csharp/csharp_service.cc
+1
-1
No files found.
csharp/ProtocolBuffers.Test/AbstractMessageTest.cs
View file @
f26f8dce
...
@@ -10,15 +10,13 @@ namespace Google.ProtocolBuffers {
...
@@ -10,15 +10,13 @@ namespace Google.ProtocolBuffers {
[
Test
]
[
Test
]
public
void
Clear
()
{
public
void
Clear
()
{
AbstractMessageWrapper
message
=
(
AbstractMessageWrapper
)
AbstractMessageWrapper
message
=
new
AbstractMessageWrapper
.
Builder
(
TestAllTypes
.
CreateBuilder
(
TestUtil
.
GetAllSet
())).
Clear
().
Build
();
new
AbstractMessageWrapper
.
Builder
(
TestAllTypes
.
CreateBuilder
(
TestUtil
.
GetAllSet
())).
Clear
().
Build
();
TestUtil
.
AssertClear
((
TestAllTypes
)
message
.
WrappedMessage
);
TestUtil
.
AssertClear
((
TestAllTypes
)
message
.
WrappedMessage
);
}
}
[
Test
]
[
Test
]
public
void
Copy
()
{
public
void
Copy
()
{
AbstractMessageWrapper
message
=
(
AbstractMessageWrapper
)
AbstractMessageWrapper
message
=
new
AbstractMessageWrapper
.
Builder
(
TestAllTypes
.
CreateBuilder
()).
MergeFrom
(
TestUtil
.
GetAllSet
()).
Build
();
new
AbstractMessageWrapper
.
Builder
(
TestAllTypes
.
CreateBuilder
()).
MergeFrom
(
TestUtil
.
GetAllSet
()).
Build
();
TestUtil
.
AssertAllFieldsSet
((
TestAllTypes
)
message
.
WrappedMessage
);
TestUtil
.
AssertAllFieldsSet
((
TestAllTypes
)
message
.
WrappedMessage
);
}
}
...
@@ -40,7 +38,7 @@ namespace Google.ProtocolBuffers {
...
@@ -40,7 +38,7 @@ namespace Google.ProtocolBuffers {
[
Test
]
[
Test
]
public
void
Parsing
()
{
public
void
Parsing
()
{
IBuilder
builder
=
new
AbstractMessageWrapper
.
Builder
(
TestAllTypes
.
CreateBuilder
());
IBuilder
builder
=
new
AbstractMessageWrapper
.
Builder
(
TestAllTypes
.
CreateBuilder
());
AbstractMessageWrapper
message
=
(
AbstractMessageWrapper
)
builder
.
MergeFrom
(
TestUtil
.
GetAllSet
().
ToByteString
()).
Build
();
AbstractMessageWrapper
message
=
(
AbstractMessageWrapper
)
builder
.
WeakMergeFrom
(
TestUtil
.
GetAllSet
().
ToByteString
()).
Weak
Build
();
TestUtil
.
AssertAllFieldsSet
((
TestAllTypes
)
message
.
WrappedMessage
);
TestUtil
.
AssertAllFieldsSet
((
TestAllTypes
)
message
.
WrappedMessage
);
}
}
...
@@ -177,7 +175,7 @@ namespace Google.ProtocolBuffers {
...
@@ -177,7 +175,7 @@ namespace Google.ProtocolBuffers {
Assert
.
AreEqual
(
message
,
message
);
Assert
.
AreEqual
(
message
,
message
);
// Object should be equal to a dynamic copy of itself.
// Object should be equal to a dynamic copy of itself.
DynamicMessage
dynamic
=
(
DynamicMessage
)
((
IBuilder
)
DynamicMessage
.
CreateBuilder
(
message
)
).
Build
();
DynamicMessage
dynamic
=
DynamicMessage
.
CreateBuilder
(
message
).
Build
();
Assert
.
AreEqual
(
message
,
dynamic
);
Assert
.
AreEqual
(
message
,
dynamic
);
Assert
.
AreEqual
(
dynamic
,
message
);
Assert
.
AreEqual
(
dynamic
,
message
);
Assert
.
AreEqual
(
dynamic
.
GetHashCode
(),
message
.
GetHashCode
());
Assert
.
AreEqual
(
dynamic
.
GetHashCode
(),
message
.
GetHashCode
());
...
@@ -207,7 +205,7 @@ namespace Google.ProtocolBuffers {
...
@@ -207,7 +205,7 @@ namespace Google.ProtocolBuffers {
/// test that AbstractMessage's implementations work even if the wrapped
/// test that AbstractMessage's implementations work even if the wrapped
/// object does not use them.
/// object does not use them.
/// </summary>
/// </summary>
private
class
AbstractMessageWrapper
:
AbstractMessage
{
private
class
AbstractMessageWrapper
:
AbstractMessage
<
AbstractMessageWrapper
,
AbstractMessageWrapper
.
Builder
>
{
private
readonly
IMessage
wrappedMessage
;
private
readonly
IMessage
wrappedMessage
;
public
IMessage
WrappedMessage
{
public
IMessage
WrappedMessage
{
...
@@ -222,8 +220,8 @@ namespace Google.ProtocolBuffers {
...
@@ -222,8 +220,8 @@ namespace Google.ProtocolBuffers {
get
{
return
wrappedMessage
.
DescriptorForType
;
}
get
{
return
wrappedMessage
.
DescriptorForType
;
}
}
}
p
rotected
override
IMessage
DefaultInstanceForTypeImpl
{
p
ublic
override
AbstractMessageWrapper
DefaultInstanceForType
{
get
{
return
new
AbstractMessageWrapper
(
wrappedMessage
.
DefaultInstanceForType
);
}
get
{
return
new
AbstractMessageWrapper
(
wrappedMessage
.
Weak
DefaultInstanceForType
);
}
}
}
public
override
IDictionary
<
FieldDescriptor
,
object
>
AllFields
{
public
override
IDictionary
<
FieldDescriptor
,
object
>
AllFields
{
...
@@ -250,17 +248,26 @@ namespace Google.ProtocolBuffers {
...
@@ -250,17 +248,26 @@ namespace Google.ProtocolBuffers {
get
{
return
wrappedMessage
.
UnknownFields
;
}
get
{
return
wrappedMessage
.
UnknownFields
;
}
}
}
p
rotected
override
IBuilder
CreateBuilderForTypeImpl
()
{
p
ublic
override
Builder
CreateBuilderForType
()
{
return
new
Builder
(
wrappedMessage
.
CreateBuilderForType
());
return
new
Builder
(
wrappedMessage
.
Weak
CreateBuilderForType
());
}
}
internal
class
Builder
:
AbstractBuilder
{
internal
class
Builder
:
AbstractBuilder
<
AbstractMessageWrapper
,
Builder
>
{
private
readonly
IBuilder
wrappedBuilder
;
private
readonly
IBuilder
wrappedBuilder
;
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
internal
Builder
(
IBuilder
wrappedBuilder
)
{
internal
Builder
(
IBuilder
wrappedBuilder
)
{
this
.
wrappedBuilder
=
wrappedBuilder
;
this
.
wrappedBuilder
=
wrappedBuilder
;
}
}
public
override
Builder
MergeFrom
(
AbstractMessageWrapper
other
)
{
wrappedBuilder
.
WeakMergeFrom
(
other
.
wrappedMessage
);
return
this
;
}
public
override
bool
IsInitialized
{
public
override
bool
IsInitialized
{
get
{
return
wrappedBuilder
.
IsInitialized
;
}
get
{
return
wrappedBuilder
.
IsInitialized
;
}
}
}
...
@@ -296,29 +303,29 @@ namespace Google.ProtocolBuffers {
...
@@ -296,29 +303,29 @@ namespace Google.ProtocolBuffers {
set
{
wrappedBuilder
.
UnknownFields
=
value
;
}
set
{
wrappedBuilder
.
UnknownFields
=
value
;
}
}
}
p
rotected
override
IMessage
BuildImpl
()
{
p
ublic
override
AbstractMessageWrapper
Build
()
{
return
new
AbstractMessageWrapper
(
wrappedBuilder
.
Build
());
return
new
AbstractMessageWrapper
(
wrappedBuilder
.
Weak
Build
());
}
}
p
rotected
override
IMessage
BuildPartialImp
l
()
{
p
ublic
override
AbstractMessageWrapper
BuildPartia
l
()
{
return
new
AbstractMessageWrapper
(
wrappedBuilder
.
BuildPartial
());
return
new
AbstractMessageWrapper
(
wrappedBuilder
.
Weak
BuildPartial
());
}
}
p
rotected
override
IBuilder
CloneImpl
()
{
p
ublic
override
Builder
Clone
()
{
return
new
Builder
(
wrappedBuilder
.
Clone
());
return
new
Builder
(
wrappedBuilder
.
Weak
Clone
());
}
}
p
rotected
override
IMessage
DefaultInstanceForTypeImpl
{
p
ublic
override
AbstractMessageWrapper
DefaultInstanceForType
{
get
{
return
wrappedBuilder
.
DefaultInstanceForType
;
}
get
{
return
new
AbstractMessageWrapper
(
wrappedBuilder
.
WeakDefaultInstanceForType
)
;
}
}
}
p
rotected
override
IBuilder
ClearFieldImpl
(
FieldDescriptor
field
)
{
p
ublic
override
Builder
ClearField
(
FieldDescriptor
field
)
{
wrappedBuilder
.
ClearField
(
field
);
wrappedBuilder
.
Weak
ClearField
(
field
);
return
this
;
return
this
;
}
}
p
rotected
override
IBuilder
AddRepeatedFieldImpl
(
FieldDescriptor
field
,
object
value
)
{
p
ublic
override
Builder
AddRepeatedField
(
FieldDescriptor
field
,
object
value
)
{
wrappedBuilder
.
AddRepeatedField
(
field
,
value
);
wrappedBuilder
.
Weak
AddRepeatedField
(
field
,
value
);
return
this
;
return
this
;
}
}
...
@@ -327,13 +334,13 @@ namespace Google.ProtocolBuffers {
...
@@ -327,13 +334,13 @@ namespace Google.ProtocolBuffers {
return
this
;
return
this
;
}
}
public
override
I
Builder
MergeFrom
(
IMessage
other
)
{
public
override
Builder
MergeFrom
(
IMessage
other
)
{
wrappedBuilder
.
MergeFrom
(
other
);
wrappedBuilder
.
Weak
MergeFrom
(
other
);
return
this
;
return
this
;
}
}
p
rotected
override
IBuilder
MergeFromImpl
(
CodedInputStream
input
,
ExtensionRegistry
extensionRegistry
)
{
p
ublic
override
Builder
MergeFrom
(
CodedInputStream
input
,
ExtensionRegistry
extensionRegistry
)
{
wrappedBuilder
.
MergeFrom
(
input
,
extensionRegistry
);
wrappedBuilder
.
Weak
MergeFrom
(
input
,
extensionRegistry
);
return
this
;
return
this
;
}
}
}
}
...
...
csharp/ProtocolBuffers.Test/DynamicMessageTest.cs
View file @
f26f8dce
...
@@ -21,7 +21,7 @@ namespace Google.ProtocolBuffers {
...
@@ -21,7 +21,7 @@ namespace Google.ProtocolBuffers {
public
void
DynamicMessageAccessors
()
{
public
void
DynamicMessageAccessors
()
{
IBuilder
builder
=
DynamicMessage
.
CreateBuilder
(
TestAllTypes
.
Descriptor
);
IBuilder
builder
=
DynamicMessage
.
CreateBuilder
(
TestAllTypes
.
Descriptor
);
reflectionTester
.
SetAllFieldsViaReflection
(
builder
);
reflectionTester
.
SetAllFieldsViaReflection
(
builder
);
IMessage
message
=
builder
.
Build
();
IMessage
message
=
builder
.
Weak
Build
();
reflectionTester
.
AssertAllFieldsSetViaReflection
(
message
);
reflectionTester
.
AssertAllFieldsSetViaReflection
(
message
);
}
}
...
@@ -32,7 +32,7 @@ namespace Google.ProtocolBuffers {
...
@@ -32,7 +32,7 @@ namespace Google.ProtocolBuffers {
// It treats them just like any other fields.
// It treats them just like any other fields.
IBuilder
builder
=
DynamicMessage
.
CreateBuilder
(
TestAllExtensions
.
Descriptor
);
IBuilder
builder
=
DynamicMessage
.
CreateBuilder
(
TestAllExtensions
.
Descriptor
);
extensionsReflectionTester
.
SetAllFieldsViaReflection
(
builder
);
extensionsReflectionTester
.
SetAllFieldsViaReflection
(
builder
);
IMessage
message
=
builder
.
Build
();
IMessage
message
=
builder
.
Weak
Build
();
extensionsReflectionTester
.
AssertAllFieldsSetViaReflection
(
message
);
extensionsReflectionTester
.
AssertAllFieldsSetViaReflection
(
message
);
}
}
...
@@ -41,7 +41,7 @@ namespace Google.ProtocolBuffers {
...
@@ -41,7 +41,7 @@ namespace Google.ProtocolBuffers {
IBuilder
builder
=
DynamicMessage
.
CreateBuilder
(
TestAllTypes
.
Descriptor
);
IBuilder
builder
=
DynamicMessage
.
CreateBuilder
(
TestAllTypes
.
Descriptor
);
reflectionTester
.
SetAllFieldsViaReflection
(
builder
);
reflectionTester
.
SetAllFieldsViaReflection
(
builder
);
reflectionTester
.
ModifyRepeatedFieldsViaReflection
(
builder
);
reflectionTester
.
ModifyRepeatedFieldsViaReflection
(
builder
);
IMessage
message
=
builder
.
Build
();
IMessage
message
=
builder
.
Weak
Build
();
reflectionTester
.
AssertRepeatedFieldsModifiedViaReflection
(
message
);
reflectionTester
.
AssertRepeatedFieldsModifiedViaReflection
(
message
);
}
}
...
@@ -57,7 +57,7 @@ namespace Google.ProtocolBuffers {
...
@@ -57,7 +57,7 @@ namespace Google.ProtocolBuffers {
IBuilder
dynamicBuilder
=
DynamicMessage
.
CreateBuilder
(
TestAllTypes
.
Descriptor
);
IBuilder
dynamicBuilder
=
DynamicMessage
.
CreateBuilder
(
TestAllTypes
.
Descriptor
);
reflectionTester
.
SetAllFieldsViaReflection
(
dynamicBuilder
);
reflectionTester
.
SetAllFieldsViaReflection
(
dynamicBuilder
);
IMessage
dynamicMessage
=
dynamicBuilder
.
Build
();
IMessage
dynamicMessage
=
dynamicBuilder
.
Weak
Build
();
Assert
.
AreEqual
(
message
.
SerializedSize
,
dynamicMessage
.
SerializedSize
);
Assert
.
AreEqual
(
message
.
SerializedSize
,
dynamicMessage
.
SerializedSize
);
}
}
...
@@ -66,7 +66,7 @@ namespace Google.ProtocolBuffers {
...
@@ -66,7 +66,7 @@ namespace Google.ProtocolBuffers {
public
void
DynamicMessageSerialization
()
{
public
void
DynamicMessageSerialization
()
{
IBuilder
builder
=
DynamicMessage
.
CreateBuilder
(
TestAllTypes
.
Descriptor
);
IBuilder
builder
=
DynamicMessage
.
CreateBuilder
(
TestAllTypes
.
Descriptor
);
reflectionTester
.
SetAllFieldsViaReflection
(
builder
);
reflectionTester
.
SetAllFieldsViaReflection
(
builder
);
IMessage
message
=
builder
.
Build
();
IMessage
message
=
builder
.
Weak
Build
();
ByteString
rawBytes
=
message
.
ToByteString
();
ByteString
rawBytes
=
message
.
ToByteString
();
TestAllTypes
message2
=
TestAllTypes
.
ParseFrom
(
rawBytes
);
TestAllTypes
message2
=
TestAllTypes
.
ParseFrom
(
rawBytes
);
...
...
csharp/ProtocolBuffers.Test/MessageTest.cs
View file @
f26f8dce
...
@@ -153,8 +153,7 @@ namespace Google.ProtocolBuffers {
...
@@ -153,8 +153,7 @@ namespace Google.ProtocolBuffers {
builder
[
descriptor
.
FindDescriptor
<
FieldDescriptor
>(
"optional_message"
)]
=
TestRequiredInitialized
;
builder
[
descriptor
.
FindDescriptor
<
FieldDescriptor
>(
"optional_message"
)]
=
TestRequiredInitialized
;
Assert
.
IsTrue
(
builder
.
IsInitialized
);
Assert
.
IsTrue
(
builder
.
IsInitialized
);
// TODO(jonskeet): Remove this nastiness by making IBuilder always generic.
builder
.
AddRepeatedField
(
descriptor
.
FindDescriptor
<
FieldDescriptor
>(
"repeated_message"
),
TestRequiredUninitialized
);
((
IBuilder
)
builder
).
AddRepeatedField
(
descriptor
.
FindDescriptor
<
FieldDescriptor
>(
"repeated_message"
),
TestRequiredUninitialized
);
Assert
.
IsFalse
(
builder
.
IsInitialized
);
Assert
.
IsFalse
(
builder
.
IsInitialized
);
builder
.
SetRepeatedField
(
descriptor
.
FindDescriptor
<
FieldDescriptor
>(
"repeated_message"
),
0
,
TestRequiredInitialized
);
builder
.
SetRepeatedField
(
descriptor
.
FindDescriptor
<
FieldDescriptor
>(
"repeated_message"
),
0
,
TestRequiredInitialized
);
...
@@ -266,8 +265,7 @@ namespace Google.ProtocolBuffers {
...
@@ -266,8 +265,7 @@ namespace Google.ProtocolBuffers {
[
Test
]
[
Test
]
public
void
DynamicBuildPartial
()
{
public
void
DynamicBuildPartial
()
{
// We're mostly testing that no exception is thrown.
// We're mostly testing that no exception is thrown.
// TODO(jonskeet): Fix this ghastly casting mess
DynamicMessage
message
=
DynamicMessage
.
CreateBuilder
(
TestRequired
.
Descriptor
).
BuildPartial
();
DynamicMessage
message
=
(
DynamicMessage
)
((
IBuilder
)
DynamicMessage
.
CreateBuilder
(
TestRequired
.
Descriptor
)).
BuildPartial
();
Assert
.
IsFalse
(
message
.
Initialized
);
Assert
.
IsFalse
(
message
.
Initialized
);
}
}
...
...
csharp/ProtocolBuffers.Test/ReflectionTester.cs
View file @
f26f8dce
...
@@ -170,7 +170,7 @@ namespace Google.ProtocolBuffers {
...
@@ -170,7 +170,7 @@ namespace Google.ProtocolBuffers {
ExtensionInfo
extension
=
extensionRegistry
[
field
.
ContainingType
,
field
.
FieldNumber
];
ExtensionInfo
extension
=
extensionRegistry
[
field
.
ContainingType
,
field
.
FieldNumber
];
Assert
.
IsNotNull
(
extension
);
Assert
.
IsNotNull
(
extension
);
Assert
.
IsNotNull
(
extension
.
DefaultInstance
);
Assert
.
IsNotNull
(
extension
.
DefaultInstance
);
return
extension
.
DefaultInstance
.
CreateBuilderForType
();
return
extension
.
DefaultInstance
.
Weak
CreateBuilderForType
();
}
}
}
}
...
@@ -196,10 +196,10 @@ namespace Google.ProtocolBuffers {
...
@@ -196,10 +196,10 @@ namespace Google.ProtocolBuffers {
message
[
f
(
"optional_string"
)]
=
"115"
;
message
[
f
(
"optional_string"
)]
=
"115"
;
message
[
f
(
"optional_bytes"
)]
=
TestUtil
.
ToBytes
(
"116"
);
message
[
f
(
"optional_bytes"
)]
=
TestUtil
.
ToBytes
(
"116"
);
message
[
f
(
"optionalgroup"
)]
=
CreateBuilderForField
(
message
,
f
(
"optionalgroup"
)).
SetField
(
groupA
,
117
).
Build
();
message
[
f
(
"optionalgroup"
)]
=
CreateBuilderForField
(
message
,
f
(
"optionalgroup"
)).
SetField
(
groupA
,
117
).
Weak
Build
();
message
[
f
(
"optional_nested_message"
)]
=
CreateBuilderForField
(
message
,
f
(
"optional_nested_message"
)).
SetField
(
nestedB
,
118
).
Build
();
message
[
f
(
"optional_nested_message"
)]
=
CreateBuilderForField
(
message
,
f
(
"optional_nested_message"
)).
SetField
(
nestedB
,
118
).
Weak
Build
();
message
[
f
(
"optional_foreign_message"
)]
=
CreateBuilderForField
(
message
,
f
(
"optional_foreign_message"
)).
SetField
(
foreignC
,
119
).
Build
();
message
[
f
(
"optional_foreign_message"
)]
=
CreateBuilderForField
(
message
,
f
(
"optional_foreign_message"
)).
SetField
(
foreignC
,
119
).
Weak
Build
();
message
[
f
(
"optional_import_message"
)]
=
CreateBuilderForField
(
message
,
f
(
"optional_import_message"
)).
SetField
(
importD
,
120
).
Build
();
message
[
f
(
"optional_import_message"
)]
=
CreateBuilderForField
(
message
,
f
(
"optional_import_message"
)).
SetField
(
importD
,
120
).
Weak
Build
();
message
[
f
(
"optional_nested_enum"
)]
=
nestedBaz
;
message
[
f
(
"optional_nested_enum"
)]
=
nestedBaz
;
message
[
f
(
"optional_foreign_enum"
)]
=
foreignBaz
;
message
[
f
(
"optional_foreign_enum"
)]
=
foreignBaz
;
...
@@ -210,71 +210,71 @@ namespace Google.ProtocolBuffers {
...
@@ -210,71 +210,71 @@ namespace Google.ProtocolBuffers {
// -----------------------------------------------------------------
// -----------------------------------------------------------------
message
.
AddRepeatedField
(
f
(
"repeated_int32"
),
201
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_int32"
),
201
);
message
.
AddRepeatedField
(
f
(
"repeated_int64"
),
202L
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_int64"
),
202L
);
message
.
AddRepeatedField
(
f
(
"repeated_uint32"
),
203U
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_uint32"
),
203U
);
message
.
AddRepeatedField
(
f
(
"repeated_uint64"
),
204U
L
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_uint64"
),
204U
L
);
message
.
AddRepeatedField
(
f
(
"repeated_sint32"
),
205
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_sint32"
),
205
);
message
.
AddRepeatedField
(
f
(
"repeated_sint64"
),
206L
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_sint64"
),
206L
);
message
.
AddRepeatedField
(
f
(
"repeated_fixed32"
),
207U
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_fixed32"
),
207U
);
message
.
AddRepeatedField
(
f
(
"repeated_fixed64"
),
208U
L
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_fixed64"
),
208U
L
);
message
.
AddRepeatedField
(
f
(
"repeated_sfixed32"
),
209
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_sfixed32"
),
209
);
message
.
AddRepeatedField
(
f
(
"repeated_sfixed64"
),
210L
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_sfixed64"
),
210L
);
message
.
AddRepeatedField
(
f
(
"repeated_float"
),
211F
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_float"
),
211F
);
message
.
AddRepeatedField
(
f
(
"repeated_double"
),
212D
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_double"
),
212D
);
message
.
AddRepeatedField
(
f
(
"repeated_bool"
),
true
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_bool"
),
true
);
message
.
AddRepeatedField
(
f
(
"repeated_string"
),
"215"
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_string"
),
"215"
);
message
.
AddRepeatedField
(
f
(
"repeated_bytes"
),
TestUtil
.
ToBytes
(
"216"
));
message
.
Weak
AddRepeatedField
(
f
(
"repeated_bytes"
),
TestUtil
.
ToBytes
(
"216"
));
message
.
AddRepeatedField
(
f
(
"repeatedgroup"
),
CreateBuilderForField
(
message
,
f
(
"repeatedgroup"
)).
SetField
(
repeatedGroupA
,
217
).
Build
());
message
.
WeakAddRepeatedField
(
f
(
"repeatedgroup"
),
CreateBuilderForField
(
message
,
f
(
"repeatedgroup"
)).
SetField
(
repeatedGroupA
,
217
).
Weak
Build
());
message
.
AddRepeatedField
(
f
(
"repeated_nested_message"
),
CreateBuilderForField
(
message
,
f
(
"repeated_nested_message"
)).
SetField
(
nestedB
,
218
).
Build
());
message
.
WeakAddRepeatedField
(
f
(
"repeated_nested_message"
),
CreateBuilderForField
(
message
,
f
(
"repeated_nested_message"
)).
SetField
(
nestedB
,
218
).
Weak
Build
());
message
.
AddRepeatedField
(
f
(
"repeated_foreign_message"
),
CreateBuilderForField
(
message
,
f
(
"repeated_foreign_message"
)).
SetField
(
foreignC
,
219
).
Build
());
message
.
WeakAddRepeatedField
(
f
(
"repeated_foreign_message"
),
CreateBuilderForField
(
message
,
f
(
"repeated_foreign_message"
)).
SetField
(
foreignC
,
219
).
Weak
Build
());
message
.
AddRepeatedField
(
f
(
"repeated_import_message"
),
CreateBuilderForField
(
message
,
f
(
"repeated_import_message"
)).
SetField
(
importD
,
220
).
Build
());
message
.
WeakAddRepeatedField
(
f
(
"repeated_import_message"
),
CreateBuilderForField
(
message
,
f
(
"repeated_import_message"
)).
SetField
(
importD
,
220
).
Weak
Build
());
message
.
AddRepeatedField
(
f
(
"repeated_nested_enum"
),
nestedBar
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_nested_enum"
),
nestedBar
);
message
.
AddRepeatedField
(
f
(
"repeated_foreign_enum"
),
foreignBar
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_foreign_enum"
),
foreignBar
);
message
.
AddRepeatedField
(
f
(
"repeated_import_enum"
),
importBar
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_import_enum"
),
importBar
);
message
.
AddRepeatedField
(
f
(
"repeated_string_piece"
),
"224"
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_string_piece"
),
"224"
);
message
.
AddRepeatedField
(
f
(
"repeated_cord"
),
"225"
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_cord"
),
"225"
);
// Add a second one of each field.
// Add a second one of each field.
message
.
AddRepeatedField
(
f
(
"repeated_int32"
),
301
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_int32"
),
301
);
message
.
AddRepeatedField
(
f
(
"repeated_int64"
),
302L
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_int64"
),
302L
);
message
.
AddRepeatedField
(
f
(
"repeated_uint32"
),
303U
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_uint32"
),
303U
);
message
.
AddRepeatedField
(
f
(
"repeated_uint64"
),
304U
L
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_uint64"
),
304U
L
);
message
.
AddRepeatedField
(
f
(
"repeated_sint32"
),
305
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_sint32"
),
305
);
message
.
AddRepeatedField
(
f
(
"repeated_sint64"
),
306L
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_sint64"
),
306L
);
message
.
AddRepeatedField
(
f
(
"repeated_fixed32"
),
307U
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_fixed32"
),
307U
);
message
.
AddRepeatedField
(
f
(
"repeated_fixed64"
),
308U
L
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_fixed64"
),
308U
L
);
message
.
AddRepeatedField
(
f
(
"repeated_sfixed32"
),
309
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_sfixed32"
),
309
);
message
.
AddRepeatedField
(
f
(
"repeated_sfixed64"
),
310L
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_sfixed64"
),
310L
);
message
.
AddRepeatedField
(
f
(
"repeated_float"
),
311F
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_float"
),
311F
);
message
.
AddRepeatedField
(
f
(
"repeated_double"
),
312D
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_double"
),
312D
);
message
.
AddRepeatedField
(
f
(
"repeated_bool"
),
false
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_bool"
),
false
);
message
.
AddRepeatedField
(
f
(
"repeated_string"
),
"315"
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_string"
),
"315"
);
message
.
AddRepeatedField
(
f
(
"repeated_bytes"
),
TestUtil
.
ToBytes
(
"316"
));
message
.
Weak
AddRepeatedField
(
f
(
"repeated_bytes"
),
TestUtil
.
ToBytes
(
"316"
));
message
.
AddRepeatedField
(
f
(
"repeatedgroup"
),
message
.
Weak
AddRepeatedField
(
f
(
"repeatedgroup"
),
CreateBuilderForField
(
message
,
f
(
"repeatedgroup"
))
CreateBuilderForField
(
message
,
f
(
"repeatedgroup"
))
.
SetField
(
repeatedGroupA
,
317
).
Build
());
.
SetField
(
repeatedGroupA
,
317
).
Weak
Build
());
message
.
AddRepeatedField
(
f
(
"repeated_nested_message"
),
message
.
Weak
AddRepeatedField
(
f
(
"repeated_nested_message"
),
CreateBuilderForField
(
message
,
f
(
"repeated_nested_message"
))
CreateBuilderForField
(
message
,
f
(
"repeated_nested_message"
))
.
SetField
(
nestedB
,
318
).
Build
());
.
SetField
(
nestedB
,
318
).
Weak
Build
());
message
.
AddRepeatedField
(
f
(
"repeated_foreign_message"
),
message
.
Weak
AddRepeatedField
(
f
(
"repeated_foreign_message"
),
CreateBuilderForField
(
message
,
f
(
"repeated_foreign_message"
))
CreateBuilderForField
(
message
,
f
(
"repeated_foreign_message"
))
.
SetField
(
foreignC
,
319
).
Build
());
.
SetField
(
foreignC
,
319
).
Weak
Build
());
message
.
AddRepeatedField
(
f
(
"repeated_import_message"
),
message
.
Weak
AddRepeatedField
(
f
(
"repeated_import_message"
),
CreateBuilderForField
(
message
,
f
(
"repeated_import_message"
))
CreateBuilderForField
(
message
,
f
(
"repeated_import_message"
))
.
SetField
(
importD
,
320
).
Build
());
.
SetField
(
importD
,
320
).
Weak
Build
());
message
.
AddRepeatedField
(
f
(
"repeated_nested_enum"
),
nestedBaz
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_nested_enum"
),
nestedBaz
);
message
.
AddRepeatedField
(
f
(
"repeated_foreign_enum"
),
foreignBaz
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_foreign_enum"
),
foreignBaz
);
message
.
AddRepeatedField
(
f
(
"repeated_import_enum"
),
importBaz
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_import_enum"
),
importBaz
);
message
.
AddRepeatedField
(
f
(
"repeated_string_piece"
),
"324"
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_string_piece"
),
"324"
);
message
.
AddRepeatedField
(
f
(
"repeated_cord"
),
"325"
);
message
.
Weak
AddRepeatedField
(
f
(
"repeated_cord"
),
"325"
);
// -----------------------------------------------------------------
// -----------------------------------------------------------------
...
@@ -326,10 +326,10 @@ namespace Google.ProtocolBuffers {
...
@@ -326,10 +326,10 @@ namespace Google.ProtocolBuffers {
message
[
f
(
"repeated_string"
),
1
]
=
"515"
;
message
[
f
(
"repeated_string"
),
1
]
=
"515"
;
message
.
SetRepeatedField
(
f
(
"repeated_bytes"
),
1
,
TestUtil
.
ToBytes
(
"516"
));
message
.
SetRepeatedField
(
f
(
"repeated_bytes"
),
1
,
TestUtil
.
ToBytes
(
"516"
));
message
.
SetRepeatedField
(
f
(
"repeatedgroup"
),
1
,
CreateBuilderForField
(
message
,
f
(
"repeatedgroup"
)).
SetField
(
repeatedGroupA
,
517
).
Build
());
message
.
SetRepeatedField
(
f
(
"repeatedgroup"
),
1
,
CreateBuilderForField
(
message
,
f
(
"repeatedgroup"
)).
SetField
(
repeatedGroupA
,
517
).
Weak
Build
());
message
.
SetRepeatedField
(
f
(
"repeated_nested_message"
),
1
,
CreateBuilderForField
(
message
,
f
(
"repeated_nested_message"
)).
SetField
(
nestedB
,
518
).
Build
());
message
.
SetRepeatedField
(
f
(
"repeated_nested_message"
),
1
,
CreateBuilderForField
(
message
,
f
(
"repeated_nested_message"
)).
SetField
(
nestedB
,
518
).
Weak
Build
());
message
.
SetRepeatedField
(
f
(
"repeated_foreign_message"
),
1
,
CreateBuilderForField
(
message
,
f
(
"repeated_foreign_message"
)).
SetField
(
foreignC
,
519
).
Build
());
message
.
SetRepeatedField
(
f
(
"repeated_foreign_message"
),
1
,
CreateBuilderForField
(
message
,
f
(
"repeated_foreign_message"
)).
SetField
(
foreignC
,
519
).
Weak
Build
());
message
.
SetRepeatedField
(
f
(
"repeated_import_message"
),
1
,
CreateBuilderForField
(
message
,
f
(
"repeated_import_message"
)).
SetField
(
importD
,
520
).
Build
());
message
.
SetRepeatedField
(
f
(
"repeated_import_message"
),
1
,
CreateBuilderForField
(
message
,
f
(
"repeated_import_message"
)).
SetField
(
importD
,
520
).
Weak
Build
());
message
[
f
(
"repeated_nested_enum"
),
1
]
=
nestedFoo
;
message
[
f
(
"repeated_nested_enum"
),
1
]
=
nestedFoo
;
message
[
f
(
"repeated_foreign_enum"
),
1
]
=
foreignFoo
;
message
[
f
(
"repeated_foreign_enum"
),
1
]
=
foreignFoo
;
...
...
csharp/ProtocolBuffers.Test/TestProtos/MessageWithNoOuter.cs
View file @
f26f8dce
...
@@ -95,12 +95,16 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -95,12 +95,16 @@ namespace Google.ProtocolBuffers.TestProtos {
}
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
override
IBuilder
<
self
::
MessageWithNoOuter
.
Types
.
NestedMessage
>
CreateBuilderForType
()
{
return
new
Builder
();
}
public
override
Builder
CreateBuilderForType
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
(
self
::
MessageWithNoOuter
.
Types
.
NestedMessage
prototype
)
{
public
static
Builder
CreateBuilder
(
self
::
MessageWithNoOuter
.
Types
.
NestedMessage
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
}
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
MessageWithNoOuter
.
Types
.
NestedMessage
,
Builder
>
{
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
MessageWithNoOuter
.
Types
.
NestedMessage
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
// Construct using self::MessageWithNoOuter.Types.NestedMessage.CreateBuilder()
// Construct using self::MessageWithNoOuter.Types.NestedMessage.CreateBuilder()
internal
Builder
()
{}
internal
Builder
()
{}
...
@@ -110,12 +114,12 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -110,12 +114,12 @@ namespace Google.ProtocolBuffers.TestProtos {
get
{
return
result
;
}
get
{
return
result
;
}
}
}
public
override
IBuilder
<
self
::
MessageWithNoOuter
.
Types
.
NestedMessage
>
Clear
()
{
public
override
Builder
Clear
()
{
result
=
new
self
::
MessageWithNoOuter
.
Types
.
NestedMessage
();
result
=
new
self
::
MessageWithNoOuter
.
Types
.
NestedMessage
();
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
MessageWithNoOuter
.
Types
.
NestedMessage
>
Clone
()
{
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
return
new
Builder
().
MergeFrom
(
result
);
}
}
...
@@ -231,12 +235,16 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -231,12 +235,16 @@ namespace Google.ProtocolBuffers.TestProtos {
}
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
override
IBuilder
<
self
::
MessageWithNoOuter
>
CreateBuilderForType
()
{
return
new
Builder
();
}
public
override
Builder
CreateBuilderForType
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
(
self
::
MessageWithNoOuter
prototype
)
{
public
static
Builder
CreateBuilder
(
self
::
MessageWithNoOuter
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
}
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
MessageWithNoOuter
,
Builder
>
{
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
MessageWithNoOuter
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
// Construct using self::MessageWithNoOuter.CreateBuilder()
// Construct using self::MessageWithNoOuter.CreateBuilder()
internal
Builder
()
{}
internal
Builder
()
{}
...
@@ -246,12 +254,12 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -246,12 +254,12 @@ namespace Google.ProtocolBuffers.TestProtos {
get
{
return
result
;
}
get
{
return
result
;
}
}
}
public
override
IBuilder
<
self
::
MessageWithNoOuter
>
Clear
()
{
public
override
Builder
Clear
()
{
result
=
new
self
::
MessageWithNoOuter
();
result
=
new
self
::
MessageWithNoOuter
();
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
MessageWithNoOuter
>
Clone
()
{
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
return
new
Builder
().
MergeFrom
(
result
);
}
}
...
...
csharp/ProtocolBuffers.Test/TestProtos/MultiFileProto.cs
View file @
f26f8dce
...
@@ -59,8 +59,8 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -59,8 +59,8 @@ namespace Google.ProtocolBuffers.TestProtos {
#
endregion
#
endregion
#
region
Extensions
#
region
Extensions
public
static
readonly
pb
::
GeneratedExtensionBase
<
self
::
TestAllExtensions
,
int
>
ExtensionWithOuter
=
public
static
readonly
pb
::
GeneratedExtensionBase
<
int
>
ExtensionWithOuter
=
pb
::
GeneratedSingleExtension
<
self
::
TestAllExtensions
,
int
>.
CreateInstance
(
Descriptor
.
Extensions
[
0
]);
pb
::
GeneratedSingleExtension
<
int
>.
CreateInstance
(
Descriptor
.
Extensions
[
0
]);
#
endregion
#
endregion
#
region
Static
variables
#
region
Static
variables
...
...
csharp/ProtocolBuffers.Test/TestProtos/ServiceWithNoOuter.cs
View file @
f26f8dce
...
@@ -95,7 +95,7 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -95,7 +95,7 @@ namespace Google.ProtocolBuffers.TestProtos {
controller
,
controller
,
request
,
request
,
self
::
TestAllTypes
.
DefaultInstance
,
self
::
TestAllTypes
.
DefaultInstance
,
pb
::
RpcUtil
.
GeneralizeCallback
(
done
,
self
::
TestAllTypes
.
DefaultInstance
));
pb
::
RpcUtil
.
GeneralizeCallback
<
self
::
TestAllTypes
,
self
::
TestAllTypes
.
Builder
>
(
done
,
self
::
TestAllTypes
.
DefaultInstance
));
}
}
}
}
}
}
...
...
csharp/ProtocolBuffers.Test/TestProtos/UnitTestEmbedOptimizeForProtoFile.cs
View file @
f26f8dce
...
@@ -174,12 +174,16 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -174,12 +174,16 @@ namespace Google.ProtocolBuffers.TestProtos {
}
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
override
IBuilder
<
self
::
TestEmbedOptimizedForSize
>
CreateBuilderForType
()
{
return
new
Builder
();
}
public
override
Builder
CreateBuilderForType
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
(
self
::
TestEmbedOptimizedForSize
prototype
)
{
public
static
Builder
CreateBuilder
(
self
::
TestEmbedOptimizedForSize
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
}
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
TestEmbedOptimizedForSize
,
Builder
>
{
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
TestEmbedOptimizedForSize
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
// Construct using self::TestEmbedOptimizedForSize.CreateBuilder()
// Construct using self::TestEmbedOptimizedForSize.CreateBuilder()
internal
Builder
()
{}
internal
Builder
()
{}
...
@@ -189,12 +193,12 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -189,12 +193,12 @@ namespace Google.ProtocolBuffers.TestProtos {
get
{
return
result
;
}
get
{
return
result
;
}
}
}
public
override
IBuilder
<
self
::
TestEmbedOptimizedForSize
>
Clear
()
{
public
override
Builder
Clear
()
{
result
=
new
self
::
TestEmbedOptimizedForSize
();
result
=
new
self
::
TestEmbedOptimizedForSize
();
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
TestEmbedOptimizedForSize
>
Clone
()
{
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
return
new
Builder
().
MergeFrom
(
result
);
}
}
...
@@ -215,11 +219,7 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -215,11 +219,7 @@ namespace Google.ProtocolBuffers.TestProtos {
return
returnMe
;
return
returnMe
;
}
}
protected
override
IBuilder
MergeFromImpl
(
CodedInputStream
data
,
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
IMessage
other
)
{
return
MergeFrom
(
data
,
extensionRegistry
);
}
public
override
IBuilder
MergeFrom
(
pb
::
IMessage
other
)
{
if
(
other
is
self
::
TestEmbedOptimizedForSize
)
{
if
(
other
is
self
::
TestEmbedOptimizedForSize
)
{
return
MergeFrom
((
self
::
TestEmbedOptimizedForSize
)
other
);
return
MergeFrom
((
self
::
TestEmbedOptimizedForSize
)
other
);
}
else
{
}
else
{
...
@@ -228,7 +228,7 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -228,7 +228,7 @@ namespace Google.ProtocolBuffers.TestProtos {
}
}
}
}
public
override
IBuilder
<
self
::
TestEmbedOptimizedForSize
>
MergeFrom
(
self
::
TestEmbedOptimizedForSize
other
)
{
public
override
Builder
MergeFrom
(
self
::
TestEmbedOptimizedForSize
other
)
{
if
(
other
==
self
::
TestEmbedOptimizedForSize
.
DefaultInstance
)
return
this
;
if
(
other
==
self
::
TestEmbedOptimizedForSize
.
DefaultInstance
)
return
this
;
if
(
other
.
HasOptionalMessage
)
{
if
(
other
.
HasOptionalMessage
)
{
MergeOptionalMessage
(
other
.
OptionalMessage
);
MergeOptionalMessage
(
other
.
OptionalMessage
);
...
@@ -243,11 +243,11 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -243,11 +243,11 @@ namespace Google.ProtocolBuffers.TestProtos {
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
TestEmbedOptimizedForSize
>
MergeFrom
(
pb
::
CodedInputStream
input
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
)
{
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
}
}
public
override
IBuilder
<
self
::
TestEmbedOptimizedForSize
>
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
while
(
true
)
{
while
(
true
)
{
...
...
csharp/ProtocolBuffers.Test/TestProtos/UnitTestImportProtoFile.cs
View file @
f26f8dce
...
@@ -150,12 +150,16 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -150,12 +150,16 @@ namespace Google.ProtocolBuffers.TestProtos {
}
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
override
IBuilder
<
self
::
ImportMessage
>
CreateBuilderForType
()
{
return
new
Builder
();
}
public
override
Builder
CreateBuilderForType
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
(
self
::
ImportMessage
prototype
)
{
public
static
Builder
CreateBuilder
(
self
::
ImportMessage
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
}
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
ImportMessage
,
Builder
>
{
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
ImportMessage
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
// Construct using self::ImportMessage.CreateBuilder()
// Construct using self::ImportMessage.CreateBuilder()
internal
Builder
()
{}
internal
Builder
()
{}
...
@@ -165,12 +169,12 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -165,12 +169,12 @@ namespace Google.ProtocolBuffers.TestProtos {
get
{
return
result
;
}
get
{
return
result
;
}
}
}
public
override
IBuilder
<
self
::
ImportMessage
>
Clear
()
{
public
override
Builder
Clear
()
{
result
=
new
self
::
ImportMessage
();
result
=
new
self
::
ImportMessage
();
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
ImportMessage
>
Clone
()
{
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
return
new
Builder
().
MergeFrom
(
result
);
}
}
...
@@ -188,11 +192,7 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -188,11 +192,7 @@ namespace Google.ProtocolBuffers.TestProtos {
return
returnMe
;
return
returnMe
;
}
}
protected
override
IBuilder
MergeFromImpl
(
CodedInputStream
data
,
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
IMessage
other
)
{
return
MergeFrom
(
data
,
extensionRegistry
);
}
public
override
IBuilder
MergeFrom
(
pb
::
IMessage
other
)
{
if
(
other
is
self
::
ImportMessage
)
{
if
(
other
is
self
::
ImportMessage
)
{
return
MergeFrom
((
self
::
ImportMessage
)
other
);
return
MergeFrom
((
self
::
ImportMessage
)
other
);
}
else
{
}
else
{
...
@@ -201,7 +201,7 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -201,7 +201,7 @@ namespace Google.ProtocolBuffers.TestProtos {
}
}
}
}
public
override
IBuilder
<
self
::
ImportMessage
>
MergeFrom
(
self
::
ImportMessage
other
)
{
public
override
Builder
MergeFrom
(
self
::
ImportMessage
other
)
{
if
(
other
==
self
::
ImportMessage
.
DefaultInstance
)
return
this
;
if
(
other
==
self
::
ImportMessage
.
DefaultInstance
)
return
this
;
if
(
other
.
HasD
)
{
if
(
other
.
HasD
)
{
D
=
other
.
D
;
D
=
other
.
D
;
...
@@ -210,11 +210,11 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -210,11 +210,11 @@ namespace Google.ProtocolBuffers.TestProtos {
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
ImportMessage
>
MergeFrom
(
pb
::
CodedInputStream
input
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
)
{
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
}
}
public
override
IBuilder
<
self
::
ImportMessage
>
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
while
(
true
)
{
while
(
true
)
{
...
...
csharp/ProtocolBuffers.Test/TestProtos/UnitTestMessageSetProtoFile.cs
View file @
f26f8dce
...
@@ -188,12 +188,16 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -188,12 +188,16 @@ namespace Google.ProtocolBuffers.TestProtos {
}
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
override
IBuilder
<
self
::
TestMessageSet
>
CreateBuilderForType
()
{
return
new
Builder
();
}
public
override
Builder
CreateBuilderForType
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
(
self
::
TestMessageSet
prototype
)
{
public
static
Builder
CreateBuilder
(
self
::
TestMessageSet
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
}
public
sealed
partial
class
Builder
:
pb
::
ExtendableBuilder
<
self
::
TestMessageSet
,
self
::
TestMessageSet
.
Builder
>
{
public
sealed
partial
class
Builder
:
pb
::
ExtendableBuilder
<
self
::
TestMessageSet
,
self
::
TestMessageSet
.
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
// Construct using self::TestMessageSet.CreateBuilder()
// Construct using self::TestMessageSet.CreateBuilder()
internal
Builder
()
{}
internal
Builder
()
{}
...
@@ -203,12 +207,12 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -203,12 +207,12 @@ namespace Google.ProtocolBuffers.TestProtos {
get
{
return
result
;
}
get
{
return
result
;
}
}
}
public
override
IBuilder
<
self
::
TestMessageSet
>
Clear
()
{
public
override
Builder
Clear
()
{
result
=
new
self
::
TestMessageSet
();
result
=
new
self
::
TestMessageSet
();
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
TestMessageSet
>
Clone
()
{
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
return
new
Builder
().
MergeFrom
(
result
);
}
}
...
@@ -226,11 +230,7 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -226,11 +230,7 @@ namespace Google.ProtocolBuffers.TestProtos {
return
returnMe
;
return
returnMe
;
}
}
protected
override
IBuilder
MergeFromImpl
(
CodedInputStream
data
,
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
IMessage
other
)
{
return
MergeFrom
(
data
,
extensionRegistry
);
}
public
override
IBuilder
MergeFrom
(
pb
::
IMessage
other
)
{
if
(
other
is
self
::
TestMessageSet
)
{
if
(
other
is
self
::
TestMessageSet
)
{
return
MergeFrom
((
self
::
TestMessageSet
)
other
);
return
MergeFrom
((
self
::
TestMessageSet
)
other
);
}
else
{
}
else
{
...
@@ -239,17 +239,17 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -239,17 +239,17 @@ namespace Google.ProtocolBuffers.TestProtos {
}
}
}
}
public
override
IBuilder
<
self
::
TestMessageSet
>
MergeFrom
(
self
::
TestMessageSet
other
)
{
public
override
Builder
MergeFrom
(
self
::
TestMessageSet
other
)
{
if
(
other
==
self
::
TestMessageSet
.
DefaultInstance
)
return
this
;
if
(
other
==
self
::
TestMessageSet
.
DefaultInstance
)
return
this
;
this
.
MergeUnknownFields
(
other
.
UnknownFields
);
this
.
MergeUnknownFields
(
other
.
UnknownFields
);
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
TestMessageSet
>
MergeFrom
(
pb
::
CodedInputStream
input
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
)
{
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
}
}
public
override
IBuilder
<
self
::
TestMessageSet
>
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
while
(
true
)
{
while
(
true
)
{
...
@@ -368,12 +368,16 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -368,12 +368,16 @@ namespace Google.ProtocolBuffers.TestProtos {
}
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
override
IBuilder
<
self
::
TestMessageSetContainer
>
CreateBuilderForType
()
{
return
new
Builder
();
}
public
override
Builder
CreateBuilderForType
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
(
self
::
TestMessageSetContainer
prototype
)
{
public
static
Builder
CreateBuilder
(
self
::
TestMessageSetContainer
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
}
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
TestMessageSetContainer
,
Builder
>
{
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
TestMessageSetContainer
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
// Construct using self::TestMessageSetContainer.CreateBuilder()
// Construct using self::TestMessageSetContainer.CreateBuilder()
internal
Builder
()
{}
internal
Builder
()
{}
...
@@ -383,12 +387,12 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -383,12 +387,12 @@ namespace Google.ProtocolBuffers.TestProtos {
get
{
return
result
;
}
get
{
return
result
;
}
}
}
public
override
IBuilder
<
self
::
TestMessageSetContainer
>
Clear
()
{
public
override
Builder
Clear
()
{
result
=
new
self
::
TestMessageSetContainer
();
result
=
new
self
::
TestMessageSetContainer
();
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
TestMessageSetContainer
>
Clone
()
{
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
return
new
Builder
().
MergeFrom
(
result
);
}
}
...
@@ -406,11 +410,7 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -406,11 +410,7 @@ namespace Google.ProtocolBuffers.TestProtos {
return
returnMe
;
return
returnMe
;
}
}
protected
override
IBuilder
MergeFromImpl
(
CodedInputStream
data
,
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
IMessage
other
)
{
return
MergeFrom
(
data
,
extensionRegistry
);
}
public
override
IBuilder
MergeFrom
(
pb
::
IMessage
other
)
{
if
(
other
is
self
::
TestMessageSetContainer
)
{
if
(
other
is
self
::
TestMessageSetContainer
)
{
return
MergeFrom
((
self
::
TestMessageSetContainer
)
other
);
return
MergeFrom
((
self
::
TestMessageSetContainer
)
other
);
}
else
{
}
else
{
...
@@ -419,7 +419,7 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -419,7 +419,7 @@ namespace Google.ProtocolBuffers.TestProtos {
}
}
}
}
public
override
IBuilder
<
self
::
TestMessageSetContainer
>
MergeFrom
(
self
::
TestMessageSetContainer
other
)
{
public
override
Builder
MergeFrom
(
self
::
TestMessageSetContainer
other
)
{
if
(
other
==
self
::
TestMessageSetContainer
.
DefaultInstance
)
return
this
;
if
(
other
==
self
::
TestMessageSetContainer
.
DefaultInstance
)
return
this
;
if
(
other
.
HasMessageSet
)
{
if
(
other
.
HasMessageSet
)
{
MergeMessageSet
(
other
.
MessageSet
);
MergeMessageSet
(
other
.
MessageSet
);
...
@@ -428,11 +428,11 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -428,11 +428,11 @@ namespace Google.ProtocolBuffers.TestProtos {
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
TestMessageSetContainer
>
MergeFrom
(
pb
::
CodedInputStream
input
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
)
{
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
}
}
public
override
IBuilder
<
self
::
TestMessageSetContainer
>
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
while
(
true
)
{
while
(
true
)
{
...
@@ -520,8 +520,8 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -520,8 +520,8 @@ namespace Google.ProtocolBuffers.TestProtos {
#
region
Nested
types
#
region
Nested
types
public
static
class
Types
{
public
static
class
Types
{
public
static
readonly
pb
::
GeneratedExtensionBase
<
self
::
TestMessageSet
,
self
::
TestMessageSet
Extension1
>
MessageSetExtension
=
public
static
readonly
pb
::
GeneratedExtensionBase
<
self
::
TestMessageSetExtension1
>
MessageSetExtension
=
pb
::
GeneratedSingleExtension
<
self
::
TestMessageSet
,
self
::
TestMessageSet
Extension1
>.
CreateInstance
(
Descriptor
.
Extensions
[
0
]);
pb
::
GeneratedSingleExtension
<
self
::
TestMessageSetExtension1
>.
CreateInstance
(
Descriptor
.
Extensions
[
0
]);
}
}
#
endregion
#
endregion
...
@@ -599,12 +599,16 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -599,12 +599,16 @@ namespace Google.ProtocolBuffers.TestProtos {
}
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
override
IBuilder
<
self
::
TestMessageSetExtension1
>
CreateBuilderForType
()
{
return
new
Builder
();
}
public
override
Builder
CreateBuilderForType
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
(
self
::
TestMessageSetExtension1
prototype
)
{
public
static
Builder
CreateBuilder
(
self
::
TestMessageSetExtension1
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
}
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
TestMessageSetExtension1
,
Builder
>
{
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
TestMessageSetExtension1
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
// Construct using self::TestMessageSetExtension1.CreateBuilder()
// Construct using self::TestMessageSetExtension1.CreateBuilder()
internal
Builder
()
{}
internal
Builder
()
{}
...
@@ -614,12 +618,12 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -614,12 +618,12 @@ namespace Google.ProtocolBuffers.TestProtos {
get
{
return
result
;
}
get
{
return
result
;
}
}
}
public
override
IBuilder
<
self
::
TestMessageSetExtension1
>
Clear
()
{
public
override
Builder
Clear
()
{
result
=
new
self
::
TestMessageSetExtension1
();
result
=
new
self
::
TestMessageSetExtension1
();
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
TestMessageSetExtension1
>
Clone
()
{
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
return
new
Builder
().
MergeFrom
(
result
);
}
}
...
@@ -637,11 +641,7 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -637,11 +641,7 @@ namespace Google.ProtocolBuffers.TestProtos {
return
returnMe
;
return
returnMe
;
}
}
protected
override
IBuilder
MergeFromImpl
(
CodedInputStream
data
,
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
IMessage
other
)
{
return
MergeFrom
(
data
,
extensionRegistry
);
}
public
override
IBuilder
MergeFrom
(
pb
::
IMessage
other
)
{
if
(
other
is
self
::
TestMessageSetExtension1
)
{
if
(
other
is
self
::
TestMessageSetExtension1
)
{
return
MergeFrom
((
self
::
TestMessageSetExtension1
)
other
);
return
MergeFrom
((
self
::
TestMessageSetExtension1
)
other
);
}
else
{
}
else
{
...
@@ -650,7 +650,7 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -650,7 +650,7 @@ namespace Google.ProtocolBuffers.TestProtos {
}
}
}
}
public
override
IBuilder
<
self
::
TestMessageSetExtension1
>
MergeFrom
(
self
::
TestMessageSetExtension1
other
)
{
public
override
Builder
MergeFrom
(
self
::
TestMessageSetExtension1
other
)
{
if
(
other
==
self
::
TestMessageSetExtension1
.
DefaultInstance
)
return
this
;
if
(
other
==
self
::
TestMessageSetExtension1
.
DefaultInstance
)
return
this
;
if
(
other
.
HasI
)
{
if
(
other
.
HasI
)
{
I
=
other
.
I
;
I
=
other
.
I
;
...
@@ -659,11 +659,11 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -659,11 +659,11 @@ namespace Google.ProtocolBuffers.TestProtos {
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
TestMessageSetExtension1
>
MergeFrom
(
pb
::
CodedInputStream
input
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
)
{
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
}
}
public
override
IBuilder
<
self
::
TestMessageSetExtension1
>
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
while
(
true
)
{
while
(
true
)
{
...
@@ -730,8 +730,8 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -730,8 +730,8 @@ namespace Google.ProtocolBuffers.TestProtos {
#
region
Nested
types
#
region
Nested
types
public
static
class
Types
{
public
static
class
Types
{
public
static
readonly
pb
::
GeneratedExtensionBase
<
self
::
TestMessageSet
,
self
::
TestMessageSet
Extension2
>
MessageSetExtension
=
public
static
readonly
pb
::
GeneratedExtensionBase
<
self
::
TestMessageSetExtension2
>
MessageSetExtension
=
pb
::
GeneratedSingleExtension
<
self
::
TestMessageSet
,
self
::
TestMessageSet
Extension2
>.
CreateInstance
(
Descriptor
.
Extensions
[
0
]);
pb
::
GeneratedSingleExtension
<
self
::
TestMessageSetExtension2
>.
CreateInstance
(
Descriptor
.
Extensions
[
0
]);
}
}
#
endregion
#
endregion
...
@@ -809,12 +809,16 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -809,12 +809,16 @@ namespace Google.ProtocolBuffers.TestProtos {
}
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
override
IBuilder
<
self
::
TestMessageSetExtension2
>
CreateBuilderForType
()
{
return
new
Builder
();
}
public
override
Builder
CreateBuilderForType
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
(
self
::
TestMessageSetExtension2
prototype
)
{
public
static
Builder
CreateBuilder
(
self
::
TestMessageSetExtension2
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
}
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
TestMessageSetExtension2
,
Builder
>
{
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
TestMessageSetExtension2
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
// Construct using self::TestMessageSetExtension2.CreateBuilder()
// Construct using self::TestMessageSetExtension2.CreateBuilder()
internal
Builder
()
{}
internal
Builder
()
{}
...
@@ -824,12 +828,12 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -824,12 +828,12 @@ namespace Google.ProtocolBuffers.TestProtos {
get
{
return
result
;
}
get
{
return
result
;
}
}
}
public
override
IBuilder
<
self
::
TestMessageSetExtension2
>
Clear
()
{
public
override
Builder
Clear
()
{
result
=
new
self
::
TestMessageSetExtension2
();
result
=
new
self
::
TestMessageSetExtension2
();
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
TestMessageSetExtension2
>
Clone
()
{
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
return
new
Builder
().
MergeFrom
(
result
);
}
}
...
@@ -847,11 +851,7 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -847,11 +851,7 @@ namespace Google.ProtocolBuffers.TestProtos {
return
returnMe
;
return
returnMe
;
}
}
protected
override
IBuilder
MergeFromImpl
(
CodedInputStream
data
,
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
IMessage
other
)
{
return
MergeFrom
(
data
,
extensionRegistry
);
}
public
override
IBuilder
MergeFrom
(
pb
::
IMessage
other
)
{
if
(
other
is
self
::
TestMessageSetExtension2
)
{
if
(
other
is
self
::
TestMessageSetExtension2
)
{
return
MergeFrom
((
self
::
TestMessageSetExtension2
)
other
);
return
MergeFrom
((
self
::
TestMessageSetExtension2
)
other
);
}
else
{
}
else
{
...
@@ -860,7 +860,7 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -860,7 +860,7 @@ namespace Google.ProtocolBuffers.TestProtos {
}
}
}
}
public
override
IBuilder
<
self
::
TestMessageSetExtension2
>
MergeFrom
(
self
::
TestMessageSetExtension2
other
)
{
public
override
Builder
MergeFrom
(
self
::
TestMessageSetExtension2
other
)
{
if
(
other
==
self
::
TestMessageSetExtension2
.
DefaultInstance
)
return
this
;
if
(
other
==
self
::
TestMessageSetExtension2
.
DefaultInstance
)
return
this
;
if
(
other
.
HasStr
)
{
if
(
other
.
HasStr
)
{
Str
=
other
.
Str
;
Str
=
other
.
Str
;
...
@@ -869,11 +869,11 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -869,11 +869,11 @@ namespace Google.ProtocolBuffers.TestProtos {
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
TestMessageSetExtension2
>
MergeFrom
(
pb
::
CodedInputStream
input
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
)
{
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
}
}
public
override
IBuilder
<
self
::
TestMessageSetExtension2
>
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
while
(
true
)
{
while
(
true
)
{
...
@@ -1050,12 +1050,16 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -1050,12 +1050,16 @@ namespace Google.ProtocolBuffers.TestProtos {
}
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
override
IBuilder
<
self
::
RawMessageSet
.
Types
.
Item
>
CreateBuilderForType
()
{
return
new
Builder
();
}
public
override
Builder
CreateBuilderForType
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
(
self
::
RawMessageSet
.
Types
.
Item
prototype
)
{
public
static
Builder
CreateBuilder
(
self
::
RawMessageSet
.
Types
.
Item
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
}
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
RawMessageSet
.
Types
.
Item
,
Builder
>
{
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
RawMessageSet
.
Types
.
Item
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
// Construct using self::RawMessageSet.Types.Item.CreateBuilder()
// Construct using self::RawMessageSet.Types.Item.CreateBuilder()
internal
Builder
()
{}
internal
Builder
()
{}
...
@@ -1065,12 +1069,12 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -1065,12 +1069,12 @@ namespace Google.ProtocolBuffers.TestProtos {
get
{
return
result
;
}
get
{
return
result
;
}
}
}
public
override
IBuilder
<
self
::
RawMessageSet
.
Types
.
Item
>
Clear
()
{
public
override
Builder
Clear
()
{
result
=
new
self
::
RawMessageSet
.
Types
.
Item
();
result
=
new
self
::
RawMessageSet
.
Types
.
Item
();
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
RawMessageSet
.
Types
.
Item
>
Clone
()
{
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
return
new
Builder
().
MergeFrom
(
result
);
}
}
...
@@ -1088,11 +1092,7 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -1088,11 +1092,7 @@ namespace Google.ProtocolBuffers.TestProtos {
return
returnMe
;
return
returnMe
;
}
}
protected
override
IBuilder
MergeFromImpl
(
CodedInputStream
data
,
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
IMessage
other
)
{
return
MergeFrom
(
data
,
extensionRegistry
);
}
public
override
IBuilder
MergeFrom
(
pb
::
IMessage
other
)
{
if
(
other
is
self
::
RawMessageSet
.
Types
.
Item
)
{
if
(
other
is
self
::
RawMessageSet
.
Types
.
Item
)
{
return
MergeFrom
((
self
::
RawMessageSet
.
Types
.
Item
)
other
);
return
MergeFrom
((
self
::
RawMessageSet
.
Types
.
Item
)
other
);
}
else
{
}
else
{
...
@@ -1101,7 +1101,7 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -1101,7 +1101,7 @@ namespace Google.ProtocolBuffers.TestProtos {
}
}
}
}
public
override
IBuilder
<
self
::
RawMessageSet
.
Types
.
Item
>
MergeFrom
(
self
::
RawMessageSet
.
Types
.
Item
other
)
{
public
override
Builder
MergeFrom
(
self
::
RawMessageSet
.
Types
.
Item
other
)
{
if
(
other
==
self
::
RawMessageSet
.
Types
.
Item
.
DefaultInstance
)
return
this
;
if
(
other
==
self
::
RawMessageSet
.
Types
.
Item
.
DefaultInstance
)
return
this
;
if
(
other
.
HasTypeId
)
{
if
(
other
.
HasTypeId
)
{
TypeId
=
other
.
TypeId
;
TypeId
=
other
.
TypeId
;
...
@@ -1113,11 +1113,11 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -1113,11 +1113,11 @@ namespace Google.ProtocolBuffers.TestProtos {
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
RawMessageSet
.
Types
.
Item
>
MergeFrom
(
pb
::
CodedInputStream
input
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
)
{
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
}
}
public
override
IBuilder
<
self
::
RawMessageSet
.
Types
.
Item
>
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
while
(
true
)
{
while
(
true
)
{
...
@@ -1269,12 +1269,16 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -1269,12 +1269,16 @@ namespace Google.ProtocolBuffers.TestProtos {
}
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
override
IBuilder
<
self
::
RawMessageSet
>
CreateBuilderForType
()
{
return
new
Builder
();
}
public
override
Builder
CreateBuilderForType
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
(
self
::
RawMessageSet
prototype
)
{
public
static
Builder
CreateBuilder
(
self
::
RawMessageSet
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
}
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
RawMessageSet
,
Builder
>
{
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
RawMessageSet
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
// Construct using self::RawMessageSet.CreateBuilder()
// Construct using self::RawMessageSet.CreateBuilder()
internal
Builder
()
{}
internal
Builder
()
{}
...
@@ -1284,12 +1288,12 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -1284,12 +1288,12 @@ namespace Google.ProtocolBuffers.TestProtos {
get
{
return
result
;
}
get
{
return
result
;
}
}
}
public
override
IBuilder
<
self
::
RawMessageSet
>
Clear
()
{
public
override
Builder
Clear
()
{
result
=
new
self
::
RawMessageSet
();
result
=
new
self
::
RawMessageSet
();
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
RawMessageSet
>
Clone
()
{
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
return
new
Builder
().
MergeFrom
(
result
);
}
}
...
@@ -1310,11 +1314,7 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -1310,11 +1314,7 @@ namespace Google.ProtocolBuffers.TestProtos {
return
returnMe
;
return
returnMe
;
}
}
protected
override
IBuilder
MergeFromImpl
(
CodedInputStream
data
,
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
IMessage
other
)
{
return
MergeFrom
(
data
,
extensionRegistry
);
}
public
override
IBuilder
MergeFrom
(
pb
::
IMessage
other
)
{
if
(
other
is
self
::
RawMessageSet
)
{
if
(
other
is
self
::
RawMessageSet
)
{
return
MergeFrom
((
self
::
RawMessageSet
)
other
);
return
MergeFrom
((
self
::
RawMessageSet
)
other
);
}
else
{
}
else
{
...
@@ -1323,7 +1323,7 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -1323,7 +1323,7 @@ namespace Google.ProtocolBuffers.TestProtos {
}
}
}
}
public
override
IBuilder
<
self
::
RawMessageSet
>
MergeFrom
(
self
::
RawMessageSet
other
)
{
public
override
Builder
MergeFrom
(
self
::
RawMessageSet
other
)
{
if
(
other
==
self
::
RawMessageSet
.
DefaultInstance
)
return
this
;
if
(
other
==
self
::
RawMessageSet
.
DefaultInstance
)
return
this
;
if
(
other
.
item_
.
Count
!=
0
)
{
if
(
other
.
item_
.
Count
!=
0
)
{
if
(
result
.
item_
.
Count
==
0
)
{
if
(
result
.
item_
.
Count
==
0
)
{
...
@@ -1335,11 +1335,11 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -1335,11 +1335,11 @@ namespace Google.ProtocolBuffers.TestProtos {
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
RawMessageSet
>
MergeFrom
(
pb
::
CodedInputStream
input
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
)
{
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
}
}
public
override
IBuilder
<
self
::
RawMessageSet
>
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
while
(
true
)
{
while
(
true
)
{
...
...
csharp/ProtocolBuffers.Test/TestProtos/UnitTestOptimizeForProtoFile.cs
View file @
f26f8dce
...
@@ -77,8 +77,8 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -77,8 +77,8 @@ namespace Google.ProtocolBuffers.TestProtos {
#
region
Nested
types
#
region
Nested
types
public
static
class
Types
{
public
static
class
Types
{
public
static
readonly
pb
::
GeneratedExtensionBase
<
self
::
TestOptimizedForSize
,
int
>
TestExtension
=
public
static
readonly
pb
::
GeneratedExtensionBase
<
int
>
TestExtension
=
pb
::
GeneratedSingleExtension
<
self
::
TestOptimizedForSize
,
int
>.
CreateInstance
(
Descriptor
.
Extensions
[
0
]);
pb
::
GeneratedSingleExtension
<
int
>.
CreateInstance
(
Descriptor
.
Extensions
[
0
]);
}
}
#
endregion
#
endregion
...
@@ -137,12 +137,16 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -137,12 +137,16 @@ namespace Google.ProtocolBuffers.TestProtos {
}
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
override
IBuilder
<
self
::
TestOptimizedForSize
>
CreateBuilderForType
()
{
return
new
Builder
();
}
public
override
Builder
CreateBuilderForType
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
(
self
::
TestOptimizedForSize
prototype
)
{
public
static
Builder
CreateBuilder
(
self
::
TestOptimizedForSize
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
}
public
sealed
partial
class
Builder
:
pb
::
ExtendableBuilder
<
self
::
TestOptimizedForSize
,
self
::
TestOptimizedForSize
.
Builder
>
{
public
sealed
partial
class
Builder
:
pb
::
ExtendableBuilder
<
self
::
TestOptimizedForSize
,
self
::
TestOptimizedForSize
.
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
// Construct using self::TestOptimizedForSize.CreateBuilder()
// Construct using self::TestOptimizedForSize.CreateBuilder()
internal
Builder
()
{}
internal
Builder
()
{}
...
@@ -152,12 +156,12 @@ namespace Google.ProtocolBuffers.TestProtos {
...
@@ -152,12 +156,12 @@ namespace Google.ProtocolBuffers.TestProtos {
get
{
return
result
;
}
get
{
return
result
;
}
}
}
public
override
IBuilder
<
self
::
TestOptimizedForSize
>
Clear
()
{
public
override
Builder
Clear
()
{
result
=
new
self
::
TestOptimizedForSize
();
result
=
new
self
::
TestOptimizedForSize
();
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
TestOptimizedForSize
>
Clone
()
{
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
return
new
Builder
().
MergeFrom
(
result
);
}
}
...
...
csharp/ProtocolBuffers.Test/TestProtos/UnitTestProtoFile.cs
View file @
f26f8dce
This source diff could not be displayed because it is too large. You can
view the blob
instead.
csharp/ProtocolBuffers/AbstractBuilder.cs
View file @
f26f8dce
...
@@ -8,10 +8,16 @@ using System.IO;
...
@@ -8,10 +8,16 @@ using System.IO;
namespace
Google.ProtocolBuffers
{
namespace
Google.ProtocolBuffers
{
/// <summary>
/// <summary>
/// Implementation of the non-generic IMessage interface as far as possible.
/// Implementation of the non-generic IMessage interface as far as possible.
/// TODO(jonskeet): Make this generic, to avoid so much casting in DynamicMessage.
/// </summary>
/// </summary>
public
abstract
class
AbstractBuilder
:
IBuilder
{
public
abstract
class
AbstractBuilder
<
TMessage
,
TBuilder
>
:
IBuilder
<
TMessage
,
TBuilder
>
where
TMessage
:
AbstractMessage
<
TMessage
,
TBuilder
>
where
TBuilder
:
AbstractBuilder
<
TMessage
,
TBuilder
>
{
protected
abstract
TBuilder
ThisBuilder
{
get
;
}
#
region
Unimplemented
members
of
IBuilder
#
region
Unimplemented
members
of
IBuilder
public
abstract
UnknownFieldSet
UnknownFields
{
get
;
set
;
}
public
abstract
TBuilder
MergeFrom
(
TMessage
other
);
public
abstract
bool
IsInitialized
{
get
;
}
public
abstract
bool
IsInitialized
{
get
;
}
public
abstract
IDictionary
<
FieldDescriptor
,
object
>
AllFields
{
get
;
}
public
abstract
IDictionary
<
FieldDescriptor
,
object
>
AllFields
{
get
;
}
public
abstract
object
this
[
FieldDescriptor
field
]
{
get
;
set
;
}
public
abstract
object
this
[
FieldDescriptor
field
]
{
get
;
set
;
}
...
@@ -19,55 +25,75 @@ namespace Google.ProtocolBuffers {
...
@@ -19,55 +25,75 @@ namespace Google.ProtocolBuffers {
public
abstract
int
GetRepeatedFieldCount
(
FieldDescriptor
field
);
public
abstract
int
GetRepeatedFieldCount
(
FieldDescriptor
field
);
public
abstract
object
this
[
FieldDescriptor
field
,
int
index
]
{
get
;
set
;
}
public
abstract
object
this
[
FieldDescriptor
field
,
int
index
]
{
get
;
set
;
}
public
abstract
bool
HasField
(
FieldDescriptor
field
);
public
abstract
bool
HasField
(
FieldDescriptor
field
);
public
abstract
TMessage
Build
();
public
abstract
TMessage
BuildPartial
();
public
abstract
TBuilder
Clone
();
public
abstract
TMessage
DefaultInstanceForType
{
get
;
}
public
abstract
IBuilder
CreateBuilderForField
(
FieldDescriptor
field
);
public
abstract
TBuilder
ClearField
(
FieldDescriptor
field
);
public
abstract
TBuilder
AddRepeatedField
(
FieldDescriptor
field
,
object
value
);
#
endregion
#
endregion
#
region
New
abstract
methods
to
be
overridden
by
implementations
,
allow
explicit
interface
implementation
#
region
Implementation
of
methods
which
don
'
t
require
type
parameter
information
protected
abstract
IMessage
BuildImpl
();
public
IMessage
WeakBuild
()
{
protected
abstract
IMessage
BuildPartialImpl
();
return
Build
();
protected
abstract
IBuilder
CloneImpl
();
}
protected
abstract
IMessage
DefaultInstanceForTypeImpl
{
get
;
}
protected
abstract
IBuilder
ClearFieldImpl
(
FieldDescriptor
field
);
protected
abstract
IBuilder
AddRepeatedFieldImpl
(
FieldDescriptor
field
,
object
value
);
#
endregion
#
region
Methods
simply
proxying
to
the
"Impl"
methods
,
explicitly
implementing
IBuilder
public
IBuilder
WeakAddRepeatedField
(
FieldDescriptor
field
,
object
value
)
{
IMessage
IBuilder
.
Build
()
{
return
AddRepeatedField
(
field
,
value
);
return
BuildImpl
();
}
}
IMessage
IBuilder
.
BuildPartial
()
{
public
IBuilder
WeakClear
()
{
return
BuildPartialImpl
();
return
Clear
();
}
}
IBuilder
IBuilder
.
Clone
(
)
{
public
IBuilder
WeakMergeFrom
(
IMessage
message
)
{
return
CloneImpl
(
);
return
MergeFrom
(
message
);
}
}
IMessage
IBuilder
.
DefaultInstanceForType
{
public
IBuilder
WeakMergeFrom
(
CodedInputStream
input
)
{
get
{
return
DefaultInstanceForTypeImpl
;
}
return
MergeFrom
(
input
);
}
}
public
abstract
IBuilder
CreateBuilderForField
(
FieldDescriptor
field
);
public
IBuilder
WeakMergeFrom
(
CodedInputStream
input
,
ExtensionRegistry
registry
)
{
return
MergeFrom
(
input
,
registry
);
}
IBuilder
IBuilder
.
ClearField
(
FieldDescriptor
field
)
{
public
IBuilder
WeakMergeFrom
(
ByteString
data
)
{
return
ClearFieldImpl
(
field
);
return
MergeFrom
(
data
);
}
}
IBuilder
IBuilder
.
AddRepeatedField
(
FieldDescriptor
field
,
object
value
)
{
public
IBuilder
WeakMergeFrom
(
ByteString
data
,
ExtensionRegistry
registry
)
{
return
AddRepeatedFieldImpl
(
field
,
value
);
return
MergeFrom
(
data
,
registry
);
}
public
IMessage
WeakBuildPartial
()
{
return
BuildPartial
();
}
public
IBuilder
WeakClone
()
{
return
Clone
();
}
public
IMessage
WeakDefaultInstanceForType
{
get
{
return
DefaultInstanceForType
;
}
}
public
IBuilder
WeakClearField
(
FieldDescriptor
field
)
{
return
ClearField
(
field
);
}
}
#
endregion
#
endregion
public
virtual
I
Builder
Clear
()
{
public
virtual
T
Builder
Clear
()
{
foreach
(
FieldDescriptor
field
in
AllFields
.
Keys
)
{
foreach
(
FieldDescriptor
field
in
AllFields
.
Keys
)
{
ClearField
Impl
(
field
);
ClearField
(
field
);
}
}
return
this
;
return
ThisBuilder
;
}
}
public
virtual
I
Builder
MergeFrom
(
IMessage
other
)
{
public
virtual
T
Builder
MergeFrom
(
IMessage
other
)
{
if
(
other
.
DescriptorForType
!=
DescriptorForType
)
{
if
(
other
.
DescriptorForType
!=
DescriptorForType
)
{
throw
new
ArgumentException
(
"MergeFrom(Message) can only merge messages of the same type."
);
throw
new
ArgumentException
(
"MergeFrom(
I
Message) can only merge messages of the same type."
);
}
}
// Note: We don't attempt to verify that other's fields have valid
// Note: We don't attempt to verify that other's fields have valid
...
@@ -83,101 +109,95 @@ namespace Google.ProtocolBuffers {
...
@@ -83,101 +109,95 @@ namespace Google.ProtocolBuffers {
if
(
field
.
IsRepeated
)
{
if
(
field
.
IsRepeated
)
{
// Concatenate repeated fields
// Concatenate repeated fields
foreach
(
object
element
in
(
IEnumerable
)
entry
.
Value
)
{
foreach
(
object
element
in
(
IEnumerable
)
entry
.
Value
)
{
AddRepeatedField
Impl
(
field
,
element
);
AddRepeatedField
(
field
,
element
);
}
}
}
else
if
(
field
.
MappedType
==
MappedType
.
Message
)
{
}
else
if
(
field
.
MappedType
==
MappedType
.
Message
)
{
// Merge singular messages
// Merge singular messages
IMessage
existingValue
=
(
IMessage
)
this
[
field
];
IMessage
existingValue
=
(
IMessage
)
this
[
field
];
if
(
existingValue
==
existingValue
.
DefaultInstanceForType
)
{
if
(
existingValue
==
existingValue
.
Weak
DefaultInstanceForType
)
{
this
[
field
]
=
entry
.
Value
;
this
[
field
]
=
entry
.
Value
;
}
else
{
}
else
{
this
[
field
]
=
existingValue
.
CreateBuilderForType
()
this
[
field
]
=
existingValue
.
Weak
CreateBuilderForType
()
.
MergeFrom
(
existingValue
)
.
Weak
MergeFrom
(
existingValue
)
.
MergeFrom
((
IMessage
)
entry
.
Value
)
.
Weak
MergeFrom
((
IMessage
)
entry
.
Value
)
.
Build
();
.
Weak
Build
();
}
}
}
else
{
}
else
{
// Overwrite simple values
// Overwrite simple values
this
[
field
]
=
entry
.
Value
;
this
[
field
]
=
entry
.
Value
;
}
}
}
}
return
this
;
return
ThisBuilder
;
}
}
IBuilder
IBuilder
.
MergeFrom
(
CodedInputStream
input
)
{
public
virtual
TBuilder
MergeFrom
(
CodedInputStream
input
)
{
return
MergeFrom
Impl
(
input
,
ExtensionRegistry
.
Empty
);
return
MergeFrom
(
input
,
ExtensionRegistry
.
Empty
);
}
}
p
rotected
virtual
IBuilder
MergeFromImpl
(
CodedInputStream
input
,
ExtensionRegistry
extensionRegistry
)
{
p
ublic
virtual
TBuilder
MergeFrom
(
CodedInputStream
input
,
ExtensionRegistry
extensionRegistry
)
{
UnknownFieldSet
.
Builder
unknownFields
=
UnknownFieldSet
.
CreateBuilder
(
UnknownFields
);
UnknownFieldSet
.
Builder
unknownFields
=
UnknownFieldSet
.
CreateBuilder
(
UnknownFields
);
FieldSet
.
MergeFrom
(
input
,
unknownFields
,
extensionRegistry
,
this
);
FieldSet
.
MergeFrom
(
input
,
unknownFields
,
extensionRegistry
,
this
);
UnknownFields
=
unknownFields
.
Build
();
UnknownFields
=
unknownFields
.
Build
();
return
this
;
return
ThisBuilder
;
}
IBuilder
IBuilder
.
MergeFrom
(
CodedInputStream
input
,
ExtensionRegistry
extensionRegistry
)
{
return
MergeFromImpl
(
input
,
extensionRegistry
);
}
}
IBuilder
IBuilder
.
MergeUnknownFields
(
UnknownFieldSet
unknownFields
)
{
public
virtual
TBuilder
MergeUnknownFields
(
UnknownFieldSet
unknownFields
)
{
UnknownFields
=
UnknownFieldSet
.
CreateBuilder
(
UnknownFields
)
UnknownFields
=
UnknownFieldSet
.
CreateBuilder
(
UnknownFields
)
.
MergeFrom
(
unknownFields
)
.
MergeFrom
(
unknownFields
)
.
Build
();
.
Build
();
return
this
;
return
ThisBuilder
;
}
}
IBuilder
IBuilder
.
MergeFrom
(
ByteString
data
)
{
public
virtual
TBuilder
MergeFrom
(
ByteString
data
)
{
CodedInputStream
input
=
data
.
CreateCodedInput
();
CodedInputStream
input
=
data
.
CreateCodedInput
();
((
IBuilder
)
this
).
MergeFrom
(
input
);
MergeFrom
(
input
);
input
.
CheckLastTagWas
(
0
);
input
.
CheckLastTagWas
(
0
);
return
this
;
return
ThisBuilder
;
}
}
IBuilder
IBuilder
.
MergeFrom
(
ByteString
data
,
ExtensionRegistry
extensionRegistry
)
{
public
virtual
TBuilder
MergeFrom
(
ByteString
data
,
ExtensionRegistry
extensionRegistry
)
{
CodedInputStream
input
=
data
.
CreateCodedInput
();
CodedInputStream
input
=
data
.
CreateCodedInput
();
((
IBuilder
)
this
).
MergeFrom
(
input
,
extensionRegistry
);
MergeFrom
(
input
,
extensionRegistry
);
input
.
CheckLastTagWas
(
0
);
input
.
CheckLastTagWas
(
0
);
return
this
;
return
ThisBuilder
;
}
}
IBuilder
IBuilder
.
MergeFrom
(
byte
[]
data
)
{
public
virtual
TBuilder
MergeFrom
(
byte
[]
data
)
{
CodedInputStream
input
=
CodedInputStream
.
CreateInstance
(
data
);
CodedInputStream
input
=
CodedInputStream
.
CreateInstance
(
data
);
((
IBuilder
)
this
).
MergeFrom
(
input
);
MergeFrom
(
input
);
input
.
CheckLastTagWas
(
0
);
input
.
CheckLastTagWas
(
0
);
return
this
;
return
ThisBuilder
;
}
}
IBuilder
IBuilder
.
MergeFrom
(
byte
[]
data
,
ExtensionRegistry
extensionRegistry
)
{
public
virtual
TBuilder
MergeFrom
(
byte
[]
data
,
ExtensionRegistry
extensionRegistry
)
{
CodedInputStream
input
=
CodedInputStream
.
CreateInstance
(
data
);
CodedInputStream
input
=
CodedInputStream
.
CreateInstance
(
data
);
((
IBuilder
)
this
).
MergeFrom
(
input
,
extensionRegistry
);
MergeFrom
(
input
,
extensionRegistry
);
input
.
CheckLastTagWas
(
0
);
input
.
CheckLastTagWas
(
0
);
return
this
;
return
ThisBuilder
;
}
}
IBuilder
IBuilder
.
MergeFrom
(
Stream
input
)
{
public
virtual
TBuilder
MergeFrom
(
Stream
input
)
{
CodedInputStream
codedInput
=
CodedInputStream
.
CreateInstance
(
input
);
CodedInputStream
codedInput
=
CodedInputStream
.
CreateInstance
(
input
);
((
IBuilder
)
this
).
MergeFrom
(
codedInput
);
MergeFrom
(
codedInput
);
codedInput
.
CheckLastTagWas
(
0
);
codedInput
.
CheckLastTagWas
(
0
);
return
this
;
return
ThisBuilder
;
}
}
IBuilder
IBuilder
.
MergeFrom
(
Stream
input
,
ExtensionRegistry
extensionRegistry
)
{
public
virtual
TBuilder
MergeFrom
(
Stream
input
,
ExtensionRegistry
extensionRegistry
)
{
CodedInputStream
codedInput
=
CodedInputStream
.
CreateInstance
(
input
);
CodedInputStream
codedInput
=
CodedInputStream
.
CreateInstance
(
input
);
((
IBuilder
)
this
).
MergeFrom
(
codedInput
,
extensionRegistry
);
MergeFrom
(
codedInput
,
extensionRegistry
);
codedInput
.
CheckLastTagWas
(
0
);
codedInput
.
CheckLastTagWas
(
0
);
return
this
;
return
ThisBuilder
;
}
}
public
abstract
UnknownFieldSet
UnknownFields
{
get
;
set
;
}
public
virtual
IBuilder
SetField
(
FieldDescriptor
field
,
object
value
)
{
public
IBuilder
SetField
(
FieldDescriptor
field
,
object
value
)
{
this
[
field
]
=
value
;
this
[
field
]
=
value
;
return
this
;
return
ThisBuilder
;
}
}
public
IBuilder
SetRepeatedField
(
FieldDescriptor
field
,
int
index
,
object
value
)
{
public
virtual
IBuilder
SetRepeatedField
(
FieldDescriptor
field
,
int
index
,
object
value
)
{
this
[
field
,
index
]
=
value
;
this
[
field
,
index
]
=
value
;
return
this
;
return
ThisBuilder
;
}
}
}
}
}
}
csharp/ProtocolBuffers/AbstractMessage.cs
View file @
f26f8dce
...
@@ -23,7 +23,9 @@ namespace Google.ProtocolBuffers {
...
@@ -23,7 +23,9 @@ namespace Google.ProtocolBuffers {
/// <summary>
/// <summary>
/// Implementation of the non-generic IMessage interface as far as possible.
/// Implementation of the non-generic IMessage interface as far as possible.
/// </summary>
/// </summary>
public
abstract
class
AbstractMessage
:
IMessage
{
public
abstract
class
AbstractMessage
<
TMessage
,
TBuilder
>
:
IMessage
<
TMessage
,
TBuilder
>
where
TMessage
:
AbstractMessage
<
TMessage
,
TBuilder
>
where
TBuilder
:
AbstractBuilder
<
TMessage
,
TBuilder
>
{
// TODO(jonskeet): Cleaner to use a Nullable<int>?
// TODO(jonskeet): Cleaner to use a Nullable<int>?
/// <summary>
/// <summary>
/// The serialized size if it's already been computed, or -1
/// The serialized size if it's already been computed, or -1
...
@@ -39,21 +41,17 @@ namespace Google.ProtocolBuffers {
...
@@ -39,21 +41,17 @@ namespace Google.ProtocolBuffers {
public
abstract
int
GetRepeatedFieldCount
(
FieldDescriptor
field
);
public
abstract
int
GetRepeatedFieldCount
(
FieldDescriptor
field
);
public
abstract
object
this
[
FieldDescriptor
field
,
int
index
]
{
get
;
}
public
abstract
object
this
[
FieldDescriptor
field
,
int
index
]
{
get
;
}
public
abstract
UnknownFieldSet
UnknownFields
{
get
;
}
public
abstract
UnknownFieldSet
UnknownFields
{
get
;
}
public
abstract
TMessage
DefaultInstanceForType
{
get
;
}
public
abstract
TBuilder
CreateBuilderForType
();
#
endregion
#
endregion
#
region
New
abstract
methods
to
be
overridden
by
implementations
,
allow
explicit
interface
implementation
public
IBuilder
WeakCreateBuilderForType
()
{
protected
abstract
IMessage
DefaultInstanceForTypeImpl
{
get
;
}
return
CreateBuilderForType
();
protected
abstract
IBuilder
CreateBuilderForTypeImpl
();
#
endregion
#
region
Methods
simply
proxying
to
the
"Impl"
methods
,
explicitly
implementing
IMessage
IMessage
IMessage
.
DefaultInstanceForType
{
get
{
return
DefaultInstanceForTypeImpl
;
}
}
}
IBuilder
IMessage
.
CreateBuilderForType
()
{
return
CreateBuilderForTypeImpl
();
public
IMessage
WeakDefaultInstanceForType
{
get
{
return
DefaultInstanceForType
;
}
}
}
#
endregion
public
virtual
bool
IsInitialized
{
public
virtual
bool
IsInitialized
{
get
{
get
{
...
@@ -71,7 +69,7 @@ namespace Google.ProtocolBuffers {
...
@@ -71,7 +69,7 @@ namespace Google.ProtocolBuffers {
if
(
field
.
IsRepeated
)
{
if
(
field
.
IsRepeated
)
{
// We know it's an IList<T>, but not the exact type - so
// We know it's an IList<T>, but not the exact type - so
// IEnumerable is the best we can do. (C# generics aren't covariant yet.)
// IEnumerable is the best we can do. (C# generics aren't covariant yet.)
foreach
(
IMessage
element
in
(
IEnumerable
)
entry
.
Value
)
{
foreach
(
IMessage
element
in
(
IEnumerable
)
entry
.
Value
)
{
if
(!
element
.
IsInitialized
)
{
if
(!
element
.
IsInitialized
)
{
return
false
;
return
false
;
}
}
...
@@ -124,7 +122,7 @@ namespace Google.ProtocolBuffers {
...
@@ -124,7 +122,7 @@ namespace Google.ProtocolBuffers {
foreach
(
KeyValuePair
<
FieldDescriptor
,
object
>
entry
in
AllFields
)
{
foreach
(
KeyValuePair
<
FieldDescriptor
,
object
>
entry
in
AllFields
)
{
FieldDescriptor
field
=
entry
.
Key
;
FieldDescriptor
field
=
entry
.
Key
;
if
(
field
.
IsRepeated
)
{
if
(
field
.
IsRepeated
)
{
foreach
(
object
element
in
(
IEnumerable
)
entry
.
Value
)
{
foreach
(
object
element
in
(
IEnumerable
)
entry
.
Value
)
{
size
+=
CodedOutputStream
.
ComputeFieldSize
(
field
.
FieldType
,
field
.
FieldNumber
,
element
);
size
+=
CodedOutputStream
.
ComputeFieldSize
(
field
.
FieldType
,
field
.
FieldNumber
,
element
);
}
}
}
else
{
}
else
{
...
...
csharp/ProtocolBuffers/CodedInputStream.cs
View file @
f26f8dce
...
@@ -224,7 +224,7 @@ namespace Google.ProtocolBuffers {
...
@@ -224,7 +224,7 @@ namespace Google.ProtocolBuffers {
throw
InvalidProtocolBufferException
.
RecursionLimitExceeded
();
throw
InvalidProtocolBufferException
.
RecursionLimitExceeded
();
}
}
++
recursionDepth
;
++
recursionDepth
;
builder
.
MergeFrom
(
this
,
extensionRegistry
);
builder
.
Weak
MergeFrom
(
this
,
extensionRegistry
);
CheckLastTagWas
(
WireFormat
.
MakeTag
(
fieldNumber
,
WireFormat
.
WireType
.
EndGroup
));
CheckLastTagWas
(
WireFormat
.
MakeTag
(
fieldNumber
,
WireFormat
.
WireType
.
EndGroup
));
--
recursionDepth
;
--
recursionDepth
;
}
}
...
@@ -253,7 +253,7 @@ namespace Google.ProtocolBuffers {
...
@@ -253,7 +253,7 @@ namespace Google.ProtocolBuffers {
}
}
int
oldLimit
=
PushLimit
(
length
);
int
oldLimit
=
PushLimit
(
length
);
++
recursionDepth
;
++
recursionDepth
;
builder
.
MergeFrom
(
this
,
extensionRegistry
);
builder
.
Weak
MergeFrom
(
this
,
extensionRegistry
);
CheckLastTagWas
(
0
);
CheckLastTagWas
(
0
);
--
recursionDepth
;
--
recursionDepth
;
PopLimit
(
oldLimit
);
PopLimit
(
oldLimit
);
...
...
csharp/ProtocolBuffers/DescriptorProtos/DescriptorProtoFile.cs
View file @
f26f8dce
...
@@ -492,12 +492,16 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -492,12 +492,16 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
}
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
override
IBuilder
<
self
::
FileDescriptorProto
>
CreateBuilderForType
()
{
return
new
Builder
();
}
public
override
Builder
CreateBuilderForType
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
(
self
::
FileDescriptorProto
prototype
)
{
public
static
Builder
CreateBuilder
(
self
::
FileDescriptorProto
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
}
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
FileDescriptorProto
,
Builder
>
{
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
FileDescriptorProto
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
// Construct using self::FileDescriptorProto.CreateBuilder()
// Construct using self::FileDescriptorProto.CreateBuilder()
internal
Builder
()
{}
internal
Builder
()
{}
...
@@ -507,12 +511,12 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -507,12 +511,12 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
get
{
return
result
;
}
get
{
return
result
;
}
}
}
public
override
IBuilder
<
self
::
FileDescriptorProto
>
Clear
()
{
public
override
Builder
Clear
()
{
result
=
new
self
::
FileDescriptorProto
();
result
=
new
self
::
FileDescriptorProto
();
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
FileDescriptorProto
>
Clone
()
{
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
return
new
Builder
().
MergeFrom
(
result
);
}
}
...
@@ -543,11 +547,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -543,11 +547,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return
returnMe
;
return
returnMe
;
}
}
protected
override
IBuilder
MergeFromImpl
(
CodedInputStream
data
,
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
IMessage
other
)
{
return
MergeFrom
(
data
,
extensionRegistry
);
}
public
override
IBuilder
MergeFrom
(
pb
::
IMessage
other
)
{
if
(
other
is
self
::
FileDescriptorProto
)
{
if
(
other
is
self
::
FileDescriptorProto
)
{
return
MergeFrom
((
self
::
FileDescriptorProto
)
other
);
return
MergeFrom
((
self
::
FileDescriptorProto
)
other
);
}
else
{
}
else
{
...
@@ -556,7 +556,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -556,7 +556,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
}
}
}
}
public
override
IBuilder
<
self
::
FileDescriptorProto
>
MergeFrom
(
self
::
FileDescriptorProto
other
)
{
public
override
Builder
MergeFrom
(
self
::
FileDescriptorProto
other
)
{
if
(
other
==
self
::
FileDescriptorProto
.
DefaultInstance
)
return
this
;
if
(
other
==
self
::
FileDescriptorProto
.
DefaultInstance
)
return
this
;
if
(
other
.
HasName
)
{
if
(
other
.
HasName
)
{
Name
=
other
.
Name
;
Name
=
other
.
Name
;
...
@@ -601,11 +601,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -601,11 +601,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
FileDescriptorProto
>
MergeFrom
(
pb
::
CodedInputStream
input
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
)
{
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
}
}
public
override
IBuilder
<
self
::
FileDescriptorProto
>
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
while
(
true
)
{
while
(
true
)
{
...
@@ -1084,12 +1084,16 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -1084,12 +1084,16 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
}
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
override
IBuilder
<
self
::
DescriptorProto
.
Types
.
ExtensionRange
>
CreateBuilderForType
()
{
return
new
Builder
();
}
public
override
Builder
CreateBuilderForType
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
(
self
::
DescriptorProto
.
Types
.
ExtensionRange
prototype
)
{
public
static
Builder
CreateBuilder
(
self
::
DescriptorProto
.
Types
.
ExtensionRange
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
}
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
DescriptorProto
.
Types
.
ExtensionRange
,
Builder
>
{
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
DescriptorProto
.
Types
.
ExtensionRange
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
// Construct using self::DescriptorProto.Types.ExtensionRange.CreateBuilder()
// Construct using self::DescriptorProto.Types.ExtensionRange.CreateBuilder()
internal
Builder
()
{}
internal
Builder
()
{}
...
@@ -1099,12 +1103,12 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -1099,12 +1103,12 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
get
{
return
result
;
}
get
{
return
result
;
}
}
}
public
override
IBuilder
<
self
::
DescriptorProto
.
Types
.
ExtensionRange
>
Clear
()
{
public
override
Builder
Clear
()
{
result
=
new
self
::
DescriptorProto
.
Types
.
ExtensionRange
();
result
=
new
self
::
DescriptorProto
.
Types
.
ExtensionRange
();
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
DescriptorProto
.
Types
.
ExtensionRange
>
Clone
()
{
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
return
new
Builder
().
MergeFrom
(
result
);
}
}
...
@@ -1122,11 +1126,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -1122,11 +1126,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return
returnMe
;
return
returnMe
;
}
}
protected
override
IBuilder
MergeFromImpl
(
CodedInputStream
data
,
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
IMessage
other
)
{
return
MergeFrom
(
data
,
extensionRegistry
);
}
public
override
IBuilder
MergeFrom
(
pb
::
IMessage
other
)
{
if
(
other
is
self
::
DescriptorProto
.
Types
.
ExtensionRange
)
{
if
(
other
is
self
::
DescriptorProto
.
Types
.
ExtensionRange
)
{
return
MergeFrom
((
self
::
DescriptorProto
.
Types
.
ExtensionRange
)
other
);
return
MergeFrom
((
self
::
DescriptorProto
.
Types
.
ExtensionRange
)
other
);
}
else
{
}
else
{
...
@@ -1135,7 +1135,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -1135,7 +1135,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
}
}
}
}
public
override
IBuilder
<
self
::
DescriptorProto
.
Types
.
ExtensionRange
>
MergeFrom
(
self
::
DescriptorProto
.
Types
.
ExtensionRange
other
)
{
public
override
Builder
MergeFrom
(
self
::
DescriptorProto
.
Types
.
ExtensionRange
other
)
{
if
(
other
==
self
::
DescriptorProto
.
Types
.
ExtensionRange
.
DefaultInstance
)
return
this
;
if
(
other
==
self
::
DescriptorProto
.
Types
.
ExtensionRange
.
DefaultInstance
)
return
this
;
if
(
other
.
HasStart
)
{
if
(
other
.
HasStart
)
{
Start
=
other
.
Start
;
Start
=
other
.
Start
;
...
@@ -1147,11 +1147,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -1147,11 +1147,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
DescriptorProto
.
Types
.
ExtensionRange
>
MergeFrom
(
pb
::
CodedInputStream
input
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
)
{
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
}
}
public
override
IBuilder
<
self
::
DescriptorProto
.
Types
.
ExtensionRange
>
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
while
(
true
)
{
while
(
true
)
{
...
@@ -1404,12 +1404,16 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -1404,12 +1404,16 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
}
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
override
IBuilder
<
self
::
DescriptorProto
>
CreateBuilderForType
()
{
return
new
Builder
();
}
public
override
Builder
CreateBuilderForType
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
(
self
::
DescriptorProto
prototype
)
{
public
static
Builder
CreateBuilder
(
self
::
DescriptorProto
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
}
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
DescriptorProto
,
Builder
>
{
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
DescriptorProto
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
// Construct using self::DescriptorProto.CreateBuilder()
// Construct using self::DescriptorProto.CreateBuilder()
internal
Builder
()
{}
internal
Builder
()
{}
...
@@ -1419,12 +1423,12 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -1419,12 +1423,12 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
get
{
return
result
;
}
get
{
return
result
;
}
}
}
public
override
IBuilder
<
self
::
DescriptorProto
>
Clear
()
{
public
override
Builder
Clear
()
{
result
=
new
self
::
DescriptorProto
();
result
=
new
self
::
DescriptorProto
();
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
DescriptorProto
>
Clone
()
{
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
return
new
Builder
().
MergeFrom
(
result
);
}
}
...
@@ -1457,11 +1461,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -1457,11 +1461,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return
returnMe
;
return
returnMe
;
}
}
protected
override
IBuilder
MergeFromImpl
(
CodedInputStream
data
,
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
IMessage
other
)
{
return
MergeFrom
(
data
,
extensionRegistry
);
}
public
override
IBuilder
MergeFrom
(
pb
::
IMessage
other
)
{
if
(
other
is
self
::
DescriptorProto
)
{
if
(
other
is
self
::
DescriptorProto
)
{
return
MergeFrom
((
self
::
DescriptorProto
)
other
);
return
MergeFrom
((
self
::
DescriptorProto
)
other
);
}
else
{
}
else
{
...
@@ -1470,7 +1470,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -1470,7 +1470,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
}
}
}
}
public
override
IBuilder
<
self
::
DescriptorProto
>
MergeFrom
(
self
::
DescriptorProto
other
)
{
public
override
Builder
MergeFrom
(
self
::
DescriptorProto
other
)
{
if
(
other
==
self
::
DescriptorProto
.
DefaultInstance
)
return
this
;
if
(
other
==
self
::
DescriptorProto
.
DefaultInstance
)
return
this
;
if
(
other
.
HasName
)
{
if
(
other
.
HasName
)
{
Name
=
other
.
Name
;
Name
=
other
.
Name
;
...
@@ -1512,11 +1512,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -1512,11 +1512,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
DescriptorProto
>
MergeFrom
(
pb
::
CodedInputStream
input
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
)
{
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
}
}
public
override
IBuilder
<
self
::
DescriptorProto
>
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
while
(
true
)
{
while
(
true
)
{
...
@@ -2091,12 +2091,16 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -2091,12 +2091,16 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
}
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
override
IBuilder
<
self
::
FieldDescriptorProto
>
CreateBuilderForType
()
{
return
new
Builder
();
}
public
override
Builder
CreateBuilderForType
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
(
self
::
FieldDescriptorProto
prototype
)
{
public
static
Builder
CreateBuilder
(
self
::
FieldDescriptorProto
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
}
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
FieldDescriptorProto
,
Builder
>
{
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
FieldDescriptorProto
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
// Construct using self::FieldDescriptorProto.CreateBuilder()
// Construct using self::FieldDescriptorProto.CreateBuilder()
internal
Builder
()
{}
internal
Builder
()
{}
...
@@ -2106,12 +2110,12 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -2106,12 +2110,12 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
get
{
return
result
;
}
get
{
return
result
;
}
}
}
public
override
IBuilder
<
self
::
FieldDescriptorProto
>
Clear
()
{
public
override
Builder
Clear
()
{
result
=
new
self
::
FieldDescriptorProto
();
result
=
new
self
::
FieldDescriptorProto
();
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
FieldDescriptorProto
>
Clone
()
{
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
return
new
Builder
().
MergeFrom
(
result
);
}
}
...
@@ -2129,11 +2133,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -2129,11 +2133,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return
returnMe
;
return
returnMe
;
}
}
protected
override
IBuilder
MergeFromImpl
(
CodedInputStream
data
,
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
IMessage
other
)
{
return
MergeFrom
(
data
,
extensionRegistry
);
}
public
override
IBuilder
MergeFrom
(
pb
::
IMessage
other
)
{
if
(
other
is
self
::
FieldDescriptorProto
)
{
if
(
other
is
self
::
FieldDescriptorProto
)
{
return
MergeFrom
((
self
::
FieldDescriptorProto
)
other
);
return
MergeFrom
((
self
::
FieldDescriptorProto
)
other
);
}
else
{
}
else
{
...
@@ -2142,7 +2142,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -2142,7 +2142,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
}
}
}
}
public
override
IBuilder
<
self
::
FieldDescriptorProto
>
MergeFrom
(
self
::
FieldDescriptorProto
other
)
{
public
override
Builder
MergeFrom
(
self
::
FieldDescriptorProto
other
)
{
if
(
other
==
self
::
FieldDescriptorProto
.
DefaultInstance
)
return
this
;
if
(
other
==
self
::
FieldDescriptorProto
.
DefaultInstance
)
return
this
;
if
(
other
.
HasName
)
{
if
(
other
.
HasName
)
{
Name
=
other
.
Name
;
Name
=
other
.
Name
;
...
@@ -2172,11 +2172,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -2172,11 +2172,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
FieldDescriptorProto
>
MergeFrom
(
pb
::
CodedInputStream
input
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
)
{
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
}
}
public
override
IBuilder
<
self
::
FieldDescriptorProto
>
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
while
(
true
)
{
while
(
true
)
{
...
@@ -2541,12 +2541,16 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -2541,12 +2541,16 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
}
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
override
IBuilder
<
self
::
EnumDescriptorProto
>
CreateBuilderForType
()
{
return
new
Builder
();
}
public
override
Builder
CreateBuilderForType
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
(
self
::
EnumDescriptorProto
prototype
)
{
public
static
Builder
CreateBuilder
(
self
::
EnumDescriptorProto
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
}
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
EnumDescriptorProto
,
Builder
>
{
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
EnumDescriptorProto
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
// Construct using self::EnumDescriptorProto.CreateBuilder()
// Construct using self::EnumDescriptorProto.CreateBuilder()
internal
Builder
()
{}
internal
Builder
()
{}
...
@@ -2556,12 +2560,12 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -2556,12 +2560,12 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
get
{
return
result
;
}
get
{
return
result
;
}
}
}
public
override
IBuilder
<
self
::
EnumDescriptorProto
>
Clear
()
{
public
override
Builder
Clear
()
{
result
=
new
self
::
EnumDescriptorProto
();
result
=
new
self
::
EnumDescriptorProto
();
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
EnumDescriptorProto
>
Clone
()
{
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
return
new
Builder
().
MergeFrom
(
result
);
}
}
...
@@ -2582,11 +2586,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -2582,11 +2586,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return
returnMe
;
return
returnMe
;
}
}
protected
override
IBuilder
MergeFromImpl
(
CodedInputStream
data
,
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
IMessage
other
)
{
return
MergeFrom
(
data
,
extensionRegistry
);
}
public
override
IBuilder
MergeFrom
(
pb
::
IMessage
other
)
{
if
(
other
is
self
::
EnumDescriptorProto
)
{
if
(
other
is
self
::
EnumDescriptorProto
)
{
return
MergeFrom
((
self
::
EnumDescriptorProto
)
other
);
return
MergeFrom
((
self
::
EnumDescriptorProto
)
other
);
}
else
{
}
else
{
...
@@ -2595,7 +2595,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -2595,7 +2595,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
}
}
}
}
public
override
IBuilder
<
self
::
EnumDescriptorProto
>
MergeFrom
(
self
::
EnumDescriptorProto
other
)
{
public
override
Builder
MergeFrom
(
self
::
EnumDescriptorProto
other
)
{
if
(
other
==
self
::
EnumDescriptorProto
.
DefaultInstance
)
return
this
;
if
(
other
==
self
::
EnumDescriptorProto
.
DefaultInstance
)
return
this
;
if
(
other
.
HasName
)
{
if
(
other
.
HasName
)
{
Name
=
other
.
Name
;
Name
=
other
.
Name
;
...
@@ -2613,11 +2613,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -2613,11 +2613,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
EnumDescriptorProto
>
MergeFrom
(
pb
::
CodedInputStream
input
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
)
{
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
}
}
public
override
IBuilder
<
self
::
EnumDescriptorProto
>
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
while
(
true
)
{
while
(
true
)
{
...
@@ -2882,12 +2882,16 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -2882,12 +2882,16 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
}
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
override
IBuilder
<
self
::
EnumValueDescriptorProto
>
CreateBuilderForType
()
{
return
new
Builder
();
}
public
override
Builder
CreateBuilderForType
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
(
self
::
EnumValueDescriptorProto
prototype
)
{
public
static
Builder
CreateBuilder
(
self
::
EnumValueDescriptorProto
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
}
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
EnumValueDescriptorProto
,
Builder
>
{
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
EnumValueDescriptorProto
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
// Construct using self::EnumValueDescriptorProto.CreateBuilder()
// Construct using self::EnumValueDescriptorProto.CreateBuilder()
internal
Builder
()
{}
internal
Builder
()
{}
...
@@ -2897,12 +2901,12 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -2897,12 +2901,12 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
get
{
return
result
;
}
get
{
return
result
;
}
}
}
public
override
IBuilder
<
self
::
EnumValueDescriptorProto
>
Clear
()
{
public
override
Builder
Clear
()
{
result
=
new
self
::
EnumValueDescriptorProto
();
result
=
new
self
::
EnumValueDescriptorProto
();
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
EnumValueDescriptorProto
>
Clone
()
{
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
return
new
Builder
().
MergeFrom
(
result
);
}
}
...
@@ -2920,11 +2924,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -2920,11 +2924,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return
returnMe
;
return
returnMe
;
}
}
protected
override
IBuilder
MergeFromImpl
(
CodedInputStream
data
,
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
IMessage
other
)
{
return
MergeFrom
(
data
,
extensionRegistry
);
}
public
override
IBuilder
MergeFrom
(
pb
::
IMessage
other
)
{
if
(
other
is
self
::
EnumValueDescriptorProto
)
{
if
(
other
is
self
::
EnumValueDescriptorProto
)
{
return
MergeFrom
((
self
::
EnumValueDescriptorProto
)
other
);
return
MergeFrom
((
self
::
EnumValueDescriptorProto
)
other
);
}
else
{
}
else
{
...
@@ -2933,7 +2933,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -2933,7 +2933,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
}
}
}
}
public
override
IBuilder
<
self
::
EnumValueDescriptorProto
>
MergeFrom
(
self
::
EnumValueDescriptorProto
other
)
{
public
override
Builder
MergeFrom
(
self
::
EnumValueDescriptorProto
other
)
{
if
(
other
==
self
::
EnumValueDescriptorProto
.
DefaultInstance
)
return
this
;
if
(
other
==
self
::
EnumValueDescriptorProto
.
DefaultInstance
)
return
this
;
if
(
other
.
HasName
)
{
if
(
other
.
HasName
)
{
Name
=
other
.
Name
;
Name
=
other
.
Name
;
...
@@ -2948,11 +2948,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -2948,11 +2948,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
EnumValueDescriptorProto
>
MergeFrom
(
pb
::
CodedInputStream
input
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
)
{
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
}
}
public
override
IBuilder
<
self
::
EnumValueDescriptorProto
>
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
while
(
true
)
{
while
(
true
)
{
...
@@ -3192,12 +3192,16 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -3192,12 +3192,16 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
}
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
override
IBuilder
<
self
::
ServiceDescriptorProto
>
CreateBuilderForType
()
{
return
new
Builder
();
}
public
override
Builder
CreateBuilderForType
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
(
self
::
ServiceDescriptorProto
prototype
)
{
public
static
Builder
CreateBuilder
(
self
::
ServiceDescriptorProto
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
}
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
ServiceDescriptorProto
,
Builder
>
{
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
ServiceDescriptorProto
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
// Construct using self::ServiceDescriptorProto.CreateBuilder()
// Construct using self::ServiceDescriptorProto.CreateBuilder()
internal
Builder
()
{}
internal
Builder
()
{}
...
@@ -3207,12 +3211,12 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -3207,12 +3211,12 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
get
{
return
result
;
}
get
{
return
result
;
}
}
}
public
override
IBuilder
<
self
::
ServiceDescriptorProto
>
Clear
()
{
public
override
Builder
Clear
()
{
result
=
new
self
::
ServiceDescriptorProto
();
result
=
new
self
::
ServiceDescriptorProto
();
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
ServiceDescriptorProto
>
Clone
()
{
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
return
new
Builder
().
MergeFrom
(
result
);
}
}
...
@@ -3233,11 +3237,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -3233,11 +3237,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return
returnMe
;
return
returnMe
;
}
}
protected
override
IBuilder
MergeFromImpl
(
CodedInputStream
data
,
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
IMessage
other
)
{
return
MergeFrom
(
data
,
extensionRegistry
);
}
public
override
IBuilder
MergeFrom
(
pb
::
IMessage
other
)
{
if
(
other
is
self
::
ServiceDescriptorProto
)
{
if
(
other
is
self
::
ServiceDescriptorProto
)
{
return
MergeFrom
((
self
::
ServiceDescriptorProto
)
other
);
return
MergeFrom
((
self
::
ServiceDescriptorProto
)
other
);
}
else
{
}
else
{
...
@@ -3246,7 +3246,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -3246,7 +3246,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
}
}
}
}
public
override
IBuilder
<
self
::
ServiceDescriptorProto
>
MergeFrom
(
self
::
ServiceDescriptorProto
other
)
{
public
override
Builder
MergeFrom
(
self
::
ServiceDescriptorProto
other
)
{
if
(
other
==
self
::
ServiceDescriptorProto
.
DefaultInstance
)
return
this
;
if
(
other
==
self
::
ServiceDescriptorProto
.
DefaultInstance
)
return
this
;
if
(
other
.
HasName
)
{
if
(
other
.
HasName
)
{
Name
=
other
.
Name
;
Name
=
other
.
Name
;
...
@@ -3264,11 +3264,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -3264,11 +3264,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
ServiceDescriptorProto
>
MergeFrom
(
pb
::
CodedInputStream
input
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
)
{
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
}
}
public
override
IBuilder
<
self
::
ServiceDescriptorProto
>
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
while
(
true
)
{
while
(
true
)
{
...
@@ -3549,12 +3549,16 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -3549,12 +3549,16 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
}
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
override
IBuilder
<
self
::
MethodDescriptorProto
>
CreateBuilderForType
()
{
return
new
Builder
();
}
public
override
Builder
CreateBuilderForType
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
(
self
::
MethodDescriptorProto
prototype
)
{
public
static
Builder
CreateBuilder
(
self
::
MethodDescriptorProto
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
}
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
MethodDescriptorProto
,
Builder
>
{
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
MethodDescriptorProto
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
// Construct using self::MethodDescriptorProto.CreateBuilder()
// Construct using self::MethodDescriptorProto.CreateBuilder()
internal
Builder
()
{}
internal
Builder
()
{}
...
@@ -3564,12 +3568,12 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -3564,12 +3568,12 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
get
{
return
result
;
}
get
{
return
result
;
}
}
}
public
override
IBuilder
<
self
::
MethodDescriptorProto
>
Clear
()
{
public
override
Builder
Clear
()
{
result
=
new
self
::
MethodDescriptorProto
();
result
=
new
self
::
MethodDescriptorProto
();
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
MethodDescriptorProto
>
Clone
()
{
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
return
new
Builder
().
MergeFrom
(
result
);
}
}
...
@@ -3587,11 +3591,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -3587,11 +3591,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return
returnMe
;
return
returnMe
;
}
}
protected
override
IBuilder
MergeFromImpl
(
CodedInputStream
data
,
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
IMessage
other
)
{
return
MergeFrom
(
data
,
extensionRegistry
);
}
public
override
IBuilder
MergeFrom
(
pb
::
IMessage
other
)
{
if
(
other
is
self
::
MethodDescriptorProto
)
{
if
(
other
is
self
::
MethodDescriptorProto
)
{
return
MergeFrom
((
self
::
MethodDescriptorProto
)
other
);
return
MergeFrom
((
self
::
MethodDescriptorProto
)
other
);
}
else
{
}
else
{
...
@@ -3600,7 +3600,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -3600,7 +3600,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
}
}
}
}
public
override
IBuilder
<
self
::
MethodDescriptorProto
>
MergeFrom
(
self
::
MethodDescriptorProto
other
)
{
public
override
Builder
MergeFrom
(
self
::
MethodDescriptorProto
other
)
{
if
(
other
==
self
::
MethodDescriptorProto
.
DefaultInstance
)
return
this
;
if
(
other
==
self
::
MethodDescriptorProto
.
DefaultInstance
)
return
this
;
if
(
other
.
HasName
)
{
if
(
other
.
HasName
)
{
Name
=
other
.
Name
;
Name
=
other
.
Name
;
...
@@ -3618,11 +3618,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -3618,11 +3618,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
MethodDescriptorProto
>
MergeFrom
(
pb
::
CodedInputStream
input
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
)
{
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
}
}
public
override
IBuilder
<
self
::
MethodDescriptorProto
>
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
while
(
true
)
{
while
(
true
)
{
...
@@ -3988,12 +3988,16 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -3988,12 +3988,16 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
}
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
override
IBuilder
<
self
::
FileOptions
>
CreateBuilderForType
()
{
return
new
Builder
();
}
public
override
Builder
CreateBuilderForType
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
(
self
::
FileOptions
prototype
)
{
public
static
Builder
CreateBuilder
(
self
::
FileOptions
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
}
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
FileOptions
,
Builder
>
{
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
FileOptions
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
// Construct using self::FileOptions.CreateBuilder()
// Construct using self::FileOptions.CreateBuilder()
internal
Builder
()
{}
internal
Builder
()
{}
...
@@ -4003,12 +4007,12 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -4003,12 +4007,12 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
get
{
return
result
;
}
get
{
return
result
;
}
}
}
public
override
IBuilder
<
self
::
FileOptions
>
Clear
()
{
public
override
Builder
Clear
()
{
result
=
new
self
::
FileOptions
();
result
=
new
self
::
FileOptions
();
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
FileOptions
>
Clone
()
{
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
return
new
Builder
().
MergeFrom
(
result
);
}
}
...
@@ -4026,11 +4030,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -4026,11 +4030,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return
returnMe
;
return
returnMe
;
}
}
protected
override
IBuilder
MergeFromImpl
(
CodedInputStream
data
,
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
IMessage
other
)
{
return
MergeFrom
(
data
,
extensionRegistry
);
}
public
override
IBuilder
MergeFrom
(
pb
::
IMessage
other
)
{
if
(
other
is
self
::
FileOptions
)
{
if
(
other
is
self
::
FileOptions
)
{
return
MergeFrom
((
self
::
FileOptions
)
other
);
return
MergeFrom
((
self
::
FileOptions
)
other
);
}
else
{
}
else
{
...
@@ -4039,7 +4039,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -4039,7 +4039,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
}
}
}
}
public
override
IBuilder
<
self
::
FileOptions
>
MergeFrom
(
self
::
FileOptions
other
)
{
public
override
Builder
MergeFrom
(
self
::
FileOptions
other
)
{
if
(
other
==
self
::
FileOptions
.
DefaultInstance
)
return
this
;
if
(
other
==
self
::
FileOptions
.
DefaultInstance
)
return
this
;
if
(
other
.
HasJavaPackage
)
{
if
(
other
.
HasJavaPackage
)
{
JavaPackage
=
other
.
JavaPackage
;
JavaPackage
=
other
.
JavaPackage
;
...
@@ -4072,11 +4072,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -4072,11 +4072,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
FileOptions
>
MergeFrom
(
pb
::
CodedInputStream
input
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
)
{
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
}
}
public
override
IBuilder
<
self
::
FileOptions
>
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
while
(
true
)
{
while
(
true
)
{
...
@@ -4404,12 +4404,16 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -4404,12 +4404,16 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
}
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
override
IBuilder
<
self
::
MessageOptions
>
CreateBuilderForType
()
{
return
new
Builder
();
}
public
override
Builder
CreateBuilderForType
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
(
self
::
MessageOptions
prototype
)
{
public
static
Builder
CreateBuilder
(
self
::
MessageOptions
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
}
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
MessageOptions
,
Builder
>
{
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
MessageOptions
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
// Construct using self::MessageOptions.CreateBuilder()
// Construct using self::MessageOptions.CreateBuilder()
internal
Builder
()
{}
internal
Builder
()
{}
...
@@ -4419,12 +4423,12 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -4419,12 +4423,12 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
get
{
return
result
;
}
get
{
return
result
;
}
}
}
public
override
IBuilder
<
self
::
MessageOptions
>
Clear
()
{
public
override
Builder
Clear
()
{
result
=
new
self
::
MessageOptions
();
result
=
new
self
::
MessageOptions
();
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
MessageOptions
>
Clone
()
{
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
return
new
Builder
().
MergeFrom
(
result
);
}
}
...
@@ -4442,11 +4446,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -4442,11 +4446,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return
returnMe
;
return
returnMe
;
}
}
protected
override
IBuilder
MergeFromImpl
(
CodedInputStream
data
,
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
IMessage
other
)
{
return
MergeFrom
(
data
,
extensionRegistry
);
}
public
override
IBuilder
MergeFrom
(
pb
::
IMessage
other
)
{
if
(
other
is
self
::
MessageOptions
)
{
if
(
other
is
self
::
MessageOptions
)
{
return
MergeFrom
((
self
::
MessageOptions
)
other
);
return
MergeFrom
((
self
::
MessageOptions
)
other
);
}
else
{
}
else
{
...
@@ -4455,7 +4455,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -4455,7 +4455,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
}
}
}
}
public
override
IBuilder
<
self
::
MessageOptions
>
MergeFrom
(
self
::
MessageOptions
other
)
{
public
override
Builder
MergeFrom
(
self
::
MessageOptions
other
)
{
if
(
other
==
self
::
MessageOptions
.
DefaultInstance
)
return
this
;
if
(
other
==
self
::
MessageOptions
.
DefaultInstance
)
return
this
;
if
(
other
.
HasMessageSetWireFormat
)
{
if
(
other
.
HasMessageSetWireFormat
)
{
MessageSetWireFormat
=
other
.
MessageSetWireFormat
;
MessageSetWireFormat
=
other
.
MessageSetWireFormat
;
...
@@ -4464,11 +4464,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -4464,11 +4464,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
MessageOptions
>
MergeFrom
(
pb
::
CodedInputStream
input
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
)
{
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
}
}
public
override
IBuilder
<
self
::
MessageOptions
>
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
while
(
true
)
{
while
(
true
)
{
...
@@ -4632,12 +4632,16 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -4632,12 +4632,16 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
}
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
override
IBuilder
<
self
::
FieldOptions
>
CreateBuilderForType
()
{
return
new
Builder
();
}
public
override
Builder
CreateBuilderForType
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
(
self
::
FieldOptions
prototype
)
{
public
static
Builder
CreateBuilder
(
self
::
FieldOptions
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
}
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
FieldOptions
,
Builder
>
{
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
FieldOptions
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
// Construct using self::FieldOptions.CreateBuilder()
// Construct using self::FieldOptions.CreateBuilder()
internal
Builder
()
{}
internal
Builder
()
{}
...
@@ -4647,12 +4651,12 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -4647,12 +4651,12 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
get
{
return
result
;
}
get
{
return
result
;
}
}
}
public
override
IBuilder
<
self
::
FieldOptions
>
Clear
()
{
public
override
Builder
Clear
()
{
result
=
new
self
::
FieldOptions
();
result
=
new
self
::
FieldOptions
();
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
FieldOptions
>
Clone
()
{
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
return
new
Builder
().
MergeFrom
(
result
);
}
}
...
@@ -4670,11 +4674,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -4670,11 +4674,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return
returnMe
;
return
returnMe
;
}
}
protected
override
IBuilder
MergeFromImpl
(
CodedInputStream
data
,
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
IMessage
other
)
{
return
MergeFrom
(
data
,
extensionRegistry
);
}
public
override
IBuilder
MergeFrom
(
pb
::
IMessage
other
)
{
if
(
other
is
self
::
FieldOptions
)
{
if
(
other
is
self
::
FieldOptions
)
{
return
MergeFrom
((
self
::
FieldOptions
)
other
);
return
MergeFrom
((
self
::
FieldOptions
)
other
);
}
else
{
}
else
{
...
@@ -4683,7 +4683,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -4683,7 +4683,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
}
}
}
}
public
override
IBuilder
<
self
::
FieldOptions
>
MergeFrom
(
self
::
FieldOptions
other
)
{
public
override
Builder
MergeFrom
(
self
::
FieldOptions
other
)
{
if
(
other
==
self
::
FieldOptions
.
DefaultInstance
)
return
this
;
if
(
other
==
self
::
FieldOptions
.
DefaultInstance
)
return
this
;
if
(
other
.
HasCtype
)
{
if
(
other
.
HasCtype
)
{
Ctype
=
other
.
Ctype
;
Ctype
=
other
.
Ctype
;
...
@@ -4695,11 +4695,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -4695,11 +4695,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
FieldOptions
>
MergeFrom
(
pb
::
CodedInputStream
input
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
)
{
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
}
}
public
override
IBuilder
<
self
::
FieldOptions
>
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
while
(
true
)
{
while
(
true
)
{
...
@@ -4850,12 +4850,16 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -4850,12 +4850,16 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
}
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
override
IBuilder
<
self
::
EnumOptions
>
CreateBuilderForType
()
{
return
new
Builder
();
}
public
override
Builder
CreateBuilderForType
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
(
self
::
EnumOptions
prototype
)
{
public
static
Builder
CreateBuilder
(
self
::
EnumOptions
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
}
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
EnumOptions
,
Builder
>
{
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
EnumOptions
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
// Construct using self::EnumOptions.CreateBuilder()
// Construct using self::EnumOptions.CreateBuilder()
internal
Builder
()
{}
internal
Builder
()
{}
...
@@ -4865,12 +4869,12 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -4865,12 +4869,12 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
get
{
return
result
;
}
get
{
return
result
;
}
}
}
public
override
IBuilder
<
self
::
EnumOptions
>
Clear
()
{
public
override
Builder
Clear
()
{
result
=
new
self
::
EnumOptions
();
result
=
new
self
::
EnumOptions
();
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
EnumOptions
>
Clone
()
{
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
return
new
Builder
().
MergeFrom
(
result
);
}
}
...
@@ -4888,11 +4892,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -4888,11 +4892,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return
returnMe
;
return
returnMe
;
}
}
protected
override
IBuilder
MergeFromImpl
(
CodedInputStream
data
,
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
IMessage
other
)
{
return
MergeFrom
(
data
,
extensionRegistry
);
}
public
override
IBuilder
MergeFrom
(
pb
::
IMessage
other
)
{
if
(
other
is
self
::
EnumOptions
)
{
if
(
other
is
self
::
EnumOptions
)
{
return
MergeFrom
((
self
::
EnumOptions
)
other
);
return
MergeFrom
((
self
::
EnumOptions
)
other
);
}
else
{
}
else
{
...
@@ -4901,17 +4901,17 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -4901,17 +4901,17 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
}
}
}
}
public
override
IBuilder
<
self
::
EnumOptions
>
MergeFrom
(
self
::
EnumOptions
other
)
{
public
override
Builder
MergeFrom
(
self
::
EnumOptions
other
)
{
if
(
other
==
self
::
EnumOptions
.
DefaultInstance
)
return
this
;
if
(
other
==
self
::
EnumOptions
.
DefaultInstance
)
return
this
;
this
.
MergeUnknownFields
(
other
.
UnknownFields
);
this
.
MergeUnknownFields
(
other
.
UnknownFields
);
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
EnumOptions
>
MergeFrom
(
pb
::
CodedInputStream
input
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
)
{
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
}
}
public
override
IBuilder
<
self
::
EnumOptions
>
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
while
(
true
)
{
while
(
true
)
{
...
@@ -5011,12 +5011,16 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -5011,12 +5011,16 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
}
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
override
IBuilder
<
self
::
EnumValueOptions
>
CreateBuilderForType
()
{
return
new
Builder
();
}
public
override
Builder
CreateBuilderForType
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
(
self
::
EnumValueOptions
prototype
)
{
public
static
Builder
CreateBuilder
(
self
::
EnumValueOptions
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
}
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
EnumValueOptions
,
Builder
>
{
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
EnumValueOptions
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
// Construct using self::EnumValueOptions.CreateBuilder()
// Construct using self::EnumValueOptions.CreateBuilder()
internal
Builder
()
{}
internal
Builder
()
{}
...
@@ -5026,12 +5030,12 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -5026,12 +5030,12 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
get
{
return
result
;
}
get
{
return
result
;
}
}
}
public
override
IBuilder
<
self
::
EnumValueOptions
>
Clear
()
{
public
override
Builder
Clear
()
{
result
=
new
self
::
EnumValueOptions
();
result
=
new
self
::
EnumValueOptions
();
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
EnumValueOptions
>
Clone
()
{
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
return
new
Builder
().
MergeFrom
(
result
);
}
}
...
@@ -5049,11 +5053,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -5049,11 +5053,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return
returnMe
;
return
returnMe
;
}
}
protected
override
IBuilder
MergeFromImpl
(
CodedInputStream
data
,
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
IMessage
other
)
{
return
MergeFrom
(
data
,
extensionRegistry
);
}
public
override
IBuilder
MergeFrom
(
pb
::
IMessage
other
)
{
if
(
other
is
self
::
EnumValueOptions
)
{
if
(
other
is
self
::
EnumValueOptions
)
{
return
MergeFrom
((
self
::
EnumValueOptions
)
other
);
return
MergeFrom
((
self
::
EnumValueOptions
)
other
);
}
else
{
}
else
{
...
@@ -5062,17 +5062,17 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -5062,17 +5062,17 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
}
}
}
}
public
override
IBuilder
<
self
::
EnumValueOptions
>
MergeFrom
(
self
::
EnumValueOptions
other
)
{
public
override
Builder
MergeFrom
(
self
::
EnumValueOptions
other
)
{
if
(
other
==
self
::
EnumValueOptions
.
DefaultInstance
)
return
this
;
if
(
other
==
self
::
EnumValueOptions
.
DefaultInstance
)
return
this
;
this
.
MergeUnknownFields
(
other
.
UnknownFields
);
this
.
MergeUnknownFields
(
other
.
UnknownFields
);
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
EnumValueOptions
>
MergeFrom
(
pb
::
CodedInputStream
input
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
)
{
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
}
}
public
override
IBuilder
<
self
::
EnumValueOptions
>
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
while
(
true
)
{
while
(
true
)
{
...
@@ -5172,12 +5172,16 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -5172,12 +5172,16 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
}
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
override
IBuilder
<
self
::
ServiceOptions
>
CreateBuilderForType
()
{
return
new
Builder
();
}
public
override
Builder
CreateBuilderForType
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
(
self
::
ServiceOptions
prototype
)
{
public
static
Builder
CreateBuilder
(
self
::
ServiceOptions
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
}
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
ServiceOptions
,
Builder
>
{
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
ServiceOptions
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
// Construct using self::ServiceOptions.CreateBuilder()
// Construct using self::ServiceOptions.CreateBuilder()
internal
Builder
()
{}
internal
Builder
()
{}
...
@@ -5187,12 +5191,12 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -5187,12 +5191,12 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
get
{
return
result
;
}
get
{
return
result
;
}
}
}
public
override
IBuilder
<
self
::
ServiceOptions
>
Clear
()
{
public
override
Builder
Clear
()
{
result
=
new
self
::
ServiceOptions
();
result
=
new
self
::
ServiceOptions
();
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
ServiceOptions
>
Clone
()
{
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
return
new
Builder
().
MergeFrom
(
result
);
}
}
...
@@ -5210,11 +5214,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -5210,11 +5214,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return
returnMe
;
return
returnMe
;
}
}
protected
override
IBuilder
MergeFromImpl
(
CodedInputStream
data
,
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
IMessage
other
)
{
return
MergeFrom
(
data
,
extensionRegistry
);
}
public
override
IBuilder
MergeFrom
(
pb
::
IMessage
other
)
{
if
(
other
is
self
::
ServiceOptions
)
{
if
(
other
is
self
::
ServiceOptions
)
{
return
MergeFrom
((
self
::
ServiceOptions
)
other
);
return
MergeFrom
((
self
::
ServiceOptions
)
other
);
}
else
{
}
else
{
...
@@ -5223,17 +5223,17 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -5223,17 +5223,17 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
}
}
}
}
public
override
IBuilder
<
self
::
ServiceOptions
>
MergeFrom
(
self
::
ServiceOptions
other
)
{
public
override
Builder
MergeFrom
(
self
::
ServiceOptions
other
)
{
if
(
other
==
self
::
ServiceOptions
.
DefaultInstance
)
return
this
;
if
(
other
==
self
::
ServiceOptions
.
DefaultInstance
)
return
this
;
this
.
MergeUnknownFields
(
other
.
UnknownFields
);
this
.
MergeUnknownFields
(
other
.
UnknownFields
);
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
ServiceOptions
>
MergeFrom
(
pb
::
CodedInputStream
input
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
)
{
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
}
}
public
override
IBuilder
<
self
::
ServiceOptions
>
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
while
(
true
)
{
while
(
true
)
{
...
@@ -5333,12 +5333,16 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -5333,12 +5333,16 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
}
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
override
IBuilder
<
self
::
MethodOptions
>
CreateBuilderForType
()
{
return
new
Builder
();
}
public
override
Builder
CreateBuilderForType
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
(
self
::
MethodOptions
prototype
)
{
public
static
Builder
CreateBuilder
(
self
::
MethodOptions
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
}
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
MethodOptions
,
Builder
>
{
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
self
::
MethodOptions
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
// Construct using self::MethodOptions.CreateBuilder()
// Construct using self::MethodOptions.CreateBuilder()
internal
Builder
()
{}
internal
Builder
()
{}
...
@@ -5348,12 +5352,12 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -5348,12 +5352,12 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
get
{
return
result
;
}
get
{
return
result
;
}
}
}
public
override
IBuilder
<
self
::
MethodOptions
>
Clear
()
{
public
override
Builder
Clear
()
{
result
=
new
self
::
MethodOptions
();
result
=
new
self
::
MethodOptions
();
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
MethodOptions
>
Clone
()
{
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
return
new
Builder
().
MergeFrom
(
result
);
}
}
...
@@ -5371,11 +5375,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -5371,11 +5375,7 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return
returnMe
;
return
returnMe
;
}
}
protected
override
IBuilder
MergeFromImpl
(
CodedInputStream
data
,
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
IMessage
other
)
{
return
MergeFrom
(
data
,
extensionRegistry
);
}
public
override
IBuilder
MergeFrom
(
pb
::
IMessage
other
)
{
if
(
other
is
self
::
MethodOptions
)
{
if
(
other
is
self
::
MethodOptions
)
{
return
MergeFrom
((
self
::
MethodOptions
)
other
);
return
MergeFrom
((
self
::
MethodOptions
)
other
);
}
else
{
}
else
{
...
@@ -5384,17 +5384,17 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
...
@@ -5384,17 +5384,17 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
}
}
}
}
public
override
IBuilder
<
self
::
MethodOptions
>
MergeFrom
(
self
::
MethodOptions
other
)
{
public
override
Builder
MergeFrom
(
self
::
MethodOptions
other
)
{
if
(
other
==
self
::
MethodOptions
.
DefaultInstance
)
return
this
;
if
(
other
==
self
::
MethodOptions
.
DefaultInstance
)
return
this
;
this
.
MergeUnknownFields
(
other
.
UnknownFields
);
this
.
MergeUnknownFields
(
other
.
UnknownFields
);
return
this
;
return
this
;
}
}
public
override
IBuilder
<
self
::
MethodOptions
>
MergeFrom
(
pb
::
CodedInputStream
input
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
)
{
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
}
}
public
override
IBuilder
<
self
::
MethodOptions
>
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
while
(
true
)
{
while
(
true
)
{
...
...
csharp/ProtocolBuffers/DynamicMessage.cs
View file @
f26f8dce
...
@@ -10,7 +10,7 @@ namespace Google.ProtocolBuffers {
...
@@ -10,7 +10,7 @@ namespace Google.ProtocolBuffers {
/// An implementation of IMessage that can represent arbitrary types, given a MessageaDescriptor.
/// An implementation of IMessage that can represent arbitrary types, given a MessageaDescriptor.
/// TODO: Implement appropriate generics.
/// TODO: Implement appropriate generics.
/// </summary>
/// </summary>
public
class
DynamicMessage
:
AbstractMessage
{
public
class
DynamicMessage
:
AbstractMessage
<
DynamicMessage
,
DynamicMessage
.
Builder
>
{
private
readonly
MessageDescriptor
type
;
private
readonly
MessageDescriptor
type
;
private
readonly
FieldSet
fields
;
private
readonly
FieldSet
fields
;
...
@@ -42,8 +42,8 @@ namespace Google.ProtocolBuffers {
...
@@ -42,8 +42,8 @@ namespace Google.ProtocolBuffers {
/// Parses a message of the given type from the given stream.
/// Parses a message of the given type from the given stream.
/// </summary>
/// </summary>
public
static
DynamicMessage
ParseFrom
(
MessageDescriptor
type
,
CodedInputStream
input
)
{
public
static
DynamicMessage
ParseFrom
(
MessageDescriptor
type
,
CodedInputStream
input
)
{
I
Builder
builder
=
CreateBuilder
(
type
);
Builder
builder
=
CreateBuilder
(
type
);
Builder
dynamicBuilder
=
(
Builder
)
builder
.
MergeFrom
(
input
);
Builder
dynamicBuilder
=
builder
.
MergeFrom
(
input
);
return
dynamicBuilder
.
BuildParsed
();
return
dynamicBuilder
.
BuildParsed
();
}
}
...
@@ -56,8 +56,8 @@ namespace Google.ProtocolBuffers {
...
@@ -56,8 +56,8 @@ namespace Google.ProtocolBuffers {
/// <param name="extensionRegistry"></param>
/// <param name="extensionRegistry"></param>
/// <returns></returns>
/// <returns></returns>
public
static
DynamicMessage
ParseFrom
(
MessageDescriptor
type
,
CodedInputStream
input
,
ExtensionRegistry
extensionRegistry
)
{
public
static
DynamicMessage
ParseFrom
(
MessageDescriptor
type
,
CodedInputStream
input
,
ExtensionRegistry
extensionRegistry
)
{
I
Builder
builder
=
CreateBuilder
(
type
);
Builder
builder
=
CreateBuilder
(
type
);
Builder
dynamicBuilder
=
(
Builder
)
builder
.
MergeFrom
(
input
,
extensionRegistry
);
Builder
dynamicBuilder
=
builder
.
MergeFrom
(
input
,
extensionRegistry
);
return
dynamicBuilder
.
BuildParsed
();
return
dynamicBuilder
.
BuildParsed
();
}
}
...
@@ -65,8 +65,8 @@ namespace Google.ProtocolBuffers {
...
@@ -65,8 +65,8 @@ namespace Google.ProtocolBuffers {
/// Parses a message of the given type from the given stream.
/// Parses a message of the given type from the given stream.
/// </summary>
/// </summary>
public
static
DynamicMessage
ParseFrom
(
MessageDescriptor
type
,
Stream
input
)
{
public
static
DynamicMessage
ParseFrom
(
MessageDescriptor
type
,
Stream
input
)
{
I
Builder
builder
=
CreateBuilder
(
type
);
Builder
builder
=
CreateBuilder
(
type
);
Builder
dynamicBuilder
=
(
Builder
)
builder
.
MergeFrom
(
input
);
Builder
dynamicBuilder
=
builder
.
MergeFrom
(
input
);
return
dynamicBuilder
.
BuildParsed
();
return
dynamicBuilder
.
BuildParsed
();
}
}
...
@@ -78,8 +78,8 @@ namespace Google.ProtocolBuffers {
...
@@ -78,8 +78,8 @@ namespace Google.ProtocolBuffers {
/// <param name="extensionRegistry"></param>
/// <param name="extensionRegistry"></param>
/// <returns></returns>
/// <returns></returns>
public
static
DynamicMessage
ParseFrom
(
MessageDescriptor
type
,
Stream
input
,
ExtensionRegistry
extensionRegistry
)
{
public
static
DynamicMessage
ParseFrom
(
MessageDescriptor
type
,
Stream
input
,
ExtensionRegistry
extensionRegistry
)
{
I
Builder
builder
=
CreateBuilder
(
type
);
Builder
builder
=
CreateBuilder
(
type
);
Builder
dynamicBuilder
=
(
Builder
)
builder
.
MergeFrom
(
input
,
extensionRegistry
);
Builder
dynamicBuilder
=
builder
.
MergeFrom
(
input
,
extensionRegistry
);
return
dynamicBuilder
.
BuildParsed
();
return
dynamicBuilder
.
BuildParsed
();
}
}
...
@@ -87,8 +87,8 @@ namespace Google.ProtocolBuffers {
...
@@ -87,8 +87,8 @@ namespace Google.ProtocolBuffers {
/// Parse <paramref name="data"/> as a message of the given type and return it.
/// Parse <paramref name="data"/> as a message of the given type and return it.
/// </summary>
/// </summary>
public
static
DynamicMessage
ParseFrom
(
MessageDescriptor
type
,
ByteString
data
)
{
public
static
DynamicMessage
ParseFrom
(
MessageDescriptor
type
,
ByteString
data
)
{
I
Builder
builder
=
CreateBuilder
(
type
);
Builder
builder
=
CreateBuilder
(
type
);
Builder
dynamicBuilder
=
(
Builder
)
builder
.
MergeFrom
(
data
);
Builder
dynamicBuilder
=
builder
.
MergeFrom
(
data
);
return
dynamicBuilder
.
BuildParsed
();
return
dynamicBuilder
.
BuildParsed
();
}
}
...
@@ -96,8 +96,8 @@ namespace Google.ProtocolBuffers {
...
@@ -96,8 +96,8 @@ namespace Google.ProtocolBuffers {
/// Parse <paramref name="data"/> as a message of the given type and return it.
/// Parse <paramref name="data"/> as a message of the given type and return it.
/// </summary>
/// </summary>
public
static
DynamicMessage
ParseFrom
(
MessageDescriptor
type
,
ByteString
data
,
ExtensionRegistry
extensionRegistry
)
{
public
static
DynamicMessage
ParseFrom
(
MessageDescriptor
type
,
ByteString
data
,
ExtensionRegistry
extensionRegistry
)
{
I
Builder
builder
=
CreateBuilder
(
type
);
Builder
builder
=
CreateBuilder
(
type
);
Builder
dynamicBuilder
=
(
Builder
)
builder
.
MergeFrom
(
data
,
extensionRegistry
);
Builder
dynamicBuilder
=
builder
.
MergeFrom
(
data
,
extensionRegistry
);
return
dynamicBuilder
.
BuildParsed
();
return
dynamicBuilder
.
BuildParsed
();
}
}
...
@@ -106,8 +106,8 @@ namespace Google.ProtocolBuffers {
...
@@ -106,8 +106,8 @@ namespace Google.ProtocolBuffers {
/// Parse <paramref name="data"/> as a message of the given type and return it.
/// Parse <paramref name="data"/> as a message of the given type and return it.
/// </summary>
/// </summary>
public
static
DynamicMessage
ParseFrom
(
MessageDescriptor
type
,
byte
[]
data
)
{
public
static
DynamicMessage
ParseFrom
(
MessageDescriptor
type
,
byte
[]
data
)
{
I
Builder
builder
=
CreateBuilder
(
type
);
Builder
builder
=
CreateBuilder
(
type
);
Builder
dynamicBuilder
=
(
Builder
)
builder
.
MergeFrom
(
data
);
Builder
dynamicBuilder
=
builder
.
MergeFrom
(
data
);
return
dynamicBuilder
.
BuildParsed
();
return
dynamicBuilder
.
BuildParsed
();
}
}
...
@@ -115,8 +115,8 @@ namespace Google.ProtocolBuffers {
...
@@ -115,8 +115,8 @@ namespace Google.ProtocolBuffers {
/// Parse <paramref name="data"/> as a message of the given type and return it.
/// Parse <paramref name="data"/> as a message of the given type and return it.
/// </summary>
/// </summary>
public
static
DynamicMessage
ParseFrom
(
MessageDescriptor
type
,
byte
[]
data
,
ExtensionRegistry
extensionRegistry
)
{
public
static
DynamicMessage
ParseFrom
(
MessageDescriptor
type
,
byte
[]
data
,
ExtensionRegistry
extensionRegistry
)
{
I
Builder
builder
=
CreateBuilder
(
type
);
Builder
builder
=
CreateBuilder
(
type
);
Builder
dynamicBuilder
=
(
Builder
)
builder
.
MergeFrom
(
data
,
extensionRegistry
);
Builder
dynamicBuilder
=
builder
.
MergeFrom
(
data
,
extensionRegistry
);
return
dynamicBuilder
.
BuildParsed
();
return
dynamicBuilder
.
BuildParsed
();
}
}
...
@@ -134,7 +134,7 @@ namespace Google.ProtocolBuffers {
...
@@ -134,7 +134,7 @@ namespace Google.ProtocolBuffers {
/// <param name="prototype"></param>
/// <param name="prototype"></param>
/// <returns></returns>
/// <returns></returns>
public
static
Builder
CreateBuilder
(
IMessage
prototype
)
{
public
static
Builder
CreateBuilder
(
IMessage
prototype
)
{
return
(
Builder
)
new
Builder
(
prototype
.
DescriptorForType
).
MergeFrom
(
prototype
);
return
new
Builder
(
prototype
.
DescriptorForType
).
MergeFrom
(
prototype
);
}
}
// -----------------------------------------------------------------
// -----------------------------------------------------------------
...
@@ -144,7 +144,7 @@ namespace Google.ProtocolBuffers {
...
@@ -144,7 +144,7 @@ namespace Google.ProtocolBuffers {
get
{
return
type
;
}
get
{
return
type
;
}
}
}
p
rotected
override
IMessage
DefaultInstanceForTypeImpl
{
p
ublic
override
DynamicMessage
DefaultInstanceForType
{
get
{
return
GetDefaultInstance
(
type
);
}
get
{
return
GetDefaultInstance
(
type
);
}
}
}
...
@@ -214,7 +214,7 @@ namespace Google.ProtocolBuffers {
...
@@ -214,7 +214,7 @@ namespace Google.ProtocolBuffers {
}
}
}
}
p
rotected
override
IBuilder
CreateBuilderForTypeImpl
()
{
p
ublic
override
Builder
CreateBuilderForType
()
{
return
new
Builder
(
type
);
return
new
Builder
(
type
);
}
}
...
@@ -227,7 +227,7 @@ namespace Google.ProtocolBuffers {
...
@@ -227,7 +227,7 @@ namespace Google.ProtocolBuffers {
}
}
}
}
public
class
Builder
:
AbstractBuilder
{
public
class
Builder
:
AbstractBuilder
<
DynamicMessage
,
DynamicMessage
.
Builder
>
{
private
readonly
MessageDescriptor
type
;
private
readonly
MessageDescriptor
type
;
private
FieldSet
fields
;
private
FieldSet
fields
;
private
UnknownFieldSet
unknownFields
;
private
UnknownFieldSet
unknownFields
;
...
@@ -238,16 +238,16 @@ namespace Google.ProtocolBuffers {
...
@@ -238,16 +238,16 @@ namespace Google.ProtocolBuffers {
this
.
unknownFields
=
UnknownFieldSet
.
DefaultInstance
;
this
.
unknownFields
=
UnknownFieldSet
.
DefaultInstance
;
}
}
p
ublic
DynamicMessage
Build
()
{
p
rotected
override
Builder
ThisBuilder
{
return
(
DynamicMessage
)((
IBuilder
)
this
).
Build
();
get
{
return
this
;
}
}
}
public
override
I
Builder
Clear
()
{
public
override
Builder
Clear
()
{
fields
.
Clear
();
fields
.
Clear
();
return
this
;
return
this
;
}
}
public
override
I
Builder
MergeFrom
(
IMessage
other
)
{
public
override
Builder
MergeFrom
(
IMessage
other
)
{
if
(
other
.
DescriptorForType
!=
type
)
{
if
(
other
.
DescriptorForType
!=
type
)
{
throw
new
ArgumentException
(
"MergeFrom(IMessage) can only merge messages of the same type."
);
throw
new
ArgumentException
(
"MergeFrom(IMessage) can only merge messages of the same type."
);
}
}
...
@@ -255,11 +255,19 @@ namespace Google.ProtocolBuffers {
...
@@ -255,11 +255,19 @@ namespace Google.ProtocolBuffers {
return
this
;
return
this
;
}
}
protected
override
IMessage
BuildImpl
()
{
public
override
Builder
MergeFrom
(
DynamicMessage
other
)
{
if
(
other
.
DescriptorForType
!=
type
)
{
throw
new
ArgumentException
(
"MergeFrom(IMessage) can only merge messages of the same type."
);
}
fields
.
MergeFrom
(
other
);
return
this
;
}
public
override
DynamicMessage
Build
()
{
if
(!
IsInitialized
)
{
if
(!
IsInitialized
)
{
throw
new
UninitializedMessageException
(
new
DynamicMessage
(
type
,
fields
,
unknownFields
));
throw
new
UninitializedMessageException
(
new
DynamicMessage
(
type
,
fields
,
unknownFields
));
}
}
return
BuildPartial
Impl
();
return
BuildPartial
();
}
}
/// <summary>
/// <summary>
...
@@ -271,10 +279,10 @@ namespace Google.ProtocolBuffers {
...
@@ -271,10 +279,10 @@ namespace Google.ProtocolBuffers {
if
(!
IsInitialized
)
{
if
(!
IsInitialized
)
{
throw
new
UninitializedMessageException
(
new
DynamicMessage
(
type
,
fields
,
unknownFields
)).
AsInvalidProtocolBufferException
();
throw
new
UninitializedMessageException
(
new
DynamicMessage
(
type
,
fields
,
unknownFields
)).
AsInvalidProtocolBufferException
();
}
}
return
(
DynamicMessage
)
BuildPartialImp
l
();
return
BuildPartia
l
();
}
}
p
rotected
override
IMessage
BuildPartialImp
l
()
{
p
ublic
override
DynamicMessage
BuildPartia
l
()
{
fields
.
MakeImmutable
();
fields
.
MakeImmutable
();
DynamicMessage
result
=
new
DynamicMessage
(
type
,
fields
,
unknownFields
);
DynamicMessage
result
=
new
DynamicMessage
(
type
,
fields
,
unknownFields
);
fields
=
null
;
fields
=
null
;
...
@@ -282,7 +290,7 @@ namespace Google.ProtocolBuffers {
...
@@ -282,7 +290,7 @@ namespace Google.ProtocolBuffers {
return
result
;
return
result
;
}
}
p
rotected
override
IBuilder
CloneImpl
()
{
p
ublic
override
Builder
Clone
()
{
Builder
result
=
new
Builder
(
type
);
Builder
result
=
new
Builder
(
type
);
result
.
fields
.
MergeFrom
(
fields
);
result
.
fields
.
MergeFrom
(
fields
);
return
result
;
return
result
;
...
@@ -292,7 +300,7 @@ namespace Google.ProtocolBuffers {
...
@@ -292,7 +300,7 @@ namespace Google.ProtocolBuffers {
get
{
return
fields
.
IsInitializedWithRespectTo
(
type
);
}
get
{
return
fields
.
IsInitializedWithRespectTo
(
type
);
}
}
}
p
rotected
override
IBuilder
MergeFromImpl
(
CodedInputStream
input
,
ExtensionRegistry
extensionRegistry
)
{
p
ublic
override
Builder
MergeFrom
(
CodedInputStream
input
,
ExtensionRegistry
extensionRegistry
)
{
UnknownFieldSet
.
Builder
unknownFieldsBuilder
=
UnknownFieldSet
.
CreateBuilder
(
unknownFields
);
UnknownFieldSet
.
Builder
unknownFieldsBuilder
=
UnknownFieldSet
.
CreateBuilder
(
unknownFields
);
FieldSet
.
MergeFrom
(
input
,
unknownFieldsBuilder
,
extensionRegistry
,
this
);
FieldSet
.
MergeFrom
(
input
,
unknownFieldsBuilder
,
extensionRegistry
,
this
);
unknownFields
=
unknownFieldsBuilder
.
Build
();
unknownFields
=
unknownFieldsBuilder
.
Build
();
...
@@ -303,7 +311,7 @@ namespace Google.ProtocolBuffers {
...
@@ -303,7 +311,7 @@ namespace Google.ProtocolBuffers {
get
{
return
type
;
}
get
{
return
type
;
}
}
}
p
rotected
override
IMessage
DefaultInstanceForTypeImpl
{
p
ublic
override
DynamicMessage
DefaultInstanceForType
{
get
{
return
GetDefaultInstance
(
type
);
}
get
{
return
GetDefaultInstance
(
type
);
}
}
}
...
@@ -350,7 +358,7 @@ namespace Google.ProtocolBuffers {
...
@@ -350,7 +358,7 @@ namespace Google.ProtocolBuffers {
}
}
}
}
p
rotected
override
IBuilder
ClearFieldImpl
(
FieldDescriptor
field
)
{
p
ublic
override
Builder
ClearField
(
FieldDescriptor
field
)
{
VerifyContainingType
(
field
);
VerifyContainingType
(
field
);
fields
.
ClearField
(
field
);
fields
.
ClearField
(
field
);
return
this
;
return
this
;
...
@@ -361,7 +369,7 @@ namespace Google.ProtocolBuffers {
...
@@ -361,7 +369,7 @@ namespace Google.ProtocolBuffers {
return
fields
.
GetRepeatedFieldCount
(
field
);
return
fields
.
GetRepeatedFieldCount
(
field
);
}
}
p
rotected
override
IBuilder
AddRepeatedFieldImpl
(
FieldDescriptor
field
,
object
value
)
{
p
ublic
override
Builder
AddRepeatedField
(
FieldDescriptor
field
,
object
value
)
{
VerifyContainingType
(
field
);
VerifyContainingType
(
field
);
fields
.
AddRepeatedField
(
field
,
value
);
fields
.
AddRepeatedField
(
field
,
value
);
return
this
;
return
this
;
...
...
csharp/ProtocolBuffers/ExtendableBuilder.cs
View file @
f26f8dce
...
@@ -13,57 +13,55 @@ namespace Google.ProtocolBuffers {
...
@@ -13,57 +13,55 @@ namespace Google.ProtocolBuffers {
/// <summary>
/// <summary>
/// Checks if a singular extension is present
/// Checks if a singular extension is present
/// </summary>
/// </summary>
public
bool
HasExtension
<
TExtension
>(
GeneratedExtensionBase
<
T
Message
,
T
Extension
>
extension
)
{
public
bool
HasExtension
<
TExtension
>(
GeneratedExtensionBase
<
TExtension
>
extension
)
{
return
MessageBeingBuilt
.
HasExtension
(
extension
);
return
MessageBeingBuilt
.
HasExtension
(
extension
);
}
}
/// <summary>
/// <summary>
/// Returns the number of elements in a repeated extension.
/// Returns the number of elements in a repeated extension.
/// </summary>
/// </summary>
public
int
GetExtensionCount
<
TExtension
>(
GeneratedExtensionBase
<
TMessage
,
IList
<
TExtension
>>
extension
)
{
public
int
GetExtensionCount
<
TExtension
>(
GeneratedExtensionBase
<
IList
<
TExtension
>>
extension
)
{
return
MessageBeingBuilt
.
GetExtensionCount
(
extension
);
return
MessageBeingBuilt
.
GetExtensionCount
(
extension
);
}
}
/// <summary>
/// <summary>
/// Returns the value of an extension.
/// Returns the value of an extension.
/// </summary>
/// </summary>
public
TExtension
GetExtension
<
TExtension
>(
GeneratedExtensionBase
<
T
Message
,
T
Extension
>
extension
)
{
public
TExtension
GetExtension
<
TExtension
>(
GeneratedExtensionBase
<
TExtension
>
extension
)
{
return
MessageBeingBuilt
.
GetExtension
(
extension
);
return
MessageBeingBuilt
.
GetExtension
(
extension
);
}
}
/// <summary>
/// <summary>
/// Returns one element of a repeated extension.
/// Returns one element of a repeated extension.
/// </summary>
/// </summary>
public
TExtension
GetExtension
<
TExtension
>(
GeneratedExtensionBase
<
TMessage
,
IList
<
TExtension
>>
extension
,
int
index
)
{
public
TExtension
GetExtension
<
TExtension
>(
GeneratedExtensionBase
<
IList
<
TExtension
>>
extension
,
int
index
)
{
return
MessageBeingBuilt
.
GetExtension
(
extension
,
index
);
return
MessageBeingBuilt
.
GetExtension
(
extension
,
index
);
}
}
/// <summary>
/// <summary>
/// Sets the value of an extension.
/// Sets the value of an extension.
/// </summary>
/// </summary>
public
ExtendableBuilder
<
TMessage
,
TBuilder
>
SetExtension
<
TExtension
>(
GeneratedExtensionBase
<
TMessage
,
TExtension
>
extension
,
TExtension
value
)
{
public
TBuilder
SetExtension
<
TExtension
>(
GeneratedExtensionBase
<
TExtension
>
extension
,
TExtension
value
)
{
ExtendableMessage
<
TMessage
,
TBuilder
>
message
=
MessageBeingBuilt
;
ExtendableMessage
<
TMessage
,
TBuilder
>
message
=
MessageBeingBuilt
;
message
.
VerifyExtensionContainingType
(
extension
);
message
.
VerifyExtensionContainingType
(
extension
);
message
.
Extensions
[
extension
.
Descriptor
]
=
extension
.
ToReflectionType
(
value
);
message
.
Extensions
[
extension
.
Descriptor
]
=
extension
.
ToReflectionType
(
value
);
return
this
;
return
ThisBuilder
;
}
}
/// <summary>
/// <summary>
/// Sets the value of one element of a repeated extension.
/// Sets the value of one element of a repeated extension.
/// </summary>
/// </summary>
public
ExtendableBuilder
<
TMessage
,
TBuilder
>
SetExtension
<
TExtension
>(
public
TBuilder
SetExtension
<
TExtension
>(
GeneratedExtensionBase
<
IList
<
TExtension
>>
extension
,
int
index
,
TExtension
value
)
{
GeneratedExtensionBase
<
TMessage
,
IList
<
TExtension
>>
extension
,
int
index
,
TExtension
value
)
{
ExtendableMessage
<
TMessage
,
TBuilder
>
message
=
MessageBeingBuilt
;
ExtendableMessage
<
TMessage
,
TBuilder
>
message
=
MessageBeingBuilt
;
message
.
VerifyExtensionContainingType
(
extension
);
message
.
VerifyExtensionContainingType
(
extension
);
message
.
Extensions
[
extension
.
Descriptor
,
index
]
=
extension
.
SingularToReflectionType
(
value
);
message
.
Extensions
[
extension
.
Descriptor
,
index
]
=
extension
.
SingularToReflectionType
(
value
);
return
this
;
return
ThisBuilder
;
}
}
/// <summary>
/// <summary>
/// Appends a value to a repeated extension.
/// Appends a value to a repeated extension.
/// </summary>
/// </summary>
public
ExtendableBuilder
<
TMessage
,
TBuilder
>
AddExtension
<
TExtension
>(
public
ExtendableBuilder
<
TMessage
,
TBuilder
>
AddExtension
<
TExtension
>(
GeneratedExtensionBase
<
IList
<
TExtension
>>
extension
,
TExtension
value
)
{
GeneratedExtensionBase
<
TMessage
,
IList
<
TExtension
>>
extension
,
TExtension
value
)
{
ExtendableMessage
<
TMessage
,
TBuilder
>
message
=
MessageBeingBuilt
;
ExtendableMessage
<
TMessage
,
TBuilder
>
message
=
MessageBeingBuilt
;
message
.
VerifyExtensionContainingType
(
extension
);
message
.
VerifyExtensionContainingType
(
extension
);
message
.
Extensions
.
AddRepeatedField
(
extension
.
Descriptor
,
extension
.
SingularToReflectionType
(
value
));
message
.
Extensions
.
AddRepeatedField
(
extension
.
Descriptor
,
extension
.
SingularToReflectionType
(
value
));
...
@@ -73,8 +71,7 @@ namespace Google.ProtocolBuffers {
...
@@ -73,8 +71,7 @@ namespace Google.ProtocolBuffers {
/// <summary>
/// <summary>
/// Clears an extension.
/// Clears an extension.
/// </summary>
/// </summary>
public
ExtendableBuilder
<
TMessage
,
TBuilder
>
ClearExtension
<
TExtension
>(
public
ExtendableBuilder
<
TMessage
,
TBuilder
>
ClearExtension
<
TExtension
>(
GeneratedExtensionBase
<
TExtension
>
extension
)
{
GeneratedExtensionBase
<
TMessage
,
TExtension
>
extension
)
{
ExtendableMessage
<
TMessage
,
TBuilder
>
message
=
MessageBeingBuilt
;
ExtendableMessage
<
TMessage
,
TBuilder
>
message
=
MessageBeingBuilt
;
message
.
VerifyExtensionContainingType
(
extension
);
message
.
VerifyExtensionContainingType
(
extension
);
message
.
Extensions
.
ClearField
(
extension
.
Descriptor
);
message
.
Extensions
.
ClearField
(
extension
.
Descriptor
);
...
@@ -121,23 +118,23 @@ namespace Google.ProtocolBuffers {
...
@@ -121,23 +118,23 @@ namespace Google.ProtocolBuffers {
}
}
}
}
public
override
IBuilder
<
TMessage
>
ClearField
(
FieldDescriptor
field
)
{
public
override
TBuilder
ClearField
(
FieldDescriptor
field
)
{
if
(
field
.
IsExtension
)
{
if
(
field
.
IsExtension
)
{
ExtendableMessage
<
TMessage
,
TBuilder
>
message
=
MessageBeingBuilt
;
ExtendableMessage
<
TMessage
,
TBuilder
>
message
=
MessageBeingBuilt
;
message
.
VerifyContainingType
(
field
);
message
.
VerifyContainingType
(
field
);
message
.
Extensions
.
ClearField
(
field
);
message
.
Extensions
.
ClearField
(
field
);
return
this
;
return
ThisBuilder
;
}
else
{
}
else
{
return
base
.
ClearField
(
field
);
return
base
.
ClearField
(
field
);
}
}
}
}
public
override
IBuilder
<
TMessage
>
AddRepeatedField
(
FieldDescriptor
field
,
object
value
)
{
public
override
TBuilder
AddRepeatedField
(
FieldDescriptor
field
,
object
value
)
{
if
(
field
.
IsExtension
)
{
if
(
field
.
IsExtension
)
{
ExtendableMessage
<
TMessage
,
TBuilder
>
message
=
MessageBeingBuilt
;
ExtendableMessage
<
TMessage
,
TBuilder
>
message
=
MessageBeingBuilt
;
message
.
VerifyContainingType
(
field
);
message
.
VerifyContainingType
(
field
);
message
.
Extensions
.
AddRepeatedField
(
field
,
value
);
message
.
Extensions
.
AddRepeatedField
(
field
,
value
);
return
this
;
return
ThisBuilder
;
}
else
{
}
else
{
return
base
.
AddRepeatedField
(
field
,
value
);
return
base
.
AddRepeatedField
(
field
,
value
);
}
}
...
...
csharp/ProtocolBuffers/ExtendableMessage.cs
View file @
f26f8dce
...
@@ -5,9 +5,9 @@ using Google.ProtocolBuffers.Descriptors;
...
@@ -5,9 +5,9 @@ using Google.ProtocolBuffers.Descriptors;
using
Google.ProtocolBuffers.Collections
;
using
Google.ProtocolBuffers.Collections
;
namespace
Google.ProtocolBuffers
{
namespace
Google.ProtocolBuffers
{
public
abstract
class
ExtendableMessage
<
TMessage
,
TBuilder
>
:
GeneratedMessage
<
TMessage
,
TBuilder
>
public
abstract
class
ExtendableMessage
<
TMessage
,
TBuilder
>
:
GeneratedMessage
<
TMessage
,
TBuilder
>
where
TMessage
:
GeneratedMessage
<
TMessage
,
TBuilder
>
where
TMessage
:
GeneratedMessage
<
TMessage
,
TBuilder
>
where
TBuilder
:
IBuilder
<
TMessage
>
{
where
TBuilder
:
GeneratedBuilder
<
TMessage
,
TBuilder
>
{
protected
ExtendableMessage
()
{}
protected
ExtendableMessage
()
{}
private
readonly
FieldSet
extensions
=
FieldSet
.
CreateFieldSet
();
private
readonly
FieldSet
extensions
=
FieldSet
.
CreateFieldSet
();
...
@@ -22,21 +22,21 @@ namespace Google.ProtocolBuffers {
...
@@ -22,21 +22,21 @@ namespace Google.ProtocolBuffers {
/// <summary>
/// <summary>
/// Checks if a singular extension is present.
/// Checks if a singular extension is present.
/// </summary>
/// </summary>
public
bool
HasExtension
<
TExtension
>(
GeneratedExtensionBase
<
T
Message
,
T
Extension
>
extension
)
{
public
bool
HasExtension
<
TExtension
>(
GeneratedExtensionBase
<
TExtension
>
extension
)
{
return
extensions
.
HasField
(
extension
.
Descriptor
);
return
extensions
.
HasField
(
extension
.
Descriptor
);
}
}
/// <summary>
/// <summary>
/// Returns the number of elements in a repeated extension.
/// Returns the number of elements in a repeated extension.
/// </summary>
/// </summary>
public
int
GetExtensionCount
<
TExtension
>(
GeneratedExtensionBase
<
TMessage
,
IList
<
TExtension
>>
extension
)
{
public
int
GetExtensionCount
<
TExtension
>(
GeneratedExtensionBase
<
IList
<
TExtension
>>
extension
)
{
return
extensions
.
GetRepeatedFieldCount
(
extension
.
Descriptor
);
return
extensions
.
GetRepeatedFieldCount
(
extension
.
Descriptor
);
}
}
/// <summary>
/// <summary>
/// Returns the value of an extension.
/// Returns the value of an extension.
/// </summary>
/// </summary>
public
TExtension
GetExtension
<
TExtension
>(
GeneratedExtensionBase
<
T
Message
,
T
Extension
>
extension
)
{
public
TExtension
GetExtension
<
TExtension
>(
GeneratedExtensionBase
<
TExtension
>
extension
)
{
object
value
=
extensions
[
extension
.
Descriptor
];
object
value
=
extensions
[
extension
.
Descriptor
];
if
(
value
==
null
)
{
if
(
value
==
null
)
{
return
(
TExtension
)
extension
.
MessageDefaultInstance
;
return
(
TExtension
)
extension
.
MessageDefaultInstance
;
...
@@ -48,7 +48,7 @@ namespace Google.ProtocolBuffers {
...
@@ -48,7 +48,7 @@ namespace Google.ProtocolBuffers {
/// <summary>
/// <summary>
/// Returns one element of a repeated extension.
/// Returns one element of a repeated extension.
/// </summary>
/// </summary>
public
TExtension
GetExtension
<
TExtension
>(
GeneratedExtensionBase
<
TMessage
,
IList
<
TExtension
>>
extension
,
int
index
)
{
public
TExtension
GetExtension
<
TExtension
>(
GeneratedExtensionBase
<
IList
<
TExtension
>>
extension
,
int
index
)
{
return
(
TExtension
)
extension
.
SingularFromReflectionType
(
extensions
[
extension
.
Descriptor
,
index
]);
return
(
TExtension
)
extension
.
SingularFromReflectionType
(
extensions
[
extension
.
Descriptor
,
index
]);
}
}
...
@@ -169,7 +169,7 @@ namespace Google.ProtocolBuffers {
...
@@ -169,7 +169,7 @@ namespace Google.ProtocolBuffers {
get
{
return
extensions
.
SerializedSize
;
}
get
{
return
extensions
.
SerializedSize
;
}
}
}
internal
void
VerifyExtensionContainingType
<
TExtension
>(
GeneratedExtensionBase
<
T
Message
,
T
Extension
>
extension
)
{
internal
void
VerifyExtensionContainingType
<
TExtension
>(
GeneratedExtensionBase
<
TExtension
>
extension
)
{
if
(
extension
.
Descriptor
.
ContainingType
!=
DescriptorForType
)
{
if
(
extension
.
Descriptor
.
ContainingType
!=
DescriptorForType
)
{
// This can only happen if someone uses unchecked operations.
// This can only happen if someone uses unchecked operations.
throw
new
ArgumentException
(
"Extension is for type \""
+
extension
.
Descriptor
.
ContainingType
.
FullName
throw
new
ArgumentException
(
"Extension is for type \""
+
extension
.
Descriptor
.
ContainingType
.
FullName
...
...
csharp/ProtocolBuffers/ExtensionRegistry.cs
View file @
f26f8dce
...
@@ -88,8 +88,7 @@ namespace Google.ProtocolBuffers {
...
@@ -88,8 +88,7 @@ namespace Google.ProtocolBuffers {
/// <summary>
/// <summary>
/// Add an extension from a generated file to the registry.
/// Add an extension from a generated file to the registry.
/// </summary>
/// </summary>
public
void
Add
<
TContainer
,
TExtension
>
(
GeneratedExtensionBase
<
TContainer
,
TExtension
>
extension
)
public
void
Add
<
TExtension
>
(
GeneratedExtensionBase
<
TExtension
>
extension
)
{
where
TContainer
:
IMessage
<
TContainer
>
{
if
(
extension
.
Descriptor
.
MappedType
==
MappedType
.
Message
)
{
if
(
extension
.
Descriptor
.
MappedType
==
MappedType
.
Message
)
{
Add
(
new
ExtensionInfo
(
extension
.
Descriptor
,
extension
.
MessageDefaultInstance
));
Add
(
new
ExtensionInfo
(
extension
.
Descriptor
,
extension
.
MessageDefaultInstance
));
}
else
{
}
else
{
...
...
csharp/ProtocolBuffers/FieldAccess/RepeatedMessageAccessor.cs
View file @
f26f8dce
...
@@ -40,7 +40,7 @@ namespace Google.ProtocolBuffers.FieldAccess {
...
@@ -40,7 +40,7 @@ namespace Google.ProtocolBuffers.FieldAccess {
// No... so let's create a builder of the right type, and merge the value in.
// No... so let's create a builder of the right type, and merge the value in.
IMessage
message
=
(
IMessage
)
value
;
IMessage
message
=
(
IMessage
)
value
;
return
CreateBuilder
().
MergeFrom
(
message
).
Build
();
return
CreateBuilder
().
WeakMergeFrom
(
message
).
Weak
Build
();
}
}
public
override
void
SetRepeated
(
IBuilder
builder
,
int
index
,
object
value
)
{
public
override
void
SetRepeated
(
IBuilder
builder
,
int
index
,
object
value
)
{
...
...
csharp/ProtocolBuffers/FieldAccess/SingleMessageAccessor.cs
View file @
f26f8dce
...
@@ -38,7 +38,7 @@ namespace Google.ProtocolBuffers.FieldAccess {
...
@@ -38,7 +38,7 @@ namespace Google.ProtocolBuffers.FieldAccess {
// No... so let's create a builder of the right type, and merge the value in.
// No... so let's create a builder of the right type, and merge the value in.
IMessage
message
=
(
IMessage
)
value
;
IMessage
message
=
(
IMessage
)
value
;
return
CreateBuilder
().
MergeFrom
(
message
).
Build
();
return
CreateBuilder
().
WeakMergeFrom
(
message
).
Weak
Build
();
}
}
public
override
void
SetValue
(
IBuilder
builder
,
object
value
)
{
public
override
void
SetValue
(
IBuilder
builder
,
object
value
)
{
...
...
csharp/ProtocolBuffers/FieldSet.cs
View file @
f26f8dce
...
@@ -154,19 +154,19 @@ namespace Google.ProtocolBuffers {
...
@@ -154,19 +154,19 @@ namespace Google.ProtocolBuffers {
case
FieldType
.
Message
:
{
case
FieldType
.
Message
:
{
IBuilder
subBuilder
;
IBuilder
subBuilder
;
if
(
defaultFieldInstance
!=
null
)
{
if
(
defaultFieldInstance
!=
null
)
{
subBuilder
=
defaultFieldInstance
.
CreateBuilderForType
();
subBuilder
=
defaultFieldInstance
.
Weak
CreateBuilderForType
();
}
else
{
}
else
{
subBuilder
=
builder
.
CreateBuilderForField
(
field
);
subBuilder
=
builder
.
CreateBuilderForField
(
field
);
}
}
if
(!
field
.
IsRepeated
)
{
if
(!
field
.
IsRepeated
)
{
subBuilder
.
MergeFrom
((
IMessage
)
builder
[
field
]);
subBuilder
.
Weak
MergeFrom
((
IMessage
)
builder
[
field
]);
}
}
if
(
field
.
FieldType
==
FieldType
.
Group
)
{
if
(
field
.
FieldType
==
FieldType
.
Group
)
{
input
.
ReadGroup
(
field
.
FieldNumber
,
subBuilder
,
extensionRegistry
);
input
.
ReadGroup
(
field
.
FieldNumber
,
subBuilder
,
extensionRegistry
);
}
else
{
}
else
{
input
.
ReadMessage
(
subBuilder
,
extensionRegistry
);
input
.
ReadMessage
(
subBuilder
,
extensionRegistry
);
}
}
value
=
subBuilder
.
Build
();
value
=
subBuilder
.
Weak
Build
();
break
;
break
;
}
}
case
FieldType
.
Enum
:
{
case
FieldType
.
Enum
:
{
...
@@ -185,7 +185,7 @@ namespace Google.ProtocolBuffers {
...
@@ -185,7 +185,7 @@ namespace Google.ProtocolBuffers {
break
;
break
;
}
}
if
(
field
.
IsRepeated
)
{
if
(
field
.
IsRepeated
)
{
builder
.
AddRepeatedField
(
field
,
value
);
builder
.
Weak
AddRepeatedField
(
field
,
value
);
}
else
{
}
else
{
builder
[
field
]
=
value
;
builder
[
field
]
=
value
;
}
}
...
@@ -236,16 +236,16 @@ namespace Google.ProtocolBuffers {
...
@@ -236,16 +236,16 @@ namespace Google.ProtocolBuffers {
ExtensionInfo
extension
=
extensionRegistry
[
type
,
typeId
];
ExtensionInfo
extension
=
extensionRegistry
[
type
,
typeId
];
if
(
extension
!=
null
)
{
if
(
extension
!=
null
)
{
field
=
extension
.
Descriptor
;
field
=
extension
.
Descriptor
;
subBuilder
=
extension
.
DefaultInstance
.
CreateBuilderForType
();
subBuilder
=
extension
.
DefaultInstance
.
Weak
CreateBuilderForType
();
IMessage
originalMessage
=
(
IMessage
)
builder
[
field
];
IMessage
originalMessage
=
(
IMessage
)
builder
[
field
];
if
(
originalMessage
!=
null
)
{
if
(
originalMessage
!=
null
)
{
subBuilder
.
MergeFrom
(
originalMessage
);
subBuilder
.
Weak
MergeFrom
(
originalMessage
);
}
}
if
(
rawBytes
!=
null
)
{
if
(
rawBytes
!=
null
)
{
// We already encountered the message. Parse it now.
// We already encountered the message. Parse it now.
// TODO(jonskeet): Check this is okay. It's subtly different from the Java, as it doesn't create an input stream from rawBytes.
// TODO(jonskeet): Check this is okay. It's subtly different from the Java, as it doesn't create an input stream from rawBytes.
// In fact, why don't we just call MergeFrom(rawBytes)? And what about the extension registry?
// In fact, why don't we just call MergeFrom(rawBytes)? And what about the extension registry?
subBuilder
.
MergeFrom
(
rawBytes
.
CreateCodedInput
());
subBuilder
.
Weak
MergeFrom
(
rawBytes
.
CreateCodedInput
());
rawBytes
=
null
;
rawBytes
=
null
;
}
}
}
else
{
}
else
{
...
@@ -286,7 +286,7 @@ namespace Google.ProtocolBuffers {
...
@@ -286,7 +286,7 @@ namespace Google.ProtocolBuffers {
input
.
CheckLastTagWas
(
WireFormat
.
MessageSetTag
.
ItemEnd
);
input
.
CheckLastTagWas
(
WireFormat
.
MessageSetTag
.
ItemEnd
);
if
(
subBuilder
!=
null
)
{
if
(
subBuilder
!=
null
)
{
builder
[
field
]
=
subBuilder
.
Build
();
builder
[
field
]
=
subBuilder
.
Weak
Build
();
}
}
}
}
...
@@ -381,7 +381,7 @@ namespace Google.ProtocolBuffers {
...
@@ -381,7 +381,7 @@ namespace Google.ProtocolBuffers {
}
}
/// <summary>
/// <summary>
/// See <see cref="IBuilder.AddRepeatedField" />
/// See <see cref="IBuilder
{TMessage, TBuilder}
.AddRepeatedField" />
/// </summary>
/// </summary>
internal
void
AddRepeatedField
(
FieldDescriptor
field
,
object
value
)
{
internal
void
AddRepeatedField
(
FieldDescriptor
field
,
object
value
)
{
if
(!
field
.
IsRepeated
)
{
if
(!
field
.
IsRepeated
)
{
...
@@ -449,7 +449,7 @@ namespace Google.ProtocolBuffers {
...
@@ -449,7 +449,7 @@ namespace Google.ProtocolBuffers {
}
}
/// <summary>
/// <summary>
/// See <see cref="IBuilder.ClearField" />
/// See <see cref="IBuilder
{TMessage, TBuilder}
.ClearField" />
/// </summary>
/// </summary>
public
void
ClearField
(
FieldDescriptor
field
)
{
public
void
ClearField
(
FieldDescriptor
field
)
{
fields
.
Remove
(
field
);
fields
.
Remove
(
field
);
...
@@ -495,10 +495,10 @@ namespace Google.ProtocolBuffers {
...
@@ -495,10 +495,10 @@ namespace Google.ProtocolBuffers {
}
}
}
else
if
(
field
.
MappedType
==
MappedType
.
Message
&&
existingValue
!=
null
)
{
}
else
if
(
field
.
MappedType
==
MappedType
.
Message
&&
existingValue
!=
null
)
{
IMessage
existingMessage
=
(
IMessage
)
existingValue
;
IMessage
existingMessage
=
(
IMessage
)
existingValue
;
IMessage
merged
=
existingMessage
.
CreateBuilderForType
()
IMessage
merged
=
existingMessage
.
Weak
CreateBuilderForType
()
.
MergeFrom
(
existingMessage
)
.
Weak
MergeFrom
(
existingMessage
)
.
MergeFrom
((
IMessage
)
entry
.
Value
)
.
WeakMergeFrom
((
IMessage
)
entry
.
Value
)
.
Build
();
.
Weak
Build
();
this
[
field
]
=
merged
;
this
[
field
]
=
merged
;
}
else
{
}
else
{
this
[
field
]
=
entry
.
Value
;
this
[
field
]
=
entry
.
Value
;
...
...
csharp/ProtocolBuffers/GeneratedBuilder.cs
View file @
f26f8dce
...
@@ -13,9 +13,9 @@ namespace Google.ProtocolBuffers {
...
@@ -13,9 +13,9 @@ namespace Google.ProtocolBuffers {
/// most of the IBuilder interface using reflection. Users can ignore this class
/// most of the IBuilder interface using reflection. Users can ignore this class
/// as an implementation detail.
/// as an implementation detail.
/// </summary>
/// </summary>
public
abstract
class
GeneratedBuilder
<
TMessage
,
TBuilder
>
:
AbstractBuilder
,
IBuilder
<
TMessage
>
public
abstract
class
GeneratedBuilder
<
TMessage
,
TBuilder
>
:
AbstractBuilder
<
TMessage
,
TBuilder
>
where
TMessage
:
GeneratedMessage
<
TMessage
,
TBuilder
>
where
TMessage
:
GeneratedMessage
<
TMessage
,
TBuilder
>
where
TBuilder
:
GeneratedBuilder
<
TMessage
,
TBuilder
>
,
IBuilder
<
TMessage
>
{
where
TBuilder
:
GeneratedBuilder
<
TMessage
,
TBuilder
>
{
/// <summary>
/// <summary>
/// Returns the message being built at the moment.
/// Returns the message being built at the moment.
...
@@ -43,7 +43,7 @@ namespace Google.ProtocolBuffers {
...
@@ -43,7 +43,7 @@ namespace Google.ProtocolBuffers {
:
MessageBeingBuilt
[
field
];
:
MessageBeingBuilt
[
field
];
}
}
set
{
set
{
InternalFieldAccessors
[
field
].
SetValue
(
this
,
value
);
InternalFieldAccessors
[
field
].
SetValue
(
ThisBuilder
,
value
);
}
}
}
}
...
@@ -87,40 +87,16 @@ namespace Google.ProtocolBuffers {
...
@@ -87,40 +87,16 @@ namespace Google.ProtocolBuffers {
return
MessageBeingBuilt
.
HasField
(
field
);
return
MessageBeingBuilt
.
HasField
(
field
);
}
}
protected
override
IMessage
BuildImpl
()
{
return
Build
();
}
protected
override
IMessage
BuildPartialImpl
()
{
return
BuildPartial
();
}
protected
override
IBuilder
CloneImpl
()
{
return
Clone
();
}
protected
override
IMessage
DefaultInstanceForTypeImpl
{
get
{
return
DefaultInstanceForType
;
}
}
public
override
IBuilder
CreateBuilderForField
(
FieldDescriptor
field
)
{
public
override
IBuilder
CreateBuilderForField
(
FieldDescriptor
field
)
{
return
InternalFieldAccessors
[
field
].
CreateBuilder
();
return
InternalFieldAccessors
[
field
].
CreateBuilder
();
}
}
protected
override
IBuilder
ClearFieldImpl
(
FieldDescriptor
field
)
{
public
override
TBuilder
ClearField
(
FieldDescriptor
field
)
{
return
ClearField
(
field
);
}
protected
override
IBuilder
AddRepeatedFieldImpl
(
FieldDescriptor
field
,
object
value
)
{
return
AddRepeatedField
(
field
,
value
);
}
public
virtual
IBuilder
<
TMessage
>
ClearField
(
FieldDescriptor
field
)
{
InternalFieldAccessors
[
field
].
Clear
(
this
);
InternalFieldAccessors
[
field
].
Clear
(
this
);
return
this
;
return
ThisBuilder
;
}
}
public
virtual
IBuilder
<
TMessage
>
MergeFrom
(
TMessage
other
)
{
public
override
TBuilder
MergeFrom
(
TMessage
other
)
{
if
(
other
.
DescriptorForType
!=
InternalFieldAccessors
.
Descriptor
)
{
if
(
other
.
DescriptorForType
!=
InternalFieldAccessors
.
Descriptor
)
{
throw
new
ArgumentException
(
"Message type mismatch"
);
throw
new
ArgumentException
(
"Message type mismatch"
);
}
}
...
@@ -135,75 +111,29 @@ namespace Google.ProtocolBuffers {
...
@@ -135,75 +111,29 @@ namespace Google.ProtocolBuffers {
}
else
if
(
field
.
MappedType
==
MappedType
.
Message
&&
HasField
(
field
))
{
}
else
if
(
field
.
MappedType
==
MappedType
.
Message
&&
HasField
(
field
))
{
// Merge singular embedded messages
// Merge singular embedded messages
IMessage
oldValue
=
(
IMessage
)
this
[
field
];
IMessage
oldValue
=
(
IMessage
)
this
[
field
];
this
[
field
]
=
oldValue
.
CreateBuilderForType
()
this
[
field
]
=
oldValue
.
Weak
CreateBuilderForType
()
.
MergeFrom
(
oldValue
)
.
Weak
MergeFrom
(
oldValue
)
.
MergeFrom
((
IMessage
)
entry
.
Value
)
.
Weak
MergeFrom
((
IMessage
)
entry
.
Value
)
.
BuildPartial
();
.
Weak
BuildPartial
();
}
else
{
}
else
{
// Just overwrite
// Just overwrite
this
[
field
]
=
entry
.
Value
;
this
[
field
]
=
entry
.
Value
;
}
}
}
}
return
this
;
return
ThisBuilder
;
}
}
public
virtual
IBuilder
<
TMessage
>
MergeUnknownFields
(
UnknownFieldSet
unknownFields
)
{
public
override
TBuilder
MergeUnknownFields
(
UnknownFieldSet
unknownFields
)
{
TMessage
result
=
MessageBeingBuilt
;
TMessage
result
=
MessageBeingBuilt
;
result
.
SetUnknownFields
(
UnknownFieldSet
.
CreateBuilder
(
result
.
UnknownFields
)
result
.
SetUnknownFields
(
UnknownFieldSet
.
CreateBuilder
(
result
.
UnknownFields
)
.
MergeFrom
(
unknownFields
)
.
MergeFrom
(
unknownFields
)
.
Build
());
.
Build
());
return
this
;
return
ThisBuilder
;
}
}
public
virtual
IBuilder
<
TMessage
>
AddRepeatedField
(
FieldDescriptor
field
,
object
value
)
{
public
override
TBuilder
AddRepeatedField
(
FieldDescriptor
field
,
object
value
)
{
InternalFieldAccessors
[
field
].
AddRepeated
(
this
,
value
);
InternalFieldAccessors
[
field
].
AddRepeated
(
this
,
value
);
return
this
;
return
ThisBuilder
;
}
public
IBuilder
<
TMessage
>
MergeFrom
(
ByteString
data
)
{
((
IBuilder
)
this
).
MergeFrom
(
data
);
return
this
;
}
public
IBuilder
<
TMessage
>
MergeFrom
(
ByteString
data
,
ExtensionRegistry
extensionRegistry
)
{
((
IBuilder
)
this
).
MergeFrom
(
data
,
extensionRegistry
);
return
this
;
}
public
IBuilder
<
TMessage
>
MergeFrom
(
byte
[]
data
)
{
((
IBuilder
)
this
).
MergeFrom
(
data
);
return
this
;
}
public
IBuilder
<
TMessage
>
MergeFrom
(
byte
[]
data
,
ExtensionRegistry
extensionRegistry
)
{
((
IBuilder
)
this
).
MergeFrom
(
data
,
extensionRegistry
);
return
this
;
}
public
IBuilder
<
TMessage
>
MergeFrom
(
Stream
input
)
{
((
IBuilder
)
this
).
MergeFrom
(
input
);
return
this
;
}
public
IBuilder
<
TMessage
>
MergeFrom
(
Stream
input
,
ExtensionRegistry
extensionRegistry
)
{
((
IBuilder
)
this
).
MergeFrom
(
input
,
extensionRegistry
);
return
this
;
}
/// <summary>
/// Overridden when optimized for speed.
/// </summary>
public
virtual
IBuilder
<
TMessage
>
MergeFrom
(
CodedInputStream
input
)
{
((
IBuilder
)
this
).
MergeFrom
(
input
);
return
this
;
}
/// <summary>
/// Overridden when optimized for speed.
/// </summary>
public
virtual
IBuilder
<
TMessage
>
MergeFrom
(
CodedInputStream
input
,
ExtensionRegistry
extensionRegistry
)
{
((
IBuilder
)
this
).
MergeFrom
(
input
,
extensionRegistry
);
return
this
;
}
}
/// <summary>
/// <summary>
...
@@ -219,10 +149,10 @@ namespace Google.ProtocolBuffers {
...
@@ -219,10 +149,10 @@ namespace Google.ProtocolBuffers {
}
}
/// <summary>
/// <summary>
/// Implementation of <see cref="IBuilder{T}.Build" />.
/// Implementation of <see cref="IBuilder{T
Message, TBuilder
}.Build" />.
/// TODO(jonskeet): This used to be generated for each class. Find out why.
/// TODO(jonskeet): This used to be generated for each class. Find out why.
/// </summary>
/// </summary>
public
TMessage
Build
()
{
public
override
TMessage
Build
()
{
if
(!
IsInitialized
)
{
if
(!
IsInitialized
)
{
throw
new
UninitializedMessageException
(
MessageBeingBuilt
);
throw
new
UninitializedMessageException
(
MessageBeingBuilt
);
}
}
...
@@ -233,13 +163,5 @@ namespace Google.ProtocolBuffers {
...
@@ -233,13 +163,5 @@ namespace Google.ProtocolBuffers {
get
{
return
MessageBeingBuilt
.
UnknownFields
;
}
get
{
return
MessageBeingBuilt
.
UnknownFields
;
}
set
{
MessageBeingBuilt
.
SetUnknownFields
(
value
);
}
set
{
MessageBeingBuilt
.
SetUnknownFields
(
value
);
}
}
}
public
abstract
TMessage
BuildPartial
();
public
abstract
IBuilder
<
TMessage
>
Clone
();
public
abstract
new
IBuilder
<
TMessage
>
Clear
();
public
abstract
TMessage
DefaultInstanceForType
{
get
;
}
public
abstract
class
ExtendableBuilder
:
GeneratedBuilder
<
TMessage
,
TBuilder
>
{
}
}
}
}
}
csharp/ProtocolBuffers/GeneratedExtensionBase.cs
View file @
f26f8dce
...
@@ -29,7 +29,7 @@ namespace Google.ProtocolBuffers {
...
@@ -29,7 +29,7 @@ namespace Google.ProtocolBuffers {
/// The interface implemented by both GeneratedException and GeneratedRepeatException,
/// The interface implemented by both GeneratedException and GeneratedRepeatException,
/// to make it easier to cope with repeats separately.
/// to make it easier to cope with repeats separately.
/// </remarks>
/// </remarks>
public
abstract
class
GeneratedExtensionBase
<
T
Container
,
T
Extension
>
{
public
abstract
class
GeneratedExtensionBase
<
TExtension
>
{
private
readonly
FieldDescriptor
descriptor
;
private
readonly
FieldDescriptor
descriptor
;
private
readonly
IMessage
messageDefaultInstance
;
private
readonly
IMessage
messageDefaultInstance
;
...
@@ -73,8 +73,8 @@ namespace Google.ProtocolBuffers {
...
@@ -73,8 +73,8 @@ namespace Google.ProtocolBuffers {
// GeneratedExtension manually and gives it a different type.
// GeneratedExtension manually and gives it a different type.
// This should not happen in normal use. But, to be nice, we'll
// This should not happen in normal use. But, to be nice, we'll
// copy the message to whatever type the caller was expecting.
// copy the message to whatever type the caller was expecting.
return
MessageDefaultInstance
.
CreateBuilderForType
()
return
MessageDefaultInstance
.
Weak
CreateBuilderForType
()
.
MergeFrom
((
IMessage
)
value
).
Build
();
.
WeakMergeFrom
((
IMessage
)
value
).
Weak
Build
();
}
}
case
MappedType
.
Enum
:
case
MappedType
.
Enum
:
// Just return a boxed int - that can be unboxed to the enum
// Just return a boxed int - that can be unboxed to the enum
...
...
csharp/ProtocolBuffers/GeneratedMessage.cs
View file @
f26f8dce
...
@@ -13,9 +13,9 @@ namespace Google.ProtocolBuffers {
...
@@ -13,9 +13,9 @@ namespace Google.ProtocolBuffers {
/// most of the IMessage interface using reflection. Users
/// most of the IMessage interface using reflection. Users
/// can ignore this class as an implementation detail.
/// can ignore this class as an implementation detail.
/// </summary>
/// </summary>
public
abstract
class
GeneratedMessage
<
TMessage
,
TBuilder
>
:
AbstractMessage
,
IMessage
<
TMessage
>
public
abstract
class
GeneratedMessage
<
TMessage
,
TBuilder
>
:
AbstractMessage
<
TMessage
,
TBuilder
>
where
TMessage
:
GeneratedMessage
<
TMessage
,
TBuilder
>
where
TMessage
:
GeneratedMessage
<
TMessage
,
TBuilder
>
where
TBuilder
:
IBuilder
<
TMessage
>
{
where
TBuilder
:
GeneratedBuilder
<
TMessage
,
TBuilder
>
{
private
UnknownFieldSet
unknownFields
=
UnknownFieldSet
.
DefaultInstance
;
private
UnknownFieldSet
unknownFields
=
UnknownFieldSet
.
DefaultInstance
;
...
@@ -29,18 +29,6 @@ namespace Google.ProtocolBuffers {
...
@@ -29,18 +29,6 @@ namespace Google.ProtocolBuffers {
get
{
return
InternalFieldAccessors
.
Descriptor
;
}
get
{
return
InternalFieldAccessors
.
Descriptor
;
}
}
}
protected
override
IMessage
DefaultInstanceForTypeImpl
{
get
{
return
DefaultInstanceForType
;
}
}
protected
override
IBuilder
CreateBuilderForTypeImpl
()
{
return
CreateBuilderForType
();
}
public
abstract
TMessage
DefaultInstanceForType
{
get
;
}
public
abstract
IBuilder
<
TMessage
>
CreateBuilderForType
();
internal
IDictionary
<
FieldDescriptor
,
Object
>
GetMutableFieldMap
()
{
internal
IDictionary
<
FieldDescriptor
,
Object
>
GetMutableFieldMap
()
{
// Use a SortedList so we'll end up serializing fields in order
// Use a SortedList so we'll end up serializing fields in order
...
...
csharp/ProtocolBuffers/GeneratedRepeatException.cs
View file @
f26f8dce
...
@@ -7,15 +7,15 @@ namespace Google.ProtocolBuffers {
...
@@ -7,15 +7,15 @@ namespace Google.ProtocolBuffers {
/// <summary>
/// <summary>
/// Class used to represent repeat extensions in generated classes.
/// Class used to represent repeat extensions in generated classes.
/// </summary>
/// </summary>
public
class
GeneratedRepeatExtension
<
T
Container
,
TExtensionElement
>
:
GeneratedExtensionBase
<
TContainer
,
IList
<
TExtensionElement
>>
{
public
class
GeneratedRepeatExtension
<
T
ExtensionElement
>
:
GeneratedExtensionBase
<
IList
<
TExtensionElement
>>
{
private
GeneratedRepeatExtension
(
FieldDescriptor
field
)
:
base
(
field
,
typeof
(
TExtensionElement
))
{
private
GeneratedRepeatExtension
(
FieldDescriptor
field
)
:
base
(
field
,
typeof
(
TExtensionElement
))
{
}
}
public
static
GeneratedExtensionBase
<
TContainer
,
IList
<
TExtensionElement
>>
CreateInstance
(
FieldDescriptor
descriptor
)
{
public
static
GeneratedExtensionBase
<
IList
<
TExtensionElement
>>
CreateInstance
(
FieldDescriptor
descriptor
)
{
if
(!
descriptor
.
IsRepeated
)
{
if
(!
descriptor
.
IsRepeated
)
{
throw
new
ArgumentException
(
"Must call GeneratedRepeatExtension.CreateInstance() for repeated types."
);
throw
new
ArgumentException
(
"Must call GeneratedRepeatExtension.CreateInstance() for repeated types."
);
}
}
return
new
GeneratedRepeatExtension
<
T
Container
,
T
ExtensionElement
>(
descriptor
);
return
new
GeneratedRepeatExtension
<
TExtensionElement
>(
descriptor
);
}
}
/// <summary>
/// <summary>
...
...
csharp/ProtocolBuffers/GeneratedSingleExtension.cs
View file @
f26f8dce
...
@@ -6,17 +6,15 @@ namespace Google.ProtocolBuffers {
...
@@ -6,17 +6,15 @@ namespace Google.ProtocolBuffers {
/// <summary>
/// <summary>
/// Generated extension for a singular field.
/// Generated extension for a singular field.
/// </remarks>
/// </remarks>
public
class
GeneratedSingleExtension
<
TContainer
,
TExtension
>
:
GeneratedExtensionBase
<
TContainer
,
TExtension
>
public
class
GeneratedSingleExtension
<
TExtension
>
:
GeneratedExtensionBase
<
TExtension
>
{
where
TContainer
:
IMessage
<
TContainer
>
{
internal
GeneratedSingleExtension
(
FieldDescriptor
descriptor
)
:
base
(
descriptor
,
typeof
(
TExtension
))
{
internal
GeneratedSingleExtension
(
FieldDescriptor
descriptor
)
:
base
(
descriptor
,
typeof
(
TExtension
))
{
}
}
public
static
GeneratedSingleExtension
<
T
Container
,
T
Extension
>
CreateInstance
(
FieldDescriptor
descriptor
)
{
public
static
GeneratedSingleExtension
<
TExtension
>
CreateInstance
(
FieldDescriptor
descriptor
)
{
if
(
descriptor
.
IsRepeated
)
{
if
(
descriptor
.
IsRepeated
)
{
throw
new
ArgumentException
(
"Must call GeneratedRepeateExtension.CreateInstance() for repeated types."
);
throw
new
ArgumentException
(
"Must call GeneratedRepeateExtension.CreateInstance() for repeated types."
);
}
}
return
new
GeneratedSingleExtension
<
T
Container
,
T
Extension
>(
descriptor
);
return
new
GeneratedSingleExtension
<
TExtension
>(
descriptor
);
}
}
public
override
object
FromReflectionType
(
object
value
)
{
public
override
object
FromReflectionType
(
object
value
)
{
...
...
csharp/ProtocolBuffers/IBuilder.cs
View file @
f26f8dce
...
@@ -44,12 +44,18 @@ namespace Google.ProtocolBuffers {
...
@@ -44,12 +44,18 @@ namespace Google.ProtocolBuffers {
/// <summary>
/// <summary>
/// Allows getting and setting of a field.
/// Allows getting and setting of a field.
/// <see cref="IMessage{T}.Item(FieldDescriptor)"/>
/// <see cref="IMessage{T
Message, TBuilder
}.Item(FieldDescriptor)"/>
/// </summary>
/// </summary>
/// <param name="field"></param>
/// <param name="field"></param>
/// <returns></returns>
/// <returns></returns>
object
this
[
FieldDescriptor
field
]
{
get
;
set
;
}
object
this
[
FieldDescriptor
field
]
{
get
;
set
;
}
/// <summary>
/// Get the message's type's descriptor.
/// <see cref="IMessage{TMessage, TBuilder}.DescriptorForType"/>
/// </summary>
MessageDescriptor
DescriptorForType
{
get
;
}
/// <summary>
/// <summary>
/// Only present in the nongeneric interface - useful for tests, but
/// Only present in the nongeneric interface - useful for tests, but
/// not as much in real life.
/// not as much in real life.
...
@@ -63,13 +69,7 @@ namespace Google.ProtocolBuffers {
...
@@ -63,13 +69,7 @@ namespace Google.ProtocolBuffers {
IBuilder
SetRepeatedField
(
FieldDescriptor
field
,
int
index
,
object
value
);
IBuilder
SetRepeatedField
(
FieldDescriptor
field
,
int
index
,
object
value
);
/// <summary>
/// <summary>
/// Get the message's type's descriptor.
/// <see cref="IMessage{TMessage, TBuilder}.GetRepeatedFieldCount"/>
/// <see cref="IMessage{T}.DescriptorForType"/>
/// </summary>
MessageDescriptor
DescriptorForType
{
get
;
}
/// <summary>
/// <see cref="IMessage{T}.GetRepeatedFieldCount"/>
/// </summary>
/// </summary>
/// <param name="field"></param>
/// <param name="field"></param>
/// <returns></returns>
/// <returns></returns>
...
@@ -77,39 +77,40 @@ namespace Google.ProtocolBuffers {
...
@@ -77,39 +77,40 @@ namespace Google.ProtocolBuffers {
/// <summary>
/// <summary>
/// Allows getting and setting of a repeated field value.
/// Allows getting and setting of a repeated field value.
/// <see cref="IMessage{T}.Item(FieldDescriptor, int)"/>
/// <see cref="IMessage{T
Message, TBuilder
}.Item(FieldDescriptor, int)"/>
/// </summary>
/// </summary>
object
this
[
FieldDescriptor
field
,
int
index
]
{
get
;
set
;
}
object
this
[
FieldDescriptor
field
,
int
index
]
{
get
;
set
;
}
/// <summary>
/// <summary>
/// <see cref="IMessage{T}.HasField"/>
/// <see cref="IMessage{T
Message, TBuilder
}.HasField"/>
/// </summary>
/// </summary>
bool
HasField
(
FieldDescriptor
field
);
bool
HasField
(
FieldDescriptor
field
);
/// <summary>
/// <summary>
/// <see cref="IMessage{T}.UnknownFields"/>
/// <see cref="IMessage{T
Message, TBuilder
}.UnknownFields"/>
/// </summary>
/// </summary>
UnknownFieldSet
UnknownFields
{
get
;
set
;
}
UnknownFieldSet
UnknownFields
{
get
;
set
;
}
#
region
Non
-
generic
versions
of
generic
methods
in
IBuilder
<
T
>
/// <summary>
IBuilder
Clear
();
/// Create a builder for messages of the appropriate type for the given field.
IBuilder
MergeFrom
(
IMessage
other
);
/// Messages built with this can then be passed to the various mutation properties
IMessage
Build
();
/// and methods.
IMessage
BuildPartial
();
/// </summary>
IBuilder
Clone
();
IBuilder
MergeFrom
(
CodedInputStream
input
);
IBuilder
MergeFrom
(
CodedInputStream
codedInputStream
,
ExtensionRegistry
extensionRegistry
);
IMessage
DefaultInstanceForType
{
get
;
}
IBuilder
CreateBuilderForField
(
FieldDescriptor
field
);
IBuilder
CreateBuilderForField
(
FieldDescriptor
field
);
IBuilder
ClearField
(
FieldDescriptor
field
);
IBuilder
AddRepeatedField
(
FieldDescriptor
field
,
object
value
);
#
region
Methods
which
are
like
those
of
the
generic
form
,
but
without
any
knowledge
of
the
type
parameters
IBuilder
MergeUnknownFields
(
UnknownFieldSet
unknownFields
);
IBuilder
WeakAddRepeatedField
(
FieldDescriptor
field
,
object
value
);
IBuilder
MergeFrom
(
ByteString
data
);
IBuilder
WeakClear
();
IBuilder
MergeFrom
(
ByteString
data
,
ExtensionRegistry
extensionRegistry
);
IBuilder
WeakClearField
(
FieldDescriptor
field
);
IBuilder
MergeFrom
(
byte
[]
data
);
IBuilder
WeakMergeFrom
(
IMessage
message
);
IBuilder
MergeFrom
(
byte
[]
data
,
ExtensionRegistry
extensionRegistry
);
IBuilder
WeakMergeFrom
(
ByteString
data
);
IBuilder
MergeFrom
(
Stream
input
);
IBuilder
WeakMergeFrom
(
ByteString
data
,
ExtensionRegistry
registry
);
IBuilder
MergeFrom
(
Stream
input
,
ExtensionRegistry
extensionRegistry
);
IBuilder
WeakMergeFrom
(
CodedInputStream
input
);
IBuilder
WeakMergeFrom
(
CodedInputStream
input
,
ExtensionRegistry
registry
);
IMessage
WeakBuild
();
IMessage
WeakBuildPartial
();
IBuilder
WeakClone
();
IMessage
WeakDefaultInstanceForType
{
get
;
}
#
endregion
#
endregion
}
}
...
@@ -117,12 +118,15 @@ namespace Google.ProtocolBuffers {
...
@@ -117,12 +118,15 @@ namespace Google.ProtocolBuffers {
/// Interface implemented by Protocol Message builders.
/// Interface implemented by Protocol Message builders.
/// TODO(jonskeet): Consider "SetXXX" methods returning the builder, as well as the properties.
/// TODO(jonskeet): Consider "SetXXX" methods returning the builder, as well as the properties.
/// </summary>
/// </summary>
/// <typeparam name="T">Type of message</typeparam>
/// <typeparam name="TMessage">Type of message</typeparam>
public
interface
IBuilder
<
T
>
:
IBuilder
where
T
:
IMessage
<
T
>
{
/// <typeparam name="TBuilder">Type of builder</typeparam>
public
interface
IBuilder
<
TMessage
,
TBuilder
>
:
IBuilder
where
TMessage
:
IMessage
<
TMessage
,
TBuilder
>
where
TBuilder
:
IBuilder
<
TMessage
,
TBuilder
>
{
/// <summary>
/// <summary>
/// Resets all fields to their default values.
/// Resets all fields to their default values.
/// </summary>
/// </summary>
new
IBuilder
<
T
>
Clear
();
TBuilder
Clear
();
/// <summary>
/// <summary>
/// Merge the specified other message into the message being
/// Merge the specified other message into the message being
...
@@ -137,7 +141,13 @@ namespace Google.ProtocolBuffers {
...
@@ -137,7 +141,13 @@ namespace Google.ProtocolBuffers {
/// </summary>
/// </summary>
/// <param name="other"></param>
/// <param name="other"></param>
/// <returns></returns>
/// <returns></returns>
IBuilder
<
T
>
MergeFrom
(
T
other
);
TBuilder
MergeFrom
(
TMessage
other
);
/// <summary>
/// Merge the specified other message which may be a different implementation of
/// the same message descriptor.
/// </summary>
TBuilder
MergeFrom
(
IMessage
other
);
/// <summary>
/// <summary>
/// Constructs the final message. Once this is called, this Builder instance
/// Constructs the final message. Once this is called, this Builder instance
...
@@ -148,19 +158,19 @@ namespace Google.ProtocolBuffers {
...
@@ -148,19 +158,19 @@ namespace Google.ProtocolBuffers {
/// <exception cref="UninitializedMessageException">the message
/// <exception cref="UninitializedMessageException">the message
/// is missing one or more required fields; use BuildPartial to bypass
/// is missing one or more required fields; use BuildPartial to bypass
/// this check</exception>
/// this check</exception>
new
T
Build
();
TMessage
Build
();
/// <summary>
/// <summary>
/// Like Build(), but does not throw an exception if the message is missing
/// Like Build(), but does not throw an exception if the message is missing
/// required fields. Instead, a partial message is returned.
/// required fields. Instead, a partial message is returned.
/// </summary>
/// </summary>
new
T
BuildPartial
();
TMessage
BuildPartial
();
/// <summary>
/// <summary>
/// Clones this builder.
/// Clones this builder.
/// TODO(jonskeet): Explain depth of clone.
/// TODO(jonskeet): Explain depth of clone.
/// </summary>
/// </summary>
new
IBuilder
<
T
>
Clone
();
TBuilder
Clone
();
/// <summary>
/// <summary>
/// Parses a message of this type from the input and merges it with this
/// Parses a message of this type from the input and merges it with this
...
@@ -181,7 +191,7 @@ namespace Google.ProtocolBuffers {
...
@@ -181,7 +191,7 @@ namespace Google.ProtocolBuffers {
/// Use BuildPartial to build, which ignores missing required fields.
/// Use BuildPartial to build, which ignores missing required fields.
/// </list>
/// </list>
/// </remarks>
/// </remarks>
new
IBuilder
<
T
>
MergeFrom
(
CodedInputStream
input
);
TBuilder
MergeFrom
(
CodedInputStream
input
);
/// <summary>
/// <summary>
/// Like MergeFrom(CodedInputStream), but also parses extensions.
/// Like MergeFrom(CodedInputStream), but also parses extensions.
...
@@ -189,20 +199,13 @@ namespace Google.ProtocolBuffers {
...
@@ -189,20 +199,13 @@ namespace Google.ProtocolBuffers {
/// in <paramref name="extensionRegistry"/>. Extensions not in the registry
/// in <paramref name="extensionRegistry"/>. Extensions not in the registry
/// will be treated as unknown fields.
/// will be treated as unknown fields.
/// </summary>
/// </summary>
new
IBuilder
<
T
>
MergeFrom
(
CodedInputStream
input
,
ExtensionRegistry
extensionRegistry
);
TBuilder
MergeFrom
(
CodedInputStream
input
,
ExtensionRegistry
extensionRegistry
);
/// <summary>
/// <summary>
/// Get's the message's type's default instance.
/// Get's the message's type's default instance.
/// <see cref="IMessage{T}.DefaultInstanceForType" />
/// <see cref="IMessage{TMessage}.DefaultInstanceForType" />
/// </summary>
new
T
DefaultInstanceForType
{
get
;
}
/// <summary>
/// Create a builder for messages of the appropriate type for the given field.
/// Messages built with this can then be passed to the various mutation properties
/// and methods.
/// </summary>
/// </summary>
//new IBuilder<TField> NewBuilderForField<TField>(FieldDescriptor field) where TField : IMessage<TField>;
TMessage
DefaultInstanceForType
{
get
;
}
/// <summary>
/// <summary>
/// Clears the field. This is exactly equivalent to calling the generated
/// Clears the field. This is exactly equivalent to calling the generated
...
@@ -210,7 +213,7 @@ namespace Google.ProtocolBuffers {
...
@@ -210,7 +213,7 @@ namespace Google.ProtocolBuffers {
/// </summary>
/// </summary>
/// <param name="field"></param>
/// <param name="field"></param>
/// <returns></returns>
/// <returns></returns>
new
IBuilder
<
T
>
ClearField
(
FieldDescriptor
field
);
TBuilder
ClearField
(
FieldDescriptor
field
);
/// <summary>
/// <summary>
/// Appends the given value as a new element for the specified repeated field.
/// Appends the given value as a new element for the specified repeated field.
...
@@ -219,12 +222,12 @@ namespace Google.ProtocolBuffers {
...
@@ -219,12 +222,12 @@ namespace Google.ProtocolBuffers {
/// the field does not belong to this builder's type, or the value is
/// the field does not belong to this builder's type, or the value is
/// of the incorrect type
/// of the incorrect type
/// </exception>
/// </exception>
new
IBuilder
<
T
>
AddRepeatedField
(
FieldDescriptor
field
,
object
value
);
TBuilder
AddRepeatedField
(
FieldDescriptor
field
,
object
value
);
/// <summary>
/// <summary>
/// Merge some unknown fields into the set for this message.
/// Merge some unknown fields into the set for this message.
/// </summary>
/// </summary>
new
IBuilder
<
T
>
MergeUnknownFields
(
UnknownFieldSet
unknownFields
);
TBuilder
MergeUnknownFields
(
UnknownFieldSet
unknownFields
);
#
region
Convenience
methods
#
region
Convenience
methods
// TODO(jonskeet): Implement these as extension methods?
// TODO(jonskeet): Implement these as extension methods?
...
@@ -233,28 +236,28 @@ namespace Google.ProtocolBuffers {
...
@@ -233,28 +236,28 @@ namespace Google.ProtocolBuffers {
/// it with the message being built. This is just a small wrapper around
/// it with the message being built. This is just a small wrapper around
/// MergeFrom(CodedInputStream).
/// MergeFrom(CodedInputStream).
/// </summary>
/// </summary>
new
IBuilder
<
T
>
MergeFrom
(
ByteString
data
);
TBuilder
MergeFrom
(
ByteString
data
);
/// <summary>
/// <summary>
/// Parse <paramref name="data"/> as a message of this type and merge
/// Parse <paramref name="data"/> as a message of this type and merge
/// it with the message being built. This is just a small wrapper around
/// it with the message being built. This is just a small wrapper around
/// MergeFrom(CodedInputStream, ExtensionRegistry).
/// MergeFrom(CodedInputStream, ExtensionRegistry).
/// </summary>
/// </summary>
new
IBuilder
<
T
>
MergeFrom
(
ByteString
data
,
ExtensionRegistry
extensionRegistry
);
TBuilder
MergeFrom
(
ByteString
data
,
ExtensionRegistry
extensionRegistry
);
/// <summary>
/// <summary>
/// Parse <paramref name="data"/> as a message of this type and merge
/// Parse <paramref name="data"/> as a message of this type and merge
/// it with the message being built. This is just a small wrapper around
/// it with the message being built. This is just a small wrapper around
/// MergeFrom(CodedInputStream).
/// MergeFrom(CodedInputStream).
/// </summary>
/// </summary>
new
IBuilder
<
T
>
MergeFrom
(
byte
[]
data
);
TBuilder
MergeFrom
(
byte
[]
data
);
/// <summary>
/// <summary>
/// Parse <paramref name="data"/> as a message of this type and merge
/// Parse <paramref name="data"/> as a message of this type and merge
/// it with the message being built. This is just a small wrapper around
/// it with the message being built. This is just a small wrapper around
/// MergeFrom(CodedInputStream, ExtensionRegistry).
/// MergeFrom(CodedInputStream, ExtensionRegistry).
/// </summary>
/// </summary>
new
IBuilder
<
T
>
MergeFrom
(
byte
[]
data
,
ExtensionRegistry
extensionRegistry
);
TBuilder
MergeFrom
(
byte
[]
data
,
ExtensionRegistry
extensionRegistry
);
/// <summary>
/// <summary>
/// Parse <paramref name="input"/> as a message of this type and merge
/// Parse <paramref name="input"/> as a message of this type and merge
...
@@ -265,14 +268,14 @@ namespace Google.ProtocolBuffers {
...
@@ -265,14 +268,14 @@ namespace Google.ProtocolBuffers {
/// stream which limits reading. Despite usually reading the entire
/// stream which limits reading. Despite usually reading the entire
/// stream, this method never closes the stream.
/// stream, this method never closes the stream.
/// </summary>
/// </summary>
new
IBuilder
<
T
>
MergeFrom
(
Stream
input
);
TBuilder
MergeFrom
(
Stream
input
);
/// <summary>
/// <summary>
/// Parse <paramref name="input"/> as a message of this type and merge
/// Parse <paramref name="input"/> as a message of this type and merge
/// it with the message being built. This is just a small wrapper around
/// it with the message being built. This is just a small wrapper around
/// MergeFrom(CodedInputStream, ExtensionRegistry).
/// MergeFrom(CodedInputStream, ExtensionRegistry).
/// </summary>
/// </summary>
new
IBuilder
<
T
>
MergeFrom
(
Stream
input
,
ExtensionRegistry
extensionRegistry
);
TBuilder
MergeFrom
(
Stream
input
,
ExtensionRegistry
extensionRegistry
);
#
endregion
#
endregion
}
}
}
}
csharp/ProtocolBuffers/IMessage.cs
View file @
f26f8dce
...
@@ -21,11 +21,8 @@ using Google.ProtocolBuffers.Descriptors;
...
@@ -21,11 +21,8 @@ using Google.ProtocolBuffers.Descriptors;
namespace
Google.ProtocolBuffers
{
namespace
Google.ProtocolBuffers
{
/// <summary>
/// <summary>
/// Non-generic interface implemented by all Protocol Buffers messages.
/// Non-generic interface used for all parts of the API which don't require
/// Some members are repeated in the generic interface but with a
/// any type knowledge.
/// type-specific signature. Type-safe implementations
/// are encouraged to implement these non-generic members explicitly,
/// and the generic members implicitly.
/// </summary>
/// </summary>
public
interface
IMessage
{
public
interface
IMessage
{
/// <summary>
/// <summary>
...
@@ -152,27 +149,17 @@ namespace Google.ProtocolBuffers {
...
@@ -152,27 +149,17 @@ namespace Google.ProtocolBuffers {
void
WriteTo
(
Stream
output
);
void
WriteTo
(
Stream
output
);
#
endregion
#
endregion
#
region
Weakly
typed
members
/// <summary>
/// <summary>
/// Returns an instance of this message type with all fields set to
/// Creates a builder for the type, but in a weakly typed manner. This
/// their default values. This may or may not be a singleton. This differs
/// is typically implemented by strongly typed builders by just returning
/// from the DefaultInstance property of each generated message class in that this
/// the result of CreateBuilderForType.
/// method is an abstract method of IMessage whereas DefaultInstance is
/// a static property of a specific class. They return the same thing.
/// </summary>
/// </summary>
I
Message
DefaultInstanceForType
{
get
;
}
I
Builder
WeakCreateBuilderForType
();
/// <summary>
IMessage
WeakDefaultInstanceForType
{
get
;
}
/// Constructs a new builder for a message of the same type as this message.
/// </summary>
IBuilder
CreateBuilderForType
();
#
endregion
}
}
/// <summary>
public
interface
IMessage
<
TMessage
>
:
IMessage
{
/// Type-safe interface for all generated messages to implement.
/// </summary>
public
interface
IMessage
<
T
>
:
IMessage
where
T
:
IMessage
<
T
>
{
/// <summary>
/// <summary>
/// Returns an instance of this message type with all fields set to
/// Returns an instance of this message type with all fields set to
/// their default values. This may or may not be a singleton. This differs
/// their default values. This may or may not be a singleton. This differs
...
@@ -180,13 +167,20 @@ namespace Google.ProtocolBuffers {
...
@@ -180,13 +167,20 @@ namespace Google.ProtocolBuffers {
/// method is an abstract method of IMessage whereas DefaultInstance is
/// method is an abstract method of IMessage whereas DefaultInstance is
/// a static property of a specific class. They return the same thing.
/// a static property of a specific class. They return the same thing.
/// </summary>
/// </summary>
new
T
DefaultInstanceForType
{
get
;
}
TMessage
DefaultInstanceForType
{
get
;
}
}
/// <summary>
/// Type-safe interface for all generated messages to implement.
/// </summary>
public
interface
IMessage
<
TMessage
,
TBuilder
>
:
IMessage
<
TMessage
>
where
TMessage
:
IMessage
<
TMessage
,
TBuilder
>
where
TBuilder
:
IBuilder
<
TMessage
,
TBuilder
>
{
#
region
Builders
#
region
Builders
/// <summary>
/// <summary>
/// Constructs a new builder for a message of the same type as this message.
/// Constructs a new builder for a message of the same type as this message.
/// </summary>
/// </summary>
new
IBuilder
<
T
>
CreateBuilderForType
();
TBuilder
CreateBuilderForType
();
#
endregion
#
endregion
}
}
}
}
csharp/ProtocolBuffers/InvalidProtocolBufferException.cs
View file @
f26f8dce
...
@@ -67,13 +67,13 @@ namespace Google.ProtocolBuffers {
...
@@ -67,13 +67,13 @@ namespace Google.ProtocolBuffers {
internal
static
InvalidProtocolBufferException
RecursionLimitExceeded
()
{
internal
static
InvalidProtocolBufferException
RecursionLimitExceeded
()
{
return
new
InvalidProtocolBufferException
(
return
new
InvalidProtocolBufferException
(
"Protocol message had too many levels of nesting. May be malicious. "
+
"Protocol message had too many levels of nesting. May be malicious. "
+
"Use CodedInputStream.
s
etRecursionLimit() to increase the depth limit."
);
"Use CodedInputStream.
S
etRecursionLimit() to increase the depth limit."
);
}
}
internal
static
InvalidProtocolBufferException
SizeLimitExceeded
()
{
internal
static
InvalidProtocolBufferException
SizeLimitExceeded
()
{
return
new
InvalidProtocolBufferException
(
return
new
InvalidProtocolBufferException
(
"Protocol message was too large. May be malicious. "
+
"Protocol message was too large. May be malicious. "
+
"Use CodedInputStream.
s
etSizeLimit() to increase the size limit."
);
"Use CodedInputStream.
S
etSizeLimit() to increase the size limit."
);
}
}
}
}
}
}
csharp/ProtocolBuffers/RpcUtil.cs
View file @
f26f8dce
...
@@ -21,12 +21,13 @@ namespace Google.ProtocolBuffers {
...
@@ -21,12 +21,13 @@ namespace Google.ProtocolBuffers {
/// callback is given a message with a different descriptor, an
/// callback is given a message with a different descriptor, an
/// exception will be thrown.
/// exception will be thrown.
/// </summary>
/// </summary>
public
static
Action
<
IMessage
>
GeneralizeCallback
<
T
>(
Action
<
T
>
action
,
T
defaultInstance
)
public
static
Action
<
IMessage
>
GeneralizeCallback
<
TMessage
,
TBuilder
>(
Action
<
TMessage
>
action
,
TMessage
defaultInstance
)
where
T
:
class
,
IMessage
<
T
>
{
where
TMessage
:
class
,
IMessage
<
TMessage
,
TBuilder
>
where
TBuilder
:
IBuilder
<
TMessage
,
TBuilder
>
{
return
message
=>
{
return
message
=>
{
T
castMessage
=
message
as
T
;
T
Message
castMessage
=
message
as
TMessage
;
if
(
castMessage
==
null
)
{
if
(
castMessage
==
null
)
{
castMessage
=
(
T
)
defaultInstance
.
CreateBuilderForType
().
MergeFrom
(
message
).
Build
();
castMessage
=
defaultInstance
.
CreateBuilderForType
().
MergeFrom
(
message
).
Build
();
}
}
action
(
castMessage
);
action
(
castMessage
);
};
};
...
...
csharp/ProtocolBuffers/TextFormat.cs
View file @
f26f8dce
...
@@ -44,6 +44,7 @@ namespace Google.ProtocolBuffers {
...
@@ -44,6 +44,7 @@ namespace Google.ProtocolBuffers {
}
}
private
static
void
Print
(
IMessage
message
,
TextGenerator
generator
)
{
private
static
void
Print
(
IMessage
message
,
TextGenerator
generator
)
{
// TODO(jonskeet): Check why descriptor is never used.
MessageDescriptor
descriptor
=
message
.
DescriptorForType
;
MessageDescriptor
descriptor
=
message
.
DescriptorForType
;
foreach
(
KeyValuePair
<
FieldDescriptor
,
object
>
entry
in
message
.
AllFields
)
{
foreach
(
KeyValuePair
<
FieldDescriptor
,
object
>
entry
in
message
.
AllFields
)
{
PrintField
(
entry
.
Key
,
entry
.
Value
,
generator
);
PrintField
(
entry
.
Key
,
entry
.
Value
,
generator
);
...
...
src/google/protobuf/compiler/csharp/csharp_extension.cc
View file @
f26f8dce
...
@@ -57,12 +57,12 @@ void ExtensionGenerator::Generate(io::Printer* printer) {
...
@@ -57,12 +57,12 @@ void ExtensionGenerator::Generate(io::Printer* printer) {
if
(
descriptor_
->
is_repeated
())
{
if
(
descriptor_
->
is_repeated
())
{
printer
->
Print
(
vars
,
printer
->
Print
(
vars
,
"public static readonly
\r\n
"
"public static readonly
\r\n
"
" pb::GeneratedExtensionBase<
$containing_type$,
scg::IList<$type$>> $name$ =
\r\n
"
" pb::GeneratedExtensionBase<scg::IList<$type$>> $name$ =
\r\n
"
" pb::GeneratedRepeatExtension<$
containing_type$, $
type$>.CreateInstance(Descriptor.Extensions[$index$]);
\r\n
"
);
" pb::GeneratedRepeatExtension<$type$>.CreateInstance(Descriptor.Extensions[$index$]);
\r\n
"
);
}
else
{
}
else
{
printer
->
Print
(
vars
,
printer
->
Print
(
vars
,
"public static readonly pb::GeneratedExtensionBase<$
containing_type$, $
type$> $name$ =
\r\n
"
"public static readonly pb::GeneratedExtensionBase<$type$> $name$ =
\r\n
"
" pb::GeneratedSingleExtension<$
containing_type$, $
type$>.CreateInstance(Descriptor.Extensions[$index$]);
\r\n
"
);
" pb::GeneratedSingleExtension<$type$>.CreateInstance(Descriptor.Extensions[$index$]);
\r\n
"
);
}
}
}
}
...
...
src/google/protobuf/compiler/csharp/csharp_message.cc
View file @
f26f8dce
...
@@ -423,7 +423,7 @@ void MessageGenerator::GenerateSerializeOneExtensionRange(
...
@@ -423,7 +423,7 @@ void MessageGenerator::GenerateSerializeOneExtensionRange(
void
MessageGenerator
::
GenerateBuilder
(
io
::
Printer
*
printer
)
{
void
MessageGenerator
::
GenerateBuilder
(
io
::
Printer
*
printer
)
{
printer
->
Print
(
printer
->
Print
(
"public static Builder CreateBuilder() { return new Builder(); }
\r\n
"
"public static Builder CreateBuilder() { return new Builder(); }
\r\n
"
"public override
IBuilder<$classname$>
CreateBuilderForType() { return new Builder(); }
\r\n
"
"public override
Builder
CreateBuilderForType() { return new Builder(); }
\r\n
"
"public static Builder CreateBuilder($classname$ prototype) {
\r\n
"
"public static Builder CreateBuilder($classname$ prototype) {
\r\n
"
" return (Builder) new Builder().MergeFrom(prototype);
\r\n
"
" return (Builder) new Builder().MergeFrom(prototype);
\r\n
"
"}
\r\n
"
"}
\r\n
"
...
@@ -441,8 +441,14 @@ void MessageGenerator::GenerateBuilder(io::Printer* printer) {
...
@@ -441,8 +441,14 @@ void MessageGenerator::GenerateBuilder(io::Printer* printer) {
"classname"
,
ClassName
(
descriptor_
),
"classname"
,
ClassName
(
descriptor_
),
"access"
,
ClassAccessLevel
(
descriptor_
->
file
()));
"access"
,
ClassAccessLevel
(
descriptor_
->
file
()));
}
}
printer
->
Indent
();
printer
->
Indent
();
printer
->
Print
(
"protected override Builder ThisBuilder {
\r\n
"
" get { return this; }
\r\n
"
"}
\r\n\r\n
"
);
GenerateCommonBuilderMethods
(
printer
);
GenerateCommonBuilderMethods
(
printer
);
if
(
descriptor_
->
file
()
->
options
().
optimize_for
()
==
FileOptions
::
SPEED
)
{
if
(
descriptor_
->
file
()
->
options
().
optimize_for
()
==
FileOptions
::
SPEED
)
{
...
@@ -475,12 +481,12 @@ void MessageGenerator::GenerateCommonBuilderMethods(io::Printer* printer) {
...
@@ -475,12 +481,12 @@ void MessageGenerator::GenerateCommonBuilderMethods(io::Printer* printer) {
" get { return result; }
\r\n
"
" get { return result; }
\r\n
"
"}
\r\n
"
"}
\r\n
"
"
\r\n
"
"
\r\n
"
"public override
IBuilder<$classname$>
Clear() {
\r\n
"
"public override
Builder
Clear() {
\r\n
"
" result = new $classname$();
\r\n
"
" result = new $classname$();
\r\n
"
" return this;
\r\n
"
" return this;
\r\n
"
"}
\r\n
"
"}
\r\n
"
"
\r\n
"
"
\r\n
"
"public override
IBuilder<$classname$>
Clone() {
\r\n
"
"public override
Builder
Clone() {
\r\n
"
" return new Builder().MergeFrom(result);
\r\n
"
" return new Builder().MergeFrom(result);
\r\n
"
"}
\r\n
"
"}
\r\n
"
"
\r\n
"
"
\r\n
"
...
@@ -516,14 +522,14 @@ void MessageGenerator::GenerateCommonBuilderMethods(io::Printer* printer) {
...
@@ -516,14 +522,14 @@ void MessageGenerator::GenerateCommonBuilderMethods(io::Printer* printer) {
// -----------------------------------------------------------------
// -----------------------------------------------------------------
//TODO(jonskeet): Work out what this is really for...
if
(
descriptor_
->
file
()
->
options
().
optimize_for
()
==
FileOptions
::
SPEED
)
{
if
(
descriptor_
->
file
()
->
options
().
optimize_for
()
==
FileOptions
::
SPEED
)
{
printer
->
Print
(
printer
->
Print
(
"protected override IBuilder MergeFromImpl(CodedInputStream data, ExtensionRegistry extensionRegistry) {
\r\n
"
/*
"protected override Builder MergeFrom(CodedInputStream data, ExtensionRegistry extensionRegistry) {\r\n"
" return MergeFrom(data, extensionRegistry);\r\n"
" return MergeFrom(data, extensionRegistry);\r\n"
"}\r\n"
"}\r\n"
"
\r\n
"
"\r\n"
*/
"public override
I
Builder MergeFrom(pb::IMessage other) {
\r\n
"
"public override Builder MergeFrom(pb::IMessage other) {
\r\n
"
" if (other is $classname$) {
\r\n
"
" if (other is $classname$) {
\r\n
"
" return MergeFrom(($classname$) other);
\r\n
"
" return MergeFrom(($classname$) other);
\r\n
"
" } else {
\r\n
"
" } else {
\r\n
"
...
@@ -532,7 +538,7 @@ void MessageGenerator::GenerateCommonBuilderMethods(io::Printer* printer) {
...
@@ -532,7 +538,7 @@ void MessageGenerator::GenerateCommonBuilderMethods(io::Printer* printer) {
" }
\r\n
"
" }
\r\n
"
"}
\r\n
"
"}
\r\n
"
"
\r\n
"
"
\r\n
"
"public override
IBuilder<$classname$>
MergeFrom($classname$ other) {
\r\n
"
"public override
Builder
MergeFrom($classname$ other) {
\r\n
"
// Optimization: If other is the default instance, we know none of its
// Optimization: If other is the default instance, we know none of its
// fields are set so we can skip the merge.
// fields are set so we can skip the merge.
" if (other == $classname$.DefaultInstance) return this;
\r\n
"
,
" if (other == $classname$.DefaultInstance) return this;
\r\n
"
,
...
@@ -559,11 +565,11 @@ void MessageGenerator::GenerateBuilderParsingMethods(io::Printer* printer) {
...
@@ -559,11 +565,11 @@ void MessageGenerator::GenerateBuilderParsingMethods(io::Printer* printer) {
SortFieldsByNumber
(
descriptor_
));
SortFieldsByNumber
(
descriptor_
));
printer
->
Print
(
printer
->
Print
(
"public override
IBuilder<$classname$>
MergeFrom(pb::CodedInputStream input) {
\r\n
"
"public override
Builder
MergeFrom(pb::CodedInputStream input) {
\r\n
"
" return MergeFrom(input, pb::ExtensionRegistry.Empty);
\r\n
"
" return MergeFrom(input, pb::ExtensionRegistry.Empty);
\r\n
"
"}
\r\n
"
"}
\r\n
"
"
\r\n
"
"
\r\n
"
"public override
IBuilder<$classname$>
MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
\r\n
"
,
"public override
Builder
MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
\r\n
"
,
"classname"
,
ClassName
(
descriptor_
));
"classname"
,
ClassName
(
descriptor_
));
printer
->
Indent
();
printer
->
Indent
();
...
...
src/google/protobuf/compiler/csharp/csharp_service.cc
View file @
f26f8dce
...
@@ -199,7 +199,7 @@ void ServiceGenerator::GenerateStub(io::Printer* printer) {
...
@@ -199,7 +199,7 @@ void ServiceGenerator::GenerateStub(io::Printer* printer) {
" controller,
\r\n
"
" controller,
\r\n
"
" request,
\r\n
"
" request,
\r\n
"
" $output$.DefaultInstance,
\r\n
"
" $output$.DefaultInstance,
\r\n
"
" pb::RpcUtil.GeneralizeCallback(done, $output$.DefaultInstance));
\r\n
"
" pb::RpcUtil.GeneralizeCallback
<$output$, $output$.Builder>
(done, $output$.DefaultInstance));
\r\n
"
"}
\r\n
"
);
"}
\r\n
"
);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment