aboutsummaryrefslogtreecommitdiff
path: root/csharp/src/Google.Protobuf/JsonFormatter.cs
Commit message (Collapse)AuthorAgeFilesLines
* Tidying up - fix a bunch of TODOs and remove outdated ones.Jon Skeet2015-08-081-2/+1
|
* Merge pull request #691 from jskeet/xml-documentationJon Skeet2015-08-051-0/+13
|\ | | | | Document everything, and turn on errors if we fail to document anything in the future
| * Document everything, and turn on errors if we fail to document anything in ↵Jon Skeet2015-08-041-0/+13
| | | | | | | | the future.
* | Fix build warnings around unused variablesJon Skeet2015-08-041-1/+0
|/
* JSON formatting for FieldMaskJon Skeet2015-08-031-1/+21
|
* Initial pass at formatting Struct as JSON.Jon Skeet2015-08-031-3/+81
| | | | This seems remarkably little code, but it appears to work. I can add tests for invalid structs at some point, once the general approach is approved.
* Addressed issues raised in code review. Will merge when green.Jon Skeet2015-08-031-25/+14
|
* Format JSON for Duration and Timestamp.Jon Skeet2015-08-031-10/+120
| | | | This is taking an approach of putting all the logic in JsonFormatter. That's helpful in terms of concealing the details of whether or not to wrap the value in quotes, but it does lack flexibility. I don't *think* we want to allow user-defined formatting of messages, so that much shouldn't be a problem.
* Fix JSON formatting to always emit fields in field order, including oneofsJon Skeet2015-07-311-30/+5
|
* Rename ThrowHelper to Preconditions and make it public - we'll want to use ↵Jon Skeet2015-07-301-1/+1
| | | | | | | it from the generated code soon. Additionally, change it to return the value passed, and make it generic with a class constraint. A separate method doesn't have the class constraint, for more unusual scenarios.
* Implemented Jan's suggestion of FieldCollection, replacing ↵Jon Skeet2015-07-221-1/+1
| | | | | | | | | | FieldAccessorCollection. I think Jan was actually suggesting keeping both, but that feels redundant to me. The test diff is misleading here IMO, because I wouldn't expect real code using reflection to use several accessors one after another like this, unless it was within a loop. Evidence to the contrary would be welcome :) This change also incidentally goes part way to fixing the issue of the JSON formatter not writing out the fields in field number order - with this change, it does except for oneofs, which we can fix in a follow-up change. I haven't actually added a test with a message with fields deliberately out of order - I'm happy to do so though. It feels like it would make sense to be in google/src/protobuf, but it's not entirely clear what the rules of engagement are for adding new messages there. (unittest_proto3.proto?)
* Revamp to reflection.Jon Skeet2015-07-211-13/+13
| | | | | | | | | | | | | | | | | Changes in brief: 1. Descriptor is now the entry point for all reflection. 2. IReflectedMessage has gone; there's now a Descriptor property in IMessage, which is explicitly implemented (due to the static property). 3. FieldAccessorTable has gone away 4. IFieldAccessor and OneofFieldAccessor still exist; we *could* put the functionality straight into FieldDescriptor and OneofDescriptor... I'm unsure about that. 5. There's a temporary property MessageDescriptor.FieldAccessorsByFieldNumber to make the test changes small - we probably want this to go away 6. Discovery for delegates is now via attributes applied to properties and the Clear method of a oneof I'm happy with 1-3. 4 I'm unsure about - feedback welcome. 5 will go away 6 I'm unsure about, both in design and implementation. Should we have a ProtobufMessageAttribute too? Should we find all the relevant attributes in MessageDescriptor and pass them down, to avoid an O(N^2) scenario? Generated code changes coming in the next commit.
* First part of JSON formatting for well-known types. I think we need a ↵Jon Skeet2015-07-201-1/+28
| | | | reflection API rethink before doing the rest.
* First pass at the big rename from ProtocolBuffers to Google.Protobuf.Jon Skeet2015-07-171-0/+578
We'll see what I've missed when CI fails...