1. 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
  2. 22 Sep, 2018 2 commits
    • Jon Skeet's avatar
      6e39eaad
    • 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
  3. 19 Sep, 2018 1 commit
  4. 10 Sep, 2018 1 commit
  5. 04 Sep, 2018 1 commit
  6. 22 Aug, 2018 1 commit
  7. 20 Aug, 2018 1 commit
  8. 09 Aug, 2018 1 commit
  9. 27 Jul, 2018 1 commit
  10. 09 Jul, 2018 1 commit
  11. 25 Jun, 2018 1 commit
  12. 29 May, 2018 1 commit
  13. 14 May, 2018 2 commits
  14. 11 May, 2018 1 commit
  15. 27 Apr, 2018 1 commit
    • Jon Skeet's avatar
      Fix to allow AOT compilers to play nicely with reflection · 1b219a17
      Jon Skeet authored
      With this fix, Unity using IL2CPP should work with one of two
      approaches:
      
      - Call `FileDescriptor.ForceReflectionInitialization<T>` for every
        enum present in generated code (including oneof case enums)
      - Ensure that IL2CPP uses the same code for int and any int-based
        enums
      
      The former approach is likely to be simpler, unless IL2CPP changes
      its default behavior. We *could* potentially generate the code
      automatically, but that makes me slightly uncomfortable in terms of
      generating code that's only relevant in one specific scenario. It
      would be reasonably easy to write a tool (separate from protoc) to
      generate the code required for any specific set of assemblies, so
      that Unity users can include it in their application. We can always
      decide to change to generate it automatically later.
      1b219a17
  16. 19 Apr, 2018 1 commit
  17. 06 Apr, 2018 1 commit
    • Jon Skeet's avatar
      Deliberately call simple code to avoid Unity linker pruning · da3ce671
      Jon Skeet authored
      The SampleEnumMethod method was previously only called via
      reflection, so the Unity linker thought it could be removed. Ditto
      the parameterless constructor in ReflectionHelper.
      
      This PR should avoid that issue, reducing the work needed by
      customers to use Google.Protobuf from Unity.
      da3ce671
  18. 02 Apr, 2018 1 commit
    • Paul Yang's avatar
      Merge branch (#4466) · c9317434
      Paul Yang authored
      * Fix setup.py for windows build.
      
      * Bump version number to 3.5.2
      
      * Cat the test-suite.log on errors for presubits
      c9317434
  19. 27 Mar, 2018 4 commits
  20. 14 Mar, 2018 1 commit
  21. 06 Mar, 2018 1 commit
  22. 01 Mar, 2018 1 commit
  23. 31 Jan, 2018 1 commit
  24. 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
  25. 19 Dec, 2017 2 commits
  26. 13 Dec, 2017 2 commits
  27. 12 Dec, 2017 1 commit
  28. 09 Dec, 2017 2 commits
  29. 01 Dec, 2017 1 commit
  30. 30 Nov, 2017 1 commit
  31. 29 Nov, 2017 1 commit
  32. 10 Nov, 2017 1 commit