aboutsummaryrefslogtreecommitdiff
path: root/csharp
Commit message (Collapse)AuthorAgeFilesLines
...
* Generated code changes from previous commitJon Skeet2016-02-0411-53/+53
|
* Rename Preconditions to ProtoPreconditionsJon Skeet2016-02-0414-86/+91
| | | | (Generated code changes in next commit.)
* Generated code for GeneratedCodeInfo changeJon Skeet2016-02-0419-168/+478
|
* Rename GeneratedCodeInfo to GeneratedClrTypeInfoJon Skeet2016-02-044-12/+12
| | | | | | | 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.
* Clarify readmeJon Skeet2016-02-031-16/+32
|
* Merge pull request #1158 from jskeet/nonnormalized-tostringJan Tattermusch2016-01-2610-71/+378
|\ | | | | Ensure that FieldMask, Timestamp and Duration ToString() calls don't throw
| * Ensure that FieldMask, Timestamp and Duration ToString() calls don't throwJon Skeet2016-01-2010-71/+378
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Fix mistakes in highest-representable float64 integersJon Skeet2016-01-211-2/+2
|/
* Merge pull request #1096 from jskeet/custom-to-stringJan Tattermusch2016-01-197-1/+142
|\ | | | | Introduce ICustomDiagnosticMessage to allow for custom string formatting
| * Introduce ICustomDiagnosticMessage to allow for custom string formattingJon Skeet2016-01-137-1/+142
| | | | | | | | This fixes issue #933, effectively.
* | Fix broken testJon Skeet2016-01-151-1/+1
| |
* | Make sure thatJon Skeet2016-01-153-8/+68
| | | | | | | | | | | | "valueField": null is parsed appropriately, i.e. that it remembers that the field is set.
* | Reject JSON containing the same oneof field twiceJon Skeet2016-01-152-0/+22
| |
* | Change handling of unknown enums: we now write out the value as a number.Jon Skeet2016-01-154-36/+23
| |
* | Extra strictness for FieldMask conversionJon Skeet2016-01-154-2/+51
| |
* | Allow the original field name (rather than camel-cased) when parsing JSONJon Skeet2016-01-152-3/+23
| |
* | Fixes to JSON timestamp/duration representationsJon Skeet2016-01-158-35/+139
| |
* | Report serialization errors in conformance testsJon Skeet2016-01-151-8/+15
| |
* | Prohibit null values in repeated and map fields in JSONJon Skeet2016-01-152-1/+38
| |
* | Throw a better exception when invalid base64 is detected in JSONJon Skeet2016-01-153-1/+28
| |
* | Support (and test) numeric enum parsing in JSONJon Skeet2016-01-152-0/+29
| |
* | Fix handling of repeated wrappersJon Skeet2016-01-153-77/+94
| | | | | | | | | | Previously we were incorrectly packing wrapper types. This also refactors FieldCodec a bit as well, using more C# 6-ness.
* | JSON conformance test fixesJon Skeet2016-01-133-0/+16
|/ | | | | - Spot an Any without a type URL - In the conformance test runner, catch exceptions due to generally-invalid JSON
* Merge pull request #1089 from jskeet/map-nullJan Tattermusch2016-01-1213-174/+167
|\ | | | | Prohibit null values in maps
| * Prohibit null values in map fieldsJon Skeet2016-01-1113-174/+167
| | | | | | | | | | On deserialization, missing values for message types are replaced with a "default" message.
* | Fix typos in README.md/CHANGES.txtDongjoon Hyun2016-01-111-1/+1
|/
* Merge pull request #1098 from jskeet/wkt-jsonJan Tattermusch2016-01-083-63/+55
|\ | | | | Ensure all formatted well-known-type values are valid JSON
| * Ensure all formatted well-known-type values are valid JSONJon Skeet2016-01-063-63/+55
| | | | | | | | | | | | | | This involves quoting timestamp/duration/field-mask values, even when they're not in fields. It's better for consistency. Fixes issue #1097.
* | Merge pull request #1088 from jskeet/codec-pruningJan Tattermusch2016-01-081-5/+0
|\ \ | | | | | | Remove unused method in FieldCodec.
| * | Remove unused method in FieldCodec.Jon Skeet2016-01-051-5/+0
| |/ | | | | | | (The method was last used a very long time ago, if ever.)
* / Improve number handling in JSON parsingJon Skeet2016-01-062-51/+91
|/ | | | | | - 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
* Fix C# source generation shell script and remove out of date notesJon Skeet2016-01-042-125/+1301
| | | | | 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 dependencyJan Tattermusch2015-12-172-0/+14
|
* Merge pull request #1049 from jskeet/any-formatJon Skeet2015-12-1721-117/+191
|\ | | | | Handle Any formatting for diagnostic purposes
| * Generated code changes from previous commit.Jon Skeet2015-12-1519-114/+117
| |
| * Make ToString() valid without a type registryJon Skeet2015-12-152-3/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge pull request #1051 from jtattermusch/support_coreclrJan Tattermusch2015-12-161-19/+38
|\ \ | | | | | | Make nuget package support coreCLR
| * | make nuget package support CoreCLRJan Tattermusch2015-12-161-19/+38
| |/
* / Add JSON parsing to conformance tests.Jon Skeet2015-12-161-19/+24
|/
* Handle JSON parsing for Any.Jon Skeet2015-12-025-509/+761
| | | | 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...
* JSON formatting for Any.Jon Skeet2015-12-022-18/+135
|
* Generated code changes for previous commit (basically ↵Jon Skeet2015-11-2221-22/+22
| | | | InternalBuildGeneratedFileFrom => FromGeneratedCode)
* Tidy up reflection in advance of attempting to implement DynamicMessage.Jon Skeet2015-11-229-224/+187
| | | | | | | | | 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.
* Added the type registry in advance of implementing Any support.Jon Skeet2015-11-214-0/+279
| | | | Biting off just this bit first as I don't need the changes from a previous PR for this part.
* Merge pull request #988 from gabikliot/CSharp-SampleUsage-Big-FixJan Tattermusch2015-11-191-2/+5
|\ | | | | Fixed a bug in CSharp SampleUsage.
| * Removed redundant comment.Gabriel Kliot2015-11-191-1/+0
| |
| * Fixed a bug in CSharp SampleUsage.Gabriel Kliot2015-11-181-1/+5
| |
* | Finished an implementation commentJon Skeet2015-11-191-1/+3
| |
* | Generated code from previous commit.Jon Skeet2015-11-1920-105/+107
| |
* | Introduce a Parser property into MessageDescriptor, and populate it from ↵Jon Skeet2015-11-194-16/+134
| | | | | | | | | | | | generated types. Generated code coming in next commit - in a subsequent PR I want to do a bit of renaming and redocumenting around this, in anticipation of DynamicMessage.