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
50a89c1c
Commit
50a89c1c
authored
Aug 12, 2011
by
csharptest
Committed by
rogerk
Aug 12, 2011
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed removal of all '_' from names, Added unit test.
parent
c7b23c17
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
884 additions
and
11 deletions
+884
-11
build.csproj
build/build.csproj
+4
-0
unittest_issues.proto
protos/extest/unittest_issues.proto
+82
-0
ProtocolBuffers.Test.csproj
src/ProtocolBuffers.Test/ProtocolBuffers.Test.csproj
+1
-0
UnitTestExtrasIssuesProtoFile.cs
...lBuffers.Test/TestProtos/UnitTestExtrasIssuesProtoFile.cs
+789
-0
NameHelpers.cs
src/ProtocolBuffers/NameHelpers.cs
+2
-2
ProtocolBuffers2008.sln
src/ProtocolBuffers2008.sln
+6
-9
No files found.
build/build.csproj
View file @
50a89c1c
...
...
@@ -36,6 +36,7 @@
<WorkingDirectories
Include=
"$(BuildTempDirectory)"
/>
<WorkingDirectories
Include=
"$(BuildOutputDirectory)"
/>
<Protos
Include=
"$(ProtosDirectory)\extest\unittest_issues.proto"
/>
<Protos
Include=
"$(ProtosDirectory)\extest\unittest_extras_full.proto"
/>
<Protos
Include=
"$(ProtosDirectory)\extest\unittest_extras_lite.proto"
/>
<Protos
Include=
"$(ProtosDirectory)\extest\unittest_extras_xmltest.proto"
/>
...
...
@@ -71,6 +72,9 @@
<TargetDirectory>
$(SourceDirectory)\AddressBook
</TargetDirectory>
</GeneratedSource>
<!-- Unit test -->
<GeneratedSource
Include=
"$(BuildTempDirectory)\UnitTestExtrasIssuesProtoFile.cs"
>
<TargetDirectory>
$(SourceDirectory)\ProtocolBuffers.Test\TestProtos
</TargetDirectory>
</GeneratedSource>
<GeneratedSource
Include=
"$(BuildTempDirectory)\UnitTestXmlSerializerTestProtoFile.cs"
>
<TargetDirectory>
$(SourceDirectory)\ProtocolBuffers.Test\TestProtos
</TargetDirectory>
</GeneratedSource>
...
...
protos/extest/unittest_issues.proto
0 → 100644
View file @
50a89c1c
// These proto descriptors have at one time been reported as an issue or defect.
// They are kept here to replicate the issue, and continue to verify the fix.
import
"google/protobuf/csharp_options.proto"
;
// Issue: Non-"Google.Protobuffers" namespace will ensure that protobuffer library types are qualified
option
(
google.protobuf.csharp_file_options
)
.
namespace
=
"UnitTest.Issues.TestProtos"
;
option
(
google.protobuf.csharp_file_options
)
.
umbrella_classname
=
"UnitTestExtrasIssuesProtoFile"
;
package
unittest_issues
;
option
optimize_for
=
SPEED
;
// The following is a representative set of features
/*
enum EnumOptions {
ONE = 0;
TWO = 1;
THREE = 2;
}
message TestBasicChild
{
repeated EnumOptions options = 3;
optional bytes binary = 4;
}
message TestBasicNoFields {
}
message TestBasicRescursive {
optional TestBasicRescursive child = 1;
}
message TestBasicMessage {
optional int64 number = 6;
repeated int32 numbers = 2;
optional string text = 3;
repeated string textlines = 700;
optional bool valid = 5;
optional TestBasicChild child = 1;
repeated group Children = 401
{
repeated EnumOptions options = 3;
optional bytes binary = 4;
}
extensions 100 to 199;
}
message TestBasicExtension {
required int32 number = 1;
}
extend TestBasicMessage {
optional EnumOptions extension_enum = 101;
optional string extension_text = 102;
repeated int32 extension_number = 103 [packed = true];
optional TestBasicExtension extension_message = 199;
}
// Issue for non-qualified type reference in new services generation
option (google.protobuf.csharp_file_options).service_generator_type = IRPCDISPATCH;
service TestGenericService {
rpc Foo(TestBasicNoFields) returns (TestBasicMessage);
rpc Bar(TestBasicNoFields) returns (TestBasicMessage);
}
*/
// Issue 13: http://code.google.com/p/protobuf-csharp-port/issues/detail?id=13
message
A
{
optional
int32
_A
=
1
;
}
message
B
{
optional
int32
B_
=
1
;
}
message
AB
{
optional
int32
a_b
=
1
;
}
src/ProtocolBuffers.Test/ProtocolBuffers.Test.csproj
View file @
50a89c1c
...
...
@@ -104,6 +104,7 @@
<Compile
Include=
"TestProtos\UnitTestCustomOptionsProtoFile.cs"
/>
<Compile
Include=
"TestProtos\UnitTestEmbedOptimizeForProtoFile.cs"
/>
<Compile
Include=
"TestProtos\UnitTestEmptyProtoFile.cs"
/>
<Compile
Include=
"TestProtos\UnitTestExtrasIssuesProtoFile.cs"
/>
<Compile
Include=
"TestProtos\UnitTestGenericServices.cs"
/>
<Compile
Include=
"TestProtos\UnitTestGoogleSizeProtoFile.cs"
/>
<Compile
Include=
"TestProtos\UnitTestGoogleSpeedProtoFile.cs"
/>
...
...
src/ProtocolBuffers.Test/TestProtos/UnitTestExtrasIssuesProtoFile.cs
0 → 100644
View file @
50a89c1c
// Generated by ProtoGen, Version=2.3.0.277, Culture=neutral, PublicKeyToken=17b3b1f090c3ea48. DO NOT EDIT!
using
pb
=
global
::
Google
.
ProtocolBuffers
;
using
pbc
=
global
::
Google
.
ProtocolBuffers
.
Collections
;
using
pbd
=
global
::
Google
.
ProtocolBuffers
.
Descriptors
;
using
scg
=
global
::
System
.
Collections
.
Generic
;
namespace
UnitTest.Issues.TestProtos
{
[
global
::
System
.
Diagnostics
.
DebuggerNonUserCodeAttribute
()]
[
global
::
System
.
Runtime
.
CompilerServices
.
CompilerGeneratedAttribute
()]
[
global
::
System
.
CodeDom
.
Compiler
.
GeneratedCodeAttribute
(
"ProtoGen"
,
"2.3.0.277"
)]
public
static
partial
class
UnitTestExtrasIssuesProtoFile
{
#
region
Extension
registration
public
static
void
RegisterAllExtensions
(
pb
::
ExtensionRegistry
registry
)
{
}
#
endregion
#
region
Static
variables
internal
static
pbd
::
MessageDescriptor
internal__static_unittest_issues_A__Descriptor
;
internal
static
pb
::
FieldAccess
.
FieldAccessorTable
<
global
::
UnitTest
.
Issues
.
TestProtos
.
A
,
global
::
UnitTest
.
Issues
.
TestProtos
.
A
.
Builder
>
internal__static_unittest_issues_A__FieldAccessorTable
;
internal
static
pbd
::
MessageDescriptor
internal__static_unittest_issues_B__Descriptor
;
internal
static
pb
::
FieldAccess
.
FieldAccessorTable
<
global
::
UnitTest
.
Issues
.
TestProtos
.
B
,
global
::
UnitTest
.
Issues
.
TestProtos
.
B
.
Builder
>
internal__static_unittest_issues_B__FieldAccessorTable
;
internal
static
pbd
::
MessageDescriptor
internal__static_unittest_issues_AB__Descriptor
;
internal
static
pb
::
FieldAccess
.
FieldAccessorTable
<
global
::
UnitTest
.
Issues
.
TestProtos
.
AB
,
global
::
UnitTest
.
Issues
.
TestProtos
.
AB
.
Builder
>
internal__static_unittest_issues_AB__FieldAccessorTable
;
#
endregion
#
region
Descriptor
public
static
pbd
::
FileDescriptor
Descriptor
{
get
{
return
descriptor
;
}
}
private
static
pbd
::
FileDescriptor
descriptor
;
static
UnitTestExtrasIssuesProtoFile
()
{
byte
[]
descriptorData
=
global
::
System
.
Convert
.
FromBase64String
(
"ChxleHRlc3QvdW5pdHRlc3RfaXNzdWVzLnByb3RvEg91bml0dGVzdF9pc3N1"
+
"ZXMaJGdvb2dsZS9wcm90b2J1Zi9jc2hhcnBfb3B0aW9ucy5wcm90byIPCgFB"
+
"EgoKAl9BGAEgASgFIg8KAUISCgoCQl8YASABKAUiEQoCQUISCwoDYV9iGAEg"
+
"ASgFQkBIAcI+OwoaVW5pdFRlc3QuSXNzdWVzLlRlc3RQcm90b3MSHVVuaXRU"
+
"ZXN0RXh0cmFzSXNzdWVzUHJvdG9GaWxl"
);
pbd
::
FileDescriptor
.
InternalDescriptorAssigner
assigner
=
delegate
(
pbd
::
FileDescriptor
root
)
{
descriptor
=
root
;
internal__static_unittest_issues_A__Descriptor
=
Descriptor
.
MessageTypes
[
0
];
internal__static_unittest_issues_A__FieldAccessorTable
=
new
pb
::
FieldAccess
.
FieldAccessorTable
<
global
::
UnitTest
.
Issues
.
TestProtos
.
A
,
global
::
UnitTest
.
Issues
.
TestProtos
.
A
.
Builder
>(
internal__static_unittest_issues_A__Descriptor
,
new
string
[]
{
"A_"
,
});
internal__static_unittest_issues_B__Descriptor
=
Descriptor
.
MessageTypes
[
1
];
internal__static_unittest_issues_B__FieldAccessorTable
=
new
pb
::
FieldAccess
.
FieldAccessorTable
<
global
::
UnitTest
.
Issues
.
TestProtos
.
B
,
global
::
UnitTest
.
Issues
.
TestProtos
.
B
.
Builder
>(
internal__static_unittest_issues_B__Descriptor
,
new
string
[]
{
"B_"
,
});
internal__static_unittest_issues_AB__Descriptor
=
Descriptor
.
MessageTypes
[
2
];
internal__static_unittest_issues_AB__FieldAccessorTable
=
new
pb
::
FieldAccess
.
FieldAccessorTable
<
global
::
UnitTest
.
Issues
.
TestProtos
.
AB
,
global
::
UnitTest
.
Issues
.
TestProtos
.
AB
.
Builder
>(
internal__static_unittest_issues_AB__Descriptor
,
new
string
[]
{
"AB_"
,
});
pb
::
ExtensionRegistry
registry
=
pb
::
ExtensionRegistry
.
CreateInstance
();
RegisterAllExtensions
(
registry
);
global
::
Google
.
ProtocolBuffers
.
DescriptorProtos
.
CSharpOptions
.
RegisterAllExtensions
(
registry
);
return
registry
;
};
pbd
::
FileDescriptor
.
InternalBuildGeneratedFileFrom
(
descriptorData
,
new
pbd
::
FileDescriptor
[]
{
global
::
Google
.
ProtocolBuffers
.
DescriptorProtos
.
CSharpOptions
.
Descriptor
,
},
assigner
);
}
#
endregion
}
#
region
Messages
[
global
::
System
.
Diagnostics
.
DebuggerNonUserCodeAttribute
()]
[
global
::
System
.
Runtime
.
CompilerServices
.
CompilerGeneratedAttribute
()]
[
global
::
System
.
CodeDom
.
Compiler
.
GeneratedCodeAttribute
(
"ProtoGen"
,
"2.3.0.277"
)]
public
sealed
partial
class
A
:
pb
::
GeneratedMessage
<
A
,
A
.
Builder
>
{
private
static
readonly
A
defaultInstance
=
new
Builder
().
BuildPartial
();
private
static
readonly
string
[]
_aFieldNames
=
new
string
[]
{
"_A"
};
private
static
readonly
uint
[]
_aFieldTags
=
new
uint
[]
{
8
};
public
static
A
DefaultInstance
{
get
{
return
defaultInstance
;
}
}
public
override
A
DefaultInstanceForType
{
get
{
return
defaultInstance
;
}
}
protected
override
A
ThisMessage
{
get
{
return
this
;
}
}
public
static
pbd
::
MessageDescriptor
Descriptor
{
get
{
return
global
::
UnitTest
.
Issues
.
TestProtos
.
UnitTestExtrasIssuesProtoFile
.
internal__static_unittest_issues_A__Descriptor
;
}
}
protected
override
pb
::
FieldAccess
.
FieldAccessorTable
<
A
,
A
.
Builder
>
InternalFieldAccessors
{
get
{
return
global
::
UnitTest
.
Issues
.
TestProtos
.
UnitTestExtrasIssuesProtoFile
.
internal__static_unittest_issues_A__FieldAccessorTable
;
}
}
public
const
int
A_FieldNumber
=
1
;
private
bool
hasA_
;
private
int
a_
;
public
bool
HasA_
{
get
{
return
hasA_
;
}
}
[
global
::
System
.
CLSCompliant
(
false
)]
public
int
A_
{
get
{
return
a_
;
}
}
public
override
bool
IsInitialized
{
get
{
return
true
;
}
}
public
override
void
WriteTo
(
pb
::
ICodedOutputStream
output
)
{
int
size
=
SerializedSize
;
string
[]
field_names
=
_aFieldNames
;
if
(
hasA_
)
{
output
.
WriteInt32
(
1
,
field_names
[
0
],
A_
);
}
UnknownFields
.
WriteTo
(
output
);
}
private
int
memoizedSerializedSize
=
-
1
;
public
override
int
SerializedSize
{
get
{
int
size
=
memoizedSerializedSize
;
if
(
size
!=
-
1
)
return
size
;
size
=
0
;
if
(
hasA_
)
{
size
+=
pb
::
CodedOutputStream
.
ComputeInt32Size
(
1
,
A_
);
}
size
+=
UnknownFields
.
SerializedSize
;
memoizedSerializedSize
=
size
;
return
size
;
}
}
public
static
A
ParseFrom
(
pb
::
ByteString
data
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
)).
BuildParsed
();
}
public
static
A
ParseFrom
(
pb
::
ByteString
data
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
,
extensionRegistry
)).
BuildParsed
();
}
public
static
A
ParseFrom
(
byte
[]
data
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
)).
BuildParsed
();
}
public
static
A
ParseFrom
(
byte
[]
data
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
,
extensionRegistry
)).
BuildParsed
();
}
public
static
A
ParseFrom
(
global
::
System
.
IO
.
Stream
input
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
)).
BuildParsed
();
}
public
static
A
ParseFrom
(
global
::
System
.
IO
.
Stream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
,
extensionRegistry
)).
BuildParsed
();
}
public
static
A
ParseDelimitedFrom
(
global
::
System
.
IO
.
Stream
input
)
{
return
CreateBuilder
().
MergeDelimitedFrom
(
input
).
BuildParsed
();
}
public
static
A
ParseDelimitedFrom
(
global
::
System
.
IO
.
Stream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
CreateBuilder
().
MergeDelimitedFrom
(
input
,
extensionRegistry
).
BuildParsed
();
}
public
static
A
ParseFrom
(
pb
::
ICodedInputStream
input
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
)).
BuildParsed
();
}
public
static
A
ParseFrom
(
pb
::
ICodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
,
extensionRegistry
)).
BuildParsed
();
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
override
Builder
ToBuilder
()
{
return
CreateBuilder
(
this
);
}
public
override
Builder
CreateBuilderForType
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
(
A
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
[
global
::
System
.
Diagnostics
.
DebuggerNonUserCodeAttribute
()]
[
global
::
System
.
Runtime
.
CompilerServices
.
CompilerGeneratedAttribute
()]
[
global
::
System
.
CodeDom
.
Compiler
.
GeneratedCodeAttribute
(
"ProtoGen"
,
"2.3.0.277"
)]
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
A
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
public
Builder
()
{}
A
result
=
new
A
();
protected
override
A
MessageBeingBuilt
{
get
{
return
result
;
}
}
public
override
Builder
Clear
()
{
result
=
new
A
();
return
this
;
}
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
}
public
override
pbd
::
MessageDescriptor
DescriptorForType
{
get
{
return
global
::
UnitTest
.
Issues
.
TestProtos
.
A
.
Descriptor
;
}
}
public
override
A
DefaultInstanceForType
{
get
{
return
global
::
UnitTest
.
Issues
.
TestProtos
.
A
.
DefaultInstance
;
}
}
public
override
A
BuildPartial
()
{
if
(
result
==
null
)
{
throw
new
global
::
System
.
InvalidOperationException
(
"build() has already been called on this Builder"
);
}
A
returnMe
=
result
;
result
=
null
;
return
returnMe
;
}
public
override
Builder
MergeFrom
(
pb
::
IMessage
other
)
{
if
(
other
is
A
)
{
return
MergeFrom
((
A
)
other
);
}
else
{
base
.
MergeFrom
(
other
);
return
this
;
}
}
public
override
Builder
MergeFrom
(
A
other
)
{
if
(
other
==
global
::
UnitTest
.
Issues
.
TestProtos
.
A
.
DefaultInstance
)
return
this
;
if
(
other
.
HasA_
)
{
A_
=
other
.
A_
;
}
this
.
MergeUnknownFields
(
other
.
UnknownFields
);
return
this
;
}
public
override
Builder
MergeFrom
(
pb
::
ICodedInputStream
input
)
{
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
}
public
override
Builder
MergeFrom
(
pb
::
ICodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
null
;
uint
tag
;
string
field_name
;
while
(
input
.
ReadTag
(
out
tag
,
out
field_name
))
{
if
(
tag
==
0
&&
field_name
!=
null
)
{
int
field_ordinal
=
global
::
System
.
Array
.
BinarySearch
(
_aFieldNames
,
field_name
,
global
::
System
.
StringComparer
.
Ordinal
);
if
(
field_ordinal
>=
0
)
tag
=
_aFieldTags
[
field_ordinal
];
else
{
if
(
unknownFields
==
null
)
{
unknownFields
=
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
}
ParseUnknownField
(
input
,
unknownFields
,
extensionRegistry
,
tag
,
field_name
);
continue
;
}
}
switch
(
tag
)
{
case
0
:
{
throw
pb
::
InvalidProtocolBufferException
.
InvalidTag
();
}
default
:
{
if
(
pb
::
WireFormat
.
IsEndGroupTag
(
tag
))
{
if
(
unknownFields
!=
null
)
{
this
.
UnknownFields
=
unknownFields
.
Build
();
}
return
this
;
}
if
(
unknownFields
==
null
)
{
unknownFields
=
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
}
ParseUnknownField
(
input
,
unknownFields
,
extensionRegistry
,
tag
,
field_name
);
break
;
}
case
8
:
{
result
.
hasA_
=
input
.
ReadInt32
(
ref
result
.
a_
);
break
;
}
}
}
if
(
unknownFields
!=
null
)
{
this
.
UnknownFields
=
unknownFields
.
Build
();
}
return
this
;
}
public
bool
HasA_
{
get
{
return
result
.
hasA_
;
}
}
[
global
::
System
.
CLSCompliant
(
false
)]
public
int
A_
{
get
{
return
result
.
A_
;
}
set
{
SetA_
(
value
);
}
}
[
global
::
System
.
CLSCompliant
(
false
)]
public
Builder
SetA_
(
int
value
)
{
result
.
hasA_
=
true
;
result
.
a_
=
value
;
return
this
;
}
public
Builder
ClearA_
()
{
result
.
hasA_
=
false
;
result
.
a_
=
0
;
return
this
;
}
}
static
A
()
{
object
.
ReferenceEquals
(
global
::
UnitTest
.
Issues
.
TestProtos
.
UnitTestExtrasIssuesProtoFile
.
Descriptor
,
null
);
}
}
[
global
::
System
.
Diagnostics
.
DebuggerNonUserCodeAttribute
()]
[
global
::
System
.
Runtime
.
CompilerServices
.
CompilerGeneratedAttribute
()]
[
global
::
System
.
CodeDom
.
Compiler
.
GeneratedCodeAttribute
(
"ProtoGen"
,
"2.3.0.277"
)]
public
sealed
partial
class
B
:
pb
::
GeneratedMessage
<
B
,
B
.
Builder
>
{
private
static
readonly
B
defaultInstance
=
new
Builder
().
BuildPartial
();
private
static
readonly
string
[]
_bFieldNames
=
new
string
[]
{
"B_"
};
private
static
readonly
uint
[]
_bFieldTags
=
new
uint
[]
{
8
};
public
static
B
DefaultInstance
{
get
{
return
defaultInstance
;
}
}
public
override
B
DefaultInstanceForType
{
get
{
return
defaultInstance
;
}
}
protected
override
B
ThisMessage
{
get
{
return
this
;
}
}
public
static
pbd
::
MessageDescriptor
Descriptor
{
get
{
return
global
::
UnitTest
.
Issues
.
TestProtos
.
UnitTestExtrasIssuesProtoFile
.
internal__static_unittest_issues_B__Descriptor
;
}
}
protected
override
pb
::
FieldAccess
.
FieldAccessorTable
<
B
,
B
.
Builder
>
InternalFieldAccessors
{
get
{
return
global
::
UnitTest
.
Issues
.
TestProtos
.
UnitTestExtrasIssuesProtoFile
.
internal__static_unittest_issues_B__FieldAccessorTable
;
}
}
public
const
int
B_FieldNumber
=
1
;
private
bool
hasB_
;
private
int
b_
;
public
bool
HasB_
{
get
{
return
hasB_
;
}
}
public
int
B_
{
get
{
return
b_
;
}
}
public
override
bool
IsInitialized
{
get
{
return
true
;
}
}
public
override
void
WriteTo
(
pb
::
ICodedOutputStream
output
)
{
int
size
=
SerializedSize
;
string
[]
field_names
=
_bFieldNames
;
if
(
hasB_
)
{
output
.
WriteInt32
(
1
,
field_names
[
0
],
B_
);
}
UnknownFields
.
WriteTo
(
output
);
}
private
int
memoizedSerializedSize
=
-
1
;
public
override
int
SerializedSize
{
get
{
int
size
=
memoizedSerializedSize
;
if
(
size
!=
-
1
)
return
size
;
size
=
0
;
if
(
hasB_
)
{
size
+=
pb
::
CodedOutputStream
.
ComputeInt32Size
(
1
,
B_
);
}
size
+=
UnknownFields
.
SerializedSize
;
memoizedSerializedSize
=
size
;
return
size
;
}
}
public
static
B
ParseFrom
(
pb
::
ByteString
data
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
)).
BuildParsed
();
}
public
static
B
ParseFrom
(
pb
::
ByteString
data
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
,
extensionRegistry
)).
BuildParsed
();
}
public
static
B
ParseFrom
(
byte
[]
data
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
)).
BuildParsed
();
}
public
static
B
ParseFrom
(
byte
[]
data
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
,
extensionRegistry
)).
BuildParsed
();
}
public
static
B
ParseFrom
(
global
::
System
.
IO
.
Stream
input
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
)).
BuildParsed
();
}
public
static
B
ParseFrom
(
global
::
System
.
IO
.
Stream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
,
extensionRegistry
)).
BuildParsed
();
}
public
static
B
ParseDelimitedFrom
(
global
::
System
.
IO
.
Stream
input
)
{
return
CreateBuilder
().
MergeDelimitedFrom
(
input
).
BuildParsed
();
}
public
static
B
ParseDelimitedFrom
(
global
::
System
.
IO
.
Stream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
CreateBuilder
().
MergeDelimitedFrom
(
input
,
extensionRegistry
).
BuildParsed
();
}
public
static
B
ParseFrom
(
pb
::
ICodedInputStream
input
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
)).
BuildParsed
();
}
public
static
B
ParseFrom
(
pb
::
ICodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
,
extensionRegistry
)).
BuildParsed
();
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
override
Builder
ToBuilder
()
{
return
CreateBuilder
(
this
);
}
public
override
Builder
CreateBuilderForType
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
(
B
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
[
global
::
System
.
Diagnostics
.
DebuggerNonUserCodeAttribute
()]
[
global
::
System
.
Runtime
.
CompilerServices
.
CompilerGeneratedAttribute
()]
[
global
::
System
.
CodeDom
.
Compiler
.
GeneratedCodeAttribute
(
"ProtoGen"
,
"2.3.0.277"
)]
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
B
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
public
Builder
()
{}
B
result
=
new
B
();
protected
override
B
MessageBeingBuilt
{
get
{
return
result
;
}
}
public
override
Builder
Clear
()
{
result
=
new
B
();
return
this
;
}
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
}
public
override
pbd
::
MessageDescriptor
DescriptorForType
{
get
{
return
global
::
UnitTest
.
Issues
.
TestProtos
.
B
.
Descriptor
;
}
}
public
override
B
DefaultInstanceForType
{
get
{
return
global
::
UnitTest
.
Issues
.
TestProtos
.
B
.
DefaultInstance
;
}
}
public
override
B
BuildPartial
()
{
if
(
result
==
null
)
{
throw
new
global
::
System
.
InvalidOperationException
(
"build() has already been called on this Builder"
);
}
B
returnMe
=
result
;
result
=
null
;
return
returnMe
;
}
public
override
Builder
MergeFrom
(
pb
::
IMessage
other
)
{
if
(
other
is
B
)
{
return
MergeFrom
((
B
)
other
);
}
else
{
base
.
MergeFrom
(
other
);
return
this
;
}
}
public
override
Builder
MergeFrom
(
B
other
)
{
if
(
other
==
global
::
UnitTest
.
Issues
.
TestProtos
.
B
.
DefaultInstance
)
return
this
;
if
(
other
.
HasB_
)
{
B_
=
other
.
B_
;
}
this
.
MergeUnknownFields
(
other
.
UnknownFields
);
return
this
;
}
public
override
Builder
MergeFrom
(
pb
::
ICodedInputStream
input
)
{
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
}
public
override
Builder
MergeFrom
(
pb
::
ICodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
null
;
uint
tag
;
string
field_name
;
while
(
input
.
ReadTag
(
out
tag
,
out
field_name
))
{
if
(
tag
==
0
&&
field_name
!=
null
)
{
int
field_ordinal
=
global
::
System
.
Array
.
BinarySearch
(
_bFieldNames
,
field_name
,
global
::
System
.
StringComparer
.
Ordinal
);
if
(
field_ordinal
>=
0
)
tag
=
_bFieldTags
[
field_ordinal
];
else
{
if
(
unknownFields
==
null
)
{
unknownFields
=
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
}
ParseUnknownField
(
input
,
unknownFields
,
extensionRegistry
,
tag
,
field_name
);
continue
;
}
}
switch
(
tag
)
{
case
0
:
{
throw
pb
::
InvalidProtocolBufferException
.
InvalidTag
();
}
default
:
{
if
(
pb
::
WireFormat
.
IsEndGroupTag
(
tag
))
{
if
(
unknownFields
!=
null
)
{
this
.
UnknownFields
=
unknownFields
.
Build
();
}
return
this
;
}
if
(
unknownFields
==
null
)
{
unknownFields
=
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
}
ParseUnknownField
(
input
,
unknownFields
,
extensionRegistry
,
tag
,
field_name
);
break
;
}
case
8
:
{
result
.
hasB_
=
input
.
ReadInt32
(
ref
result
.
b_
);
break
;
}
}
}
if
(
unknownFields
!=
null
)
{
this
.
UnknownFields
=
unknownFields
.
Build
();
}
return
this
;
}
public
bool
HasB_
{
get
{
return
result
.
hasB_
;
}
}
public
int
B_
{
get
{
return
result
.
B_
;
}
set
{
SetB_
(
value
);
}
}
public
Builder
SetB_
(
int
value
)
{
result
.
hasB_
=
true
;
result
.
b_
=
value
;
return
this
;
}
public
Builder
ClearB_
()
{
result
.
hasB_
=
false
;
result
.
b_
=
0
;
return
this
;
}
}
static
B
()
{
object
.
ReferenceEquals
(
global
::
UnitTest
.
Issues
.
TestProtos
.
UnitTestExtrasIssuesProtoFile
.
Descriptor
,
null
);
}
}
[
global
::
System
.
Diagnostics
.
DebuggerNonUserCodeAttribute
()]
[
global
::
System
.
Runtime
.
CompilerServices
.
CompilerGeneratedAttribute
()]
[
global
::
System
.
CodeDom
.
Compiler
.
GeneratedCodeAttribute
(
"ProtoGen"
,
"2.3.0.277"
)]
public
sealed
partial
class
AB
:
pb
::
GeneratedMessage
<
AB
,
AB
.
Builder
>
{
private
static
readonly
AB
defaultInstance
=
new
Builder
().
BuildPartial
();
private
static
readonly
string
[]
_aBFieldNames
=
new
string
[]
{
"a_b"
};
private
static
readonly
uint
[]
_aBFieldTags
=
new
uint
[]
{
8
};
public
static
AB
DefaultInstance
{
get
{
return
defaultInstance
;
}
}
public
override
AB
DefaultInstanceForType
{
get
{
return
defaultInstance
;
}
}
protected
override
AB
ThisMessage
{
get
{
return
this
;
}
}
public
static
pbd
::
MessageDescriptor
Descriptor
{
get
{
return
global
::
UnitTest
.
Issues
.
TestProtos
.
UnitTestExtrasIssuesProtoFile
.
internal__static_unittest_issues_AB__Descriptor
;
}
}
protected
override
pb
::
FieldAccess
.
FieldAccessorTable
<
AB
,
AB
.
Builder
>
InternalFieldAccessors
{
get
{
return
global
::
UnitTest
.
Issues
.
TestProtos
.
UnitTestExtrasIssuesProtoFile
.
internal__static_unittest_issues_AB__FieldAccessorTable
;
}
}
public
const
int
AB_FieldNumber
=
1
;
private
bool
hasAB_
;
private
int
aB_
;
public
bool
HasAB_
{
get
{
return
hasAB_
;
}
}
public
int
AB_
{
get
{
return
aB_
;
}
}
public
override
bool
IsInitialized
{
get
{
return
true
;
}
}
public
override
void
WriteTo
(
pb
::
ICodedOutputStream
output
)
{
int
size
=
SerializedSize
;
string
[]
field_names
=
_aBFieldNames
;
if
(
hasAB_
)
{
output
.
WriteInt32
(
1
,
field_names
[
0
],
AB_
);
}
UnknownFields
.
WriteTo
(
output
);
}
private
int
memoizedSerializedSize
=
-
1
;
public
override
int
SerializedSize
{
get
{
int
size
=
memoizedSerializedSize
;
if
(
size
!=
-
1
)
return
size
;
size
=
0
;
if
(
hasAB_
)
{
size
+=
pb
::
CodedOutputStream
.
ComputeInt32Size
(
1
,
AB_
);
}
size
+=
UnknownFields
.
SerializedSize
;
memoizedSerializedSize
=
size
;
return
size
;
}
}
public
static
AB
ParseFrom
(
pb
::
ByteString
data
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
)).
BuildParsed
();
}
public
static
AB
ParseFrom
(
pb
::
ByteString
data
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
,
extensionRegistry
)).
BuildParsed
();
}
public
static
AB
ParseFrom
(
byte
[]
data
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
)).
BuildParsed
();
}
public
static
AB
ParseFrom
(
byte
[]
data
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
,
extensionRegistry
)).
BuildParsed
();
}
public
static
AB
ParseFrom
(
global
::
System
.
IO
.
Stream
input
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
)).
BuildParsed
();
}
public
static
AB
ParseFrom
(
global
::
System
.
IO
.
Stream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
,
extensionRegistry
)).
BuildParsed
();
}
public
static
AB
ParseDelimitedFrom
(
global
::
System
.
IO
.
Stream
input
)
{
return
CreateBuilder
().
MergeDelimitedFrom
(
input
).
BuildParsed
();
}
public
static
AB
ParseDelimitedFrom
(
global
::
System
.
IO
.
Stream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
CreateBuilder
().
MergeDelimitedFrom
(
input
,
extensionRegistry
).
BuildParsed
();
}
public
static
AB
ParseFrom
(
pb
::
ICodedInputStream
input
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
)).
BuildParsed
();
}
public
static
AB
ParseFrom
(
pb
::
ICodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
,
extensionRegistry
)).
BuildParsed
();
}
public
static
Builder
CreateBuilder
()
{
return
new
Builder
();
}
public
override
Builder
ToBuilder
()
{
return
CreateBuilder
(
this
);
}
public
override
Builder
CreateBuilderForType
()
{
return
new
Builder
();
}
public
static
Builder
CreateBuilder
(
AB
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
[
global
::
System
.
Diagnostics
.
DebuggerNonUserCodeAttribute
()]
[
global
::
System
.
Runtime
.
CompilerServices
.
CompilerGeneratedAttribute
()]
[
global
::
System
.
CodeDom
.
Compiler
.
GeneratedCodeAttribute
(
"ProtoGen"
,
"2.3.0.277"
)]
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
AB
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
public
Builder
()
{}
AB
result
=
new
AB
();
protected
override
AB
MessageBeingBuilt
{
get
{
return
result
;
}
}
public
override
Builder
Clear
()
{
result
=
new
AB
();
return
this
;
}
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
}
public
override
pbd
::
MessageDescriptor
DescriptorForType
{
get
{
return
global
::
UnitTest
.
Issues
.
TestProtos
.
AB
.
Descriptor
;
}
}
public
override
AB
DefaultInstanceForType
{
get
{
return
global
::
UnitTest
.
Issues
.
TestProtos
.
AB
.
DefaultInstance
;
}
}
public
override
AB
BuildPartial
()
{
if
(
result
==
null
)
{
throw
new
global
::
System
.
InvalidOperationException
(
"build() has already been called on this Builder"
);
}
AB
returnMe
=
result
;
result
=
null
;
return
returnMe
;
}
public
override
Builder
MergeFrom
(
pb
::
IMessage
other
)
{
if
(
other
is
AB
)
{
return
MergeFrom
((
AB
)
other
);
}
else
{
base
.
MergeFrom
(
other
);
return
this
;
}
}
public
override
Builder
MergeFrom
(
AB
other
)
{
if
(
other
==
global
::
UnitTest
.
Issues
.
TestProtos
.
AB
.
DefaultInstance
)
return
this
;
if
(
other
.
HasAB_
)
{
AB_
=
other
.
AB_
;
}
this
.
MergeUnknownFields
(
other
.
UnknownFields
);
return
this
;
}
public
override
Builder
MergeFrom
(
pb
::
ICodedInputStream
input
)
{
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
}
public
override
Builder
MergeFrom
(
pb
::
ICodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
pb
::
UnknownFieldSet
.
Builder
unknownFields
=
null
;
uint
tag
;
string
field_name
;
while
(
input
.
ReadTag
(
out
tag
,
out
field_name
))
{
if
(
tag
==
0
&&
field_name
!=
null
)
{
int
field_ordinal
=
global
::
System
.
Array
.
BinarySearch
(
_aBFieldNames
,
field_name
,
global
::
System
.
StringComparer
.
Ordinal
);
if
(
field_ordinal
>=
0
)
tag
=
_aBFieldTags
[
field_ordinal
];
else
{
if
(
unknownFields
==
null
)
{
unknownFields
=
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
}
ParseUnknownField
(
input
,
unknownFields
,
extensionRegistry
,
tag
,
field_name
);
continue
;
}
}
switch
(
tag
)
{
case
0
:
{
throw
pb
::
InvalidProtocolBufferException
.
InvalidTag
();
}
default
:
{
if
(
pb
::
WireFormat
.
IsEndGroupTag
(
tag
))
{
if
(
unknownFields
!=
null
)
{
this
.
UnknownFields
=
unknownFields
.
Build
();
}
return
this
;
}
if
(
unknownFields
==
null
)
{
unknownFields
=
pb
::
UnknownFieldSet
.
CreateBuilder
(
this
.
UnknownFields
);
}
ParseUnknownField
(
input
,
unknownFields
,
extensionRegistry
,
tag
,
field_name
);
break
;
}
case
8
:
{
result
.
hasAB_
=
input
.
ReadInt32
(
ref
result
.
aB_
);
break
;
}
}
}
if
(
unknownFields
!=
null
)
{
this
.
UnknownFields
=
unknownFields
.
Build
();
}
return
this
;
}
public
bool
HasAB_
{
get
{
return
result
.
hasAB_
;
}
}
public
int
AB_
{
get
{
return
result
.
AB_
;
}
set
{
SetAB_
(
value
);
}
}
public
Builder
SetAB_
(
int
value
)
{
result
.
hasAB_
=
true
;
result
.
aB_
=
value
;
return
this
;
}
public
Builder
ClearAB_
()
{
result
.
hasAB_
=
false
;
result
.
aB_
=
0
;
return
this
;
}
}
static
AB
()
{
object
.
ReferenceEquals
(
global
::
UnitTest
.
Issues
.
TestProtos
.
UnitTestExtrasIssuesProtoFile
.
Descriptor
,
null
);
}
}
#
endregion
}
src/ProtocolBuffers/NameHelpers.cs
View file @
50a89c1c
...
...
@@ -102,12 +102,12 @@ namespace Google.ProtocolBuffers
/// <summary>
/// Similar to UnderlineToCamel, but also matches the first character if it is lower-case
/// </summary>
private
static
Regex
UnderlineToPascal
=
new
Regex
(
@"(?:
^|[0-9_])[a-z]
"
);
private
static
Regex
UnderlineToPascal
=
new
Regex
(
@"(?:
(?:^|[0-9_])[a-z])|_
"
);
/// <summary>
/// Matches lower-case character that follow either an underscore, or a number
/// </summary>
private
static
Regex
UnderlineToCamel
=
new
Regex
(
@"
[0-9_][a-z]
"
);
private
static
Regex
UnderlineToCamel
=
new
Regex
(
@"
(?:[0-9_][a-z])|_
"
);
/// <summary>
/// Used for text-template transformation where a regex match is replaced in the input string.
...
...
src/ProtocolBuffers2008.sln
View file @
50a89c1c
...
...
@@ -23,6 +23,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "unittest", "unittest", "{C8
..\protos\extest\unittest_generic_services.proto = ..\protos\extest\unittest_generic_services.proto
..\protos\google\protobuf\unittest_import.proto = ..\protos\google\protobuf\unittest_import.proto
..\protos\google\protobuf\unittest_import_lite.proto = ..\protos\google\protobuf\unittest_import_lite.proto
..\protos\extest\unittest_issues.proto = ..\protos\extest\unittest_issues.proto
..\protos\google\protobuf\unittest_lite.proto = ..\protos\google\protobuf\unittest_lite.proto
..\protos\google\protobuf\unittest_lite_imports_nonlite.proto = ..\protos\google\protobuf\unittest_lite_imports_nonlite.proto
..\protos\google\protobuf\unittest_mset.proto = ..\protos\google\protobuf\unittest_mset.proto
...
...
@@ -67,7 +68,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{66ED1950
..\build\RunBenchmarks.bat = ..\build\RunBenchmarks.bat
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProtocolBuffers.Serialization", "ProtocolBuffers.Serialization\ProtocolBuffers.Serialization.csproj", "{231391AF-449C-4
a
39-986C-AD7F270F4750}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProtocolBuffers.Serialization", "ProtocolBuffers.Serialization\ProtocolBuffers.Serialization.csproj", "{231391AF-449C-4
A
39-986C-AD7F270F4750}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
...
...
@@ -147,14 +148,10 @@ Global
{EEFFED24-3750-4567-9A23-1DB676A15610}.Release_Silverlight2|Any CPU.ActiveCfg = Release|Any CPU
{EEFFED24-3750-4567-9A23-1DB676A15610}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EEFFED24-3750-4567-9A23-1DB676A15610}.Release|Any CPU.Build.0 = Release|Any CPU
{231391AF-449C-4a39-986C-AD7F270F4750}.Debug_Silverlight2|Any CPU.ActiveCfg = Debug_Silverlight2|Any CPU
{231391AF-449C-4a39-986C-AD7F270F4750}.Debug_Silverlight2|Any CPU.Build.0 = Debug_Silverlight2|Any CPU
{231391AF-449C-4a39-986C-AD7F270F4750}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{231391AF-449C-4a39-986C-AD7F270F4750}.Debug|Any CPU.Build.0 = Debug|Any CPU
{231391AF-449C-4a39-986C-AD7F270F4750}.Release_Silverlight2|Any CPU.ActiveCfg = Release_Silverlight2|Any CPU
{231391AF-449C-4a39-986C-AD7F270F4750}.Release_Silverlight2|Any CPU.Build.0 = Release_Silverlight2|Any CPU
{231391AF-449C-4a39-986C-AD7F270F4750}.Release|Any CPU.ActiveCfg = Release|Any CPU
{231391AF-449C-4a39-986C-AD7F270F4750}.Release|Any CPU.Build.0 = Release|Any CPU
{231391AF-449C-4A39-986C-AD7F270F4750}.Debug_Silverlight2|Any CPU.ActiveCfg = Debug_Silverlight2|Any CPU
{231391AF-449C-4A39-986C-AD7F270F4750}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{231391AF-449C-4A39-986C-AD7F270F4750}.Release_Silverlight2|Any CPU.ActiveCfg = Release_Silverlight2|Any CPU
{231391AF-449C-4A39-986C-AD7F270F4750}.Release|Any CPU.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
...
...
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