aboutsummaryrefslogtreecommitdiff
path: root/csharp/src/Google.Protobuf
Commit message (Collapse)AuthorAgeFilesLines
* Remove unnecessary reflection callJon Skeet2016-07-082-16/+4
| | | | | This is the only call to TypeExtensions.IsValueType, so we can remove that method, making the whole type conditionally compiled out for .NET 3.5
* Changes to generated code from previous commitJon Skeet2016-07-0412-154/+1183
|
* Adding conditional compiler symbol to support .NET 3.5 (#1713)detlevschwabe2016-06-286-4/+34
| | | | * Adding condition compiler symbol to support .NET 3.5
* Expose JsonFormatter.WriteValue.Jon Skeet2016-06-231-25/+11
| | | | | This isn't useful to most users, but can be handy in advanced use cases, as requested in #1465.
* Remove ordering guarantees in the MapField documentationJon Skeet2016-06-211-3/+4
| | | | | | | | This doesn't currently change the ordering in the implementation, but allows us to do so in the future. We also need to change https://developers.google.com/protocol-buffers/docs/reference/csharp-generated#singular which states "Finally, unlike Dictionary<TKey, TValue>, MapField<TKey, TValue> preserves insertion order of entries." (We can just remove that sentence, I think.)
* Merge pull request #1542 from google/beta-3Jisi Liu2016-05-162-3/+3
|\ | | | | Merge Beta 3 release branch into master
| * Fix csharp versionJisi Liu2016-05-111-1/+1
| |
| * Update version numbers for other languagesJisi Liu2016-05-101-2/+2
| |
* | Fixed parsing of BoolValue.Jos Hickson2016-05-111-1/+2
|/
* Merge pull request #1471 from jskeet/any-hostJon Skeet2016-05-063-23/+41
|\ | | | | Allow custom type URL prefixes in Any.Pack
| * Allow custom type URL prefixes in Any.PackJon Skeet2016-04-293-23/+41
| | | | | | | | | | | | (And likewise ignore the prefix in unpack.) Fixes issue #1459.
* | Merge branch 'master' of github.com:google/protobufJisi Liu2016-04-282-1/+3
|/
* Regenerate well-known types for C#Jon Skeet2016-04-208-103/+130
| | | | | (There are documentation changes and new fields in descriptor.proto that have resulted in changes to the serialized descriptor, but no breaking changes for C#.)
* Use the original name in JSON formatting.Jon Skeet2016-04-202-2/+45
| | | | (JSON parsing already does the right thing.)
* Regenerate all C# code and make it compileJon Skeet2016-04-205-131/+131
| | | | JSON tests fail, as we're not using OriginalNameAttribute yet.
* Add C# codegen changes to enum value names (mostly C++)Jon Skeet2016-04-202-0/+59
| | | | | | | | | | 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.
* Merge pull request #1369 from jskeet/tools-nuspecJan Tattermusch2016-03-311-14/+0
|\ | | | | Introduce a new nuget package, Google.Protobuf.Tools, basically to contain protoc on multiple platforms.
| * Introduce a new nuget package, Google.Protobuf.Tools, basically to contain ↵Jon Skeet2016-03-311-14/+0
| | | | | | | | | | | | | | | | 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 :)
* | Refactoring of FieldDescriptorJon Skeet2016-03-301-61/+39
|/ | | | | | | | 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
* Code review fixesalien2016-03-293-6/+3
|
* csharp: add support for the json_name optionalien2016-03-183-2/+13
| | | | | Conflicts: csharp/src/Google.Protobuf/JsonFormatter.cs
* Replace StringBuilder with TextWriter in JsonFormatteravgweb2016-03-064-131/+148
|
* Implement IDisposable for CodedInputStream and CodedOutputStreamJon Skeet2016-02-292-12/+101
| | | | | 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 tagsJon Skeet2016-02-151-6/+26
| | | | | | | | 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-dependenciesJan Tattermusch2016-02-111-0/+10
|\ | | | | nuspec dependency fixes
| * nuspec dependency fixesJon Skeet2016-02-081-0/+10
| | | | | | | | | | | | | | Explicitly don't add any dependencies for "old" platforms, to avoid unnecessary dependencies in those cases. Fixes issue #1203.
* | Use checked-in key to build ReleaseSignedJan Tattermusch2016-02-091-1/+1
|/
* Generated code changes from previous commitJon Skeet2016-02-047-22/+22
|
* Rename Preconditions to ProtoPreconditionsJon Skeet2016-02-0414-86/+91
| | | | (Generated code changes in next commit.)
* Generated code for GeneratedCodeInfo changeJon Skeet2016-02-0411-101/+411
|
* 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.
* Ensure that FieldMask, Timestamp and Duration ToString() calls don't throwJon Skeet2016-01-205-69/+284
| | | | | | | | | | | | | 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-stringJan Tattermusch2016-01-193-0/+79
|\ | | | | Introduce ICustomDiagnosticMessage to allow for custom string formatting
| * Introduce ICustomDiagnosticMessage to allow for custom string formattingJon Skeet2016-01-133-0/+79
| | | | | | | | This fixes issue #933, effectively.
* | Make sure thatJon Skeet2016-01-151-4/+17
| | | | | | | | | | | | "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-151-0/+15
| |
* | Change handling of unknown enums: we now write out the value as a number.Jon Skeet2016-01-152-20/+10
| |
* | Extra strictness for FieldMask conversionJon Skeet2016-01-152-2/+33
| |
* | Allow the original field name (rather than camel-cased) when parsing JSONJon Skeet2016-01-151-3/+15
| |
* | Fixes to JSON timestamp/duration representationsJon Skeet2016-01-154-26/+66
| |
* | Prohibit null values in repeated and map fields in JSONJon Skeet2016-01-151-1/+8
| |
* | Throw a better exception when invalid base64 is detected in JSONJon Skeet2016-01-152-1/+19
| |
* | Support (and test) numeric enum parsing in JSONJon Skeet2016-01-151-0/+9
| |
* | Fix handling of repeated wrappersJon Skeet2016-01-152-77/+70
| | | | | | | | | | 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-131-0/+5
|/ | | | | - Spot an Any without a type URL - In the conformance test runner, catch exceptions due to generally-invalid JSON
* Prohibit null values in map fieldsJon Skeet2016-01-118-97/+116
| | | | | On deserialization, missing values for message types are replaced with a "default" message.
* Merge pull request #1098 from jskeet/wkt-jsonJan Tattermusch2016-01-081-38/+14
|\ | | | | Ensure all formatted well-known-type values are valid JSON
| * Ensure all formatted well-known-type values are valid JSONJon Skeet2016-01-061-38/+14
| | | | | | | | | | | | | | 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.)