-
Notifications
You must be signed in to change notification settings - Fork 15.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #6938 from ObsidianMinor/csharp/fix/6936
Fix latest ArgumentException for C# extensions
- Loading branch information
Showing
12 changed files
with
453 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
syntax = "proto3"; | ||
|
||
package unittest_issues; | ||
|
||
option csharp_namespace = "UnitTest.Issues.TestProtos"; | ||
|
||
// This file is used as part of a unit test for issue 6936 | ||
// We don't need to use it, we just have to import it in both | ||
// "extensions_issue6936_b.proto" and "extensions_issue6936_c.proto" | ||
|
||
import "google/protobuf/descriptor.proto"; | ||
|
||
extend google.protobuf.MessageOptions { | ||
string opt = 50000; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
syntax = "proto3"; | ||
|
||
import "unittest_issue6936_a.proto"; | ||
|
||
package unittest_issues; | ||
|
||
option csharp_namespace = "UnitTest.Issues.TestProtos"; | ||
|
||
// This file is used as part of a unit test for issue 6936 | ||
// We don't need to use it, we just have to import it in "unittest_issue6936_c.proto" | ||
|
||
message Foo { | ||
option (opt) = "foo"; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
syntax = "proto3"; | ||
|
||
import "unittest_issue6936_a.proto"; | ||
import "unittest_issue6936_b.proto"; | ||
|
||
package unittest_issues; | ||
|
||
option csharp_namespace = "UnitTest.Issues.TestProtos"; | ||
|
||
// This file is used as part of a unit test for issue 6936 | ||
// We don't need to use it, we just have to load it at runtime | ||
|
||
message Bar { | ||
option (opt) = "bar"; | ||
Foo foo = 1; | ||
} |
46 changes: 46 additions & 0 deletions
46
csharp/src/Google.Protobuf.Test.TestProtos/UnittestIssue6936A.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
// <auto-generated> | ||
// Generated by the protocol buffer compiler. DO NOT EDIT! | ||
// source: unittest_issue6936_a.proto | ||
// </auto-generated> | ||
#pragma warning disable 1591, 0612, 3021 | ||
#region Designer generated code | ||
|
||
using pb = global::Google.Protobuf; | ||
using pbc = global::Google.Protobuf.Collections; | ||
using pbr = global::Google.Protobuf.Reflection; | ||
using scg = global::System.Collections.Generic; | ||
namespace UnitTest.Issues.TestProtos { | ||
|
||
/// <summary>Holder for reflection information generated from unittest_issue6936_a.proto</summary> | ||
public static partial class UnittestIssue6936AReflection { | ||
|
||
#region Descriptor | ||
/// <summary>File descriptor for unittest_issue6936_a.proto</summary> | ||
public static pbr::FileDescriptor Descriptor { | ||
get { return descriptor; } | ||
} | ||
private static pbr::FileDescriptor descriptor; | ||
|
||
static UnittestIssue6936AReflection() { | ||
byte[] descriptorData = global::System.Convert.FromBase64String( | ||
string.Concat( | ||
"Chp1bml0dGVzdF9pc3N1ZTY5MzZfYS5wcm90bxIPdW5pdHRlc3RfaXNzdWVz", | ||
"GiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90bzouCgNvcHQSHy5n", | ||
"b29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMY0IYDIAEoCUIdqgIaVW5p", | ||
"dFRlc3QuSXNzdWVzLlRlc3RQcm90b3NiBnByb3RvMw==")); | ||
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, | ||
new pbr::FileDescriptor[] { global::Google.Protobuf.Reflection.DescriptorReflection.Descriptor, }, | ||
new pbr::GeneratedClrTypeInfo(null, new pb::Extension[] { UnittestIssue6936AExtensions.Opt }, null)); | ||
} | ||
#endregion | ||
|
||
} | ||
/// <summary>Holder for extension identifiers generated from the top level of unittest_issue6936_a.proto</summary> | ||
public static partial class UnittestIssue6936AExtensions { | ||
public static readonly pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, string> Opt = | ||
new pb::Extension<global::Google.Protobuf.Reflection.MessageOptions, string>(50000, pb::FieldCodec.ForString(400002, "")); | ||
} | ||
|
||
} | ||
|
||
#endregion Designer generated code |
145 changes: 145 additions & 0 deletions
145
csharp/src/Google.Protobuf.Test.TestProtos/UnittestIssue6936B.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,145 @@ | ||
// <auto-generated> | ||
// Generated by the protocol buffer compiler. DO NOT EDIT! | ||
// source: unittest_issue6936_b.proto | ||
// </auto-generated> | ||
#pragma warning disable 1591, 0612, 3021 | ||
#region Designer generated code | ||
|
||
using pb = global::Google.Protobuf; | ||
using pbc = global::Google.Protobuf.Collections; | ||
using pbr = global::Google.Protobuf.Reflection; | ||
using scg = global::System.Collections.Generic; | ||
namespace UnitTest.Issues.TestProtos { | ||
|
||
/// <summary>Holder for reflection information generated from unittest_issue6936_b.proto</summary> | ||
public static partial class UnittestIssue6936BReflection { | ||
|
||
#region Descriptor | ||
/// <summary>File descriptor for unittest_issue6936_b.proto</summary> | ||
public static pbr::FileDescriptor Descriptor { | ||
get { return descriptor; } | ||
} | ||
private static pbr::FileDescriptor descriptor; | ||
|
||
static UnittestIssue6936BReflection() { | ||
byte[] descriptorData = global::System.Convert.FromBase64String( | ||
string.Concat( | ||
"Chp1bml0dGVzdF9pc3N1ZTY5MzZfYi5wcm90bxIPdW5pdHRlc3RfaXNzdWVz", | ||
"Ghp1bml0dGVzdF9pc3N1ZTY5MzZfYS5wcm90byIOCgNGb286B4K1GANmb29C", | ||
"HaoCGlVuaXRUZXN0Lklzc3Vlcy5UZXN0UHJvdG9zYgZwcm90bzM=")); | ||
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, | ||
new pbr::FileDescriptor[] { global::UnitTest.Issues.TestProtos.UnittestIssue6936AReflection.Descriptor, }, | ||
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] { | ||
new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.Foo), global::UnitTest.Issues.TestProtos.Foo.Parser, null, null, null, null, null) | ||
})); | ||
} | ||
#endregion | ||
|
||
} | ||
#region Messages | ||
public sealed partial class Foo : pb::IMessage<Foo> { | ||
private static readonly pb::MessageParser<Foo> _parser = new pb::MessageParser<Foo>(() => new Foo()); | ||
private pb::UnknownFieldSet _unknownFields; | ||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute] | ||
public static pb::MessageParser<Foo> Parser { get { return _parser; } } | ||
|
||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute] | ||
public static pbr::MessageDescriptor Descriptor { | ||
get { return global::UnitTest.Issues.TestProtos.UnittestIssue6936BReflection.Descriptor.MessageTypes[0]; } | ||
} | ||
|
||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute] | ||
pbr::MessageDescriptor pb::IMessage.Descriptor { | ||
get { return Descriptor; } | ||
} | ||
|
||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute] | ||
public Foo() { | ||
OnConstruction(); | ||
} | ||
|
||
partial void OnConstruction(); | ||
|
||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute] | ||
public Foo(Foo other) : this() { | ||
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); | ||
} | ||
|
||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute] | ||
public Foo Clone() { | ||
return new Foo(this); | ||
} | ||
|
||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute] | ||
public override bool Equals(object other) { | ||
return Equals(other as Foo); | ||
} | ||
|
||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute] | ||
public bool Equals(Foo other) { | ||
if (ReferenceEquals(other, null)) { | ||
return false; | ||
} | ||
if (ReferenceEquals(other, this)) { | ||
return true; | ||
} | ||
return Equals(_unknownFields, other._unknownFields); | ||
} | ||
|
||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute] | ||
public override int GetHashCode() { | ||
int hash = 1; | ||
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 (_unknownFields != null) { | ||
_unknownFields.WriteTo(output); | ||
} | ||
} | ||
|
||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute] | ||
public int CalculateSize() { | ||
int size = 0; | ||
if (_unknownFields != null) { | ||
size += _unknownFields.CalculateSize(); | ||
} | ||
return size; | ||
} | ||
|
||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute] | ||
public void MergeFrom(Foo other) { | ||
if (other == null) { | ||
return; | ||
} | ||
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); | ||
} | ||
|
||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute] | ||
public void MergeFrom(pb::CodedInputStream input) { | ||
uint tag; | ||
while ((tag = input.ReadTag()) != 0) { | ||
switch(tag) { | ||
default: | ||
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); | ||
break; | ||
} | ||
} | ||
} | ||
|
||
} | ||
|
||
#endregion | ||
|
||
} | ||
|
||
#endregion Designer generated code |
Oops, something went wrong.