aboutsummaryrefslogtreecommitdiffhomepage
path: root/csharp/src
Commit message (Collapse)AuthorAge
* Introduce a new nuget package, Google.Protobuf.Tools, basically to contain ↵Gravatar Jon Skeet2016-03-31
| | | | | | | | 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 :)
* Code review fixesGravatar alien2016-03-29
|
* csharp: add support for the json_name optionGravatar alien2016-03-18
| | | | | Conflicts: csharp/src/Google.Protobuf/JsonFormatter.cs
* Replace StringBuilder with TextWriter in JsonFormatterGravatar avgweb2016-03-06
|
* Fix copy/paste typo in CodedInputStreamTestGravatar Jon Skeet2016-03-01
|
* Implement IDisposable for CodedInputStream and CodedOutputStreamGravatar Jon Skeet2016-02-29
| | | | | 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.)
* Require VS2015 in the solution fileGravatar Jon Skeet2016-02-22
|
* Merge pull request #1240 from jskeet/validate_groupGravatar Jan Tattermusch2016-02-18
|\ | | | | Validate that end-group tags match their corresponding start-group tags
* | Add more tests around merging wrappersGravatar Jon Skeet2016-02-15
| | | | | | | | This was in an attempt to fix the wrapper handling corner case, but it's really fiddly.
| * Validate that end-group tags match their corresponding start-group tagsGravatar Jon Skeet2016-02-15
|/ | | | | | | | 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.
* Merge pull request #1218 from jskeet/nuspec-dependenciesGravatar Jan Tattermusch2016-02-11
|\ | | | | nuspec dependency fixes
* | Use checked-in key to build ReleaseSignedGravatar Jan Tattermusch2016-02-09
| |
| * nuspec dependency fixesGravatar Jon Skeet2016-02-08
|/ | | | | | | Explicitly don't add any dependencies for "old" platforms, to avoid unnecessary dependencies in those cases. Fixes issue #1203.
* Generated code changes from previous commitGravatar Jon Skeet2016-02-04
|
* Rename Preconditions to ProtoPreconditionsGravatar Jon Skeet2016-02-04
| | | | (Generated code changes in next commit.)
* Generated code for GeneratedCodeInfo changeGravatar Jon Skeet2016-02-04
|
* Rename GeneratedCodeInfo to GeneratedClrTypeInfoGravatar Jon Skeet2016-02-04
| | | | | | | 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.
* Merge pull request #1158 from jskeet/nonnormalized-tostringGravatar Jan Tattermusch2016-01-26
|\ | | | | Ensure that FieldMask, Timestamp and Duration ToString() calls don't throw
* | Fix mistakes in highest-representable float64 integersGravatar Jon Skeet2016-01-21
| |
| * Ensure that FieldMask, Timestamp and Duration ToString() calls don't throwGravatar Jon Skeet2016-01-20
|/ | | | | | | | | | | | | 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.
* Merge pull request #1096 from jskeet/custom-to-stringGravatar Jan Tattermusch2016-01-19
|\ | | | | Introduce ICustomDiagnosticMessage to allow for custom string formatting
* | Fix broken testGravatar Jon Skeet2016-01-15
| |
* | Make sure thatGravatar Jon Skeet2016-01-15
| | | | | | | | | | | | "valueField": null is parsed appropriately, i.e. that it remembers that the field is set.
* | Reject JSON containing the same oneof field twiceGravatar Jon Skeet2016-01-15
| |
* | Change handling of unknown enums: we now write out the value as a number.Gravatar Jon Skeet2016-01-15
| |
* | Extra strictness for FieldMask conversionGravatar Jon Skeet2016-01-15
| |
* | Allow the original field name (rather than camel-cased) when parsing JSONGravatar Jon Skeet2016-01-15
| |
* | Fixes to JSON timestamp/duration representationsGravatar Jon Skeet2016-01-15
| |
* | Report serialization errors in conformance testsGravatar Jon Skeet2016-01-15
| |
* | Prohibit null values in repeated and map fields in JSONGravatar Jon Skeet2016-01-15
| |
* | Throw a better exception when invalid base64 is detected in JSONGravatar Jon Skeet2016-01-15
| |
* | Support (and test) numeric enum parsing in JSONGravatar Jon Skeet2016-01-15
| |
* | Fix handling of repeated wrappersGravatar Jon Skeet2016-01-15
| | | | | | | | | | Previously we were incorrectly packing wrapper types. This also refactors FieldCodec a bit as well, using more C# 6-ness.
* | JSON conformance test fixesGravatar Jon Skeet2016-01-13
| | | | | | | | | | - Spot an Any without a type URL - In the conformance test runner, catch exceptions due to generally-invalid JSON
| * Introduce ICustomDiagnosticMessage to allow for custom string formattingGravatar Jon Skeet2016-01-13
|/ | | | This fixes issue #933, effectively.
* Prohibit null values in map fieldsGravatar Jon Skeet2016-01-11
| | | | | On deserialization, missing values for message types are replaced with a "default" message.
* Merge pull request #1098 from jskeet/wkt-jsonGravatar Jan Tattermusch2016-01-08
|\ | | | | Ensure all formatted well-known-type values are valid JSON
* \ Merge pull request #1088 from jskeet/codec-pruningGravatar Jan Tattermusch2016-01-08
|\ \ | | | | | | Remove unused method in FieldCodec.
| | * Ensure all formatted well-known-type values are valid JSONGravatar Jon Skeet2016-01-06
| | | | | | | | | | | | | | | | | | | | | This involves quoting timestamp/duration/field-mask values, even when they're not in fields. It's better for consistency. Fixes issue #1097.
* | | Improve number handling in JSON parsingGravatar Jon Skeet2016-01-06
| |/ |/| | | | | | | | | - Tighten up on Infinity/NaN handling in terms of whitespace handling (and test casing) - Validate that values are genuinely integers when they've been parsed from a JSON number (ignoring the fact that 1.0000000000000000001 == 1 as a double...) - Allow exponents and decimal points in string representations
| * Remove unused method in FieldCodec.Gravatar Jon Skeet2016-01-05
|/ | | | (The method was last used a very long time ago, if ever.)
* Fix C# source generation shell script and remove out of date notesGravatar Jon Skeet2016-01-04
| | | | | The conformance tests now use types which are part of src/google/protobuf, so we need to include src in the proto path. The notes around "fix-ups" have been out of date for some time now.
* add reference generator dependencyGravatar Jan Tattermusch2015-12-17
|
* Merge pull request #1049 from jskeet/any-formatGravatar Jon Skeet2015-12-17
|\ | | | | Handle Any formatting for diagnostic purposes
* \ Merge pull request #1051 from jtattermusch/support_coreclrGravatar Jan Tattermusch2015-12-16
|\ \ | | | | | | Make nuget package support coreCLR
| * | make nuget package support CoreCLRGravatar Jan Tattermusch2015-12-16
| | |
* | | Add JSON parsing to conformance tests.Gravatar Jon Skeet2015-12-16
|/ /
| * Generated code changes from previous commit.Gravatar Jon Skeet2015-12-15
| |
| * Make ToString() valid without a type registryGravatar Jon Skeet2015-12-15
|/ | | | | | | | | | | | | | | This addresses issue #1008, by creating a JsonFormatter which is private and only different to JsonFormatter.Default in terms of reference equality. Other plausible designs: - The same, but expose the diagnostic-only formatter - Add something to settings to say "I don't have a type registry at all" - Change the behaviour of JsonFormatter.Default (bad idea IMO, as we really *don't* want the result of this used as regular JSON to be parsed) Note that just trying to find a separate fix to issue #933 and using that to override Any.ToString() differently wouldn't work for messages that *contain* an Any. Generated code changes follow in the next commit.
* Handle JSON parsing for Any.Gravatar Jon Skeet2015-12-02
| | | | This required a rework of the tokenizer to allow for a "replaying" tokenizer, basically in case the @type value comes after the data itself. This rework is nice in some ways (all the pushback and object depth logic in one place) but is a little fragile in terms of token push-back when using the replay tokenizer. It'll be fine for the scenario we need it for, but we should be careful...