aboutsummaryrefslogtreecommitdiff
path: root/csharp/src/Google.Protobuf/Collections/MapField.cs
Commit message (Collapse)AuthorAgeFilesLines
* Fix parameter name in exception.Jon Skeet2015-08-101-1/+1
|
* Implement ICollection.CopyTo (using Array) for MapField views.Jon Skeet2015-08-101-1/+12
|
* Implement Keys and Values as viewsJon Skeet2015-08-081-4/+84
|
* Skip groups properly.Jon Skeet2015-08-061-3/+2
| | | | | | | | | | | 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.)
* Change ReadTag and PeekTag to just use 0 as a return value for "end of ↵Jon Skeet2015-08-051-5/+1
| | | | | | | | stream", rather than using an awkward out parameter. This simplifies quite a lot of code. Generated code in next commit.
* Document everything, and turn on errors if we fail to document anything in ↵Jon Skeet2015-08-041-4/+137
| | | | the future.
* Rename ThrowHelper to Preconditions and make it public - we'll want to use ↵Jon Skeet2015-07-301-8/+8
| | | | | | | 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.
* Minor bits of left-over frozenness.Jon Skeet2015-07-301-6/+1
|
* remove the freeze APIJan Tattermusch2015-07-291-32/+2
|
* First attempt at using profile 259 for Google.Protobuf.Jon Skeet2015-07-271-1/+2
| | | | | | | | This requires .NET 4.5, and there are a few compatibility changes required around reflection. Creating a PR from this to see how our CI systems handle it. Will want to add more documentation, validation and probably tests before merging. This is in aid of issue #590.
* Revamp to reflection.Jon Skeet2015-07-211-0/+3
| | | | | | | | | | | | | | | | | 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 pass at the big rename from ProtocolBuffers to Google.Protobuf.Jon Skeet2015-07-171-0/+565
We'll see what I've missed when CI fails...