aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Generate the well-known types in C#Jon Skeet2015-07-1414-17/+45
| | | | | | | | | | 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-1412-252/+251
| | | | | | | | 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-1432-2638/+2626
| | | | | | | - Move types into Google.Protobuf.Reflection - Change codegen to reflect that in generated types Generated code changes coming in part 2
* Merge pull request #583 from jskeet/issue312Jon Skeet2015-07-142-3/+11
|\ | | | | Pascal-case namespace automatically in C# codegen
| * Convert package name to PascalCase for C# namespaceJon Skeet2015-07-142-3/+11
|/ | | | Fixes issue 312.
* Merge pull request #582 from jskeet/csharp-jsonJon Skeet2015-07-1421-168/+1494
|\ | | | | 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
| * Generated code changes for previous submitJon Skeet2015-07-107-113/+113
| |
| * Oneof reflection support. (Generated code changes in next commit.)Jon Skeet2015-07-105-35/+87
| |
| * Use the new JsonFormatter to implement ToString on generated messages.Jon Skeet2015-07-1010-6/+459
| |
| * Initial implementation of JSON formattingJon Skeet2015-07-107-3/+746
| | | | | | | | | | | | - No parsing - Reflection based, so not hugely efficient - No line breaks or indentation
* | Merge pull request #587 from jtattermusch/nuget_pkgJon Skeet2015-07-124-13/+41
|\ \ | |/ |/| enable building nuget package
| * Update Google.Protobuf.nuspecJan Tattermusch2015-07-121-1/+1
| |
| * enable building nuget packageJan Tattermusch2015-07-104-13/+41
|/
* Merge pull request #566 from jskeet/csharp-reflectionJon Skeet2015-07-1052-1960/+2699
|\ | | | | Improve C# reflection support
| * Knock-on effects of moving GetSampleMessage.Jon Skeet2015-07-091-8/+8
| |
| * Lots more tests for FieldCodec, MapField, RepeatedFieldJon Skeet2015-07-097-18/+516
| | | | | | | | ... and some implementation changes to go with them.
| * Fix descriptor reflection in various waysJon Skeet2015-07-0917-378/+178
| | | | | | | | | | | | | | | | - The protos are no longer publicly exposed at all - Oneof detection now works (as we default to -1, not 0) - OneofDescriptor exposes the fields in the oneof - Removed unnecessary code for replacing protos - remnant of extensions - There's now just the non-generic form of IDescriptor
| * Regenerated code due to previous commit.Jon Skeet2015-07-098-377/+829
| | | | | | | | Note that now we need a proto3 version of addressbook.proto. This may affect other platforms, and could do with an overhaul to follow proto3 conventions anyway (e.g. repeated field names). Will need to think about that carefully before merging into master. Raised issue #565 for this.
| * Codegen changes to support descriptor runtime changesJon Skeet2015-07-0911-12/+31
| | | | | | | | | | | | - Add a partial method called by all constructors - Generate internal classes for descriptor.proto (only) - Forbid proto2 descriptors except for descriptor.proto
| * Changes to generated code due to previous commit.Jon Skeet2015-07-097-939/+692
| |
| * Implement reflection properly for fields.Jon Skeet2015-07-0916-249/+466
| | | | | | | | | | | | | | | | | | | | | | | | | | - FieldAccessorTable is now non-generic - We don't have a static field per message type in the umbrella class. (Message descriptors are accessed via the file descriptor.) - Removed the "descriptor assigner" complication from the descriptor fixup; without extensions, we don't need it - MapField implements IDictionary (more tests would be good...) - RepeatedField implements IList (more tests would be good) - Use expression trees to build accessors. (Will need to test this on various platforms... probably need a fallback strategy just using reflection directly.) - Added FieldDescriptor.IsMap - Added tests for reflection with generated messages Changes to generated code coming in next commit.
* | Merge pull request #577 from jskeet/csharp-fixupJan Tattermusch2015-07-098-105/+104
|\| | | | | Fix-ups suggested in PR #560
| * Merge branch 'csharp-remove-extensions' into csharp-fixupJon Skeet2015-07-092-47/+1
| |\
| | * Remove unused code in C# codegenJon Skeet2015-06-302-47/+1
| | |
| * | Minor fix-ups as suggested in PR #560.Jon Skeet2015-07-096-58/+103
|/ / | | | | | | | | - Added new line at the end of SampleEnum - Moved GeneratedMessageTest.GetSampleMessage to a new class, SampleMessages, and renamed it to CreateFullTestAllTypes.
* | Merge pull request #561 from jskeet/csharp-copyrightJon Skeet2015-07-0957-215/+508
|\| | | | | Fix C# copyright statements
| * Fix copyright lines for all C# code.Jon Skeet2015-06-3057-215/+508
| | | | | | | | | | | | Everything should now be consistent - the only difference between files is the year (aside from generated files). Fixes issue #531.
* | Merge pull request #560 from jskeet/csharp-repeatedJon Skeet2015-07-0925-2353/+1561
|\| | | | | Large changes to repeated field handling
| * Tidying up and extra tests.Jon Skeet2015-06-3017-457/+871
| | | | | | | | This is mostly just making things internal instead of public, removing and reordering a bunch of code in CodedInputStream/CodedOutputStream, and generally tidying up.
| * Tests changed enough to buildJon Skeet2015-06-303-15/+36
| |
| * First pass (not yet compiling) at removing all the array handling code from ↵Jon Skeet2015-06-3012-1920/+693
|/ | | | | | | Coded*Stream. Prod code works, but some tests are broken. Obviously those need fixing, then more tests, and review benchmarks.
* Merge pull request #550 from jskeet/issue307Jon Skeet2015-06-293-22/+314
|\ | | | | Fix for doubly-nested types - issue #307.
| * Fix for doubly-nested types - issue #307.Jon Skeet2015-06-293-22/+314
|/ | | | No specific test case - if the generated code compiles, the issue is fixed :)
* Merge pull request #544 from jskeet/csharp-cleanupJon Skeet2015-06-2897-49470/+121
|\ | | | | Clean up C# code
| * More cleanup, based around searches for "Google.ProtocolBuffers"Jon Skeet2015-06-2657-1808/+49
| | | | | | | | | | | | | | - Remove some old proto2-based C#-only messages - Remove the "build" directory which only contained out-of-date files - Remove the csharp_namespace option from proto2 messages - Change "Google.ProtocolBuffers" to "Google.Protobuf" in other messages
| * Remove a lot of code which wasn't needed any more.Jon Skeet2015-06-2622-1154/+59
| |
| * Fix or delete old projects.Jon Skeet2015-06-2619-46509/+14
| | | | | | | | | | | | | | | | ProtoDump isn't currently useful, but will be when ToString emits JSON: fixed. ProtoBench: deleted; we should reinstate when there's a common proto3 benchmark. ProtoMunge: delete; not useful enough to merit fixing up. Removed the [TestFixture] from ByteStringTest as Travis uses a recent enough version of NUnit.
* | Merge pull request #543 from jskeet/proto3-mapJon Skeet2015-06-2635-102/+8878
|\| | | | | Proto3 map support for C#
| * Tests for FieldCodec, along with a fix.Jon Skeet2015-06-263-1/+151
| |
| * Generated code changes for previous commit.Jon Skeet2015-06-267-661/+7091
| |
| * Tweaks and more tests for mapsJon Skeet2015-06-269-32/+299
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
| * Make map test keys even more different to avoid odd hash collisionsJon Skeet2015-06-251-8/+8
| |
| * Generated code changes due to map changes.Jon Skeet2015-06-256-69/+138
| | | | | | | | (Primarily this is starting the hash code of messages at a non-zero value...)
| * More map tests, and various production code improvements.Jon Skeet2015-06-258-40/+492
| | | | | | | | Generated code in next commit.
| * Generated map code.Jon Skeet2015-06-251-87/+592
| |
| * First pass at map support.Jon Skeet2015-06-2520-10/+913
| | | | | | | | More tests required. Generated code in next commit.