@ -24,36 +24,39 @@ namespace UnitTest.Issues.TestProtos {
static UnittestIssuesReflection ( ) {
byte [ ] descriptorData = global :: System . Convert . FromBase64String (
string . Concat (
"ChV1bml0dGVzdF9pc3N1ZXMucHJvdG8SD3VuaXR0ZXN0X2lzc3VlcyInCghJ" ,
"c3N1ZTMwNxobCgpOZXN0ZWRPbmNlGg0KC05lc3RlZFR3aWNlIrABChNOZWdh" ,
"dGl2ZUVudW1NZXNzYWdlEiwKBXZhbHVlGAEgASgOMh0udW5pdHRlc3RfaXNz" ,
"dWVzLk5lZ2F0aXZlRW51bRIxCgZ2YWx1ZXMYAiADKA4yHS51bml0dGVzdF9p" ,
"c3N1ZXMuTmVnYXRpdmVFbnVtQgIQABI4Cg1wYWNrZWRfdmFsdWVzGAMgAygO" ,
"Mh0udW5pdHRlc3RfaXNzdWVzLk5lZ2F0aXZlRW51bUICEAEiEQoPRGVwcmVj" ,
"YXRlZENoaWxkIrkCChdEZXByZWNhdGVkRmllbGRzTWVzc2FnZRIaCg5Qcmlt" ,
"aXRpdmVWYWx1ZRgBIAEoBUICGAESGgoOUHJpbWl0aXZlQXJyYXkYAiADKAVC" ,
"AhgBEjoKDE1lc3NhZ2VWYWx1ZRgDIAEoCzIgLnVuaXR0ZXN0X2lzc3Vlcy5E" ,
"ZXByZWNhdGVkQ2hpbGRCAhgBEjoKDE1lc3NhZ2VBcnJheRgEIAMoCzIgLnVu" ,
"aXR0ZXN0X2lzc3Vlcy5EZXByZWNhdGVkQ2hpbGRCAhgBEjYKCUVudW1WYWx1" ,
"ZRgFIAEoDjIfLnVuaXR0ZXN0X2lzc3Vlcy5EZXByZWNhdGVkRW51bUICGAES" ,
"NgoJRW51bUFycmF5GAYgAygOMh8udW5pdHRlc3RfaXNzdWVzLkRlcHJlY2F0" ,
"ZWRFbnVtQgIYASIZCglJdGVtRmllbGQSDAoEaXRlbRgBIAEoBSJECg1SZXNl" ,
"cnZlZE5hbWVzEg0KBXR5cGVzGAEgASgFEhIKCmRlc2NyaXB0b3IYAiABKAUa" ,
"EAoOU29tZU5lc3RlZFR5cGUioAEKFVRlc3RKc29uRmllbGRPcmRlcmluZxIT" ,
"CgtwbGFpbl9pbnQzMhgEIAEoBRITCglvMV9zdHJpbmcYAiABKAlIABISCghv" ,
"MV9pbnQzMhgFIAEoBUgAEhQKDHBsYWluX3N0cmluZxgBIAEoCRISCghvMl9p" ,
"bnQzMhgGIAEoBUgBEhMKCW8yX3N0cmluZxgDIAEoCUgBQgQKAm8xQgQKAm8y" ,
"IksKDFRlc3RKc29uTmFtZRIMCgRuYW1lGAEgASgJEhkKC2Rlc2NyaXB0aW9u" ,
"GAIgASgJUgRkZXNjEhIKBGd1aWQYAyABKAlSBGV4aWQifwoMT25lb2ZNZXJn" ,
"aW5nEg4KBHRleHQYASABKAlIABI2CgZuZXN0ZWQYAiABKAsyJC51bml0dGVz" ,
"dF9pc3N1ZXMuT25lb2ZNZXJnaW5nLk5lc3RlZEgAGh4KBk5lc3RlZBIJCgF4" ,
"GAEgASgFEgkKAXkYAiABKAVCBwoFdmFsdWUqVQoMTmVnYXRpdmVFbnVtEhYK" ,
"Ek5FR0FUSVZFX0VOVU1fWkVSTxAAEhYKCUZpdmVCZWxvdxD7//////////8B" ,
"EhUKCE1pbnVzT25lEP///////////wEqLgoORGVwcmVjYXRlZEVudW0SEwoP" ,
"REVQUkVDQVRFRF9aRVJPEAASBwoDb25lEAFCHaoCGlVuaXRUZXN0Lklzc3Vl" ,
"cy5UZXN0UHJvdG9zYgZwcm90bzM=" ) ) ;
"ChV1bml0dGVzdF9pc3N1ZXMucHJvdG8SD3VuaXR0ZXN0X2lzc3VlcxocZ29v" ,
"Z2xlL3Byb3RvYnVmL3N0cnVjdC5wcm90byInCghJc3N1ZTMwNxobCgpOZXN0" ,
"ZWRPbmNlGg0KC05lc3RlZFR3aWNlIrABChNOZWdhdGl2ZUVudW1NZXNzYWdl" ,
"EiwKBXZhbHVlGAEgASgOMh0udW5pdHRlc3RfaXNzdWVzLk5lZ2F0aXZlRW51" ,
"bRIxCgZ2YWx1ZXMYAiADKA4yHS51bml0dGVzdF9pc3N1ZXMuTmVnYXRpdmVF" ,
"bnVtQgIQABI4Cg1wYWNrZWRfdmFsdWVzGAMgAygOMh0udW5pdHRlc3RfaXNz" ,
"dWVzLk5lZ2F0aXZlRW51bUICEAEiEQoPRGVwcmVjYXRlZENoaWxkIrkCChdE" ,
"ZXByZWNhdGVkRmllbGRzTWVzc2FnZRIaCg5QcmltaXRpdmVWYWx1ZRgBIAEo" ,
"BUICGAESGgoOUHJpbWl0aXZlQXJyYXkYAiADKAVCAhgBEjoKDE1lc3NhZ2VW" ,
"YWx1ZRgDIAEoCzIgLnVuaXR0ZXN0X2lzc3Vlcy5EZXByZWNhdGVkQ2hpbGRC" ,
"AhgBEjoKDE1lc3NhZ2VBcnJheRgEIAMoCzIgLnVuaXR0ZXN0X2lzc3Vlcy5E" ,
"ZXByZWNhdGVkQ2hpbGRCAhgBEjYKCUVudW1WYWx1ZRgFIAEoDjIfLnVuaXR0" ,
"ZXN0X2lzc3Vlcy5EZXByZWNhdGVkRW51bUICGAESNgoJRW51bUFycmF5GAYg" ,
"AygOMh8udW5pdHRlc3RfaXNzdWVzLkRlcHJlY2F0ZWRFbnVtQgIYASIZCglJ" ,
"dGVtRmllbGQSDAoEaXRlbRgBIAEoBSJECg1SZXNlcnZlZE5hbWVzEg0KBXR5" ,
"cGVzGAEgASgFEhIKCmRlc2NyaXB0b3IYAiABKAUaEAoOU29tZU5lc3RlZFR5" ,
"cGUioAEKFVRlc3RKc29uRmllbGRPcmRlcmluZxITCgtwbGFpbl9pbnQzMhgE" ,
"IAEoBRITCglvMV9zdHJpbmcYAiABKAlIABISCghvMV9pbnQzMhgFIAEoBUgA" ,
"EhQKDHBsYWluX3N0cmluZxgBIAEoCRISCghvMl9pbnQzMhgGIAEoBUgBEhMK" ,
"CW8yX3N0cmluZxgDIAEoCUgBQgQKAm8xQgQKAm8yIksKDFRlc3RKc29uTmFt" ,
"ZRIMCgRuYW1lGAEgASgJEhkKC2Rlc2NyaXB0aW9uGAIgASgJUgRkZXNjEhIK" ,
"BGd1aWQYAyABKAlSBGV4aWQifwoMT25lb2ZNZXJnaW5nEg4KBHRleHQYASAB" ,
"KAlIABI2CgZuZXN0ZWQYAiABKAsyJC51bml0dGVzdF9pc3N1ZXMuT25lb2ZN" ,
"ZXJnaW5nLk5lc3RlZEgAGh4KBk5lc3RlZBIJCgF4GAEgASgFEgkKAXkYAiAB" ,
"KAVCBwoFdmFsdWUiawoWTnVsbFZhbHVlT3V0c2lkZVN0cnVjdBIWCgxzdHJp" ,
"bmdfdmFsdWUYASABKAlIABIwCgpudWxsX3ZhbHVlGAIgASgOMhouZ29vZ2xl" ,
"LnByb3RvYnVmLk51bGxWYWx1ZUgAQgcKBXZhbHVlKlUKDE5lZ2F0aXZlRW51" ,
"bRIWChJORUdBVElWRV9FTlVNX1pFUk8QABIWCglGaXZlQmVsb3cQ+///////" ,
"////ARIVCghNaW51c09uZRD///////////8BKi4KDkRlcHJlY2F0ZWRFbnVt" ,
"EhMKD0RFUFJFQ0FURURfWkVSTxAAEgcKA29uZRABQh2qAhpVbml0VGVzdC5J" ,
"c3N1ZXMuVGVzdFByb3Rvc2IGcHJvdG8z" ) ) ;
descriptor = pbr : : FileDescriptor . FromGeneratedCode ( descriptorData ,
new pbr : : FileDescriptor [ ] { } ,
new pbr : : FileDescriptor [ ] { global :: Google . Protobuf . WellKnownTypes . StructReflection . Descriptor , } ,
new pbr : : GeneratedClrTypeInfo ( new [ ] { typeof ( global :: UnitTest . Issues . TestProtos . NegativeEnum ) , typeof ( global :: UnitTest . Issues . TestProtos . DeprecatedEnum ) , } , null , new pbr : : GeneratedClrTypeInfo [ ] {
new pbr : : GeneratedClrTypeInfo ( typeof ( global :: UnitTest . Issues . TestProtos . Issue307 ) , global :: UnitTest . Issues . TestProtos . Issue307 . Parser , null , null , null , null , new pbr : : GeneratedClrTypeInfo [ ] { new pbr : : GeneratedClrTypeInfo ( typeof ( global :: UnitTest . Issues . TestProtos . Issue307 . Types . NestedOnce ) , global :: UnitTest . Issues . TestProtos . Issue307 . Types . NestedOnce . Parser , null , null , null , null , new pbr : : GeneratedClrTypeInfo [ ] { new pbr : : GeneratedClrTypeInfo ( typeof ( global :: UnitTest . Issues . TestProtos . Issue307 . Types . NestedOnce . Types . NestedTwice ) , global :: UnitTest . Issues . TestProtos . Issue307 . Types . NestedOnce . Types . NestedTwice . Parser , null , null , null , null , null ) } ) } ) ,
new pbr : : GeneratedClrTypeInfo ( typeof ( global :: UnitTest . Issues . TestProtos . NegativeEnumMessage ) , global :: UnitTest . Issues . TestProtos . NegativeEnumMessage . Parser , new [ ] { "Value" , "Values" , "PackedValues" } , null , null , null , null ) ,
@ -63,7 +66,8 @@ namespace UnitTest.Issues.TestProtos {
new pbr : : GeneratedClrTypeInfo ( typeof ( global :: UnitTest . Issues . TestProtos . ReservedNames ) , global :: UnitTest . Issues . TestProtos . ReservedNames . Parser , new [ ] { "Types_" , "Descriptor_" } , null , null , null , new pbr : : GeneratedClrTypeInfo [ ] { new pbr : : GeneratedClrTypeInfo ( typeof ( global :: UnitTest . Issues . TestProtos . ReservedNames . Types . SomeNestedType ) , global :: UnitTest . Issues . TestProtos . ReservedNames . Types . SomeNestedType . Parser , null , null , null , null , null ) } ) ,
new pbr : : GeneratedClrTypeInfo ( typeof ( global :: UnitTest . Issues . TestProtos . TestJsonFieldOrdering ) , global :: UnitTest . Issues . TestProtos . TestJsonFieldOrdering . Parser , new [ ] { "PlainInt32" , "O1String" , "O1Int32" , "PlainString" , "O2Int32" , "O2String" } , new [ ] { "O1" , "O2" } , null , null , null ) ,
new pbr : : GeneratedClrTypeInfo ( typeof ( global :: UnitTest . Issues . TestProtos . TestJsonName ) , global :: UnitTest . Issues . TestProtos . TestJsonName . Parser , new [ ] { "Name" , "Description" , "Guid" } , null , null , null , null ) ,
new pbr : : GeneratedClrTypeInfo ( typeof ( global :: UnitTest . Issues . TestProtos . OneofMerging ) , global :: UnitTest . Issues . TestProtos . OneofMerging . Parser , new [ ] { "Text" , "Nested" } , new [ ] { "Value" } , null , null , new pbr : : GeneratedClrTypeInfo [ ] { new pbr : : GeneratedClrTypeInfo ( typeof ( global :: UnitTest . Issues . TestProtos . OneofMerging . Types . Nested ) , global :: UnitTest . Issues . TestProtos . OneofMerging . Types . Nested . Parser , new [ ] { "X" , "Y" } , null , null , null , null ) } )
new pbr : : GeneratedClrTypeInfo ( typeof ( global :: UnitTest . Issues . TestProtos . OneofMerging ) , global :: UnitTest . Issues . TestProtos . OneofMerging . Parser , new [ ] { "Text" , "Nested" } , new [ ] { "Value" } , null , null , new pbr : : GeneratedClrTypeInfo [ ] { new pbr : : GeneratedClrTypeInfo ( typeof ( global :: UnitTest . Issues . TestProtos . OneofMerging . Types . Nested ) , global :: UnitTest . Issues . TestProtos . OneofMerging . Types . Nested . Parser , new [ ] { "X" , "Y" } , null , null , null , null ) } ) ,
new pbr : : GeneratedClrTypeInfo ( typeof ( global :: UnitTest . Issues . TestProtos . NullValueOutsideStruct ) , global :: UnitTest . Issues . TestProtos . NullValueOutsideStruct . Parser , new [ ] { "StringValue" , "NullValue" } , new [ ] { "Value" } , null , null , null )
} ) ) ;
}
# endregion
@ -2884,6 +2888,226 @@ namespace UnitTest.Issues.TestProtos {
}
public sealed partial class NullValueOutsideStruct : pb : : IMessage < NullValueOutsideStruct >
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb : : IBufferMessage
# endif
{
private static readonly pb : : MessageParser < NullValueOutsideStruct > _ parser = new pb : : MessageParser < NullValueOutsideStruct > ( ( ) = > new NullValueOutsideStruct ( ) ) ;
private pb : : UnknownFieldSet _ unknownFields ;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pb : : MessageParser < NullValueOutsideStruct > Parser { get { return _ parser ; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public static pbr : : MessageDescriptor Descriptor {
get { return global :: UnitTest . Issues . TestProtos . UnittestIssuesReflection . Descriptor . MessageTypes [ 9 ] ; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
pbr : : MessageDescriptor pb : : IMessage . Descriptor {
get { return Descriptor ; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public NullValueOutsideStruct ( ) {
OnConstruction ( ) ;
}
partial void OnConstruction ( ) ;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public NullValueOutsideStruct ( NullValueOutsideStruct other ) : this ( ) {
switch ( other . ValueCase ) {
case ValueOneofCase . StringValue :
StringValue = other . StringValue ;
break ;
case ValueOneofCase . NullValue :
NullValue = other . NullValue ;
break ;
}
_ unknownFields = pb : : UnknownFieldSet . Clone ( other . _ unknownFields ) ;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public NullValueOutsideStruct Clone ( ) {
return new NullValueOutsideStruct ( this ) ;
}
/// <summary>Field number for the "string_value" field.</summary>
public const int StringValueFieldNumber = 1 ;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public string StringValue {
get { return valueCase_ = = ValueOneofCase . StringValue ? ( string ) value_ : "" ; }
set {
value_ = pb : : ProtoPreconditions . CheckNotNull ( value , "value" ) ;
valueCase_ = ValueOneofCase . StringValue ;
}
}
/// <summary>Field number for the "null_value" field.</summary>
public const int NullValueFieldNumber = 2 ;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public global :: Google . Protobuf . WellKnownTypes . NullValue NullValue {
get { return valueCase_ = = ValueOneofCase . NullValue ? ( global :: Google . Protobuf . WellKnownTypes . NullValue ) value_ : global :: Google . Protobuf . WellKnownTypes . NullValue . NullValue ; }
set {
value_ = value ;
valueCase_ = ValueOneofCase . NullValue ;
}
}
private object value_ ;
/// <summary>Enum of possible cases for the "value" oneof.</summary>
public enum ValueOneofCase {
None = 0 ,
StringValue = 1 ,
NullValue = 2 ,
}
private ValueOneofCase valueCase_ = ValueOneofCase . None ;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public ValueOneofCase ValueCase {
get { return valueCase_ ; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void ClearValue ( ) {
valueCase_ = ValueOneofCase . None ;
value_ = null ;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override bool Equals ( object other ) {
return Equals ( other as NullValueOutsideStruct ) ;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public bool Equals ( NullValueOutsideStruct other ) {
if ( ReferenceEquals ( other , null ) ) {
return false ;
}
if ( ReferenceEquals ( other , this ) ) {
return true ;
}
if ( StringValue ! = other . StringValue ) return false ;
if ( NullValue ! = other . NullValue ) return false ;
if ( ValueCase ! = other . ValueCase ) return false ;
return Equals ( _ unknownFields , other . _ unknownFields ) ;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override int GetHashCode ( ) {
int hash = 1 ;
if ( valueCase_ = = ValueOneofCase . StringValue ) hash ^ = StringValue . GetHashCode ( ) ;
if ( valueCase_ = = ValueOneofCase . NullValue ) hash ^ = NullValue . GetHashCode ( ) ;
hash ^ = ( int ) valueCase_ ;
if ( _ unknownFields ! = null ) {
hash ^ = _ unknownFields . GetHashCode ( ) ;
}
return hash ;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override string ToString ( ) {
return pb : : JsonFormatter . ToDiagnosticString ( this ) ;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void WriteTo ( pb : : CodedOutputStream output ) {
if ( valueCase_ = = ValueOneofCase . StringValue ) {
output . WriteRawTag ( 1 0 ) ;
output . WriteString ( StringValue ) ;
}
if ( valueCase_ = = ValueOneofCase . NullValue ) {
output . WriteRawTag ( 1 6 ) ;
output . WriteEnum ( ( int ) NullValue ) ;
}
if ( _ unknownFields ! = null ) {
_ unknownFields . WriteTo ( output ) ;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public int CalculateSize ( ) {
int size = 0 ;
if ( valueCase_ = = ValueOneofCase . StringValue ) {
size + = 1 + pb : : CodedOutputStream . ComputeStringSize ( StringValue ) ;
}
if ( valueCase_ = = ValueOneofCase . NullValue ) {
size + = 1 + pb : : CodedOutputStream . ComputeEnumSize ( ( int ) NullValue ) ;
}
if ( _ unknownFields ! = null ) {
size + = _ unknownFields . CalculateSize ( ) ;
}
return size ;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom ( NullValueOutsideStruct other ) {
if ( other = = null ) {
return ;
}
switch ( other . ValueCase ) {
case ValueOneofCase . StringValue :
StringValue = other . StringValue ;
break ;
case ValueOneofCase . NullValue :
NullValue = other . NullValue ;
break ;
}
_ unknownFields = pb : : UnknownFieldSet . MergeFrom ( _ unknownFields , other . _ unknownFields ) ;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void MergeFrom ( pb : : CodedInputStream input ) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input . ReadRawMessage ( this ) ;
# else
uint tag ;
while ( ( tag = input . ReadTag ( ) ) ! = 0 ) {
switch ( tag ) {
default :
_ unknownFields = pb : : UnknownFieldSet . MergeFieldFrom ( _ unknownFields , input ) ;
break ;
case 1 0 : {
StringValue = input . ReadString ( ) ;
break ;
}
case 1 6 : {
value_ = input . ReadEnum ( ) ;
valueCase_ = ValueOneofCase . NullValue ;
break ;
}
}
}
# endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
void pb : : IBufferMessage . InternalMergeFrom ( ref pb : : ParseContext input ) {
uint tag ;
while ( ( tag = input . ReadTag ( ) ) ! = 0 ) {
switch ( tag ) {
default :
_ unknownFields = pb : : UnknownFieldSet . MergeFieldFrom ( _ unknownFields , ref input ) ;
break ;
case 1 0 : {
StringValue = input . ReadString ( ) ;
break ;
}
case 1 6 : {
value_ = input . ReadEnum ( ) ;
valueCase_ = ValueOneofCase . NullValue ;
break ;
}
}
}
}
# endif
}
# endregion
}