aboutsummaryrefslogtreecommitdiff
path: root/csharp/src/Google.Protobuf/Reflection
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge pull request #785 from jskeet/csharp-directoriesJan Tattermusch2015-09-231-111/+111
|\ | | | | Generate C# directory hierarchy with new option
| * Regenerated code. Most changes are whitespace, removing trailing spaces.Jon Skeet2015-09-011-111/+111
| | | | | | | | Other changes are due to the well-known types changing without us regenerating.
* | Pack/Unpack implementation for Any.Jon Skeet2015-09-041-0/+2
|/ | | | | We still need the JSON representation, which relies on something like a DescriptorPool to fetch message types from based on the type URL. That will come a bit later. (The DescriptorPool comment in this commit is just a note which will prove useful if we use DescriptorPool itself.)
* Change where we rename Descriptor.cs to DescriptorProtoFile.cs.Jon Skeet2015-08-252-114/+114
| | | | | | | | | | | We now do this in protoc instead of the generation simpler. Benefits: - Generation script is simpler - Detection is simpler as we now only need to care about one filename - The embedded descriptor knows itself as "google/protobuf/descriptor.proto" avoiding dependency issues This PR also makes the "invalid dependency" exception clearer in terms of expected and actual dependencies.
* fix type initialization problem with FileDescriptorJan Tattermusch2015-08-141-148/+175
|
* Allow public access to descriptor.proto as a dependency.Jon Skeet2015-08-131-0/+15
| | | | | With this in place, generating APIs on github.com/google/googleapis works - previously annotations.proto failed. Currently there's no access to the annotations (stored as extensions) but we could potentially expose those at a later date.
* More TODOs done.Jon Skeet2015-08-101-3/+4
| | | | | | - 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.
* Make FieldDescriptor.IsPacked work appropriately.Jon Skeet2015-08-082-3/+17
| | | | | 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.
* Address review comments.Jon Skeet2015-08-081-2/+0
|
* Tidying up - fix a bunch of TODOs and remove outdated ones.Jon Skeet2015-08-088-55/+53
|
* Generated code for previous commit.Jon Skeet2015-08-061-88/+22
|
* Generated code changes for previous commit.Jon Skeet2015-08-051-66/+22
|
* Generated code changes for previous commit.Jon Skeet2015-08-051-0/+22
|
* Document everything, and turn on errors if we fail to document anything in ↵Jon Skeet2015-08-0410-25/+157
| | | | the future.
* Fix trivial bug in field orderings.Jon Skeet2015-07-311-1/+1
| | | | (Shows the benefit of unit testing even code "too simple to fail"...)
* Generated code for previous commit.Jon Skeet2015-07-301-26/+26
|
* Generated code from previous commit.Jon Skeet2015-07-301-66/+0
|
* Merge pull request #654 from jtattermusch/csharp_hide_freezeJon Skeet2015-07-301-265/+0
|\ | | | | Remove the C# Freeze API
| * regenerate codeJan Tattermusch2015-07-291-265/+0
| |
* | add IsClientStreaming and IsServerStreaming to MethodDescriptorJan Tattermusch2015-07-291-0/+10
|/
* First attempt at using profile 259 for Google.Protobuf.Jon Skeet2015-07-275-1/+6
| | | | | | | | 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.
* expose original binary data for filedescriptorJan Tattermusch2015-07-241-4/+19
|
* Implemented Jan's suggestion of FieldCollection, replacing ↵Jon Skeet2015-07-222-35/+43
| | | | | | | | | | 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-222-11/+71
| | | | 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 :)
* Remove the usage of attributes for field/method discovery.Jon Skeet2015-07-229-353/+146
| | | | Instead, introduce GeneratedCodeInfo which passes in what we need, and adjust the codegen to take account of this.
* Fix comment typoJon Skeet2015-07-211-1/+1
|
* Generated code changes following previous commit.Jon Skeet2015-07-211-136/+149
|
* Revamp to reflection.Jon Skeet2015-07-2115-129/+273
| | | | | | | | | | | | | | | | | 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/+25
| | | | reflection API rethink before doing the rest.
* First pass at the big rename from ProtocolBuffers to Google.Protobuf.Jon Skeet2015-07-1725-0/+7626
We'll see what I've missed when CI fails...