aboutsummaryrefslogtreecommitdiff
path: root/csharp
Commit message (Collapse)AuthorAgeFilesLines
* Fix trivial bug in field orderings.Jon Skeet2015-07-312-1/+14
| | | | (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-317-0/+563
| | | | | 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-313-6/+244
|
* Generated code for previous commit.Jon Skeet2015-07-309-57/+57
|
* Prohibit null values for string/bytes fields in generated code.Jon Skeet2015-07-301-0/+10
|
* Rename ThrowHelper to Preconditions and make it public - we'll want to use ↵Jon Skeet2015-07-306-78/+99
| | | | | | | 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.
* Generated code from previous commit.Jon Skeet2015-07-3018-315/+0
|
* More freezing tidy-up; generated code in next commit.Jon Skeet2015-07-301-2/+1
|
* Minor bits of left-over frozenness.Jon Skeet2015-07-302-7/+1
|
* Merge pull request #654 from jtattermusch/csharp_hide_freezeJon Skeet2015-07-3026-1451/+6
|\ | | | | Remove the C# Freeze API
| * regenerate codeJan Tattermusch2015-07-2918-1192/+0
| |
| * remove the freeze APIJan Tattermusch2015-07-298-259/+6
| |
* | add IsClientStreaming and IsServerStreaming to MethodDescriptorJan Tattermusch2015-07-291-0/+10
|/
* Update the readme file to indicate supported platformsJon Skeet2015-07-281-0/+11
|
* Humbug - previous commit didn't include project file changes :(Jon Skeet2015-07-281-0/+2
|
* Tweaks to Profile259 supportJon Skeet2015-07-286-11/+303
| | | | | | - Fix nupec paths - Remove an obsolete part of the JSON build - Add documentation and tests to reflection extension methods, and improve implementations
* First attempt at using profile 259 for Google.Protobuf.Jon Skeet2015-07-2714-15/+146
| | | | | | | | 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-242-4/+21
|
* Implemented Jan's suggestion of FieldCollection, replacing ↵Jon Skeet2015-07-226-119/+128
| | | | | | | | | | 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-222-2/+2
|
* First pass at making field access simpler.Jon Skeet2015-07-227-175/+309
| | | | 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-223-8/+0
|
* Generated code for previous commit.Jon Skeet2015-07-2217-511/+129
|
* Remove the usage of attributes for field/method discovery.Jon Skeet2015-07-2210-355/+147
| | | | 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-2118-728/+686
|
* Revamp to reflection.Jon Skeet2015-07-2122-179/+327
| | | | | | | | | | | | | | | | | 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.
* update addressbook exampleJan Tattermusch2015-07-203-6/+6
|
* regenerate Addressbook.csJan Tattermusch2015-07-201-39/+39
|
* First part of JSON formatting for well-known types. I think we need a ↵Jon Skeet2015-07-203-1/+80
| | | | reflection API rethink before doing the rest.
* Fix typo in buildall.shJan Tattermusch2015-07-171-1/+1
|
* First pass at the big rename from ProtocolBuffers to Google.Protobuf.Jon Skeet2015-07-1799-51/+43
| | | | We'll see what I've missed when CI fails...
* Fixes from PR review.Jon Skeet2015-07-173-14/+89
|
* Make the map test actually test the code...Jon Skeet2015-07-161-0/+7
|
* First pass at wrapper types.Jon Skeet2015-07-169-405/+834
| | | | | - We do still generate the message types, as otherwise reflection breaks, even though it doesn't actually use those types. - JSON handling hasn't been implemented yet
* Fixes to ByteString's equality handling.Jon Skeet2015-07-162-20/+41
|
* First part of implementing wrapper types. Not ready yet!Jon Skeet2015-07-164-1/+2424
|
* Remove the struct-based iterator for RepeatedField.Jon Skeet2015-07-162-63/+6
| | | | | | We don't use it in the runtime or generated code anywhere now, so the extra small performance boost isn't as critical, and it has some undesirable consequences. The tests have needed to change as iterator block enumerators don't throw when we might expect them to.
* added comment for ByteString.CopyFromJan Tattermusch2015-07-151-0/+2
|
* C# cleanup - assorted nitsJan Tattermusch2015-07-155-10/+3
|
* Don't create nested types (or field accessors) for map types.Jon Skeet2015-07-152-5771/+0
| | | | I'm sure I've implemented this before, but somehow it's been lost in a maze of twisty little branches, all alike.
* Generated code for well-known typesJon Skeet2015-07-1417-113/+4763
|
* Generate the well-known types in C#Jon Skeet2015-07-143-10/+34
| | | | | | | | | | This involves: - Specifying a namespace in each proto (including ones we'd previously missed) - Updating the generation script - Changing codegen to implement IReflectedMessage.Fields explicitly (a good thing anyway) - Changing reflection tests to take account of the explicit interface implementation Non-generated code in this commit; generated code to follow
* Changing reflection namespace (part 4)Jon Skeet2015-07-148-11/+0
| | | | Update code already within Google.Protobuf.Reflection which was importing Google.Protobuf.DescriptorProtos
* Changing reflection namespace (part 3)Jon Skeet2015-07-144-233/+233
| | | | | | | | Change the C# namespace in descriptor.proto to Google.Protobuf.Reflection. This then means changing where the generated code lives, which means updating the project file... It also involves regenerating the C++ - which has updated the well-known types as well, for no terribly obvious reason...
* Changing reflection namespace (part 2)Jon Skeet2015-07-147-487/+487
| | | | Generated code changes from previous commit
* Changing reflection namespace (part 1)Jon Skeet2015-07-1430-2629/+2617
| | | | | | | - Move types into Google.Protobuf.Reflection - Change codegen to reflect that in generated types Generated code changes coming in part 2
* Merge pull request #582 from jskeet/csharp-jsonJon Skeet2015-07-1418-162/+1486
|\ | | | | JSON formatting in C#
| * Changes suggested during review.Jon Skeet2015-07-142-27/+4
| | | | | | | | | | - Remove the indexers in FieldAccessorTable - Add a TODO for field ordering in oneof
| * Fixes to JsonFormatterJon Skeet2015-07-102-11/+112
| | | | | | | | | | - Handle oneof properly - Omit unknown enum values