aboutsummaryrefslogtreecommitdiff
path: root/csharp/src/Google.Protobuf.Test
Commit message (Collapse)AuthorAgeFilesLines
* More TODOs done.Jon Skeet2015-08-102-26/+24
| | | | | | - Removed a TODO without change in DescriptorPool.LookupSymbol - the TODOs were around performance, and this is only used during descriptor initialization - Make the CodedInputStream limits read-only, adding a static factory method for the rare cases when this is useful - Extracted IDeepCloneable into its own file.
* Merge pull request #701 from jskeet/map-viewsJon Skeet2015-08-101-0/+85
|\ | | | | Implement Keys and Values as views in MapField
| * Implement ICollection.CopyTo (using Array) for MapField views.Jon Skeet2015-08-101-0/+14
| |
| * Implement Keys and Values as viewsJon Skeet2015-08-081-0/+71
| |
* | Make FieldDescriptor.IsPacked work appropriately.Jon Skeet2015-08-081-1/+1
|/ | | | | This is a bit of a grotty hack, as we need to sort of fake proto2 field presence, but with only a proto3 version of the descriptor messages (a bit like oneof detection). Should be okay, but will need to be careful of this if we ever implement proto2.
* Tidying up - fix a bunch of TODOs and remove outdated ones.Jon Skeet2015-08-081-1/+0
|
* Address review comments.Jon Skeet2015-08-081-0/+22
|
* Generated code for previous commit.Jon Skeet2015-08-067-232/+81
|
* Skip groups properly.Jon Skeet2015-08-061-0/+87
| | | | | | | | | | | Now the generated code doesn't need to check for end group tags, as it will skip whole groups at a time. Currently it will ignore extraneous end group tags, which may or may not be a good thing. Renamed ConsumeLastField to SkipLastField as it felt more natural. Removed WireFormat.IsEndGroupTag as it's no longer useful. This mostly fixes issue 688. (Generated code changes coming in next commit.)
* Generated code changes for previous commit.Jon Skeet2015-08-056-174/+58
|
* Change ReadTag and PeekTag to just use 0 as a return value for "end of ↵Jon Skeet2015-08-054-20/+26
| | | | | | | | stream", rather than using an awkward out parameter. This simplifies quite a lot of code. Generated code in next commit.
* Validate that after reading a message, we've consumed as many bytes as we ↵Jon Skeet2015-08-051-8/+18
| | | | | | expected to. We should now have no conformance failures.
* Generated code changes for previous commit.Jon Skeet2015-08-056-0/+58
|
* Consume unknown fields when parsing.Jon Skeet2015-08-051-0/+29
| | | | | This is expected to be the cause of the conformance test failures. Generated code in next commit.
* Fix build warnings around unused variablesJon Skeet2015-08-042-2/+3
|
* JSON formatting for FieldMaskJon Skeet2015-08-031-0/+18
|
* Expose Coded*Stream constructors directly.Jon Skeet2015-08-037-67/+67
|
* Merge pull request #675 from jtattermusch/signingJon Skeet2015-08-032-15/+17
|\ | | | | Add ReleaseSigned configuration for C#
| * make changes and fixes in signingJan Tattermusch2015-08-022-14/+2
| |
| * build signed assembliesJan Tattermusch2015-08-022-2/+16
| |
* | Initial pass at formatting Struct as JSON.Jon Skeet2015-08-031-0/+17
| | | | | | | | 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.
* | Format JSON for Duration and Timestamp.Jon Skeet2015-08-031-0/+61
|/ | | | 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.
* Simplify the JSON tests for readabilityJon Skeet2015-07-311-60/+71
| | | | Use ' instead of " in the expected JSON, then replace it before asserting.
* Fix JSON formatting to always emit fields in field order, including oneofsJon Skeet2015-07-312-6/+323
|
* Fix trivial bug in field orderings.Jon Skeet2015-07-311-0/+13
| | | | (Shows the benefit of unit testing even code "too simple to fail"...)
* Well-known type operations for Timestamp and Duration (but not JSON formatting).Jon Skeet2015-07-313-0/+190
| | | | | While I've provided operators, I haven't yet provided the method equivalents. It's not clear to me that they're actually a good idea, while we're really targeting C# developers who definitely *can* use the user-defined operators.
* Handle field names of "descriptor" and "types".Jon Skeet2015-07-312-6/+235
|
* Generated code for previous commit.Jon Skeet2015-07-301-11/+11
|
* Prohibit null values for string/bytes fields in generated code.Jon Skeet2015-07-301-0/+10
|
* Generated code from previous commit.Jon Skeet2015-07-306-165/+0
|
* regenerate codeJan Tattermusch2015-07-296-660/+0
|
* remove the freeze APIJan Tattermusch2015-07-293-109/+0
|
* Humbug - previous commit didn't include project file changes :(Jon Skeet2015-07-281-0/+2
|
* Tweaks to Profile259 supportJon Skeet2015-07-282-0/+231
| | | | | | - Fix nupec paths - Remove an obsolete part of the JSON build - Add documentation and tests to reflection extension methods, and improve implementations
* expose original binary data for filedescriptorJan Tattermusch2015-07-241-0/+2
|
* Implemented Jan's suggestion of FieldCollection, replacing ↵Jon Skeet2015-07-223-83/+84
| | | | | | | | | | 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?)
* Added newlinesJon Skeet2015-07-221-1/+1
|
* First pass at making field access simpler.Jon Skeet2015-07-225-164/+238
| | | | This is definitely not ready to ship - I'm "troubled" by the disconnect between a list of fields in declaration order, and a mapping of field accessors by field number/name. Discussion required, but I find that easier when we've got code to look at :)
* Fix attribute mistake and regenerate code.Jon Skeet2015-07-222-6/+0
|
* Generated code for previous commit.Jon Skeet2015-07-226-368/+69
|
* Generated code changes following previous commit.Jon Skeet2015-07-216-376/+392
|
* Revamp to reflection.Jon Skeet2015-07-213-26/+28
| | | | | | | | | | | | | | | | | 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-0/+27
| | | | reflection API rethink before doing the rest.
* First pass at the big rename from ProtocolBuffers to Google.Protobuf.Jon Skeet2015-07-1727-0/+16557
We'll see what I've missed when CI fails...