1. 03 May, 2019 1 commit
    • Sydney Acksman's avatar
      C# Proto2 feature : Extensions (#5350) · 9e89b6e7
      Sydney Acksman authored
      * Compiler changes (extensions)
      
      * Generated changes (extensions)
      
      * Library changes (extensions)
      
      * Adjusted a summary to indicate ContainingType can be null for extensions
      
      * Compiler changes (custom option review + access level review)
      
      * Generated code changes (custom options + access review)
      
      * Library changes (custom options + access review)
      
      * Support C# 6 with library changes
      
      * Access HasValue by property
      
      * Set access level of all extension classes to internal (revert in next PR)
      
      * Added null checks to custom options
      
      * Rebase on master and regenerate Conformance
      
      * Removed second dictionary from ExtensionSet
      
      * Rebased compiler changes
      
      * Rebased generated code changes
      
      * Rebased library changes + review changes
      
      * Add more safety checks to extension accessors
      
      * Remove instances where extension sets were unnecessarily allocated
      
      * Remove cleared items from sets
      Empty sets are now made null
      IExtensionMessage -> IExtendableMessage
      
      * Remove dead code from IExtensionValue impls
      
      * Clean both repeated and single value extensions
      
      * Add GetOrRegister method for repeated fields and allow clearing repeated extensions
      
      * Add type safe ClearExtension methods, remove non-generic IExtendableMessage interface.
      
      * Simplify ExtensionSet.TryMergeFieldFrom
      
      * Rebase on master to resolve conflicts
      
      * Fix Makefile.am
      
      * Add ObjectIntPair to Makefile.am
      9e89b6e7
  2. 21 Feb, 2019 1 commit
  3. 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
  4. 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
  5. 10 Nov, 2017 3 commits
  6. 09 Nov, 2017 3 commits
  7. 04 Feb, 2016 1 commit
  8. 19 Nov, 2015 2 commits
  9. 05 Nov, 2015 1 commit
    • Jon Skeet's avatar
      Created a new exception for JSON failures. · 0fb39c4a
      Jon Skeet authored
      This is only thrown directly by JsonTokenizer, but surfaces from JsonParser as well. I've added doc comments to hopefully make everything clear.
      
      The exception is actually thrown by the reader within JsonTokenizer, in anticipation of keeping track of the location within the document, but that change is not within this PR.
      0fb39c4a
  10. 03 Nov, 2015 1 commit
    • Jon Skeet's avatar
      Implement JSON parsing in C#. · fb248822
      Jon Skeet authored
      This includes all the well-known types except Any.
      Some aspects are likely to require further work when the details of the JSON parsing expectations are hammered out in more detail. Some of these have "ignored" tests already.
      
      Note that the choice *not* to use Json.NET was made for two reasons:
      - Going from 0 dependencies to 1 dependency is a big hit, and there's not much benefit here
      - Json.NET parses more leniently than we'd want; accommodating that would be nearly as much work as writing the tokenizer
      This only really affects the JsonTokenizer, which could be replaced by Json.NET. The JsonParser code would be about the same length with Json.NET... but I wouldn't be as confident in it.
      fb248822
  11. 04 Aug, 2015 1 commit
  12. 30 Jul, 2015 1 commit
  13. 17 Jul, 2015 1 commit
  14. 30 Jun, 2015 1 commit
  15. 19 Jun, 2015 1 commit
    • Jon Skeet's avatar
      Minor cleanup. · cdeda4b8
      Jon Skeet authored
      - Make some members internal
      - Remove a lot of FrameworkPortability that isn't required
      - Start adding documentation comments
      - Remove some more group-based members
      - Not passing in "the last tag read" into Read*Array, g
      cdeda4b8
  16. 12 Jun, 2015 1 commit
    • Jon Skeet's avatar
      Coded*Stream streamlining. · 96ddf01a
      Jon Skeet authored
      Remove ICodedInputStream and ICodedOutputStream, and rewrite CodedInputStream and CodedOutputStream to be specific to the binary format. If we want to support text-based formats, that can be a whole different serialization mechanism.
      96ddf01a
  17. 09 Jun, 2015 1 commit