| Commit message (Collapse) | Author | Age |
|
|
|
| |
JSON tests fail, as we're not using OriginalNameAttribute yet.
|
|
|
|
|
|
|
|
|
|
| |
Overview of changes:
- A new C#-specific command-line option, legacy_enum_values to revert to the old behavior
- When legacy_enum_values isn't specified, we strip the enum name as a prefix, and PascalCase the value name
- A new attribute within the C# code so that we can always tell the original in-proto name
Regenerating the C# code with legacy_enum_values leads to code which still compiles and works - but
there's more still to do.
|
|
|
|
| |
(NCrunch noticed these.)
|
|\
| |
| | |
Introduce a new nuget package, Google.Protobuf.Tools, basically to contain protoc on multiple platforms.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
protoc on multiple platforms.
I've moved both protoc.exe and the proto files out of Google.Protobuf.
The .proto files aren't a slam-dunk, but it feels like they belong with protoc as you'd *use* them with protoc.
It's not clear to me whether we really need both an x86 and x64 version of protoc.exe, as x86 would work on 64-bit Windows anyway. Discuss :)
|
|/
|
|
|
|
|
|
| |
This makes no externally visible behavioral changes. Internally and non-behaviorally:
- We use a field (compiler-generated) to store the JsonName to avoid recomputing it repeatedly
- The documentation for JsonName is updated to reflect the meaning better
- Readonly autoprops and expression-bodied properties used where possible
|
| |
|
|
|
|
|
| |
Conflicts:
csharp/src/Google.Protobuf/JsonFormatter.cs
|
| |
|
| |
|
|
|
|
|
| |
This fixes issue #679 and issue #1282.
(The .gitignore change is just around ncrunch; I can put it in a separate PR if you really want.)
|
| |
|
|\
| |
| | |
Validate that end-group tags match their corresponding start-group tags
|
|\ \
| | |
| | | |
Generate C# code whenever descriptor.proto changes
|
| | |
| | |
| | |
| | | |
This was in an attempt to fix the wrapper handling corner case, but it's really fiddly.
|
| |/
|/|
| |
| |
| |
| |
| |
| | |
This detects:
- An end-group tag with the wrong field number (doesn't match the start-group field)
- An end-group tag with no preceding start-group tag
Fixes issue #688.
|
|/
|
|
|
|
|
| |
This is a start to fixing issue #1212. It won't help for test protos,
conformance etc, but it will definitely be better than nothing, and
would have highlighted a change in descriptor.proto which broken C#
earlier.
|
|\
| |
| | |
nuspec dependency fixes
|
| | |
|
| | |
|
| | |
|
|/
|
|
|
|
|
| |
Explicitly don't add any dependencies for "old" platforms, to avoid unnecessary
dependencies in those cases.
Fixes issue #1203.
|
| |
|
|
|
|
| |
(Generated code changes in next commit.)
|
| |
|
|
|
|
|
|
|
| |
Recently, descriptor.proto gained a GeneratedCodeInfo message, which means the generated code conflicts with our type.
Unfortunately this affects codegen as well, although this is a part of the public API which is very unlikely to affect hand-written code.
Generated code changes in next commit.
|
| |
|
|\
| |
| | |
Ensure that FieldMask, Timestamp and Duration ToString() calls don't throw
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
The usage of ICustomDiagnosticMessage here is non-essential - ToDiagnosticString
doesn't actually get called by ToString() in this case, due to JsonFormatter code. It was
intended to make it clearer that it *did* have a custom format... but then arguably I should
do the same for Value, Struct, Any etc.
Moving some of the code out of JsonFormatter and into Duration/Timestamp/FieldMask likewise
feels somewhat nice, somewhat nasty... basically there are JSON-specific bits of formatting, but
also domain-specific bits of computation. <sigh>
Thoughts welcome.
|
|\
| |
| | |
Introduce ICustomDiagnosticMessage to allow for custom string formatting
|
| | |
|
| |
| |
| |
| |
| |
| | |
"valueField": null
is parsed appropriately, i.e. that it remembers that the field is set.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Previously we were incorrectly packing wrapper types.
This also refactors FieldCodec a bit as well, using more C# 6-ness.
|
| |
| |
| |
| |
| | |
- Spot an Any without a type URL
- In the conformance test runner, catch exceptions due to generally-invalid JSON
|
|/
|
|
| |
This fixes issue #933, effectively.
|
|\
| |
| | |
Prohibit null values in maps
|
| | |
|
|/
|
|
|
| |
On deserialization, missing values for message types
are replaced with a "default" message.
|
|\
| |
| | |
Ensure all formatted well-known-type values are valid JSON
|