| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
- Move types into Google.Protobuf.Reflection
- Change codegen to reflect that in generated types
Generated code changes coming in part 2
|
|\
| |
| | |
Pascal-case namespace automatically in C# codegen
|
|/
|
|
| |
Fixes issue 312.
|
|\
| |
| | |
JSON formatting in C#
|
| |
| |
| |
| |
| | |
- Remove the indexers in FieldAccessorTable
- Add a TODO for field ordering in oneof
|
| |
| |
| |
| |
| | |
- Handle oneof properly
- Omit unknown enum values
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
- No parsing
- Reflection based, so not hugely efficient
- No line breaks or indentation
|
|\ \
| |/
|/| |
enable building nuget package
|
| | |
|
|/ |
|
|\
| |
| | |
Improve C# reflection support
|
| | |
|
| |
| |
| |
| | |
... and some implementation changes to go with them.
|
| |
| |
| |
| |
| |
| |
| |
| | |
- 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
|
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| | |
- Add a partial method called by all constructors
- Generate internal classes for descriptor.proto (only)
- Forbid proto2 descriptors except for descriptor.proto
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- 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.
|
|\|
| |
| | |
Fix-ups suggested in PR #560
|
| |\ |
|
| | | |
|
|/ /
| |
| |
| |
| | |
- Added new line at the end of SampleEnum
- Moved GeneratedMessageTest.GetSampleMessage to a new class, SampleMessages, and renamed it to CreateFullTestAllTypes.
|
|\|
| |
| | |
Fix C# copyright statements
|
| |
| |
| |
| |
| |
| | |
Everything should now be consistent - the only difference between files is the year (aside from generated files).
Fixes issue #531.
|
|\|
| |
| | |
Large changes to repeated field handling
|
| |
| |
| |
| | |
This is mostly just making things internal instead of public, removing and reordering a bunch of code in CodedInputStream/CodedOutputStream, and generally tidying up.
|
| | |
|
|/
|
|
|
|
|
| |
Coded*Stream.
Prod code works, but some tests are broken. Obviously those need fixing, then more tests,
and review benchmarks.
|
|\
| |
| | |
Fix for doubly-nested types - issue #307.
|
|/
|
|
| |
No specific test case - if the generated code compiles, the issue is fixed :)
|
|\
| |
| | |
Clean up C# code
|
| |
| |
| |
| |
| |
| |
| | |
- 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
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\|
| |
| | |
Proto3 map support for C#
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- 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
|
| | |
|
| |
| |
| |
| | |
(Primarily this is starting the hash code of messages at a non-zero value...)
|
| |
| |
| |
| | |
Generated code in next commit.
|
| | |
|
| |
| |
| |
| | |
More tests required. Generated code in next commit.
|
|\|
| |
| | |
Implement Freeze in C# protos
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The solution as a whole doesn't build yet - we probably want to remove
ProtoDump and ProtoMunge entirely, and ProtoBench should use Jan's new
benchmarks for parity with Java.
The version of NUnit on my machine, packaged with Mono 3.12.1, is
only NUnit 2.4.2, which is extremely old - it still requires an explicit
[TestFixture] attribute on test fixtures. I've added one just for ByteStringTest
for the moment so that we can see some tests passing in Travis, but as part of
a separate PR we should work on making sure we're using a recent NUnit version.
(It may already be doing so, but we can check that once it's working and merged.)
|
| | |
|
| |
| |
| |
| |
| | |
It seems too much code relies on the broken behaviour. See issue #493.
Instead, we reimplement MakeTag just for C#, temporarily.
|