1. 28 Jun, 2016 1 commit
  2. 23 Jun, 2016 1 commit
  3. 11 May, 2016 2 commits
  4. 29 Apr, 2016 1 commit
  5. 20 Apr, 2016 1 commit
  6. 01 Apr, 2016 1 commit
  7. 29 Mar, 2016 1 commit
  8. 18 Mar, 2016 1 commit
  9. 07 Mar, 2016 1 commit
  10. 01 Mar, 2016 1 commit
  11. 29 Feb, 2016 1 commit
  12. 15 Feb, 2016 2 commits
  13. 09 Feb, 2016 1 commit
  14. 04 Feb, 2016 2 commits
  15. 21 Jan, 2016 1 commit
  16. 20 Jan, 2016 1 commit
    • Jon Skeet's avatar
      Ensure that FieldMask, Timestamp and Duration ToString() calls don't throw · dd43dcca
      Jon Skeet authored
      The usage of ICustomDiagnosticMessage here is non-essential - ToDiagnosticString
      doesn't actually get called by ToString() in this case, due to JsonFormatter code. It was
      intended to make it clearer that it *did* have a custom format... but then arguably I should
      do the same for Value, Struct, Any etc.
      
      Moving some of the code out of JsonFormatter and into Duration/Timestamp/FieldMask likewise
      feels somewhat nice, somewhat nasty... basically there are JSON-specific bits of formatting, but
      also domain-specific bits of computation. <sigh>
      
      Thoughts welcome.
      dd43dcca
  17. 15 Jan, 2016 11 commits
  18. 13 Jan, 2016 2 commits
  19. 11 Jan, 2016 1 commit
  20. 06 Jan, 2016 2 commits
    • Jon Skeet's avatar
      Ensure all formatted well-known-type values are valid JSON · b4a58173
      Jon Skeet authored
      This involves quoting timestamp/duration/field-mask values, even when they're not in fields.
      It's better for consistency.
      
      Fixes issue #1097.
      b4a58173
    • Jon Skeet's avatar
      Improve number handling in JSON parsing · aa431a04
      Jon Skeet authored
      - Tighten up on Infinity/NaN handling in terms of whitespace handling (and test casing)
      - Validate that values are genuinely integers when they've been parsed from a JSON number (ignoring the fact that 1.0000000000000000001 == 1 as a double...)
      - Allow exponents and decimal points in string representations
      aa431a04
  21. 15 Dec, 2015 2 commits
    • Jon Skeet's avatar
      Generated code changes from previous commit. · adee6fe3
      Jon Skeet authored
      adee6fe3
    • Jon Skeet's avatar
      Make ToString() valid without a type registry · aabc6c41
      Jon Skeet authored
      This addresses issue #1008, by creating a JsonFormatter which is private and only different
      to JsonFormatter.Default in terms of reference equality.
      
      Other plausible designs:
      
      - The same, but expose the diagnostic-only formatter
      - Add something to settings to say "I don't have a type registry at all"
      - Change the behaviour of JsonFormatter.Default (bad idea IMO, as we really *don't* want the result of this used as regular JSON to be parsed)
      
      Note that just trying to find a separate fix to issue #933 and using that to override Any.ToString() differently wouldn't work for messages that *contain* an Any.
      
      Generated code changes follow in the next commit.
      aabc6c41
  22. 02 Dec, 2015 2 commits
    • Jon Skeet's avatar
      Handle JSON parsing for Any. · 3de2fced
      Jon Skeet authored
      This required a rework of the tokenizer to allow for a "replaying" tokenizer, basically in case the @type value comes after the data itself. This rework is nice in some ways (all the pushback and object depth logic in one place) but is a little fragile in terms of token push-back when using the replay tokenizer. It'll be fine for the scenario we need it for, but we should be careful...
      3de2fced
    • Jon Skeet's avatar
      JSON formatting for Any. · 567579b5
      Jon Skeet authored
      567579b5
  23. 22 Nov, 2015 1 commit