1. 13 Nov, 2018 1 commit
    • Jon Skeet's avatar
      Increase C# default recursion limit to 100 (#5339) · 627cc48f
      Jon Skeet authored
      * Increase C# default recursion limit to 100
      
      This matches the Java and C++ defaults.
      
      * Change compatibility tests to use execution-time default recursion limit
      
      This way the same tests should pass against all versions, even
      if the recursion limit changes. (The tests will be testing whether
      different messages work, admittedly - but that's probably fine.)
      627cc48f
  2. 09 Nov, 2018 1 commit
  3. 05 Nov, 2018 1 commit
  4. 08 Oct, 2018 1 commit
    • Benjamin Krämer's avatar
      Ported FieldMaskUtil from Java to C# (#5045) · 80e530da
      Benjamin Krämer authored
      * Ported FieldMaskUtil from Java to C#
      
      * Merged FieldMaskUtil into FieldMaskPartial
      
      - Removed FieldMaskUtil
      - Moved FieldMaskTree to root
      - Updated tests
      
      * Improved tests
      
      - Removed internal method FieldMaskTree.GetFieldPaths
      - Proof FieldMask.Paths only contains expected values
      
      * Added FieldMaskTreeTest to Makefile
      
      * Added FieldMaskTree to Makefile
      80e530da
  5. 05 Oct, 2018 1 commit
  6. 24 Sep, 2018 1 commit
    • Sydney Acksman's avatar
      C# Proto2 feature : Field presence and default values (#4642) · 54176b26
      Sydney Acksman authored
      * Compiler changes
      
      * Generated code changes
      
      * Library changes
      
      * Compiler style changes
      
      * Generated style changes
      
      * Fix Windows build errors
      
      * Implement changes from review
      
      * Reintroduce proto2 check
      
      * Compiler changes (required handling review)
      
      * Generated code changes (required handling review)
      
      * Library changes (required handling review
      
      * Field presence rewrite (compiler changes)
      
      * Field presence rewrite (generated code changes)
      
      * Compiler comment
      
      * IFieldAccessor.HasValue library implementation
      
      * Remove Clear methods and default values from proto3 code (Compiler)
      
      * Remove Clear methods and default values from proto3 code (Generated)
      
      * Remove Clear methods and default values from proto3 code (Library)
      
      * Fix distcheck error
      
      * Rewrite default string values to use base64 and convert
      
      * Library changes (IMessage2)
      
      * Compiler changes (IMessage2)
      
      * Generated changes (IMessage2)
      
      * Rebased and regenerated
      
      * Compiler changes (initialized extension)
      
      * Generated changes (initialized extension)
      
      * Library changes (initialized extension)
      
      * Refactor MessageExtensions.IsRequired
      
      * Move string default value creator and bytes default value creator back to seperate methods
      
      * Dead code cleanup
      
      * Fixed segmentation fault
      Removed unused header method declarations
      54176b26
  7. 22 Sep, 2018 4 commits
    • Jon Skeet's avatar
      47d33e75
    • Jon Skeet's avatar
      Simplify descriptor tests · 1376ee4e
      Jon Skeet authored
      Rather than converting the proto to a ByteString again, use the
      existing SerializedData property.
      1376ee4e
    • Jon Skeet's avatar
    • Jon Skeet's avatar
      Provide simple access to descriptor declarations in C# · 17119990
      Jon Skeet authored
      This is primarily for access to comments, which would be expected to be available in a protoc plugin.
      
      The implementation has two fiddly aspects:
      
      - We use a Lazy<T> to avoid building the map before cross-linking. An alternative would be to crosslink at the end of the constructor, and remove the calls to CrossLink elsewhere. This would be generally better IMO, but deviate from the Java code.
      - The casts to IReadOnlyList<DescriptorBase> are unfortunate. They'll always work, because these lists are always ReadOnlyCollection<T> for a descriptor type... but we can't use IList<DescriptorBase> as that's not covariant, and it's annoyingly fiddly to change the field to be of type ReadOnlyCollection<T>.
      17119990
  8. 10 Sep, 2018 1 commit
  9. 22 Aug, 2018 1 commit
  10. 20 Aug, 2018 1 commit
  11. 09 Jul, 2018 1 commit
  12. 25 Jun, 2018 1 commit
  13. 19 Apr, 2018 1 commit
  14. 01 Mar, 2018 1 commit
  15. 06 Feb, 2018 1 commit
  16. 31 Jan, 2018 1 commit
  17. 15 Jan, 2018 1 commit
    • Jon Skeet's avatar
      Add DiscardUnknownFields support for C# · 47b7d2c7
      Jon Skeet authored
      By default, unknown fields are preserved when parsing. To discard
      them, use a parser configured to do so:
      
      var parser = MyMessage.Parser.WithDiscardUnknownFields(true);
      47b7d2c7
  18. 19 Dec, 2017 1 commit
  19. 13 Dec, 2017 2 commits
  20. 09 Dec, 2017 2 commits
  21. 14 Nov, 2017 1 commit
  22. 12 Nov, 2017 2 commits
  23. 01 Nov, 2017 1 commit
    • Jon Skeet's avatar
      Fix merging with message-valued oneof · cbe25059
      Jon Skeet authored
      If messages A and B have the same oneof case, which is a message
      type, and we merge B into A, those sub-messages should be merged.
      
      Fixes #3200.
      
      Note that I haven't regenerated all the code, as some of the protos
      have been changed, breaking generation.
      cbe25059
  24. 28 Oct, 2017 1 commit
  25. 11 Aug, 2017 1 commit
    • Jon Skeet's avatar
      Detect invalid tags with a field number of 0 in C# · e0d24cc8
      Jon Skeet authored
      Previously we only rejected the tag if the tag itself was 0, i.e.
      field=0, type=varint. The type doesn't matter: field 0 is always
      invalid.
      
      This removes the last of the C# conformance failures.
      e0d24cc8
  26. 26 Jul, 2017 1 commit
  27. 25 Jul, 2017 1 commit
  28. 12 Jul, 2017 1 commit
  29. 05 Jul, 2017 1 commit
  30. 04 Jul, 2017 1 commit
  31. 03 Jul, 2017 1 commit
    • Jon Skeet's avatar
      Make Any easier to work with in C# · 62d7fe56
      Jon Skeet authored
      - Add a TryUnpack method which doesn't throw if the type is wrong
      - Make GetTypeName public for easier determination of the message type
      
      Fixes #3294.
      62d7fe56
  32. 25 May, 2017 1 commit
  33. 24 May, 2017 1 commit
    • Jon Skeet's avatar
      Convert C# projects to MSBuild (csproj) format · f26e8c2a
      Jon Skeet authored
      This has one important packaging change: the netstandard version now
      depends (implicitly) on netstandard1.6.1 rather than on individual
      packages. This is the preferred style of dependency, and shouldn't
      affect any users - see http://stackoverflow.com/questions/42946951
      for details.
      
      The tests are still NUnit, but NUnit doesn't support "dotnet test"
      yet; the test project is now an executable using NUnitLite. (When
      NUnit supports dotnet test, we can adapt to it.)
      
      Note that the project will now only work in Visual Studio 2017 (and
      Visual Studio Code, and from the command line with the .NET Core
      1.0.0 SDK); Visual Studio 2015 does *not* support this project file
      format.
      f26e8c2a
  34. 24 Mar, 2017 1 commit