Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Remove a lot of code which wasn't needed any more. | Jon Skeet | 2015-06-26 | 1 | -0/+10 |
| | |||||
* | Tweaks and more tests for maps | Jon Skeet | 2015-06-26 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | - Change the default message hash code to 1 to be consistent with other code - Change the empty list/map hash code to 0 as "empty map" is equivalent to "no map" - Removed map fields from unittest_proto3.proto - Created map_unittest_proto3.proto which is like map_unittest.proto but proto3-only - Fixed factory methods in FieldCodec highlighted by using all field types :) - Added tests for map serialization: - Extra fields within entries - Entries with value then key - Non-contiguous entries for the same map - Multiple entries for the same key Changes to generated code coming in next commit | ||||
* | Implement freezing for messages and repeated fields. | Jon Skeet | 2015-06-24 | 1 | -2/+33 |
| | | | | Fixes issue #523. | ||||
* | Implement Clone. | Jon Skeet | 2015-06-23 | 1 | -0/+30 |
| | | | | Fixes issue #527. | ||||
* | Use an empty array instead of a null reference for an empty repeated field. | Jon Skeet | 2015-06-19 | 1 | -22/+10 |
| | |||||
* | Reimplement RepeatedField<T> using an array as the backing store. | Jon Skeet | 2015-06-12 | 1 | -33/+206 |
| | | | | | | | | | | This is effectively reimplementing List<T>, but with a few advantages: - We know that an empty repeated field is common, so don't allocate an array until we need to - With direct access to the array, we can easily convert enum values to int without boxing - We can relax the restrictions over what happens if the repeated field is modified while iterating, avoiding so much checking This is somewhat risky, in that reimplementing a building block like this is *always* risky, but hey... (The performance benefits are significant...) | ||||
* | First pass at the mutable API. Quite a bit more to do - in particular, it's ↵ | Jon Skeet | 2015-06-09 | 1 | -0/+168 |
pretty slow right now. |