- 20 Aug, 2018 1 commit
-
-
Jon Skeet authored
Related to #658 and #5007.
-
- 19 Jan, 2017 1 commit
-
-
Jon Skeet authored
This consists of: - Changing the codegen for the fixed set of options protos, to parse unknown fields instead of skipping them - Add a new CustomOptions type in the C# support library - Expose CustomOptions properties from the immutable proto wrappers in the support library Only single-value options are currently supported, and fetching options values requires getting the type right and knowing the field number. Both of these can be addressed at a later time. Fixes #2143, at least as a first pass.
-
- 03 Nov, 2016 1 commit
-
-
Jon Skeet authored
This affects cases with leading capital letters. This breaks compatibility with previous C# releases, but fixes compatibility with other implementations. See #2278 for details.
-
- 20 Apr, 2016 1 commit
-
-
Jon Skeet authored
JSON tests fail, as we're not using OriginalNameAttribute yet.
-
- 30 Mar, 2016 1 commit
-
-
Jon Skeet authored
This makes no externally visible behavioral changes. Internally and non-behaviorally: - We use a field (compiler-generated) to store the JsonName to avoid recomputing it repeatedly - The documentation for JsonName is updated to reflect the meaning better - Readonly autoprops and expression-bodied properties used where possible
-
- 29 Mar, 2016 1 commit
-
-
alien authored
-
- 18 Mar, 2016 1 commit
-
-
alien authored
Conflicts: csharp/src/Google.Protobuf/JsonFormatter.cs
-
- 22 Nov, 2015 1 commit
-
-
Jon Skeet authored
There are corner cases where MessageDescriptor.{ClrType,Parser} will return null, and these are now documented. However, normally they *should* be implemented, even for descriptors of for dynamic messages. Ditto FieldDescriptor.Accessor. We'll still need a fair amount of work to implement dynamic messages, but this change means that the public API will be remain intact. Additionally, this change starts making use of C# 6 features in the files that it touches. This is far from exhaustive, and later PRs will have more. Generated code changes coming in the next commit.
-
- 30 Oct, 2015 1 commit
-
-
Jon Skeet authored
The nullable value type fields already worked, but the use of the CLR property concealed the difference between string and StringWrapper fields.
-
- 29 Sep, 2015 1 commit
-
-
Jon Skeet authored
There are now summaries for: - The Types nested class (which holds nested types) - The file descriptor class for each proto - The enum generated for each oneof (Also fixed two typos.) Generated code in next commit.
-
- 08 Aug, 2015 1 commit
-
-
Jon Skeet authored
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.
-
- 04 Aug, 2015 1 commit
-
-
Jon Skeet authored
-
- 27 Jul, 2015 1 commit
-
-
Jon Skeet authored
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.
-
- 22 Jul, 2015 1 commit
-
-
Jon Skeet authored
Instead, introduce GeneratedCodeInfo which passes in what we need, and adjust the codegen to take account of this.
-
- 21 Jul, 2015 1 commit
-
-
Jon Skeet authored
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.
-
- 17 Jul, 2015 1 commit
-
-
Jon Skeet authored
We'll see what I've missed when CI fails...
-
- 14 Jul, 2015 2 commits
- 09 Jul, 2015 2 commits
-
-
Jon Skeet authored
- 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
-
Jon Skeet authored
- 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.
-
- 30 Jun, 2015 1 commit
-
-
Jon Skeet authored
Everything should now be consistent - the only difference between files is the year (aside from generated files). Fixes issue #531.
-
- 26 Jun, 2015 1 commit
-
-
Jon Skeet authored
-
- 09 Jun, 2015 1 commit
-
-
Jon Skeet authored
-
- 29 May, 2015 1 commit
-
-
Jie Luo authored
-
- 29 Apr, 2015 1 commit
-
-
Jon Skeet authored
We need to remove it from the generator too; I'll raise a github issue for that.
-
- 28 Apr, 2015 1 commit
-
-
Jon Skeet authored
1) Remove CSharpOptions 2) A new version of DescriptorProtoFile (with manual changes from codegen - it would otherwise be Descriptor.cs) 3) Turn off CLS compliance (which we'll remove from the codebase entirely; I don't think it's actually relevant these days) 4) Add "public imports" to FileDescriptor, with code broadly copied from the Java codebase. Lots more changes to commit before it will build and tests run, but one step at a time...
-