aboutsummaryrefslogtreecommitdiff
path: root/csharp/src/Google.Protobuf/JsonFormatter.cs
diff options
context:
space:
mode:
authorJon Skeet <jonskeet@google.com>2015-11-19 17:13:38 +0000
committerJon Skeet <jonskeet@google.com>2015-11-22 16:25:44 +0000
commit72ec33676fd40ccfe719ace162fcf859ae9251bc (patch)
treea90f4be5e939a8a55175aa1d4e8e54c7f919feb1 /csharp/src/Google.Protobuf/JsonFormatter.cs
parentd6202a9b8948d5a2d5436e3b35b175ed9b8a9fd1 (diff)
downloadprotobuf-72ec33676fd40ccfe719ace162fcf859ae9251bc.tar.gz
protobuf-72ec33676fd40ccfe719ace162fcf859ae9251bc.tar.bz2
protobuf-72ec33676fd40ccfe719ace162fcf859ae9251bc.zip
Tidy up reflection in advance of attempting to implement DynamicMessage.
There are corner cases where MessageDescriptor.{ClrType,Parser} will return null, and these are now documented. However, normally they *should* be implemented, even for descriptors of for dynamic messages. Ditto FieldDescriptor.Accessor. We'll still need a fair amount of work to implement dynamic messages, but this change means that the public API will be remain intact. Additionally, this change starts making use of C# 6 features in the files that it touches. This is far from exhaustive, and later PRs will have more. Generated code changes coming in the next commit.
Diffstat (limited to 'csharp/src/Google.Protobuf/JsonFormatter.cs')
-rw-r--r--csharp/src/Google.Protobuf/JsonFormatter.cs3
1 files changed, 1 insertions, 2 deletions
diff --git a/csharp/src/Google.Protobuf/JsonFormatter.cs b/csharp/src/Google.Protobuf/JsonFormatter.cs
index 08e3142e..51bb4bf3 100644
--- a/csharp/src/Google.Protobuf/JsonFormatter.cs
+++ b/csharp/src/Google.Protobuf/JsonFormatter.cs
@@ -388,8 +388,7 @@ namespace Google.Protobuf
// If it's the message form, we can extract the value first, which *will* be the (possibly boxed) native value,
// and then proceed, writing it as if we were definitely in a field. (We never need to wrap it in an extra string...
// WriteValue will do the right thing.)
- // TODO: Detect this differently when we have dynamic messages.
- if (descriptor.File == Int32Value.Descriptor.File)
+ if (descriptor.IsWrapperType)
{
if (value is IMessage)
{