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
e4954773
Commit
e4954773
authored
Nov 09, 2010
by
csharptest
Committed by
unknown
Nov 09, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Testing
parent
7d396f9d
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
2956 additions
and
118 deletions
+2956
-118
ProtocolBuffers.build
ProtocolBuffers.build
+2
-0
unittest_extras_full.proto
protos/extest/unittest_extras_full.proto
+49
-0
unittest_extras_lite.proto
protos/extest/unittest_extras_lite.proto
+39
-1
ExtensionGenerator.cs
src/ProtoGen/ExtensionGenerator.cs
+3
-0
ExtendableMessageTest.cs
src/ProtocolBuffers.Test/ExtendableMessageTest.cs
+5
-0
ProtocolBuffers.sln
src/ProtocolBuffers.sln
+1
-0
GeneratedExtensionLite.cs
src/ProtocolBuffers/GeneratedExtensionLite.cs
+3
-1
AbstractBuilderLiteTest.cs
src/ProtocolBuffersLite.Test/AbstractBuilderLiteTest.cs
+121
-4
AbstractMessageLiteTest.cs
src/ProtocolBuffersLite.Test/AbstractMessageLiteTest.cs
+126
-0
ExtendableMessageLiteTest.cs
src/ProtocolBuffersLite.Test/ExtendableMessageLiteTest.cs
+111
-111
InteropLiteTest.cs
src/ProtocolBuffersLite.Test/InteropLiteTest.cs
+115
-0
ProtocolBuffersLite.Test.csproj
src/ProtocolBuffersLite.Test/ProtocolBuffersLite.Test.csproj
+1
-0
ProtocolBuffersLiteMixed.Test.csproj
...ocolBuffersLite.Test/ProtocolBuffersLiteMixed.Test.csproj
+98
-0
UnitTestExtrasFullProtoFile.cs
...uffersLite.Test/TestProtos/UnitTestExtrasFullProtoFile.cs
+976
-0
UnitTestExtrasLiteProtoFile.cs
...uffersLite.Test/TestProtos/UnitTestExtrasLiteProtoFile.cs
+1306
-1
No files found.
ProtocolBuffers.build
View file @
e4954773
...
...
@@ -151,6 +151,7 @@
<arg
file=
"${protos-dir}/google/protobuf/unittest_lite_imports_nonlite.proto"
/>
<arg
file=
"${protos-dir}/google/protobuf/unittest_no_generic_services.proto"
/>
<arg
file=
"${protos-dir}/extest/unittest_extras_full.proto"
/>
<arg
file=
"${protos-dir}/extest/unittest_extras_lite.proto"
/>
<arg
file=
"${protos-dir}/tutorial/addressbook.proto"
/>
</exec>
...
...
@@ -188,6 +189,7 @@
<copy
todir=
"${src}/ProtocolBuffersLite.Test/TestProtos"
>
<fileset
basedir=
"${tmp-dir}"
>
<include
name=
"UnitTestExtrasFullProtoFile.cs"
/>
<include
name=
"UnitTestExtrasLiteProtoFile.cs"
/>
<include
name=
"UnitTestImportLiteProtoFile.cs"
/>
<include
name=
"UnitTestImportProtoFile.cs"
/>
...
...
protos/extest/unittest_extras_full.proto
0 → 100644
View file @
e4954773
// Additional options required for C# generation. File from copyright
// line onwards is as per original distribution.
import
"google/protobuf/csharp_options.proto"
;
option
(
google.protobuf.csharp_file_options
)
.
namespace
=
"Google.ProtocolBuffers.TestProtos"
;
option
(
google.protobuf.csharp_file_options
)
.
umbrella_classname
=
"UnitTestExtrasFullProtoFile"
;
package
protobuf_unittest_extra
;
option
optimize_for
=
CODE_SIZE
;
option
java_package
=
"com.google.protobuf"
;
message
TestInteropPerson
{
required
string
name
=
1
;
required
int32
id
=
2
;
optional
string
email
=
3
;
repeated
int32
codes
=
10
[
packed
=
true
];
enum
PhoneType
{
MOBILE
=
0
;
HOME
=
1
;
WORK
=
2
;
}
message
PhoneNumber
{
required
string
number
=
1
;
optional
PhoneType
type
=
2
[
default
=
HOME
];
}
repeated
PhoneNumber
phone
=
4
;
repeated
group
Addresses
=
5
{
required
string
address
=
1
;
optional
string
address2
=
2
;
required
string
city
=
3
;
required
string
state
=
4
;
required
fixed32
zip
=
5
;
}
extensions
100
to
199
;
}
message
TestInteropEmployeeId
{
required
string
number
=
1
;
}
extend
TestInteropPerson
{
required
TestInteropEmployeeId
employee_id
=
126
;
}
protos/extest/unittest_extras_lite.proto
View file @
e4954773
...
...
@@ -16,8 +16,46 @@ message TestRequiredLite {
}
enum
ExtraEnum
{
DEFAULT
=
1
;
DEFAULT
=
1
0
;
EXLITE_FOO
=
7
;
EXLITE_BAR
=
8
;
EXLITE_BAZ
=
9
;
}
message
TestInteropPersonLite
{
required
string
name
=
1
;
required
int32
id
=
2
;
optional
string
email
=
3
;
repeated
int32
codes
=
10
[
packed
=
true
];
enum
PhoneType
{
MOBILE
=
0
;
HOME
=
1
;
WORK
=
2
;
}
message
PhoneNumber
{
required
string
number
=
1
;
optional
PhoneType
type
=
2
[
default
=
HOME
];
}
repeated
PhoneNumber
phone
=
4
;
repeated
group
Addresses
=
5
{
required
string
address
=
1
;
optional
string
address2
=
2
;
required
string
city
=
3
;
required
string
state
=
4
;
required
fixed32
zip
=
5
;
}
extensions
100
to
199
;
}
message
TestInteropEmployeeIdLite
{
required
string
number
=
1
;
}
extend
TestInteropPersonLite
{
required
TestInteropEmployeeIdLite
employee_id_lite
=
126
;
}
src/ProtoGen/ExtensionGenerator.cs
View file @
e4954773
...
...
@@ -70,6 +70,9 @@ namespace Google.ProtocolBuffers.ProtoGen {
writer
.
WriteLine
(
"public const int {0} = {1};"
,
GetFieldConstantName
(
Descriptor
),
Descriptor
.
FieldNumber
);
if
(
UseLiteRuntime
)
{
if
(
Descriptor
.
MappedType
==
MappedType
.
Message
&&
Descriptor
.
MessageType
.
Options
.
MessageSetWireFormat
)
{
throw
new
ArgumentException
(
"option message_set_wire_format = true; is not supported in Lite runtime extensions."
);
}
if
(!
Descriptor
.
IsCLSCompliant
&&
Descriptor
.
File
.
CSharpOptions
.
ClsCompliance
)
{
writer
.
WriteLine
(
"[global::System.CLSCompliant(false)]"
);
}
...
...
src/ProtocolBuffers.Test/ExtendableMessageTest.cs
View file @
e4954773
...
...
@@ -42,6 +42,11 @@ namespace Google.ProtocolBuffers {
[
TestFixture
]
public
class
ExtendableMessageTest
{
[
Test
,
ExpectedException
(
typeof
(
ArgumentException
))]
public
void
ExtensionWriterInvalidExtension
()
{
TestPackedExtensions
.
CreateBuilder
()[
UnitTestProtoFile
.
OptionalForeignMessageExtension
.
Descriptor
]
=
ForeignMessage
.
DefaultInstance
;
}
[
Test
]
public
void
ExtensionWriterTest
()
{
...
...
src/ProtocolBuffers.sln
View file @
e4954773
...
...
@@ -38,6 +38,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "unittest", "unittest", "{C8
..\protos\google\protobuf\unittest_embed_optimize_for.proto = ..\protos\google\protobuf\unittest_embed_optimize_for.proto
..\protos\google\protobuf\unittest_empty.proto = ..\protos\google\protobuf\unittest_empty.proto
..\protos\google\protobuf\unittest_enormous_descriptor.proto = ..\protos\google\protobuf\unittest_enormous_descriptor.proto
..\protos\extest\unittest_extras_full.proto = ..\protos\extest\unittest_extras_full.proto
..\protos\extest\unittest_extras_lite.proto = ..\protos\extest\unittest_extras_lite.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
...
...
src/ProtocolBuffers/GeneratedExtensionLite.cs
View file @
e4954773
...
...
@@ -82,7 +82,9 @@ namespace Google.ProtocolBuffers {
get
{
return
true
;
}
}
#warning ToDo - Discover the meaning and purpose of this durring serialization and return the correct value
/// <summary>
/// This is not supported and assertions are made to ensure this does not exist on extensions of Lite types
/// </summary>
public
bool
MessageSetWireFormat
{
get
{
return
false
;
}
}
...
...
src/ProtocolBuffersLite.Test/AbstractBuilderLiteTest.cs
View file @
e4954773
...
...
@@ -71,24 +71,128 @@ namespace Google.ProtocolBuffers {
}
[
Test
]
public
void
Test
IBuilderLiteWeakMergeFromByteString
()
{
public
void
Test
BuilderLiteMergeFromCodedInputStream
()
{
TestAllTypesLite
copy
,
msg
=
TestAllTypesLite
.
CreateBuilder
()
.
SetOptionalString
(
"Should be merged."
).
Build
();
copy
=
TestAllTypesLite
.
DefaultInstance
;
Assert
.
AreNotEqual
(
msg
.
ToByteArray
(),
copy
.
ToByteArray
());
copy
=
(
TestAllTypesLite
)((
IBuilderLite
)
copy
.
ToBuilder
()).
WeakMergeFrom
(
msg
.
ToByteString
()).
WeakBuild
();
copy
=
copy
.
ToBuilder
().
MergeFrom
(
CodedInputStream
.
CreateInstance
(
new
MemoryStream
(
msg
.
ToByteArray
()))).
Build
();
Assert
.
AreEqual
(
msg
.
ToByteArray
(),
copy
.
ToByteArray
());
}
[
Test
]
public
void
TestBuilderLiteMergeDelimitedFrom
()
{
TestAllTypesLite
copy
,
msg
=
TestAllTypesLite
.
CreateBuilder
()
.
SetOptionalString
(
"Should be merged."
).
Build
();
copy
=
TestAllTypesLite
.
DefaultInstance
;
Assert
.
AreNotEqual
(
msg
.
ToByteArray
(),
copy
.
ToByteArray
());
Stream
s
=
new
MemoryStream
();
msg
.
WriteDelimitedTo
(
s
);
s
.
Position
=
0
;
copy
=
copy
.
ToBuilder
().
MergeDelimitedFrom
(
s
).
Build
();
Assert
.
AreEqual
(
msg
.
ToByteArray
(),
copy
.
ToByteArray
());
}
[
Test
]
public
void
TestBuilderLiteMergeDelimitedFromExtensions
()
{
TestAllExtensionsLite
copy
,
msg
=
TestAllExtensionsLite
.
CreateBuilder
()
.
SetExtension
(
UnitTestLiteProtoFile
.
OptionalStringExtensionLite
,
"Should be merged."
).
Build
();
copy
=
TestAllExtensionsLite
.
DefaultInstance
;
Assert
.
AreNotEqual
(
msg
.
ToByteArray
(),
copy
.
ToByteArray
());
Stream
s
=
new
MemoryStream
();
msg
.
WriteDelimitedTo
(
s
);
s
.
Position
=
0
;
ExtensionRegistry
registry
=
ExtensionRegistry
.
CreateInstance
();
UnitTestLiteProtoFile
.
RegisterAllExtensions
(
registry
);
copy
=
copy
.
ToBuilder
().
MergeDelimitedFrom
(
s
,
registry
).
Build
();
Assert
.
AreEqual
(
msg
.
ToByteArray
(),
copy
.
ToByteArray
());
Assert
.
AreEqual
(
"Should be merged."
,
copy
.
GetExtension
(
UnitTestLiteProtoFile
.
OptionalStringExtensionLite
));
}
[
Test
]
public
void
TestBuilderLiteMergeFromStream
()
{
TestAllTypesLite
copy
,
msg
=
TestAllTypesLite
.
CreateBuilder
()
.
SetOptionalString
(
"Should be merged."
).
Build
();
copy
=
TestAllTypesLite
.
DefaultInstance
;
Assert
.
AreNotEqual
(
msg
.
ToByteArray
(),
copy
.
ToByteArray
());
Stream
s
=
new
MemoryStream
();
msg
.
WriteTo
(
s
);
s
.
Position
=
0
;
copy
=
copy
.
ToBuilder
().
MergeFrom
(
s
).
Build
();
Assert
.
AreEqual
(
msg
.
ToByteArray
(),
copy
.
ToByteArray
());
}
[
Test
]
public
void
TestBuilderLiteMergeFromStreamExtensions
()
{
TestAllExtensionsLite
copy
,
msg
=
TestAllExtensionsLite
.
CreateBuilder
()
.
SetExtension
(
UnitTestLiteProtoFile
.
OptionalStringExtensionLite
,
"Should be merged."
).
Build
();
copy
=
TestAllExtensionsLite
.
DefaultInstance
;
Assert
.
AreNotEqual
(
msg
.
ToByteArray
(),
copy
.
ToByteArray
());
Stream
s
=
new
MemoryStream
();
msg
.
WriteTo
(
s
);
s
.
Position
=
0
;
ExtensionRegistry
registry
=
ExtensionRegistry
.
CreateInstance
();
UnitTestLiteProtoFile
.
RegisterAllExtensions
(
registry
);
copy
=
copy
.
ToBuilder
().
MergeFrom
(
s
,
registry
).
Build
();
Assert
.
AreEqual
(
msg
.
ToByteArray
(),
copy
.
ToByteArray
());
Assert
.
AreEqual
(
"Should be merged."
,
copy
.
GetExtension
(
UnitTestLiteProtoFile
.
OptionalStringExtensionLite
));
}
[
Test
]
public
void
TestIBuilderLiteWeakMergeFromIMessageLite
()
{
TestAllTypesLite
copy
,
msg
=
TestAllTypesLite
.
CreateBuilder
()
.
SetOptionalString
(
"Should be merged."
).
Build
();
//again with extension registry
copy
=
TestAllTypesLite
.
DefaultInstance
;
Assert
.
AreNotEqual
(
msg
.
ToByteArray
(),
copy
.
ToByteArray
());
copy
=
(
TestAllTypesLite
)((
IBuilderLite
)
copy
.
ToBuilder
()).
WeakMergeFrom
(
msg
.
ToByteString
(),
ExtensionRegistry
.
Empty
).
WeakBuild
();
copy
=
(
TestAllTypesLite
)((
IBuilderLite
)
copy
.
ToBuilder
()).
WeakMergeFrom
(
(
IMessageLite
)
msg
).
WeakBuild
();
Assert
.
AreEqual
(
msg
.
ToByteArray
(),
copy
.
ToByteArray
());
}
[
Test
]
public
void
TestIBuilderLiteWeakMergeFromByteString
()
{
TestAllTypesLite
copy
,
msg
=
TestAllTypesLite
.
CreateBuilder
()
.
SetOptionalString
(
"Should be merged."
).
Build
();
copy
=
TestAllTypesLite
.
DefaultInstance
;
Assert
.
AreNotEqual
(
msg
.
ToByteArray
(),
copy
.
ToByteArray
());
copy
=
(
TestAllTypesLite
)((
IBuilderLite
)
copy
.
ToBuilder
()).
WeakMergeFrom
(
msg
.
ToByteString
()).
WeakBuild
();
Assert
.
AreEqual
(
msg
.
ToByteArray
(),
copy
.
ToByteArray
());
}
[
Test
]
public
void
TestIBuilderLiteWeakMergeFromByteStringExtensions
()
{
TestAllExtensionsLite
copy
,
msg
=
TestAllExtensionsLite
.
CreateBuilder
()
.
SetExtension
(
UnitTestLiteProtoFile
.
OptionalStringExtensionLite
,
"Should be merged."
).
Build
();
copy
=
TestAllExtensionsLite
.
DefaultInstance
;
Assert
.
AreNotEqual
(
msg
.
ToByteArray
(),
copy
.
ToByteArray
());
copy
=
(
TestAllExtensionsLite
)((
IBuilderLite
)
copy
.
ToBuilder
()).
WeakMergeFrom
(
msg
.
ToByteString
(),
ExtensionRegistry
.
Empty
).
WeakBuild
();
Assert
.
AreNotEqual
(
msg
.
ToByteArray
(),
copy
.
ToByteArray
());
ExtensionRegistry
registry
=
ExtensionRegistry
.
CreateInstance
();
UnitTestLiteProtoFile
.
RegisterAllExtensions
(
registry
);
copy
=
(
TestAllExtensionsLite
)((
IBuilderLite
)
copy
.
ToBuilder
()).
WeakMergeFrom
(
msg
.
ToByteString
(),
registry
).
WeakBuild
();
Assert
.
AreEqual
(
msg
.
ToByteArray
(),
copy
.
ToByteArray
());
Assert
.
AreEqual
(
"Should be merged."
,
copy
.
GetExtension
(
UnitTestLiteProtoFile
.
OptionalStringExtensionLite
));
}
[
Test
]
public
void
TestIBuilderLiteWeakMergeFromCodedInputStream
()
{
TestAllTypesLite
copy
,
msg
=
TestAllTypesLite
.
CreateBuilder
()
...
...
@@ -147,5 +251,18 @@ namespace Google.ProtocolBuffers {
Assert
.
IsTrue
(
ReferenceEquals
(
TestRequiredLite
.
DefaultInstance
,
((
IBuilderLite
)
TestRequiredLite
.
CreateBuilder
()).
WeakDefaultInstanceForType
));
}
[
Test
]
public
void
TestGeneratedBuilderLiteAddRange
()
{
TestAllTypesLite
copy
,
msg
=
TestAllTypesLite
.
CreateBuilder
()
.
SetOptionalUint32
(
123
)
.
AddRepeatedInt32
(
1
)
.
AddRepeatedInt32
(
2
)
.
AddRepeatedInt32
(
3
)
.
Build
();
copy
=
msg
.
DefaultInstanceForType
.
ToBuilder
().
MergeFrom
(
msg
).
Build
();
Assert
.
AreEqual
(
msg
.
ToByteArray
(),
copy
.
ToByteArray
());
}
}
}
src/ProtocolBuffersLite.Test/AbstractMessageLiteTest.cs
0 → 100644
View file @
e4954773
#
region
Copyright
notice
and
license
// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
// http://github.com/jskeet/dotnet-protobufs/
// Original C++/Java/Python code:
// http://code.google.com/p/protobuf/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#endregion
using
System
;
using
System.Collections.Generic
;
using
System.IO
;
using
Google.ProtocolBuffers
;
using
Google.ProtocolBuffers.TestProtos
;
using
NUnit.Framework
;
namespace
Google.ProtocolBuffers
{
[
TestFixture
]
public
class
AbstractMessageLiteTest
{
[
Test
]
public
void
TestMessageLiteToByteString
()
{
TestRequiredLite
msg
=
TestRequiredLite
.
CreateBuilder
()
.
SetD
(
42
)
.
SetEn
(
ExtraEnum
.
EXLITE_BAZ
)
.
Build
();
ByteString
b
=
msg
.
ToByteString
();
Assert
.
AreEqual
(
4
,
b
.
Length
);
Assert
.
AreEqual
(
TestRequiredLite
.
DFieldNumber
<<
3
,
b
[
0
]);
Assert
.
AreEqual
(
42
,
b
[
1
]);
Assert
.
AreEqual
(
TestRequiredLite
.
EnFieldNumber
<<
3
,
b
[
2
]);
Assert
.
AreEqual
((
int
)
ExtraEnum
.
EXLITE_BAZ
,
b
[
3
]);
}
[
Test
]
public
void
TestMessageLiteToByteArray
()
{
TestRequiredLite
msg
=
TestRequiredLite
.
CreateBuilder
()
.
SetD
(
42
)
.
SetEn
(
ExtraEnum
.
EXLITE_BAZ
)
.
Build
();
ByteString
b
=
msg
.
ToByteString
();
ByteString
copy
=
ByteString
.
CopyFrom
(
msg
.
ToByteArray
());
Assert
.
AreEqual
(
b
,
copy
);
}
[
Test
]
public
void
TestMessageLiteWriteTo
()
{
TestRequiredLite
msg
=
TestRequiredLite
.
CreateBuilder
()
.
SetD
(
42
)
.
SetEn
(
ExtraEnum
.
EXLITE_BAZ
)
.
Build
();
MemoryStream
ms
=
new
MemoryStream
();
msg
.
WriteTo
(
ms
);
Assert
.
AreEqual
(
msg
.
ToByteArray
(),
ms
.
ToArray
());
}
[
Test
]
public
void
TestMessageLiteWriteDelimitedTo
()
{
TestRequiredLite
msg
=
TestRequiredLite
.
CreateBuilder
()
.
SetD
(
42
)
.
SetEn
(
ExtraEnum
.
EXLITE_BAZ
)
.
Build
();
MemoryStream
ms
=
new
MemoryStream
();
msg
.
WriteDelimitedTo
(
ms
);
byte
[]
buffer
=
ms
.
ToArray
();
Assert
.
AreEqual
(
5
,
buffer
.
Length
);
Assert
.
AreEqual
(
4
,
buffer
[
0
]);
byte
[]
msgBytes
=
new
byte
[
4
];
Array
.
Copy
(
buffer
,
1
,
msgBytes
,
0
,
4
);
Assert
.
AreEqual
(
msg
.
ToByteArray
(),
msgBytes
);
}
[
Test
]
public
void
TestIMessageLiteWeakCreateBuilderForType
()
{
IMessageLite
msg
=
TestRequiredLite
.
DefaultInstance
;
Assert
.
AreEqual
(
typeof
(
TestRequiredLite
.
Builder
),
msg
.
WeakCreateBuilderForType
().
GetType
());
}
[
Test
]
public
void
TestMessageLiteWeakToBuilder
()
{
IMessageLite
msg
=
TestRequiredLite
.
CreateBuilder
()
.
SetD
(
42
)
.
SetEn
(
ExtraEnum
.
EXLITE_BAZ
)
.
Build
();
IMessageLite
copy
=
msg
.
WeakToBuilder
().
WeakBuild
();
Assert
.
AreEqual
(
msg
.
ToByteArray
(),
copy
.
ToByteArray
());
}
[
Test
]
public
void
TestMessageLiteWeakDefaultInstanceForType
()
{
IMessageLite
msg
=
TestRequiredLite
.
DefaultInstance
;
Assert
.
IsTrue
(
Object
.
ReferenceEquals
(
TestRequiredLite
.
DefaultInstance
,
msg
.
WeakDefaultInstanceForType
));
}
}
}
src/ProtocolBuffersLite.Test/ExtendableMessageLiteTest.cs
View file @
e4954773
...
...
@@ -43,6 +43,52 @@ namespace Google.ProtocolBuffers {
[
TestFixture
]
public
class
ExtendableMessageLiteTest
{
[
Test
,
Ignore
(
"Not implemented, no assertion made"
),
ExpectedException
(
typeof
(
ArgumentException
))]
public
void
ExtensionWriterInvalidExtension
()
{
TestPackedExtensionsLite
.
CreateBuilder
()[
UnitTestLiteProtoFile
.
OptionalForeignMessageExtensionLite
.
Descriptor
]
=
ForeignMessageLite
.
DefaultInstance
;
}
[
Test
]
public
void
ExtensionWriterTestMessages
()
{
TestAllExtensionsLite
.
Builder
b
=
TestAllExtensionsLite
.
CreateBuilder
().
SetExtension
(
UnitTestLiteProtoFile
.
OptionalForeignMessageExtensionLite
,
ForeignMessageLite
.
CreateBuilder
().
SetC
(
123
).
Build
());
TestAllExtensionsLite
copy
,
msg
=
b
.
Build
();
ExtensionRegistry
registry
=
ExtensionRegistry
.
CreateInstance
();
UnitTestLiteProtoFile
.
RegisterAllExtensions
(
registry
);
copy
=
TestAllExtensionsLite
.
ParseFrom
(
msg
.
ToByteArray
(),
registry
);
Assert
.
AreEqual
(
msg
.
ToByteArray
(),
copy
.
ToByteArray
());
}
[
Test
]
public
void
ExtensionWriterIsInitialized
()
{
Assert
.
IsTrue
(
ForeignMessageLite
.
DefaultInstance
.
IsInitialized
);
Assert
.
IsTrue
(
TestPackedExtensionsLite
.
CreateBuilder
().
IsInitialized
);
Assert
.
IsTrue
(
TestAllExtensionsLite
.
CreateBuilder
().
SetExtension
(
UnitTestLiteProtoFile
.
OptionalForeignMessageExtensionLite
,
ForeignMessageLite
.
DefaultInstance
)
.
IsInitialized
);
}
[
Test
]
public
void
ExtensionWriterTestSetExtensionLists
()
{
TestAllExtensionsLite
msg
,
copy
;
TestAllExtensionsLite
.
Builder
builder
=
TestAllExtensionsLite
.
CreateBuilder
()
.
SetExtension
(
UnitTestLiteProtoFile
.
RepeatedBoolExtensionLite
,
new
[]
{
true
,
false
})
.
SetExtension
(
UnitTestLiteProtoFile
.
RepeatedCordExtensionLite
,
new
[]
{
"123"
,
"456"
})
.
SetExtension
(
UnitTestLiteProtoFile
.
RepeatedForeignEnumExtensionLite
,
new
[]
{
ForeignEnumLite
.
FOREIGN_LITE_BAZ
,
ForeignEnumLite
.
FOREIGN_LITE_FOO
})
;
msg
=
builder
.
Build
();
ExtensionRegistry
registry
=
ExtensionRegistry
.
CreateInstance
();
UnitTestLiteProtoFile
.
RegisterAllExtensions
(
registry
);
copy
=
TestAllExtensionsLite
.
ParseFrom
(
msg
.
ToByteArray
(),
registry
);
Assert
.
AreEqual
(
msg
.
ToByteArray
(),
copy
.
ToByteArray
());
Assert
.
AreEqual
(
ForeignEnumLite
.
FOREIGN_LITE_FOO
,
copy
.
GetExtension
(
UnitTestLiteProtoFile
.
RepeatedForeignEnumExtensionLite
,
1
));
}
[
Test
]
public
void
ExtensionWriterTest
()
{
...
...
@@ -184,121 +230,75 @@ namespace Google.ProtocolBuffers {
Assert
.
AreEqual
(
123u
,
copy
.
GetExtension
(
UnitTestLiteProtoFile
.
RepeatedUint64ExtensionLite
,
0
));
}
/*
[
Test
]
public void ExtensionWriterTest() {
TestAllExtensionsLite.Builder builder = TestAllExtensionsLite.CreateBuilder()
.SetExtension(UnitTestLiteProtoFile.DefaultBoolExtensionLite, true)
.SetExtension(UnitTestLiteProtoFile.DefaultBytesExtensionLite, ByteString.CopyFromUtf8("123"))
.SetExtension(UnitTestLiteProtoFile.DefaultCordExtensionLite, "123")
.SetExtension(UnitTestLiteProtoFile.DefaultDoubleExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.DefaultFixed32ExtensionLite, 123u)
.SetExtension(UnitTestLiteProtoFile.DefaultFixed64ExtensionLite, 123u)
.SetExtension(UnitTestLiteProtoFile.DefaultFloatExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.DefaultForeignEnumExtensionLite, ForeignEnumLite.FOREIGN_LITE_FOO)
.SetExtension(UnitTestLiteProtoFile.DefaultImportEnumExtensionLite, ImportEnumLite.IMPORT_LITE_BAZ)
.SetExtension(UnitTestLiteProtoFile.DefaultInt32ExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.DefaultInt64ExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.DefaultNestedEnumExtensionLite, TestAllTypesLite.Types.NestedEnum.FOO)
.SetExtension(UnitTestLiteProtoFile.DefaultSfixed32ExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.DefaultSfixed64ExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.DefaultSint32ExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.DefaultSint64ExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.DefaultStringExtensionLite, "123")
.SetExtension(UnitTestLiteProtoFile.DefaultStringPieceExtensionLite, "123")
.SetExtension(UnitTestLiteProtoFile.DefaultUint32ExtensionLite, 123u)
.SetExtension(UnitTestLiteProtoFile.DefaultUint64ExtensionLite, 123u)
//Optional
.SetExtension(UnitTestLiteProtoFile.OptionalBoolExtensionLite, true)
.SetExtension(UnitTestLiteProtoFile.OptionalBytesExtensionLite, ByteString.CopyFromUtf8("123"))
.SetExtension(UnitTestLiteProtoFile.OptionalCordExtensionLite, "123")
.SetExtension(UnitTestLiteProtoFile.OptionalDoubleExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.OptionalFixed32ExtensionLite, 123u)
.SetExtension(UnitTestLiteProtoFile.OptionalFixed64ExtensionLite, 123u)
.SetExtension(UnitTestLiteProtoFile.OptionalFloatExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.OptionalForeignEnumExtensionLite, ForeignEnumLite.FOREIGN_LITE_FOO)
.SetExtension(UnitTestLiteProtoFile.OptionalImportEnumExtensionLite, ImportEnumLite.IMPORT_LITE_BAZ)
.SetExtension(UnitTestLiteProtoFile.OptionalInt32ExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.OptionalInt64ExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.OptionalNestedEnumExtensionLite, TestAllTypesLite.Types.NestedEnum.FOO)
.SetExtension(UnitTestLiteProtoFile.OptionalSfixed32ExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.OptionalSfixed64ExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.OptionalSint32ExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.OptionalSint64ExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.OptionalStringExtensionLite, "123")
.SetExtension(UnitTestLiteProtoFile.OptionalStringPieceExtensionLite, "123")
.SetExtension(UnitTestLiteProtoFile.OptionalUint32ExtensionLite, 123u)
.SetExtension(UnitTestLiteProtoFile.OptionalUint64ExtensionLite, 123u)
//Repeated
.AddExtension(UnitTestLiteProtoFile.RepeatedBoolExtensionLite, true)
.AddExtension(UnitTestLiteProtoFile.RepeatedBytesExtensionLite, ByteString.CopyFromUtf8("123"))
.AddExtension(UnitTestLiteProtoFile.RepeatedCordExtensionLite, "123")
.AddExtension(UnitTestLiteProtoFile.RepeatedDoubleExtensionLite, 123)
.AddExtension(UnitTestLiteProtoFile.RepeatedFixed32ExtensionLite, 123u)
.AddExtension(UnitTestLiteProtoFile.RepeatedFixed64ExtensionLite, 123u)
.AddExtension(UnitTestLiteProtoFile.RepeatedFloatExtensionLite, 123)
.AddExtension(UnitTestLiteProtoFile.RepeatedForeignEnumExtensionLite, ForeignEnumLite.FOREIGN_LITE_FOO)
.AddExtension(UnitTestLiteProtoFile.RepeatedImportEnumExtensionLite, ImportEnumLite.IMPORT_LITE_BAZ)
.AddExtension(UnitTestLiteProtoFile.RepeatedInt32ExtensionLite, 123)
.AddExtension(UnitTestLiteProtoFile.RepeatedInt64ExtensionLite, 123)
.AddExtension(UnitTestLiteProtoFile.RepeatedNestedEnumExtensionLite, TestAllTypesLite.Types.NestedEnum.FOO)
.AddExtension(UnitTestLiteProtoFile.RepeatedSfixed32ExtensionLite, 123)
.AddExtension(UnitTestLiteProtoFile.RepeatedSfixed64ExtensionLite, 123)
.AddExtension(UnitTestLiteProtoFile.RepeatedSint32ExtensionLite, 123)
.AddExtension(UnitTestLiteProtoFile.RepeatedSint64ExtensionLite, 123)
.AddExtension(UnitTestLiteProtoFile.RepeatedStringExtensionLite, "123")
.AddExtension(UnitTestLiteProtoFile.RepeatedStringPieceExtensionLite, "123")
.AddExtension(UnitTestLiteProtoFile.RepeatedUint32ExtensionLite, 123u)
.AddExtension(UnitTestLiteProtoFile.RepeatedUint64ExtensionLite, 123u)
;
builder = TestAllExtensionsLite.CreateBuilder()
.SetExtension(UnitTestLiteProtoFile.DefaultBoolExtensionLite, true)
.SetExtension(UnitTestLiteProtoFile.DefaultBytesExtensionLite, ByteString.CopyFromUtf8("123"))
.SetExtension(UnitTestLiteProtoFile.DefaultCordExtensionLite, "123")
.SetExtension(UnitTestLiteProtoFile.DefaultDoubleExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.DefaultFixed32ExtensionLite, 123u)
.SetExtension(UnitTestLiteProtoFile.DefaultFixed64ExtensionLite, 123u)
.SetExtension(UnitTestLiteProtoFile.DefaultFloatExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.DefaultForeignEnumExtensionLite, ForeignEnumLite.FOREIGN_LITE_FOO)
.SetExtension(UnitTestLiteProtoFile.DefaultImportEnumExtensionLite, ImportEnumLite.IMPORT_LITE_BAZ)
.SetExtension(UnitTestLiteProtoFile.DefaultInt32ExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.DefaultInt64ExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.DefaultNestedEnumExtensionLite, TestAllTypesLite.Types.NestedEnum.FOO)
.SetExtension(UnitTestLiteProtoFile.DefaultSfixed32ExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.DefaultSfixed64ExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.DefaultSint32ExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.DefaultSint64ExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.DefaultStringExtensionLite, "123")
.SetExtension(UnitTestLiteProtoFile.DefaultStringPieceExtensionLite, "123")
.SetExtension(UnitTestLiteProtoFile.DefaultUint32ExtensionLite, 123u)
.SetExtension(UnitTestLiteProtoFile.DefaultUint64ExtensionLite, 123u)
;
public
void
ExtensionWriterTestPacked
()
{
TestAllExtensionsLite msg = builder.Build();
byte[] data = msg.ToByteArray();
TestAllExtensionsLite.Builder copyBuilder = TestAllExtensionsLite.CreateBuilder().MergeFrom(data);
TestAllExtensionsLite copy = copyBuilder.Build();
TestPackedExtensionsLite
.
Builder
builder
=
TestPackedExtensionsLite
.
CreateBuilder
()
.
AddExtension
(
UnitTestLiteProtoFile
.
PackedBoolExtensionLite
,
true
)
.
AddExtension
(
UnitTestLiteProtoFile
.
PackedDoubleExtensionLite
,
123
)
.
AddExtension
(
UnitTestLiteProtoFile
.
PackedFixed32ExtensionLite
,
123u
)
.
AddExtension
(
UnitTestLiteProtoFile
.
PackedFixed64ExtensionLite
,
123u
)
.
AddExtension
(
UnitTestLiteProtoFile
.
PackedFloatExtensionLite
,
123
)
.
AddExtension
(
UnitTestLiteProtoFile
.
PackedInt32ExtensionLite
,
123
)
.
AddExtension
(
UnitTestLiteProtoFile
.
PackedInt64ExtensionLite
,
123
)
.
AddExtension
(
UnitTestLiteProtoFile
.
PackedSfixed32ExtensionLite
,
123
)
.
AddExtension
(
UnitTestLiteProtoFile
.
PackedSfixed64ExtensionLite
,
123
)
.
AddExtension
(
UnitTestLiteProtoFile
.
PackedSint32ExtensionLite
,
123
)
.
AddExtension
(
UnitTestLiteProtoFile
.
PackedSint64ExtensionLite
,
123
)
.
AddExtension
(
UnitTestLiteProtoFile
.
PackedUint32ExtensionLite
,
123u
)
.
AddExtension
(
UnitTestLiteProtoFile
.
PackedUint64ExtensionLite
,
123u
)
.
AddExtension
(
UnitTestLiteProtoFile
.
PackedBoolExtensionLite
,
true
)
.
AddExtension
(
UnitTestLiteProtoFile
.
PackedDoubleExtensionLite
,
123
)
.
AddExtension
(
UnitTestLiteProtoFile
.
PackedFixed32ExtensionLite
,
123u
)
.
AddExtension
(
UnitTestLiteProtoFile
.
PackedFixed64ExtensionLite
,
123u
)
.
AddExtension
(
UnitTestLiteProtoFile
.
PackedFloatExtensionLite
,
123
)
.
AddExtension
(
UnitTestLiteProtoFile
.
PackedInt32ExtensionLite
,
123
)
.
AddExtension
(
UnitTestLiteProtoFile
.
PackedInt64ExtensionLite
,
123
)
.
AddExtension
(
UnitTestLiteProtoFile
.
PackedSfixed32ExtensionLite
,
123
)
.
AddExtension
(
UnitTestLiteProtoFile
.
PackedSfixed64ExtensionLite
,
123
)
.
AddExtension
(
UnitTestLiteProtoFile
.
PackedSint32ExtensionLite
,
123
)
.
AddExtension
(
UnitTestLiteProtoFile
.
PackedSint64ExtensionLite
,
123
)
.
AddExtension
(
UnitTestLiteProtoFile
.
PackedUint32ExtensionLite
,
123u
)
.
AddExtension
(
UnitTestLiteProtoFile
.
PackedUint64ExtensionLite
,
123u
);
TestPackedExtensionsLite
msg
=
builder
.
Build
();
ExtensionRegistry
registry
=
ExtensionRegistry
.
CreateInstance
();
UnitTestLiteProtoFile
.
RegisterAllExtensions
(
registry
);
TestPackedExtensionsLite
.
Builder
copyBuilder
=
TestPackedExtensionsLite
.
CreateBuilder
().
MergeFrom
(
msg
.
ToByteArray
(),
registry
);
TestPackedExtensionsLite
copy
=
copyBuilder
.
Build
();
Assert
.
AreEqual
(
msg
.
ToByteArray
(),
copy
.
ToByteArray
());
Assert
.
AreEqual
(
true
,
copy
.
GetExtension
(
UnitTestLiteProtoFile
.
PackedBoolExtensionLite
,
0
));
Assert
.
AreEqual
(
123
,
copy
.
GetExtension
(
UnitTestLiteProtoFile
.
PackedDoubleExtensionLite
,
0
));
Assert
.
AreEqual
(
123u
,
copy
.
GetExtension
(
UnitTestLiteProtoFile
.
PackedFixed32ExtensionLite
,
0
));
Assert
.
AreEqual
(
123u
,
copy
.
GetExtension
(
UnitTestLiteProtoFile
.
PackedFixed64ExtensionLite
,
0
));
Assert
.
AreEqual
(
123
,
copy
.
GetExtension
(
UnitTestLiteProtoFile
.
PackedFloatExtensionLite
,
0
));
Assert
.
AreEqual
(
123
,
copy
.
GetExtension
(
UnitTestLiteProtoFile
.
PackedInt32ExtensionLite
,
0
));
Assert
.
AreEqual
(
123
,
copy
.
GetExtension
(
UnitTestLiteProtoFile
.
PackedInt64ExtensionLite
,
0
));
Assert
.
AreEqual
(
123
,
copy
.
GetExtension
(
UnitTestLiteProtoFile
.
PackedSfixed32ExtensionLite
,
0
));
Assert
.
AreEqual
(
123
,
copy
.
GetExtension
(
UnitTestLiteProtoFile
.
PackedSfixed64ExtensionLite
,
0
));
Assert
.
AreEqual
(
123
,
copy
.
GetExtension
(
UnitTestLiteProtoFile
.
PackedSint32ExtensionLite
,
0
));
Assert
.
AreEqual
(
123
,
copy
.
GetExtension
(
UnitTestLiteProtoFile
.
PackedSint64ExtensionLite
,
0
));
Assert
.
AreEqual
(
123u
,
copy
.
GetExtension
(
UnitTestLiteProtoFile
.
PackedUint32ExtensionLite
,
0
));
Assert
.
AreEqual
(
123u
,
copy
.
GetExtension
(
UnitTestLiteProtoFile
.
PackedUint64ExtensionLite
,
0
));
Assert
.
AreEqual
(
true
,
copy
.
GetExtension
(
UnitTestLiteProtoFile
.
PackedBoolExtensionLite
,
1
));
Assert
.
AreEqual
(
123
,
copy
.
GetExtension
(
UnitTestLiteProtoFile
.
PackedDoubleExtensionLite
,
1
));
Assert
.
AreEqual
(
123u
,
copy
.
GetExtension
(
UnitTestLiteProtoFile
.
PackedFixed32ExtensionLite
,
1
));
Assert
.
AreEqual
(
123u
,
copy
.
GetExtension
(
UnitTestLiteProtoFile
.
PackedFixed64ExtensionLite
,
1
));
Assert
.
AreEqual
(
123
,
copy
.
GetExtension
(
UnitTestLiteProtoFile
.
PackedFloatExtensionLite
,
1
));
Assert
.
AreEqual
(
123
,
copy
.
GetExtension
(
UnitTestLiteProtoFile
.
PackedInt32ExtensionLite
,
1
));
Assert
.
AreEqual
(
123
,
copy
.
GetExtension
(
UnitTestLiteProtoFile
.
PackedInt64ExtensionLite
,
1
));
Assert
.
AreEqual
(
123
,
copy
.
GetExtension
(
UnitTestLiteProtoFile
.
PackedSfixed32ExtensionLite
,
1
));
Assert
.
AreEqual
(
123
,
copy
.
GetExtension
(
UnitTestLiteProtoFile
.
PackedSfixed64ExtensionLite
,
1
));
Assert
.
AreEqual
(
123
,
copy
.
GetExtension
(
UnitTestLiteProtoFile
.
PackedSint32ExtensionLite
,
1
));
Assert
.
AreEqual
(
123
,
copy
.
GetExtension
(
UnitTestLiteProtoFile
.
PackedSint64ExtensionLite
,
1
));
Assert
.
AreEqual
(
123u
,
copy
.
GetExtension
(
UnitTestLiteProtoFile
.
PackedUint32ExtensionLite
,
1
));
Assert
.
AreEqual
(
123u
,
copy
.
GetExtension
(
UnitTestLiteProtoFile
.
PackedUint64ExtensionLite
,
1
));
}
*
//Packed
.SetExtension(UnitTestLiteProtoFile.PackedBoolExtensionLite, true)
.SetExtension(UnitTestLiteProtoFile.PackedDoubleExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.PackedFixed32ExtensionLite, 123u)
.SetExtension(UnitTestLiteProtoFile.PackedFixed64ExtensionLite, 123u)
.SetExtension(UnitTestLiteProtoFile.PackedFloatExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.PackedInt32ExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.PackedInt64ExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.PackedSfixed32ExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.PackedSfixed64ExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.PackedSint32ExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.PackedSint64ExtensionLite, 123)
.SetExtension(UnitTestLiteProtoFile.PackedUint32ExtensionLite, 123u)
.SetExtension(UnitTestLiteProtoFile.PackedUint64ExtensionLite, 123u)
*/
}
}
src/ProtocolBuffersLite.Test/InteropLiteTest.cs
0 → 100644
View file @
e4954773
#
region
Copyright
notice
and
license
// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
// http://github.com/jskeet/dotnet-protobufs/
// Original C++/Java/Python code:
// http://code.google.com/p/protobuf/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#endregion
using
System
;
using
System.Collections.Generic
;
using
Google.ProtocolBuffers
;
using
Google.ProtocolBuffers.TestProtos
;
using
NUnit.Framework
;
namespace
Google.ProtocolBuffers
{
[
TestFixture
]
public
class
InteropLiteTest
{
[
Test
]
public
void
TestConvertFromFullMinimal
()
{
TestInteropPerson
person
=
TestInteropPerson
.
CreateBuilder
()
.
SetId
(
123
)
.
SetName
(
"abc"
)
.
Build
();
Assert
.
IsTrue
(
person
.
IsInitialized
);
TestInteropPersonLite
copy
=
TestInteropPersonLite
.
ParseFrom
(
person
.
ToByteArray
());
Assert
.
AreEqual
(
person
.
ToByteArray
(),
copy
.
ToByteArray
());
}
[
Test
]
public
void
TestConvertFromFullComplete
()
{
TestInteropPerson
person
=
TestInteropPerson
.
CreateBuilder
()
.
SetId
(
123
)
.
SetName
(
"abc"
)
.
SetEmail
(
"abc@123.com"
)
.
AddRangeCodes
(
new
[]
{
1
,
2
,
3
})
.
AddPhone
(
TestInteropPerson
.
Types
.
PhoneNumber
.
CreateBuilder
().
SetNumber
(
"555-1234"
).
Build
())
.
AddPhone
(
TestInteropPerson
.
Types
.
PhoneNumber
.
CreateBuilder
().
SetNumber
(
"555-5678"
).
Build
())
.
AddAddresses
(
TestInteropPerson
.
Types
.
Addresses
.
CreateBuilder
().
SetAddress
(
"123 Seseme"
).
SetCity
(
"Wonderland"
).
SetState
(
"NA"
).
SetZip
(
12345
).
Build
())
.
SetExtension
(
UnitTestExtrasFullProtoFile
.
EmployeeId
,
TestInteropEmployeeId
.
CreateBuilder
().
SetNumber
(
"123"
).
Build
())
.
Build
();
Assert
.
IsTrue
(
person
.
IsInitialized
);
ExtensionRegistry
registry
=
ExtensionRegistry
.
CreateInstance
();
UnitTestExtrasLiteProtoFile
.
RegisterAllExtensions
(
registry
);
TestInteropPersonLite
copy
=
TestInteropPersonLite
.
ParseFrom
(
person
.
ToByteArray
(),
registry
);
Assert
.
AreEqual
(
person
.
ToByteArray
(),
copy
.
ToByteArray
());
}
[
Test
]
public
void
TestConvertFromLiteMinimal
()
{
TestInteropPersonLite
person
=
TestInteropPersonLite
.
CreateBuilder
()
.
SetId
(
123
)
.
SetName
(
"abc"
)
.
Build
();
Assert
.
IsTrue
(
person
.
IsInitialized
);
TestInteropPerson
copy
=
TestInteropPerson
.
ParseFrom
(
person
.
ToByteArray
());
Assert
.
AreEqual
(
person
.
ToByteArray
(),
copy
.
ToByteArray
());
}
[
Test
]
public
void
TestConvertFromLiteComplete
()
{
TestInteropPersonLite
person
=
TestInteropPersonLite
.
CreateBuilder
()
.
SetId
(
123
)
.
SetName
(
"abc"
)
.
SetEmail
(
"abc@123.com"
)
.
AddRangeCodes
(
new
[]
{
1
,
2
,
3
})
.
AddPhone
(
TestInteropPersonLite
.
Types
.
PhoneNumber
.
CreateBuilder
().
SetNumber
(
"555-1234"
).
Build
())
.
AddPhone
(
TestInteropPersonLite
.
Types
.
PhoneNumber
.
CreateBuilder
().
SetNumber
(
"555-5678"
).
Build
())
.
AddAddresses
(
TestInteropPersonLite
.
Types
.
Addresses
.
CreateBuilder
().
SetAddress
(
"123 Seseme"
).
SetCity
(
"Wonderland"
).
SetState
(
"NA"
).
SetZip
(
12345
).
Build
())
.
SetExtension
(
UnitTestExtrasLiteProtoFile
.
EmployeeIdLite
,
TestInteropEmployeeIdLite
.
CreateBuilder
().
SetNumber
(
"123"
).
Build
())
.
Build
();
Assert
.
IsTrue
(
person
.
IsInitialized
);
ExtensionRegistry
registry
=
ExtensionRegistry
.
CreateInstance
();
UnitTestExtrasFullProtoFile
.
RegisterAllExtensions
(
registry
);
TestInteropPerson
copy
=
TestInteropPerson
.
ParseFrom
(
person
.
ToByteArray
(),
registry
);
Assert
.
AreEqual
(
person
.
ToByteArray
(),
copy
.
ToByteArray
());
}
}
}
src/ProtocolBuffersLite.Test/ProtocolBuffersLite.Test.csproj
View file @
e4954773
...
...
@@ -58,6 +58,7 @@
<Link>
Properties\AssemblyInfo.cs
</Link>
</Compile>
<Compile
Include=
"AbstractBuilderLiteTest.cs"
/>
<Compile
Include=
"AbstractMessageLiteTest.cs"
/>
<Compile
Include=
"ExtendableBuilderLiteTest.cs"
/>
<Compile
Include=
"ExtendableMessageLiteTest.cs"
/>
<Compile
Include=
"LiteTest.cs"
/>
...
...
src/ProtocolBuffersLite.Test/ProtocolBuffersLiteMixed.Test.csproj
0 → 100644
View file @
e4954773
<?xml version="1.0" encoding="utf-8"?>
<Project
ToolsVersion=
"3.5"
DefaultTargets=
"Build"
xmlns=
"http://schemas.microsoft.com/developer/msbuild/2003"
>
<PropertyGroup>
<Configuration
Condition=
" '$(Configuration)' == '' "
>
Debug
</Configuration>
<Platform
Condition=
" '$(Platform)' == '' "
>
AnyCPU
</Platform>
<ProductVersion>
9.0.30729
</ProductVersion>
<SchemaVersion>
2.0
</SchemaVersion>
<ProjectGuid>
{EEFFED24-3750-4567-9A23-1DB676A15610}
</ProjectGuid>
<OutputType>
Library
</OutputType>
<AppDesignerFolder>
Properties
</AppDesignerFolder>
<RootNamespace>
Google.ProtocolBuffers
</RootNamespace>
<AssemblyName>
Google.ProtocolBuffersMixedLite.Test
</AssemblyName>
<TargetFrameworkVersion>
v2.0
</TargetFrameworkVersion>
<FileAlignment>
512
</FileAlignment>
<SignAssembly>
true
</SignAssembly>
<AssemblyOriginatorKeyFile>
..\ProtocolBuffers.Test\Properties\Google.ProtocolBuffers.Test.snk
</AssemblyOriginatorKeyFile>
</PropertyGroup>
<PropertyGroup
Condition=
" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "
>
<DebugSymbols>
true
</DebugSymbols>
<DebugType>
full
</DebugType>
<Optimize>
false
</Optimize>
<OutputPath>
bin\Debug\
</OutputPath>
<DefineConstants>
DEBUG;TRACE
</DefineConstants>
<ErrorReport>
prompt
</ErrorReport>
<WarningLevel>
4
</WarningLevel>
</PropertyGroup>
<PropertyGroup
Condition=
" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "
>
<DebugType>
pdbonly
</DebugType>
<Optimize>
true
</Optimize>
<OutputPath>
bin\Release\
</OutputPath>
<DefineConstants>
TRACE
</DefineConstants>
<ErrorReport>
prompt
</ErrorReport>
<WarningLevel>
4
</WarningLevel>
</PropertyGroup>
<PropertyGroup
Condition=
" '$(Configuration)|$(Platform)' == 'Silverlight2|AnyCPU' "
>
<OutputPath>
bin\Silverlight2\
</OutputPath>
<DefineConstants>
TRACE
</DefineConstants>
<Optimize>
true
</Optimize>
<DebugType>
pdbonly
</DebugType>
<PlatformTarget>
AnyCPU
</PlatformTarget>
<ErrorReport>
prompt
</ErrorReport>
</PropertyGroup>
<ItemGroup>
<Reference
Include=
"nunit.framework, Version=2.2.8.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77"
>
<SpecificVersion>
False
</SpecificVersion>
<HintPath>
..\..\lib\nunit.framework.dll
</HintPath>
</Reference>
<Reference
Include=
"Rhino.Mocks, Version=3.5.0.2, Culture=neutral, PublicKeyToken=0b3305902db7183f, processorArchitecture=MSIL"
>
<SpecificVersion>
False
</SpecificVersion>
<HintPath>
..\..\lib\Rhino.Mocks.dll
</HintPath>
</Reference>
<Reference
Include=
"System"
/>
<Reference
Include=
"System.Data"
/>
<Reference
Include=
"System.Xml"
/>
</ItemGroup>
<ItemGroup>
<Compile
Include=
"..\ProtocolBuffers.Test\Properties\AssemblyInfo.cs"
>
<Link>
Properties\AssemblyInfo.cs
</Link>
</Compile>
<Compile
Include=
"..\ProtocolBuffers.Test\TestProtos\FIXUP.cs"
>
<Link>
TestProtos\FIXUP.cs
</Link>
</Compile>
<Compile
Include=
"AbstractBuilderLiteTest.cs"
/>
<Compile
Include=
"AbstractMessageLiteTest.cs"
/>
<Compile
Include=
"ExtendableBuilderLiteTest.cs"
/>
<Compile
Include=
"ExtendableMessageLiteTest.cs"
/>
<Compile
Include=
"InteropLiteTest.cs"
/>
<Compile
Include=
"LiteTest.cs"
/>
<Compile
Include=
"TestLiteByApi.cs"
/>
<Compile
Include=
"TestProtos\UnitTestExtrasFullProtoFile.cs"
/>
<Compile
Include=
"TestProtos\UnitTestExtrasLiteProtoFile.cs"
/>
<Compile
Include=
"TestProtos\UnitTestImportLiteProtoFile.cs"
/>
<Compile
Include=
"TestProtos\UnitTestImportProtoFile.cs"
/>
<Compile
Include=
"TestProtos\UnitTestLiteImportNonLiteProtoFile.cs"
/>
<Compile
Include=
"TestProtos\UnitTestLiteProtoFile.cs"
/>
<Compile
Include=
"TestProtos\UnitTestProtoFile.cs"
/>
</ItemGroup>
<ItemGroup>
<None
Include=
"..\ProtocolBuffers.Test\Properties\Google.ProtocolBuffers.Test.snk"
>
<Link>
Properties\Google.ProtocolBuffers.Test.snk
</Link>
</None>
</ItemGroup>
<ItemGroup>
<ProjectReference
Include=
"..\ProtocolBuffers\ProtocolBuffers.csproj"
>
<Project>
{6908BDCE-D925-43F3-94AC-A531E6DF2591}
</Project>
<Name>
ProtocolBuffers
</Name>
</ProjectReference>
</ItemGroup>
<Import
Project=
"$(MSBuildToolsPath)\Microsoft.CSharp.targets"
/>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
\ No newline at end of file
src/ProtocolBuffersLite.Test/TestProtos/UnitTestExtrasFullProtoFile.cs
0 → 100644
View file @
e4954773
// Generated by ProtoGen, Version=0.9.0.0, Culture=neutral, PublicKeyToken=8fd7408b07f8d2cd. 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
Google.ProtocolBuffers.TestProtos
{
public
static
partial
class
UnitTestExtrasFullProtoFile
{
#
region
Extension
registration
public
static
void
RegisterAllExtensions
(
pb
::
ExtensionRegistry
registry
)
{
registry
.
Add
(
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
UnitTestExtrasFullProtoFile
.
EmployeeId
);
}
#
endregion
#
region
Extensions
public
const
int
EmployeeIdFieldNumber
=
126
;
public
static
pb
::
GeneratedExtensionBase
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropEmployeeId
>
EmployeeId
;
#
endregion
#
region
Static
variables
internal
static
pbd
::
MessageDescriptor
internal__static_protobuf_unittest_extra_TestInteropPerson__Descriptor
;
internal
static
pb
::
FieldAccess
.
FieldAccessorTable
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
,
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Builder
>
internal__static_protobuf_unittest_extra_TestInteropPerson__FieldAccessorTable
;
internal
static
pbd
::
MessageDescriptor
internal__static_protobuf_unittest_extra_TestInteropPerson_PhoneNumber__Descriptor
;
internal
static
pb
::
FieldAccess
.
FieldAccessorTable
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
PhoneNumber
,
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
PhoneNumber
.
Builder
>
internal__static_protobuf_unittest_extra_TestInteropPerson_PhoneNumber__FieldAccessorTable
;
internal
static
pbd
::
MessageDescriptor
internal__static_protobuf_unittest_extra_TestInteropPerson_Addresses__Descriptor
;
internal
static
pb
::
FieldAccess
.
FieldAccessorTable
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
Addresses
,
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
Addresses
.
Builder
>
internal__static_protobuf_unittest_extra_TestInteropPerson_Addresses__FieldAccessorTable
;
internal
static
pbd
::
MessageDescriptor
internal__static_protobuf_unittest_extra_TestInteropEmployeeId__Descriptor
;
internal
static
pb
::
FieldAccess
.
FieldAccessorTable
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropEmployeeId
,
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropEmployeeId
.
Builder
>
internal__static_protobuf_unittest_extra_TestInteropEmployeeId__FieldAccessorTable
;
#
endregion
#
region
Descriptor
public
static
pbd
::
FileDescriptor
Descriptor
{
get
{
return
descriptor
;
}
}
private
static
pbd
::
FileDescriptor
descriptor
;
static
UnitTestExtrasFullProtoFile
()
{
byte
[]
descriptorData
=
global
::
System
.
Convert
.
FromBase64String
(
"CiFleHRlc3QvdW5pdHRlc3RfZXh0cmFzX2Z1bGwucHJvdG8SF3Byb3RvYnVm"
+
"X3VuaXR0ZXN0X2V4dHJhGiRnb29nbGUvcHJvdG9idWYvY3NoYXJwX29wdGlv"
+
"bnMucHJvdG8i1gMKEVRlc3RJbnRlcm9wUGVyc29uEgwKBG5hbWUYASACKAkS"
+
"CgoCaWQYAiACKAUSDQoFZW1haWwYAyABKAkSEQoFY29kZXMYCiADKAVCAhAB"
+
"EkUKBXBob25lGAQgAygLMjYucHJvdG9idWZfdW5pdHRlc3RfZXh0cmEuVGVz"
+
"dEludGVyb3BQZXJzb24uUGhvbmVOdW1iZXISRwoJYWRkcmVzc2VzGAUgAygK"
+
"MjQucHJvdG9idWZfdW5pdHRlc3RfZXh0cmEuVGVzdEludGVyb3BQZXJzb24u"
+
"QWRkcmVzc2VzGmcKC1Bob25lTnVtYmVyEg4KBm51bWJlchgBIAIoCRJICgR0"
+
"eXBlGAIgASgOMjQucHJvdG9idWZfdW5pdHRlc3RfZXh0cmEuVGVzdEludGVy"
+
"b3BQZXJzb24uUGhvbmVUeXBlOgRIT01FGlgKCUFkZHJlc3NlcxIPCgdhZGRy"
+
"ZXNzGAEgAigJEhAKCGFkZHJlc3MyGAIgASgJEgwKBGNpdHkYAyACKAkSDQoF"
+
"c3RhdGUYBCACKAkSCwoDemlwGAUgAigHIisKCVBob25lVHlwZRIKCgZNT0JJ"
+
"TEUQABIICgRIT01FEAESCAoEV09SSxACKgUIZBDIASInChVUZXN0SW50ZXJv"
+
"cEVtcGxveWVlSWQSDgoGbnVtYmVyGAEgAigJOm8KC2VtcGxveWVlX2lkEiou"
+
"cHJvdG9idWZfdW5pdHRlc3RfZXh0cmEuVGVzdEludGVyb3BQZXJzb24YfiAC"
+
"KAsyLi5wcm90b2J1Zl91bml0dGVzdF9leHRyYS5UZXN0SW50ZXJvcEVtcGxv"
+
"eWVlSWRCWgoTY29tLmdvb2dsZS5wcm90b2J1ZkgCwj5ACiFHb29nbGUuUHJv"
+
"dG9jb2xCdWZmZXJzLlRlc3RQcm90b3MSG1VuaXRUZXN0RXh0cmFzRnVsbFBy"
+
"b3RvRmlsZQ=="
);
pbd
::
FileDescriptor
.
InternalDescriptorAssigner
assigner
=
delegate
(
pbd
::
FileDescriptor
root
)
{
descriptor
=
root
;
internal__static_protobuf_unittest_extra_TestInteropPerson__Descriptor
=
Descriptor
.
MessageTypes
[
0
];
internal__static_protobuf_unittest_extra_TestInteropPerson__FieldAccessorTable
=
new
pb
::
FieldAccess
.
FieldAccessorTable
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
,
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Builder
>(
internal__static_protobuf_unittest_extra_TestInteropPerson__Descriptor
,
new
string
[]
{
"Name"
,
"Id"
,
"Email"
,
"Codes"
,
"Phone"
,
"Addresses"
,
});
internal__static_protobuf_unittest_extra_TestInteropPerson_PhoneNumber__Descriptor
=
internal__static_protobuf_unittest_extra_TestInteropPerson__Descriptor
.
NestedTypes
[
0
];
internal__static_protobuf_unittest_extra_TestInteropPerson_PhoneNumber__FieldAccessorTable
=
new
pb
::
FieldAccess
.
FieldAccessorTable
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
PhoneNumber
,
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
PhoneNumber
.
Builder
>(
internal__static_protobuf_unittest_extra_TestInteropPerson_PhoneNumber__Descriptor
,
new
string
[]
{
"Number"
,
"Type"
,
});
internal__static_protobuf_unittest_extra_TestInteropPerson_Addresses__Descriptor
=
internal__static_protobuf_unittest_extra_TestInteropPerson__Descriptor
.
NestedTypes
[
1
];
internal__static_protobuf_unittest_extra_TestInteropPerson_Addresses__FieldAccessorTable
=
new
pb
::
FieldAccess
.
FieldAccessorTable
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
Addresses
,
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
Addresses
.
Builder
>(
internal__static_protobuf_unittest_extra_TestInteropPerson_Addresses__Descriptor
,
new
string
[]
{
"Address"
,
"Address2"
,
"City"
,
"State"
,
"Zip"
,
});
internal__static_protobuf_unittest_extra_TestInteropEmployeeId__Descriptor
=
Descriptor
.
MessageTypes
[
1
];
internal__static_protobuf_unittest_extra_TestInteropEmployeeId__FieldAccessorTable
=
new
pb
::
FieldAccess
.
FieldAccessorTable
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropEmployeeId
,
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropEmployeeId
.
Builder
>(
internal__static_protobuf_unittest_extra_TestInteropEmployeeId__Descriptor
,
new
string
[]
{
"Number"
,
});
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
UnitTestExtrasFullProtoFile
.
EmployeeId
=
pb
::
GeneratedSingleExtension
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropEmployeeId
>.
CreateInstance
(
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
UnitTestExtrasFullProtoFile
.
Descriptor
.
Extensions
[
0
]);
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
public
sealed
partial
class
TestInteropPerson
:
pb
::
ExtendableMessage
<
TestInteropPerson
,
TestInteropPerson
.
Builder
>
{
private
static
readonly
TestInteropPerson
defaultInstance
=
new
Builder
().
BuildPartial
();
public
static
TestInteropPerson
DefaultInstance
{
get
{
return
defaultInstance
;
}
}
public
override
TestInteropPerson
DefaultInstanceForType
{
get
{
return
defaultInstance
;
}
}
protected
override
TestInteropPerson
ThisMessage
{
get
{
return
this
;
}
}
public
static
pbd
::
MessageDescriptor
Descriptor
{
get
{
return
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
UnitTestExtrasFullProtoFile
.
internal__static_protobuf_unittest_extra_TestInteropPerson__Descriptor
;
}
}
protected
override
pb
::
FieldAccess
.
FieldAccessorTable
<
TestInteropPerson
,
TestInteropPerson
.
Builder
>
InternalFieldAccessors
{
get
{
return
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
UnitTestExtrasFullProtoFile
.
internal__static_protobuf_unittest_extra_TestInteropPerson__FieldAccessorTable
;
}
}
#
region
Nested
types
public
static
class
Types
{
public
enum
PhoneType
{
MOBILE
=
0
,
HOME
=
1
,
WORK
=
2
,
}
public
sealed
partial
class
PhoneNumber
:
pb
::
GeneratedMessage
<
PhoneNumber
,
PhoneNumber
.
Builder
>
{
private
static
readonly
PhoneNumber
defaultInstance
=
new
Builder
().
BuildPartial
();
public
static
PhoneNumber
DefaultInstance
{
get
{
return
defaultInstance
;
}
}
public
override
PhoneNumber
DefaultInstanceForType
{
get
{
return
defaultInstance
;
}
}
protected
override
PhoneNumber
ThisMessage
{
get
{
return
this
;
}
}
public
static
pbd
::
MessageDescriptor
Descriptor
{
get
{
return
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
UnitTestExtrasFullProtoFile
.
internal__static_protobuf_unittest_extra_TestInteropPerson_PhoneNumber__Descriptor
;
}
}
protected
override
pb
::
FieldAccess
.
FieldAccessorTable
<
PhoneNumber
,
PhoneNumber
.
Builder
>
InternalFieldAccessors
{
get
{
return
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
UnitTestExtrasFullProtoFile
.
internal__static_protobuf_unittest_extra_TestInteropPerson_PhoneNumber__FieldAccessorTable
;
}
}
public
const
int
NumberFieldNumber
=
1
;
private
bool
hasNumber
;
private
string
number_
=
""
;
public
bool
HasNumber
{
get
{
return
hasNumber
;
}
}
public
string
Number
{
get
{
return
number_
;
}
}
public
const
int
TypeFieldNumber
=
2
;
private
bool
hasType
;
private
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
PhoneType
type_
=
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
PhoneType
.
HOME
;
public
bool
HasType
{
get
{
return
hasType
;
}
}
public
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
PhoneType
Type
{
get
{
return
type_
;
}
}
public
static
PhoneNumber
ParseFrom
(
pb
::
ByteString
data
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
)).
BuildParsed
();
}
public
static
PhoneNumber
ParseFrom
(
pb
::
ByteString
data
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
,
extensionRegistry
)).
BuildParsed
();
}
public
static
PhoneNumber
ParseFrom
(
byte
[]
data
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
)).
BuildParsed
();
}
public
static
PhoneNumber
ParseFrom
(
byte
[]
data
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
,
extensionRegistry
)).
BuildParsed
();
}
public
static
PhoneNumber
ParseFrom
(
global
::
System
.
IO
.
Stream
input
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
)).
BuildParsed
();
}
public
static
PhoneNumber
ParseFrom
(
global
::
System
.
IO
.
Stream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
,
extensionRegistry
)).
BuildParsed
();
}
public
static
PhoneNumber
ParseDelimitedFrom
(
global
::
System
.
IO
.
Stream
input
)
{
return
CreateBuilder
().
MergeDelimitedFrom
(
input
).
BuildParsed
();
}
public
static
PhoneNumber
ParseDelimitedFrom
(
global
::
System
.
IO
.
Stream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
CreateBuilder
().
MergeDelimitedFrom
(
input
,
extensionRegistry
).
BuildParsed
();
}
public
static
PhoneNumber
ParseFrom
(
pb
::
CodedInputStream
input
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
)).
BuildParsed
();
}
public
static
PhoneNumber
ParseFrom
(
pb
::
CodedInputStream
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
(
PhoneNumber
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
PhoneNumber
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
public
Builder
()
{}
PhoneNumber
result
=
new
PhoneNumber
();
protected
override
PhoneNumber
MessageBeingBuilt
{
get
{
return
result
;
}
}
public
override
Builder
Clear
()
{
result
=
new
PhoneNumber
();
return
this
;
}
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
}
public
override
pbd
::
MessageDescriptor
DescriptorForType
{
get
{
return
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
PhoneNumber
.
Descriptor
;
}
}
public
override
PhoneNumber
DefaultInstanceForType
{
get
{
return
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
PhoneNumber
.
DefaultInstance
;
}
}
public
override
PhoneNumber
BuildPartial
()
{
if
(
result
==
null
)
{
throw
new
global
::
System
.
InvalidOperationException
(
"build() has already been called on this Builder"
);
}
PhoneNumber
returnMe
=
result
;
result
=
null
;
return
returnMe
;
}
public
bool
HasNumber
{
get
{
return
result
.
HasNumber
;
}
}
public
string
Number
{
get
{
return
result
.
Number
;
}
set
{
SetNumber
(
value
);
}
}
public
Builder
SetNumber
(
string
value
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
value
,
"value"
);
result
.
hasNumber
=
true
;
result
.
number_
=
value
;
return
this
;
}
public
Builder
ClearNumber
()
{
result
.
hasNumber
=
false
;
result
.
number_
=
""
;
return
this
;
}
public
bool
HasType
{
get
{
return
result
.
HasType
;
}
}
public
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
PhoneType
Type
{
get
{
return
result
.
Type
;
}
set
{
SetType
(
value
);
}
}
public
Builder
SetType
(
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
PhoneType
value
)
{
result
.
hasType
=
true
;
result
.
type_
=
value
;
return
this
;
}
public
Builder
ClearType
()
{
result
.
hasType
=
false
;
result
.
type_
=
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
PhoneType
.
HOME
;
return
this
;
}
}
static
PhoneNumber
()
{
object
.
ReferenceEquals
(
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
UnitTestExtrasFullProtoFile
.
Descriptor
,
null
);
}
}
public
sealed
partial
class
Addresses
:
pb
::
GeneratedMessage
<
Addresses
,
Addresses
.
Builder
>
{
private
static
readonly
Addresses
defaultInstance
=
new
Builder
().
BuildPartial
();
public
static
Addresses
DefaultInstance
{
get
{
return
defaultInstance
;
}
}
public
override
Addresses
DefaultInstanceForType
{
get
{
return
defaultInstance
;
}
}
protected
override
Addresses
ThisMessage
{
get
{
return
this
;
}
}
public
static
pbd
::
MessageDescriptor
Descriptor
{
get
{
return
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
UnitTestExtrasFullProtoFile
.
internal__static_protobuf_unittest_extra_TestInteropPerson_Addresses__Descriptor
;
}
}
protected
override
pb
::
FieldAccess
.
FieldAccessorTable
<
Addresses
,
Addresses
.
Builder
>
InternalFieldAccessors
{
get
{
return
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
UnitTestExtrasFullProtoFile
.
internal__static_protobuf_unittest_extra_TestInteropPerson_Addresses__FieldAccessorTable
;
}
}
public
const
int
AddressFieldNumber
=
1
;
private
bool
hasAddress
;
private
string
address_
=
""
;
public
bool
HasAddress
{
get
{
return
hasAddress
;
}
}
public
string
Address
{
get
{
return
address_
;
}
}
public
const
int
Address2FieldNumber
=
2
;
private
bool
hasAddress2
;
private
string
address2_
=
""
;
public
bool
HasAddress2
{
get
{
return
hasAddress2
;
}
}
public
string
Address2
{
get
{
return
address2_
;
}
}
public
const
int
CityFieldNumber
=
3
;
private
bool
hasCity
;
private
string
city_
=
""
;
public
bool
HasCity
{
get
{
return
hasCity
;
}
}
public
string
City
{
get
{
return
city_
;
}
}
public
const
int
StateFieldNumber
=
4
;
private
bool
hasState
;
private
string
state_
=
""
;
public
bool
HasState
{
get
{
return
hasState
;
}
}
public
string
State
{
get
{
return
state_
;
}
}
public
const
int
ZipFieldNumber
=
5
;
private
bool
hasZip
;
private
uint
zip_
=
0
;
public
bool
HasZip
{
get
{
return
hasZip
;
}
}
[
global
::
System
.
CLSCompliant
(
false
)]
public
uint
Zip
{
get
{
return
zip_
;
}
}
public
static
Addresses
ParseFrom
(
pb
::
ByteString
data
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
)).
BuildParsed
();
}
public
static
Addresses
ParseFrom
(
pb
::
ByteString
data
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
,
extensionRegistry
)).
BuildParsed
();
}
public
static
Addresses
ParseFrom
(
byte
[]
data
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
)).
BuildParsed
();
}
public
static
Addresses
ParseFrom
(
byte
[]
data
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
,
extensionRegistry
)).
BuildParsed
();
}
public
static
Addresses
ParseFrom
(
global
::
System
.
IO
.
Stream
input
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
)).
BuildParsed
();
}
public
static
Addresses
ParseFrom
(
global
::
System
.
IO
.
Stream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
,
extensionRegistry
)).
BuildParsed
();
}
public
static
Addresses
ParseDelimitedFrom
(
global
::
System
.
IO
.
Stream
input
)
{
return
CreateBuilder
().
MergeDelimitedFrom
(
input
).
BuildParsed
();
}
public
static
Addresses
ParseDelimitedFrom
(
global
::
System
.
IO
.
Stream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
CreateBuilder
().
MergeDelimitedFrom
(
input
,
extensionRegistry
).
BuildParsed
();
}
public
static
Addresses
ParseFrom
(
pb
::
CodedInputStream
input
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
)).
BuildParsed
();
}
public
static
Addresses
ParseFrom
(
pb
::
CodedInputStream
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
(
Addresses
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
Addresses
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
public
Builder
()
{}
Addresses
result
=
new
Addresses
();
protected
override
Addresses
MessageBeingBuilt
{
get
{
return
result
;
}
}
public
override
Builder
Clear
()
{
result
=
new
Addresses
();
return
this
;
}
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
}
public
override
pbd
::
MessageDescriptor
DescriptorForType
{
get
{
return
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
Addresses
.
Descriptor
;
}
}
public
override
Addresses
DefaultInstanceForType
{
get
{
return
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
Addresses
.
DefaultInstance
;
}
}
public
override
Addresses
BuildPartial
()
{
if
(
result
==
null
)
{
throw
new
global
::
System
.
InvalidOperationException
(
"build() has already been called on this Builder"
);
}
Addresses
returnMe
=
result
;
result
=
null
;
return
returnMe
;
}
public
bool
HasAddress
{
get
{
return
result
.
HasAddress
;
}
}
public
string
Address
{
get
{
return
result
.
Address
;
}
set
{
SetAddress
(
value
);
}
}
public
Builder
SetAddress
(
string
value
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
value
,
"value"
);
result
.
hasAddress
=
true
;
result
.
address_
=
value
;
return
this
;
}
public
Builder
ClearAddress
()
{
result
.
hasAddress
=
false
;
result
.
address_
=
""
;
return
this
;
}
public
bool
HasAddress2
{
get
{
return
result
.
HasAddress2
;
}
}
public
string
Address2
{
get
{
return
result
.
Address2
;
}
set
{
SetAddress2
(
value
);
}
}
public
Builder
SetAddress2
(
string
value
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
value
,
"value"
);
result
.
hasAddress2
=
true
;
result
.
address2_
=
value
;
return
this
;
}
public
Builder
ClearAddress2
()
{
result
.
hasAddress2
=
false
;
result
.
address2_
=
""
;
return
this
;
}
public
bool
HasCity
{
get
{
return
result
.
HasCity
;
}
}
public
string
City
{
get
{
return
result
.
City
;
}
set
{
SetCity
(
value
);
}
}
public
Builder
SetCity
(
string
value
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
value
,
"value"
);
result
.
hasCity
=
true
;
result
.
city_
=
value
;
return
this
;
}
public
Builder
ClearCity
()
{
result
.
hasCity
=
false
;
result
.
city_
=
""
;
return
this
;
}
public
bool
HasState
{
get
{
return
result
.
HasState
;
}
}
public
string
State
{
get
{
return
result
.
State
;
}
set
{
SetState
(
value
);
}
}
public
Builder
SetState
(
string
value
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
value
,
"value"
);
result
.
hasState
=
true
;
result
.
state_
=
value
;
return
this
;
}
public
Builder
ClearState
()
{
result
.
hasState
=
false
;
result
.
state_
=
""
;
return
this
;
}
public
bool
HasZip
{
get
{
return
result
.
HasZip
;
}
}
[
global
::
System
.
CLSCompliant
(
false
)]
public
uint
Zip
{
get
{
return
result
.
Zip
;
}
set
{
SetZip
(
value
);
}
}
[
global
::
System
.
CLSCompliant
(
false
)]
public
Builder
SetZip
(
uint
value
)
{
result
.
hasZip
=
true
;
result
.
zip_
=
value
;
return
this
;
}
public
Builder
ClearZip
()
{
result
.
hasZip
=
false
;
result
.
zip_
=
0
;
return
this
;
}
}
static
Addresses
()
{
object
.
ReferenceEquals
(
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
UnitTestExtrasFullProtoFile
.
Descriptor
,
null
);
}
}
}
#
endregion
public
const
int
NameFieldNumber
=
1
;
private
bool
hasName
;
private
string
name_
=
""
;
public
bool
HasName
{
get
{
return
hasName
;
}
}
public
string
Name
{
get
{
return
name_
;
}
}
public
const
int
IdFieldNumber
=
2
;
private
bool
hasId
;
private
int
id_
=
0
;
public
bool
HasId
{
get
{
return
hasId
;
}
}
public
int
Id
{
get
{
return
id_
;
}
}
public
const
int
EmailFieldNumber
=
3
;
private
bool
hasEmail
;
private
string
email_
=
""
;
public
bool
HasEmail
{
get
{
return
hasEmail
;
}
}
public
string
Email
{
get
{
return
email_
;
}
}
public
const
int
CodesFieldNumber
=
10
;
private
pbc
::
PopsicleList
<
int
>
codes_
=
new
pbc
::
PopsicleList
<
int
>();
public
scg
::
IList
<
int
>
CodesList
{
get
{
return
pbc
::
Lists
.
AsReadOnly
(
codes_
);
}
}
public
int
CodesCount
{
get
{
return
codes_
.
Count
;
}
}
public
int
GetCodes
(
int
index
)
{
return
codes_
[
index
];
}
public
const
int
PhoneFieldNumber
=
4
;
private
pbc
::
PopsicleList
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
PhoneNumber
>
phone_
=
new
pbc
::
PopsicleList
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
PhoneNumber
>();
public
scg
::
IList
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
PhoneNumber
>
PhoneList
{
get
{
return
phone_
;
}
}
public
int
PhoneCount
{
get
{
return
phone_
.
Count
;
}
}
public
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
PhoneNumber
GetPhone
(
int
index
)
{
return
phone_
[
index
];
}
public
const
int
AddressesFieldNumber
=
5
;
private
pbc
::
PopsicleList
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
Addresses
>
addresses_
=
new
pbc
::
PopsicleList
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
Addresses
>();
public
scg
::
IList
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
Addresses
>
AddressesList
{
get
{
return
addresses_
;
}
}
public
int
AddressesCount
{
get
{
return
addresses_
.
Count
;
}
}
public
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
Addresses
GetAddresses
(
int
index
)
{
return
addresses_
[
index
];
}
public
static
TestInteropPerson
ParseFrom
(
pb
::
ByteString
data
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
)).
BuildParsed
();
}
public
static
TestInteropPerson
ParseFrom
(
pb
::
ByteString
data
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
,
extensionRegistry
)).
BuildParsed
();
}
public
static
TestInteropPerson
ParseFrom
(
byte
[]
data
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
)).
BuildParsed
();
}
public
static
TestInteropPerson
ParseFrom
(
byte
[]
data
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
,
extensionRegistry
)).
BuildParsed
();
}
public
static
TestInteropPerson
ParseFrom
(
global
::
System
.
IO
.
Stream
input
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
)).
BuildParsed
();
}
public
static
TestInteropPerson
ParseFrom
(
global
::
System
.
IO
.
Stream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
,
extensionRegistry
)).
BuildParsed
();
}
public
static
TestInteropPerson
ParseDelimitedFrom
(
global
::
System
.
IO
.
Stream
input
)
{
return
CreateBuilder
().
MergeDelimitedFrom
(
input
).
BuildParsed
();
}
public
static
TestInteropPerson
ParseDelimitedFrom
(
global
::
System
.
IO
.
Stream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
CreateBuilder
().
MergeDelimitedFrom
(
input
,
extensionRegistry
).
BuildParsed
();
}
public
static
TestInteropPerson
ParseFrom
(
pb
::
CodedInputStream
input
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
)).
BuildParsed
();
}
public
static
TestInteropPerson
ParseFrom
(
pb
::
CodedInputStream
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
(
TestInteropPerson
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
public
sealed
partial
class
Builder
:
pb
::
ExtendableBuilder
<
TestInteropPerson
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
public
Builder
()
{}
TestInteropPerson
result
=
new
TestInteropPerson
();
protected
override
TestInteropPerson
MessageBeingBuilt
{
get
{
return
result
;
}
}
public
override
Builder
Clear
()
{
result
=
new
TestInteropPerson
();
return
this
;
}
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
}
public
override
pbd
::
MessageDescriptor
DescriptorForType
{
get
{
return
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Descriptor
;
}
}
public
override
TestInteropPerson
DefaultInstanceForType
{
get
{
return
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
DefaultInstance
;
}
}
public
override
TestInteropPerson
BuildPartial
()
{
if
(
result
==
null
)
{
throw
new
global
::
System
.
InvalidOperationException
(
"build() has already been called on this Builder"
);
}
result
.
codes_
.
MakeReadOnly
();
result
.
phone_
.
MakeReadOnly
();
result
.
addresses_
.
MakeReadOnly
();
TestInteropPerson
returnMe
=
result
;
result
=
null
;
return
returnMe
;
}
public
bool
HasName
{
get
{
return
result
.
HasName
;
}
}
public
string
Name
{
get
{
return
result
.
Name
;
}
set
{
SetName
(
value
);
}
}
public
Builder
SetName
(
string
value
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
value
,
"value"
);
result
.
hasName
=
true
;
result
.
name_
=
value
;
return
this
;
}
public
Builder
ClearName
()
{
result
.
hasName
=
false
;
result
.
name_
=
""
;
return
this
;
}
public
bool
HasId
{
get
{
return
result
.
HasId
;
}
}
public
int
Id
{
get
{
return
result
.
Id
;
}
set
{
SetId
(
value
);
}
}
public
Builder
SetId
(
int
value
)
{
result
.
hasId
=
true
;
result
.
id_
=
value
;
return
this
;
}
public
Builder
ClearId
()
{
result
.
hasId
=
false
;
result
.
id_
=
0
;
return
this
;
}
public
bool
HasEmail
{
get
{
return
result
.
HasEmail
;
}
}
public
string
Email
{
get
{
return
result
.
Email
;
}
set
{
SetEmail
(
value
);
}
}
public
Builder
SetEmail
(
string
value
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
value
,
"value"
);
result
.
hasEmail
=
true
;
result
.
email_
=
value
;
return
this
;
}
public
Builder
ClearEmail
()
{
result
.
hasEmail
=
false
;
result
.
email_
=
""
;
return
this
;
}
public
pbc
::
IPopsicleList
<
int
>
CodesList
{
get
{
return
result
.
codes_
;
}
}
public
int
CodesCount
{
get
{
return
result
.
CodesCount
;
}
}
public
int
GetCodes
(
int
index
)
{
return
result
.
GetCodes
(
index
);
}
public
Builder
SetCodes
(
int
index
,
int
value
)
{
result
.
codes_
[
index
]
=
value
;
return
this
;
}
public
Builder
AddCodes
(
int
value
)
{
result
.
codes_
.
Add
(
value
);
return
this
;
}
public
Builder
AddRangeCodes
(
scg
::
IEnumerable
<
int
>
values
)
{
base
.
AddRange
(
values
,
result
.
codes_
);
return
this
;
}
public
Builder
ClearCodes
()
{
result
.
codes_
.
Clear
();
return
this
;
}
public
pbc
::
IPopsicleList
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
PhoneNumber
>
PhoneList
{
get
{
return
result
.
phone_
;
}
}
public
int
PhoneCount
{
get
{
return
result
.
PhoneCount
;
}
}
public
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
PhoneNumber
GetPhone
(
int
index
)
{
return
result
.
GetPhone
(
index
);
}
public
Builder
SetPhone
(
int
index
,
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
PhoneNumber
value
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
value
,
"value"
);
result
.
phone_
[
index
]
=
value
;
return
this
;
}
public
Builder
SetPhone
(
int
index
,
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
PhoneNumber
.
Builder
builderForValue
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
builderForValue
,
"builderForValue"
);
result
.
phone_
[
index
]
=
builderForValue
.
Build
();
return
this
;
}
public
Builder
AddPhone
(
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
PhoneNumber
value
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
value
,
"value"
);
result
.
phone_
.
Add
(
value
);
return
this
;
}
public
Builder
AddPhone
(
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
PhoneNumber
.
Builder
builderForValue
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
builderForValue
,
"builderForValue"
);
result
.
phone_
.
Add
(
builderForValue
.
Build
());
return
this
;
}
public
Builder
AddRangePhone
(
scg
::
IEnumerable
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
PhoneNumber
>
values
)
{
base
.
AddRange
(
values
,
result
.
phone_
);
return
this
;
}
public
Builder
ClearPhone
()
{
result
.
phone_
.
Clear
();
return
this
;
}
public
pbc
::
IPopsicleList
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
Addresses
>
AddressesList
{
get
{
return
result
.
addresses_
;
}
}
public
int
AddressesCount
{
get
{
return
result
.
AddressesCount
;
}
}
public
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
Addresses
GetAddresses
(
int
index
)
{
return
result
.
GetAddresses
(
index
);
}
public
Builder
SetAddresses
(
int
index
,
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
Addresses
value
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
value
,
"value"
);
result
.
addresses_
[
index
]
=
value
;
return
this
;
}
public
Builder
SetAddresses
(
int
index
,
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
Addresses
.
Builder
builderForValue
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
builderForValue
,
"builderForValue"
);
result
.
addresses_
[
index
]
=
builderForValue
.
Build
();
return
this
;
}
public
Builder
AddAddresses
(
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
Addresses
value
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
value
,
"value"
);
result
.
addresses_
.
Add
(
value
);
return
this
;
}
public
Builder
AddAddresses
(
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
Addresses
.
Builder
builderForValue
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
builderForValue
,
"builderForValue"
);
result
.
addresses_
.
Add
(
builderForValue
.
Build
());
return
this
;
}
public
Builder
AddRangeAddresses
(
scg
::
IEnumerable
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPerson
.
Types
.
Addresses
>
values
)
{
base
.
AddRange
(
values
,
result
.
addresses_
);
return
this
;
}
public
Builder
ClearAddresses
()
{
result
.
addresses_
.
Clear
();
return
this
;
}
}
static
TestInteropPerson
()
{
object
.
ReferenceEquals
(
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
UnitTestExtrasFullProtoFile
.
Descriptor
,
null
);
}
}
public
sealed
partial
class
TestInteropEmployeeId
:
pb
::
GeneratedMessage
<
TestInteropEmployeeId
,
TestInteropEmployeeId
.
Builder
>
{
private
static
readonly
TestInteropEmployeeId
defaultInstance
=
new
Builder
().
BuildPartial
();
public
static
TestInteropEmployeeId
DefaultInstance
{
get
{
return
defaultInstance
;
}
}
public
override
TestInteropEmployeeId
DefaultInstanceForType
{
get
{
return
defaultInstance
;
}
}
protected
override
TestInteropEmployeeId
ThisMessage
{
get
{
return
this
;
}
}
public
static
pbd
::
MessageDescriptor
Descriptor
{
get
{
return
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
UnitTestExtrasFullProtoFile
.
internal__static_protobuf_unittest_extra_TestInteropEmployeeId__Descriptor
;
}
}
protected
override
pb
::
FieldAccess
.
FieldAccessorTable
<
TestInteropEmployeeId
,
TestInteropEmployeeId
.
Builder
>
InternalFieldAccessors
{
get
{
return
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
UnitTestExtrasFullProtoFile
.
internal__static_protobuf_unittest_extra_TestInteropEmployeeId__FieldAccessorTable
;
}
}
public
const
int
NumberFieldNumber
=
1
;
private
bool
hasNumber
;
private
string
number_
=
""
;
public
bool
HasNumber
{
get
{
return
hasNumber
;
}
}
public
string
Number
{
get
{
return
number_
;
}
}
public
static
TestInteropEmployeeId
ParseFrom
(
pb
::
ByteString
data
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
)).
BuildParsed
();
}
public
static
TestInteropEmployeeId
ParseFrom
(
pb
::
ByteString
data
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
,
extensionRegistry
)).
BuildParsed
();
}
public
static
TestInteropEmployeeId
ParseFrom
(
byte
[]
data
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
)).
BuildParsed
();
}
public
static
TestInteropEmployeeId
ParseFrom
(
byte
[]
data
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
,
extensionRegistry
)).
BuildParsed
();
}
public
static
TestInteropEmployeeId
ParseFrom
(
global
::
System
.
IO
.
Stream
input
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
)).
BuildParsed
();
}
public
static
TestInteropEmployeeId
ParseFrom
(
global
::
System
.
IO
.
Stream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
,
extensionRegistry
)).
BuildParsed
();
}
public
static
TestInteropEmployeeId
ParseDelimitedFrom
(
global
::
System
.
IO
.
Stream
input
)
{
return
CreateBuilder
().
MergeDelimitedFrom
(
input
).
BuildParsed
();
}
public
static
TestInteropEmployeeId
ParseDelimitedFrom
(
global
::
System
.
IO
.
Stream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
CreateBuilder
().
MergeDelimitedFrom
(
input
,
extensionRegistry
).
BuildParsed
();
}
public
static
TestInteropEmployeeId
ParseFrom
(
pb
::
CodedInputStream
input
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
)).
BuildParsed
();
}
public
static
TestInteropEmployeeId
ParseFrom
(
pb
::
CodedInputStream
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
(
TestInteropEmployeeId
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilder
<
TestInteropEmployeeId
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
public
Builder
()
{}
TestInteropEmployeeId
result
=
new
TestInteropEmployeeId
();
protected
override
TestInteropEmployeeId
MessageBeingBuilt
{
get
{
return
result
;
}
}
public
override
Builder
Clear
()
{
result
=
new
TestInteropEmployeeId
();
return
this
;
}
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
}
public
override
pbd
::
MessageDescriptor
DescriptorForType
{
get
{
return
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropEmployeeId
.
Descriptor
;
}
}
public
override
TestInteropEmployeeId
DefaultInstanceForType
{
get
{
return
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropEmployeeId
.
DefaultInstance
;
}
}
public
override
TestInteropEmployeeId
BuildPartial
()
{
if
(
result
==
null
)
{
throw
new
global
::
System
.
InvalidOperationException
(
"build() has already been called on this Builder"
);
}
TestInteropEmployeeId
returnMe
=
result
;
result
=
null
;
return
returnMe
;
}
public
bool
HasNumber
{
get
{
return
result
.
HasNumber
;
}
}
public
string
Number
{
get
{
return
result
.
Number
;
}
set
{
SetNumber
(
value
);
}
}
public
Builder
SetNumber
(
string
value
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
value
,
"value"
);
result
.
hasNumber
=
true
;
result
.
number_
=
value
;
return
this
;
}
public
Builder
ClearNumber
()
{
result
.
hasNumber
=
false
;
result
.
number_
=
""
;
return
this
;
}
}
static
TestInteropEmployeeId
()
{
object
.
ReferenceEquals
(
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
UnitTestExtrasFullProtoFile
.
Descriptor
,
null
);
}
}
#
endregion
}
src/ProtocolBuffersLite.Test/TestProtos/UnitTestExtrasLiteProtoFile.cs
View file @
e4954773
...
...
@@ -10,21 +10,35 @@ namespace Google.ProtocolBuffers.TestProtos {
#
region
Extension
registration
public
static
void
RegisterAllExtensions
(
pb
::
ExtensionRegistry
registry
)
{
registry
.
Add
(
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
UnitTestExtrasLiteProtoFile
.
EmployeeIdLite
);
}
#
endregion
#
region
Extensions
public
const
int
EmployeeIdLiteFieldNumber
=
126
;
public
static
pb
::
GeneratedExtensionLite
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
,
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropEmployeeIdLite
>
EmployeeIdLite
;
#
endregion
#
region
Static
variables
#
endregion
#
region
Extensions
internal
static
readonly
object
Descriptor
;
static
UnitTestExtrasLiteProtoFile
()
{
Descriptor
=
null
;
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
UnitTestExtrasLiteProtoFile
.
EmployeeIdLite
=
new
pb
::
GeneratedExtensionLite
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
,
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropEmployeeIdLite
>(
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
DefaultInstance
,
null
,
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropEmployeeIdLite
.
DefaultInstance
,
null
,
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
UnitTestExtrasLiteProtoFile
.
EmployeeIdLiteFieldNumber
,
pbd
::
FieldType
.
Message
);
}
#
endregion
}
#
region
Enums
public
enum
ExtraEnum
{
DEFAULT
=
1
,
DEFAULT
=
1
0
,
EXLITE_FOO
=
7
,
EXLITE_BAR
=
8
,
EXLITE_BAZ
=
9
,
...
...
@@ -270,6 +284,1297 @@ namespace Google.ProtocolBuffers.TestProtos {
}
}
public
sealed
partial
class
TestInteropPersonLite
:
pb
::
ExtendableMessageLite
<
TestInteropPersonLite
,
TestInteropPersonLite
.
Builder
>
{
private
static
readonly
TestInteropPersonLite
defaultInstance
=
new
Builder
().
BuildPartial
();
public
static
TestInteropPersonLite
DefaultInstance
{
get
{
return
defaultInstance
;
}
}
public
override
TestInteropPersonLite
DefaultInstanceForType
{
get
{
return
defaultInstance
;
}
}
protected
override
TestInteropPersonLite
ThisMessage
{
get
{
return
this
;
}
}
#
region
Nested
types
public
static
class
Types
{
public
enum
PhoneType
{
MOBILE
=
0
,
HOME
=
1
,
WORK
=
2
,
}
public
sealed
partial
class
PhoneNumber
:
pb
::
GeneratedMessageLite
<
PhoneNumber
,
PhoneNumber
.
Builder
>
{
private
static
readonly
PhoneNumber
defaultInstance
=
new
Builder
().
BuildPartial
();
public
static
PhoneNumber
DefaultInstance
{
get
{
return
defaultInstance
;
}
}
public
override
PhoneNumber
DefaultInstanceForType
{
get
{
return
defaultInstance
;
}
}
protected
override
PhoneNumber
ThisMessage
{
get
{
return
this
;
}
}
public
const
int
NumberFieldNumber
=
1
;
private
bool
hasNumber
;
private
string
number_
=
""
;
public
bool
HasNumber
{
get
{
return
hasNumber
;
}
}
public
string
Number
{
get
{
return
number_
;
}
}
public
const
int
TypeFieldNumber
=
2
;
private
bool
hasType
;
private
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
PhoneType
type_
=
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
PhoneType
.
HOME
;
public
bool
HasType
{
get
{
return
hasType
;
}
}
public
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
PhoneType
Type
{
get
{
return
type_
;
}
}
public
override
bool
IsInitialized
{
get
{
if
(!
hasNumber
)
return
false
;
return
true
;
}
}
public
override
void
WriteTo
(
pb
::
CodedOutputStream
output
)
{
int
size
=
SerializedSize
;
if
(
HasNumber
)
{
output
.
WriteString
(
1
,
Number
);
}
if
(
HasType
)
{
output
.
WriteEnum
(
2
,
(
int
)
Type
);
}
}
private
int
memoizedSerializedSize
=
-
1
;
public
override
int
SerializedSize
{
get
{
int
size
=
memoizedSerializedSize
;
if
(
size
!=
-
1
)
return
size
;
size
=
0
;
if
(
HasNumber
)
{
size
+=
pb
::
CodedOutputStream
.
ComputeStringSize
(
1
,
Number
);
}
if
(
HasType
)
{
size
+=
pb
::
CodedOutputStream
.
ComputeEnumSize
(
2
,
(
int
)
Type
);
}
memoizedSerializedSize
=
size
;
return
size
;
}
}
public
static
PhoneNumber
ParseFrom
(
pb
::
ByteString
data
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
)).
BuildParsed
();
}
public
static
PhoneNumber
ParseFrom
(
pb
::
ByteString
data
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
,
extensionRegistry
)).
BuildParsed
();
}
public
static
PhoneNumber
ParseFrom
(
byte
[]
data
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
)).
BuildParsed
();
}
public
static
PhoneNumber
ParseFrom
(
byte
[]
data
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
,
extensionRegistry
)).
BuildParsed
();
}
public
static
PhoneNumber
ParseFrom
(
global
::
System
.
IO
.
Stream
input
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
)).
BuildParsed
();
}
public
static
PhoneNumber
ParseFrom
(
global
::
System
.
IO
.
Stream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
,
extensionRegistry
)).
BuildParsed
();
}
public
static
PhoneNumber
ParseDelimitedFrom
(
global
::
System
.
IO
.
Stream
input
)
{
return
CreateBuilder
().
MergeDelimitedFrom
(
input
).
BuildParsed
();
}
public
static
PhoneNumber
ParseDelimitedFrom
(
global
::
System
.
IO
.
Stream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
CreateBuilder
().
MergeDelimitedFrom
(
input
,
extensionRegistry
).
BuildParsed
();
}
public
static
PhoneNumber
ParseFrom
(
pb
::
CodedInputStream
input
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
)).
BuildParsed
();
}
public
static
PhoneNumber
ParseFrom
(
pb
::
CodedInputStream
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
(
PhoneNumber
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilderLite
<
PhoneNumber
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
public
Builder
()
{}
PhoneNumber
result
=
new
PhoneNumber
();
protected
override
PhoneNumber
MessageBeingBuilt
{
get
{
return
result
;
}
}
public
override
Builder
Clear
()
{
result
=
new
PhoneNumber
();
return
this
;
}
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
}
public
override
PhoneNumber
DefaultInstanceForType
{
get
{
return
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
PhoneNumber
.
DefaultInstance
;
}
}
public
override
PhoneNumber
BuildPartial
()
{
if
(
result
==
null
)
{
throw
new
global
::
System
.
InvalidOperationException
(
"build() has already been called on this Builder"
);
}
PhoneNumber
returnMe
=
result
;
result
=
null
;
return
returnMe
;
}
public
override
Builder
MergeFrom
(
pb
::
IMessageLite
other
)
{
if
(
other
is
PhoneNumber
)
{
return
MergeFrom
((
PhoneNumber
)
other
);
}
else
{
base
.
MergeFrom
(
other
);
return
this
;
}
}
public
override
Builder
MergeFrom
(
PhoneNumber
other
)
{
if
(
other
==
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
PhoneNumber
.
DefaultInstance
)
return
this
;
if
(
other
.
HasNumber
)
{
Number
=
other
.
Number
;
}
if
(
other
.
HasType
)
{
Type
=
other
.
Type
;
}
return
this
;
}
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
)
{
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
}
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
while
(
true
)
{
uint
tag
=
input
.
ReadTag
();
switch
(
tag
)
{
case
0
:
{
return
this
;
}
default
:
{
if
(
pb
::
WireFormat
.
IsEndGroupTag
(
tag
))
{
return
this
;
}
ParseUnknownField
(
input
,
extensionRegistry
,
tag
);
break
;
}
case
10
:
{
Number
=
input
.
ReadString
();
break
;
}
case
16
:
{
int
rawValue
=
input
.
ReadEnum
();
if
(!
global
::
System
.
Enum
.
IsDefined
(
typeof
(
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
PhoneType
),
rawValue
))
{
}
else
{
Type
=
(
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
PhoneType
)
rawValue
;
}
break
;
}
}
}
}
public
bool
HasNumber
{
get
{
return
result
.
HasNumber
;
}
}
public
string
Number
{
get
{
return
result
.
Number
;
}
set
{
SetNumber
(
value
);
}
}
public
Builder
SetNumber
(
string
value
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
value
,
"value"
);
result
.
hasNumber
=
true
;
result
.
number_
=
value
;
return
this
;
}
public
Builder
ClearNumber
()
{
result
.
hasNumber
=
false
;
result
.
number_
=
""
;
return
this
;
}
public
bool
HasType
{
get
{
return
result
.
HasType
;
}
}
public
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
PhoneType
Type
{
get
{
return
result
.
Type
;
}
set
{
SetType
(
value
);
}
}
public
Builder
SetType
(
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
PhoneType
value
)
{
result
.
hasType
=
true
;
result
.
type_
=
value
;
return
this
;
}
public
Builder
ClearType
()
{
result
.
hasType
=
false
;
result
.
type_
=
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
PhoneType
.
HOME
;
return
this
;
}
}
static
PhoneNumber
()
{
object
.
ReferenceEquals
(
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
UnitTestExtrasLiteProtoFile
.
Descriptor
,
null
);
}
}
public
sealed
partial
class
Addresses
:
pb
::
GeneratedMessageLite
<
Addresses
,
Addresses
.
Builder
>
{
private
static
readonly
Addresses
defaultInstance
=
new
Builder
().
BuildPartial
();
public
static
Addresses
DefaultInstance
{
get
{
return
defaultInstance
;
}
}
public
override
Addresses
DefaultInstanceForType
{
get
{
return
defaultInstance
;
}
}
protected
override
Addresses
ThisMessage
{
get
{
return
this
;
}
}
public
const
int
AddressFieldNumber
=
1
;
private
bool
hasAddress
;
private
string
address_
=
""
;
public
bool
HasAddress
{
get
{
return
hasAddress
;
}
}
public
string
Address
{
get
{
return
address_
;
}
}
public
const
int
Address2FieldNumber
=
2
;
private
bool
hasAddress2
;
private
string
address2_
=
""
;
public
bool
HasAddress2
{
get
{
return
hasAddress2
;
}
}
public
string
Address2
{
get
{
return
address2_
;
}
}
public
const
int
CityFieldNumber
=
3
;
private
bool
hasCity
;
private
string
city_
=
""
;
public
bool
HasCity
{
get
{
return
hasCity
;
}
}
public
string
City
{
get
{
return
city_
;
}
}
public
const
int
StateFieldNumber
=
4
;
private
bool
hasState
;
private
string
state_
=
""
;
public
bool
HasState
{
get
{
return
hasState
;
}
}
public
string
State
{
get
{
return
state_
;
}
}
public
const
int
ZipFieldNumber
=
5
;
private
bool
hasZip
;
private
uint
zip_
=
0
;
public
bool
HasZip
{
get
{
return
hasZip
;
}
}
[
global
::
System
.
CLSCompliant
(
false
)]
public
uint
Zip
{
get
{
return
zip_
;
}
}
public
override
bool
IsInitialized
{
get
{
if
(!
hasAddress
)
return
false
;
if
(!
hasCity
)
return
false
;
if
(!
hasState
)
return
false
;
if
(!
hasZip
)
return
false
;
return
true
;
}
}
public
override
void
WriteTo
(
pb
::
CodedOutputStream
output
)
{
int
size
=
SerializedSize
;
if
(
HasAddress
)
{
output
.
WriteString
(
1
,
Address
);
}
if
(
HasAddress2
)
{
output
.
WriteString
(
2
,
Address2
);
}
if
(
HasCity
)
{
output
.
WriteString
(
3
,
City
);
}
if
(
HasState
)
{
output
.
WriteString
(
4
,
State
);
}
if
(
HasZip
)
{
output
.
WriteFixed32
(
5
,
Zip
);
}
}
private
int
memoizedSerializedSize
=
-
1
;
public
override
int
SerializedSize
{
get
{
int
size
=
memoizedSerializedSize
;
if
(
size
!=
-
1
)
return
size
;
size
=
0
;
if
(
HasAddress
)
{
size
+=
pb
::
CodedOutputStream
.
ComputeStringSize
(
1
,
Address
);
}
if
(
HasAddress2
)
{
size
+=
pb
::
CodedOutputStream
.
ComputeStringSize
(
2
,
Address2
);
}
if
(
HasCity
)
{
size
+=
pb
::
CodedOutputStream
.
ComputeStringSize
(
3
,
City
);
}
if
(
HasState
)
{
size
+=
pb
::
CodedOutputStream
.
ComputeStringSize
(
4
,
State
);
}
if
(
HasZip
)
{
size
+=
pb
::
CodedOutputStream
.
ComputeFixed32Size
(
5
,
Zip
);
}
memoizedSerializedSize
=
size
;
return
size
;
}
}
public
static
Addresses
ParseFrom
(
pb
::
ByteString
data
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
)).
BuildParsed
();
}
public
static
Addresses
ParseFrom
(
pb
::
ByteString
data
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
,
extensionRegistry
)).
BuildParsed
();
}
public
static
Addresses
ParseFrom
(
byte
[]
data
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
)).
BuildParsed
();
}
public
static
Addresses
ParseFrom
(
byte
[]
data
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
,
extensionRegistry
)).
BuildParsed
();
}
public
static
Addresses
ParseFrom
(
global
::
System
.
IO
.
Stream
input
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
)).
BuildParsed
();
}
public
static
Addresses
ParseFrom
(
global
::
System
.
IO
.
Stream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
,
extensionRegistry
)).
BuildParsed
();
}
public
static
Addresses
ParseDelimitedFrom
(
global
::
System
.
IO
.
Stream
input
)
{
return
CreateBuilder
().
MergeDelimitedFrom
(
input
).
BuildParsed
();
}
public
static
Addresses
ParseDelimitedFrom
(
global
::
System
.
IO
.
Stream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
CreateBuilder
().
MergeDelimitedFrom
(
input
,
extensionRegistry
).
BuildParsed
();
}
public
static
Addresses
ParseFrom
(
pb
::
CodedInputStream
input
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
)).
BuildParsed
();
}
public
static
Addresses
ParseFrom
(
pb
::
CodedInputStream
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
(
Addresses
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilderLite
<
Addresses
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
public
Builder
()
{}
Addresses
result
=
new
Addresses
();
protected
override
Addresses
MessageBeingBuilt
{
get
{
return
result
;
}
}
public
override
Builder
Clear
()
{
result
=
new
Addresses
();
return
this
;
}
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
}
public
override
Addresses
DefaultInstanceForType
{
get
{
return
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
Addresses
.
DefaultInstance
;
}
}
public
override
Addresses
BuildPartial
()
{
if
(
result
==
null
)
{
throw
new
global
::
System
.
InvalidOperationException
(
"build() has already been called on this Builder"
);
}
Addresses
returnMe
=
result
;
result
=
null
;
return
returnMe
;
}
public
override
Builder
MergeFrom
(
pb
::
IMessageLite
other
)
{
if
(
other
is
Addresses
)
{
return
MergeFrom
((
Addresses
)
other
);
}
else
{
base
.
MergeFrom
(
other
);
return
this
;
}
}
public
override
Builder
MergeFrom
(
Addresses
other
)
{
if
(
other
==
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
Addresses
.
DefaultInstance
)
return
this
;
if
(
other
.
HasAddress
)
{
Address
=
other
.
Address
;
}
if
(
other
.
HasAddress2
)
{
Address2
=
other
.
Address2
;
}
if
(
other
.
HasCity
)
{
City
=
other
.
City
;
}
if
(
other
.
HasState
)
{
State
=
other
.
State
;
}
if
(
other
.
HasZip
)
{
Zip
=
other
.
Zip
;
}
return
this
;
}
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
)
{
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
}
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
while
(
true
)
{
uint
tag
=
input
.
ReadTag
();
switch
(
tag
)
{
case
0
:
{
return
this
;
}
default
:
{
if
(
pb
::
WireFormat
.
IsEndGroupTag
(
tag
))
{
return
this
;
}
ParseUnknownField
(
input
,
extensionRegistry
,
tag
);
break
;
}
case
10
:
{
Address
=
input
.
ReadString
();
break
;
}
case
18
:
{
Address2
=
input
.
ReadString
();
break
;
}
case
26
:
{
City
=
input
.
ReadString
();
break
;
}
case
34
:
{
State
=
input
.
ReadString
();
break
;
}
case
45
:
{
Zip
=
input
.
ReadFixed32
();
break
;
}
}
}
}
public
bool
HasAddress
{
get
{
return
result
.
HasAddress
;
}
}
public
string
Address
{
get
{
return
result
.
Address
;
}
set
{
SetAddress
(
value
);
}
}
public
Builder
SetAddress
(
string
value
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
value
,
"value"
);
result
.
hasAddress
=
true
;
result
.
address_
=
value
;
return
this
;
}
public
Builder
ClearAddress
()
{
result
.
hasAddress
=
false
;
result
.
address_
=
""
;
return
this
;
}
public
bool
HasAddress2
{
get
{
return
result
.
HasAddress2
;
}
}
public
string
Address2
{
get
{
return
result
.
Address2
;
}
set
{
SetAddress2
(
value
);
}
}
public
Builder
SetAddress2
(
string
value
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
value
,
"value"
);
result
.
hasAddress2
=
true
;
result
.
address2_
=
value
;
return
this
;
}
public
Builder
ClearAddress2
()
{
result
.
hasAddress2
=
false
;
result
.
address2_
=
""
;
return
this
;
}
public
bool
HasCity
{
get
{
return
result
.
HasCity
;
}
}
public
string
City
{
get
{
return
result
.
City
;
}
set
{
SetCity
(
value
);
}
}
public
Builder
SetCity
(
string
value
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
value
,
"value"
);
result
.
hasCity
=
true
;
result
.
city_
=
value
;
return
this
;
}
public
Builder
ClearCity
()
{
result
.
hasCity
=
false
;
result
.
city_
=
""
;
return
this
;
}
public
bool
HasState
{
get
{
return
result
.
HasState
;
}
}
public
string
State
{
get
{
return
result
.
State
;
}
set
{
SetState
(
value
);
}
}
public
Builder
SetState
(
string
value
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
value
,
"value"
);
result
.
hasState
=
true
;
result
.
state_
=
value
;
return
this
;
}
public
Builder
ClearState
()
{
result
.
hasState
=
false
;
result
.
state_
=
""
;
return
this
;
}
public
bool
HasZip
{
get
{
return
result
.
HasZip
;
}
}
[
global
::
System
.
CLSCompliant
(
false
)]
public
uint
Zip
{
get
{
return
result
.
Zip
;
}
set
{
SetZip
(
value
);
}
}
[
global
::
System
.
CLSCompliant
(
false
)]
public
Builder
SetZip
(
uint
value
)
{
result
.
hasZip
=
true
;
result
.
zip_
=
value
;
return
this
;
}
public
Builder
ClearZip
()
{
result
.
hasZip
=
false
;
result
.
zip_
=
0
;
return
this
;
}
}
static
Addresses
()
{
object
.
ReferenceEquals
(
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
UnitTestExtrasLiteProtoFile
.
Descriptor
,
null
);
}
}
}
#
endregion
public
const
int
NameFieldNumber
=
1
;
private
bool
hasName
;
private
string
name_
=
""
;
public
bool
HasName
{
get
{
return
hasName
;
}
}
public
string
Name
{
get
{
return
name_
;
}
}
public
const
int
IdFieldNumber
=
2
;
private
bool
hasId
;
private
int
id_
=
0
;
public
bool
HasId
{
get
{
return
hasId
;
}
}
public
int
Id
{
get
{
return
id_
;
}
}
public
const
int
EmailFieldNumber
=
3
;
private
bool
hasEmail
;
private
string
email_
=
""
;
public
bool
HasEmail
{
get
{
return
hasEmail
;
}
}
public
string
Email
{
get
{
return
email_
;
}
}
public
const
int
CodesFieldNumber
=
10
;
private
int
codesMemoizedSerializedSize
;
private
pbc
::
PopsicleList
<
int
>
codes_
=
new
pbc
::
PopsicleList
<
int
>();
public
scg
::
IList
<
int
>
CodesList
{
get
{
return
pbc
::
Lists
.
AsReadOnly
(
codes_
);
}
}
public
int
CodesCount
{
get
{
return
codes_
.
Count
;
}
}
public
int
GetCodes
(
int
index
)
{
return
codes_
[
index
];
}
public
const
int
PhoneFieldNumber
=
4
;
private
pbc
::
PopsicleList
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
PhoneNumber
>
phone_
=
new
pbc
::
PopsicleList
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
PhoneNumber
>();
public
scg
::
IList
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
PhoneNumber
>
PhoneList
{
get
{
return
phone_
;
}
}
public
int
PhoneCount
{
get
{
return
phone_
.
Count
;
}
}
public
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
PhoneNumber
GetPhone
(
int
index
)
{
return
phone_
[
index
];
}
public
const
int
AddressesFieldNumber
=
5
;
private
pbc
::
PopsicleList
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
Addresses
>
addresses_
=
new
pbc
::
PopsicleList
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
Addresses
>();
public
scg
::
IList
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
Addresses
>
AddressesList
{
get
{
return
addresses_
;
}
}
public
int
AddressesCount
{
get
{
return
addresses_
.
Count
;
}
}
public
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
Addresses
GetAddresses
(
int
index
)
{
return
addresses_
[
index
];
}
public
override
bool
IsInitialized
{
get
{
if
(!
hasName
)
return
false
;
if
(!
hasId
)
return
false
;
foreach
(
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
PhoneNumber
element
in
PhoneList
)
{
if
(!
element
.
IsInitialized
)
return
false
;
}
if
(!
ExtensionsAreInitialized
)
return
false
;
return
true
;
}
}
public
override
void
WriteTo
(
pb
::
CodedOutputStream
output
)
{
int
size
=
SerializedSize
;
pb
::
ExtendableMessageLite
<
TestInteropPersonLite
,
TestInteropPersonLite
.
Builder
>.
ExtensionWriter
extensionWriter
=
CreateExtensionWriter
(
this
);
if
(
HasName
)
{
output
.
WriteString
(
1
,
Name
);
}
if
(
HasId
)
{
output
.
WriteInt32
(
2
,
Id
);
}
if
(
HasEmail
)
{
output
.
WriteString
(
3
,
Email
);
}
foreach
(
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
PhoneNumber
element
in
PhoneList
)
{
output
.
WriteMessage
(
4
,
element
);
}
foreach
(
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
Addresses
element
in
AddressesList
)
{
output
.
WriteGroup
(
5
,
element
);
}
if
(
codes_
.
Count
>
0
)
{
output
.
WriteRawVarint32
(
82
);
output
.
WriteRawVarint32
((
uint
)
codesMemoizedSerializedSize
);
foreach
(
int
element
in
codes_
)
{
output
.
WriteInt32NoTag
(
element
);
}
}
extensionWriter
.
WriteUntil
(
200
,
output
);
}
private
int
memoizedSerializedSize
=
-
1
;
public
override
int
SerializedSize
{
get
{
int
size
=
memoizedSerializedSize
;
if
(
size
!=
-
1
)
return
size
;
size
=
0
;
if
(
HasName
)
{
size
+=
pb
::
CodedOutputStream
.
ComputeStringSize
(
1
,
Name
);
}
if
(
HasId
)
{
size
+=
pb
::
CodedOutputStream
.
ComputeInt32Size
(
2
,
Id
);
}
if
(
HasEmail
)
{
size
+=
pb
::
CodedOutputStream
.
ComputeStringSize
(
3
,
Email
);
}
{
int
dataSize
=
0
;
foreach
(
int
element
in
CodesList
)
{
dataSize
+=
pb
::
CodedOutputStream
.
ComputeInt32SizeNoTag
(
element
);
}
size
+=
dataSize
;
if
(
codes_
.
Count
!=
0
)
{
size
+=
1
+
pb
::
CodedOutputStream
.
ComputeInt32SizeNoTag
(
dataSize
);
}
codesMemoizedSerializedSize
=
dataSize
;
}
foreach
(
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
PhoneNumber
element
in
PhoneList
)
{
size
+=
pb
::
CodedOutputStream
.
ComputeMessageSize
(
4
,
element
);
}
foreach
(
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
Addresses
element
in
AddressesList
)
{
size
+=
pb
::
CodedOutputStream
.
ComputeGroupSize
(
5
,
element
);
}
size
+=
ExtensionsSerializedSize
;
memoizedSerializedSize
=
size
;
return
size
;
}
}
public
static
TestInteropPersonLite
ParseFrom
(
pb
::
ByteString
data
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
)).
BuildParsed
();
}
public
static
TestInteropPersonLite
ParseFrom
(
pb
::
ByteString
data
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
,
extensionRegistry
)).
BuildParsed
();
}
public
static
TestInteropPersonLite
ParseFrom
(
byte
[]
data
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
)).
BuildParsed
();
}
public
static
TestInteropPersonLite
ParseFrom
(
byte
[]
data
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
,
extensionRegistry
)).
BuildParsed
();
}
public
static
TestInteropPersonLite
ParseFrom
(
global
::
System
.
IO
.
Stream
input
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
)).
BuildParsed
();
}
public
static
TestInteropPersonLite
ParseFrom
(
global
::
System
.
IO
.
Stream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
,
extensionRegistry
)).
BuildParsed
();
}
public
static
TestInteropPersonLite
ParseDelimitedFrom
(
global
::
System
.
IO
.
Stream
input
)
{
return
CreateBuilder
().
MergeDelimitedFrom
(
input
).
BuildParsed
();
}
public
static
TestInteropPersonLite
ParseDelimitedFrom
(
global
::
System
.
IO
.
Stream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
CreateBuilder
().
MergeDelimitedFrom
(
input
,
extensionRegistry
).
BuildParsed
();
}
public
static
TestInteropPersonLite
ParseFrom
(
pb
::
CodedInputStream
input
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
)).
BuildParsed
();
}
public
static
TestInteropPersonLite
ParseFrom
(
pb
::
CodedInputStream
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
(
TestInteropPersonLite
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
public
sealed
partial
class
Builder
:
pb
::
ExtendableBuilderLite
<
TestInteropPersonLite
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
public
Builder
()
{}
TestInteropPersonLite
result
=
new
TestInteropPersonLite
();
protected
override
TestInteropPersonLite
MessageBeingBuilt
{
get
{
return
result
;
}
}
public
override
Builder
Clear
()
{
result
=
new
TestInteropPersonLite
();
return
this
;
}
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
}
public
override
TestInteropPersonLite
DefaultInstanceForType
{
get
{
return
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
DefaultInstance
;
}
}
public
override
TestInteropPersonLite
BuildPartial
()
{
if
(
result
==
null
)
{
throw
new
global
::
System
.
InvalidOperationException
(
"build() has already been called on this Builder"
);
}
result
.
codes_
.
MakeReadOnly
();
result
.
phone_
.
MakeReadOnly
();
result
.
addresses_
.
MakeReadOnly
();
TestInteropPersonLite
returnMe
=
result
;
result
=
null
;
return
returnMe
;
}
public
override
Builder
MergeFrom
(
pb
::
IMessageLite
other
)
{
if
(
other
is
TestInteropPersonLite
)
{
return
MergeFrom
((
TestInteropPersonLite
)
other
);
}
else
{
base
.
MergeFrom
(
other
);
return
this
;
}
}
public
override
Builder
MergeFrom
(
TestInteropPersonLite
other
)
{
if
(
other
==
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
DefaultInstance
)
return
this
;
if
(
other
.
HasName
)
{
Name
=
other
.
Name
;
}
if
(
other
.
HasId
)
{
Id
=
other
.
Id
;
}
if
(
other
.
HasEmail
)
{
Email
=
other
.
Email
;
}
if
(
other
.
codes_
.
Count
!=
0
)
{
base
.
AddRange
(
other
.
codes_
,
result
.
codes_
);
}
if
(
other
.
phone_
.
Count
!=
0
)
{
base
.
AddRange
(
other
.
phone_
,
result
.
phone_
);
}
if
(
other
.
addresses_
.
Count
!=
0
)
{
base
.
AddRange
(
other
.
addresses_
,
result
.
addresses_
);
}
this
.
MergeExtensionFields
(
other
);
return
this
;
}
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
)
{
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
}
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
while
(
true
)
{
uint
tag
=
input
.
ReadTag
();
switch
(
tag
)
{
case
0
:
{
return
this
;
}
default
:
{
if
(
pb
::
WireFormat
.
IsEndGroupTag
(
tag
))
{
return
this
;
}
ParseUnknownField
(
input
,
extensionRegistry
,
tag
);
break
;
}
case
10
:
{
Name
=
input
.
ReadString
();
break
;
}
case
16
:
{
Id
=
input
.
ReadInt32
();
break
;
}
case
26
:
{
Email
=
input
.
ReadString
();
break
;
}
case
34
:
{
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
PhoneNumber
.
Builder
subBuilder
=
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
PhoneNumber
.
CreateBuilder
();
input
.
ReadMessage
(
subBuilder
,
extensionRegistry
);
AddPhone
(
subBuilder
.
BuildPartial
());
break
;
}
case
43
:
{
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
Addresses
.
Builder
subBuilder
=
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
Addresses
.
CreateBuilder
();
input
.
ReadGroup
(
5
,
subBuilder
,
extensionRegistry
);
AddAddresses
(
subBuilder
.
BuildPartial
());
break
;
}
case
82
:
{
int
length
=
input
.
ReadInt32
();
int
limit
=
input
.
PushLimit
(
length
);
while
(!
input
.
ReachedLimit
)
{
AddCodes
(
input
.
ReadInt32
());
}
input
.
PopLimit
(
limit
);
break
;
}
}
}
}
public
bool
HasName
{
get
{
return
result
.
HasName
;
}
}
public
string
Name
{
get
{
return
result
.
Name
;
}
set
{
SetName
(
value
);
}
}
public
Builder
SetName
(
string
value
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
value
,
"value"
);
result
.
hasName
=
true
;
result
.
name_
=
value
;
return
this
;
}
public
Builder
ClearName
()
{
result
.
hasName
=
false
;
result
.
name_
=
""
;
return
this
;
}
public
bool
HasId
{
get
{
return
result
.
HasId
;
}
}
public
int
Id
{
get
{
return
result
.
Id
;
}
set
{
SetId
(
value
);
}
}
public
Builder
SetId
(
int
value
)
{
result
.
hasId
=
true
;
result
.
id_
=
value
;
return
this
;
}
public
Builder
ClearId
()
{
result
.
hasId
=
false
;
result
.
id_
=
0
;
return
this
;
}
public
bool
HasEmail
{
get
{
return
result
.
HasEmail
;
}
}
public
string
Email
{
get
{
return
result
.
Email
;
}
set
{
SetEmail
(
value
);
}
}
public
Builder
SetEmail
(
string
value
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
value
,
"value"
);
result
.
hasEmail
=
true
;
result
.
email_
=
value
;
return
this
;
}
public
Builder
ClearEmail
()
{
result
.
hasEmail
=
false
;
result
.
email_
=
""
;
return
this
;
}
public
pbc
::
IPopsicleList
<
int
>
CodesList
{
get
{
return
result
.
codes_
;
}
}
public
int
CodesCount
{
get
{
return
result
.
CodesCount
;
}
}
public
int
GetCodes
(
int
index
)
{
return
result
.
GetCodes
(
index
);
}
public
Builder
SetCodes
(
int
index
,
int
value
)
{
result
.
codes_
[
index
]
=
value
;
return
this
;
}
public
Builder
AddCodes
(
int
value
)
{
result
.
codes_
.
Add
(
value
);
return
this
;
}
public
Builder
AddRangeCodes
(
scg
::
IEnumerable
<
int
>
values
)
{
base
.
AddRange
(
values
,
result
.
codes_
);
return
this
;
}
public
Builder
ClearCodes
()
{
result
.
codes_
.
Clear
();
return
this
;
}
public
pbc
::
IPopsicleList
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
PhoneNumber
>
PhoneList
{
get
{
return
result
.
phone_
;
}
}
public
int
PhoneCount
{
get
{
return
result
.
PhoneCount
;
}
}
public
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
PhoneNumber
GetPhone
(
int
index
)
{
return
result
.
GetPhone
(
index
);
}
public
Builder
SetPhone
(
int
index
,
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
PhoneNumber
value
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
value
,
"value"
);
result
.
phone_
[
index
]
=
value
;
return
this
;
}
public
Builder
SetPhone
(
int
index
,
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
PhoneNumber
.
Builder
builderForValue
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
builderForValue
,
"builderForValue"
);
result
.
phone_
[
index
]
=
builderForValue
.
Build
();
return
this
;
}
public
Builder
AddPhone
(
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
PhoneNumber
value
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
value
,
"value"
);
result
.
phone_
.
Add
(
value
);
return
this
;
}
public
Builder
AddPhone
(
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
PhoneNumber
.
Builder
builderForValue
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
builderForValue
,
"builderForValue"
);
result
.
phone_
.
Add
(
builderForValue
.
Build
());
return
this
;
}
public
Builder
AddRangePhone
(
scg
::
IEnumerable
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
PhoneNumber
>
values
)
{
base
.
AddRange
(
values
,
result
.
phone_
);
return
this
;
}
public
Builder
ClearPhone
()
{
result
.
phone_
.
Clear
();
return
this
;
}
public
pbc
::
IPopsicleList
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
Addresses
>
AddressesList
{
get
{
return
result
.
addresses_
;
}
}
public
int
AddressesCount
{
get
{
return
result
.
AddressesCount
;
}
}
public
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
Addresses
GetAddresses
(
int
index
)
{
return
result
.
GetAddresses
(
index
);
}
public
Builder
SetAddresses
(
int
index
,
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
Addresses
value
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
value
,
"value"
);
result
.
addresses_
[
index
]
=
value
;
return
this
;
}
public
Builder
SetAddresses
(
int
index
,
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
Addresses
.
Builder
builderForValue
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
builderForValue
,
"builderForValue"
);
result
.
addresses_
[
index
]
=
builderForValue
.
Build
();
return
this
;
}
public
Builder
AddAddresses
(
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
Addresses
value
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
value
,
"value"
);
result
.
addresses_
.
Add
(
value
);
return
this
;
}
public
Builder
AddAddresses
(
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
Addresses
.
Builder
builderForValue
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
builderForValue
,
"builderForValue"
);
result
.
addresses_
.
Add
(
builderForValue
.
Build
());
return
this
;
}
public
Builder
AddRangeAddresses
(
scg
::
IEnumerable
<
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropPersonLite
.
Types
.
Addresses
>
values
)
{
base
.
AddRange
(
values
,
result
.
addresses_
);
return
this
;
}
public
Builder
ClearAddresses
()
{
result
.
addresses_
.
Clear
();
return
this
;
}
}
static
TestInteropPersonLite
()
{
object
.
ReferenceEquals
(
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
UnitTestExtrasLiteProtoFile
.
Descriptor
,
null
);
}
}
public
sealed
partial
class
TestInteropEmployeeIdLite
:
pb
::
GeneratedMessageLite
<
TestInteropEmployeeIdLite
,
TestInteropEmployeeIdLite
.
Builder
>
{
private
static
readonly
TestInteropEmployeeIdLite
defaultInstance
=
new
Builder
().
BuildPartial
();
public
static
TestInteropEmployeeIdLite
DefaultInstance
{
get
{
return
defaultInstance
;
}
}
public
override
TestInteropEmployeeIdLite
DefaultInstanceForType
{
get
{
return
defaultInstance
;
}
}
protected
override
TestInteropEmployeeIdLite
ThisMessage
{
get
{
return
this
;
}
}
public
const
int
NumberFieldNumber
=
1
;
private
bool
hasNumber
;
private
string
number_
=
""
;
public
bool
HasNumber
{
get
{
return
hasNumber
;
}
}
public
string
Number
{
get
{
return
number_
;
}
}
public
override
bool
IsInitialized
{
get
{
if
(!
hasNumber
)
return
false
;
return
true
;
}
}
public
override
void
WriteTo
(
pb
::
CodedOutputStream
output
)
{
int
size
=
SerializedSize
;
if
(
HasNumber
)
{
output
.
WriteString
(
1
,
Number
);
}
}
private
int
memoizedSerializedSize
=
-
1
;
public
override
int
SerializedSize
{
get
{
int
size
=
memoizedSerializedSize
;
if
(
size
!=
-
1
)
return
size
;
size
=
0
;
if
(
HasNumber
)
{
size
+=
pb
::
CodedOutputStream
.
ComputeStringSize
(
1
,
Number
);
}
memoizedSerializedSize
=
size
;
return
size
;
}
}
public
static
TestInteropEmployeeIdLite
ParseFrom
(
pb
::
ByteString
data
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
)).
BuildParsed
();
}
public
static
TestInteropEmployeeIdLite
ParseFrom
(
pb
::
ByteString
data
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
,
extensionRegistry
)).
BuildParsed
();
}
public
static
TestInteropEmployeeIdLite
ParseFrom
(
byte
[]
data
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
)).
BuildParsed
();
}
public
static
TestInteropEmployeeIdLite
ParseFrom
(
byte
[]
data
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
data
,
extensionRegistry
)).
BuildParsed
();
}
public
static
TestInteropEmployeeIdLite
ParseFrom
(
global
::
System
.
IO
.
Stream
input
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
)).
BuildParsed
();
}
public
static
TestInteropEmployeeIdLite
ParseFrom
(
global
::
System
.
IO
.
Stream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
,
extensionRegistry
)).
BuildParsed
();
}
public
static
TestInteropEmployeeIdLite
ParseDelimitedFrom
(
global
::
System
.
IO
.
Stream
input
)
{
return
CreateBuilder
().
MergeDelimitedFrom
(
input
).
BuildParsed
();
}
public
static
TestInteropEmployeeIdLite
ParseDelimitedFrom
(
global
::
System
.
IO
.
Stream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
return
CreateBuilder
().
MergeDelimitedFrom
(
input
,
extensionRegistry
).
BuildParsed
();
}
public
static
TestInteropEmployeeIdLite
ParseFrom
(
pb
::
CodedInputStream
input
)
{
return
((
Builder
)
CreateBuilder
().
MergeFrom
(
input
)).
BuildParsed
();
}
public
static
TestInteropEmployeeIdLite
ParseFrom
(
pb
::
CodedInputStream
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
(
TestInteropEmployeeIdLite
prototype
)
{
return
(
Builder
)
new
Builder
().
MergeFrom
(
prototype
);
}
public
sealed
partial
class
Builder
:
pb
::
GeneratedBuilderLite
<
TestInteropEmployeeIdLite
,
Builder
>
{
protected
override
Builder
ThisBuilder
{
get
{
return
this
;
}
}
public
Builder
()
{}
TestInteropEmployeeIdLite
result
=
new
TestInteropEmployeeIdLite
();
protected
override
TestInteropEmployeeIdLite
MessageBeingBuilt
{
get
{
return
result
;
}
}
public
override
Builder
Clear
()
{
result
=
new
TestInteropEmployeeIdLite
();
return
this
;
}
public
override
Builder
Clone
()
{
return
new
Builder
().
MergeFrom
(
result
);
}
public
override
TestInteropEmployeeIdLite
DefaultInstanceForType
{
get
{
return
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropEmployeeIdLite
.
DefaultInstance
;
}
}
public
override
TestInteropEmployeeIdLite
BuildPartial
()
{
if
(
result
==
null
)
{
throw
new
global
::
System
.
InvalidOperationException
(
"build() has already been called on this Builder"
);
}
TestInteropEmployeeIdLite
returnMe
=
result
;
result
=
null
;
return
returnMe
;
}
public
override
Builder
MergeFrom
(
pb
::
IMessageLite
other
)
{
if
(
other
is
TestInteropEmployeeIdLite
)
{
return
MergeFrom
((
TestInteropEmployeeIdLite
)
other
);
}
else
{
base
.
MergeFrom
(
other
);
return
this
;
}
}
public
override
Builder
MergeFrom
(
TestInteropEmployeeIdLite
other
)
{
if
(
other
==
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
TestInteropEmployeeIdLite
.
DefaultInstance
)
return
this
;
if
(
other
.
HasNumber
)
{
Number
=
other
.
Number
;
}
return
this
;
}
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
)
{
return
MergeFrom
(
input
,
pb
::
ExtensionRegistry
.
Empty
);
}
public
override
Builder
MergeFrom
(
pb
::
CodedInputStream
input
,
pb
::
ExtensionRegistry
extensionRegistry
)
{
while
(
true
)
{
uint
tag
=
input
.
ReadTag
();
switch
(
tag
)
{
case
0
:
{
return
this
;
}
default
:
{
if
(
pb
::
WireFormat
.
IsEndGroupTag
(
tag
))
{
return
this
;
}
ParseUnknownField
(
input
,
extensionRegistry
,
tag
);
break
;
}
case
10
:
{
Number
=
input
.
ReadString
();
break
;
}
}
}
}
public
bool
HasNumber
{
get
{
return
result
.
HasNumber
;
}
}
public
string
Number
{
get
{
return
result
.
Number
;
}
set
{
SetNumber
(
value
);
}
}
public
Builder
SetNumber
(
string
value
)
{
pb
::
ThrowHelper
.
ThrowIfNull
(
value
,
"value"
);
result
.
hasNumber
=
true
;
result
.
number_
=
value
;
return
this
;
}
public
Builder
ClearNumber
()
{
result
.
hasNumber
=
false
;
result
.
number_
=
""
;
return
this
;
}
}
static
TestInteropEmployeeIdLite
()
{
object
.
ReferenceEquals
(
global
::
Google
.
ProtocolBuffers
.
TestProtos
.
UnitTestExtrasLiteProtoFile
.
Descriptor
,
null
);
}
}
#
endregion
}
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