1. 27 Jul, 2018 1 commit
  2. 14 May, 2018 2 commits
  3. 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
  4. 06 Mar, 2018 1 commit
  5. 19 Dec, 2017 1 commit
  6. 30 Nov, 2017 1 commit
  7. 02 Nov, 2017 1 commit
  8. 14 Sep, 2017 1 commit
  9. 12 Sep, 2017 1 commit
  10. 05 Sep, 2017 1 commit
  11. 02 Aug, 2017 1 commit
  12. 13 Jul, 2017 1 commit
  13. 24 May, 2017 2 commits
    • Jon Skeet's avatar
      0b07d7eb
    • 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
  14. 14 Jul, 2016 2 commits
  15. 20 Apr, 2016 1 commit
    • Jon Skeet's avatar
      Add C# codegen changes to enum value names (mostly C++) · 75626ed7
      Jon Skeet authored
      Overview of changes:
      - A new C#-specific command-line option, legacy_enum_values to revert to the old behavior
      - When legacy_enum_values isn't specified, we strip the enum name as a prefix, and PascalCase the value name
      - A new attribute within the C# code so that we can always tell the original in-proto name
      
      Regenerating the C# code with legacy_enum_values leads to code which still compiles and works - but
      there's more still to do.
      75626ed7
  16. 09 Feb, 2016 1 commit
  17. 04 Feb, 2016 2 commits
  18. 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
  19. 13 Jan, 2016 1 commit
  20. 17 Dec, 2015 1 commit
  21. 21 Nov, 2015 1 commit
  22. 09 Nov, 2015 1 commit
  23. 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
  24. 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
  25. 04 Sep, 2015 1 commit
    • Jon Skeet's avatar
      Pack/Unpack implementation for Any. · e50461d8
      Jon Skeet authored
      We still need the JSON representation, which relies on something like a DescriptorPool to fetch message types from based on the type URL. That will come a bit later.
      (The DescriptorPool comment in this commit is just a note which will prove useful if we use DescriptorPool itself.)
      e50461d8
  26. 10 Aug, 2015 1 commit
    • Jon Skeet's avatar
      More TODOs done. · f2732c7a
      Jon Skeet authored
      - Removed a TODO without change in DescriptorPool.LookupSymbol - the TODOs were around performance, and this is only used during descriptor initialization
      - Make the CodedInputStream limits read-only, adding a static factory method for the rare cases when this is useful
      - Extracted IDeepCloneable into its own file.
      f2732c7a
  27. 04 Aug, 2015 1 commit
  28. 02 Aug, 2015 2 commits
  29. 31 Jul, 2015 1 commit
  30. 30 Jul, 2015 2 commits
  31. 27 Jul, 2015 1 commit
    • Jon Skeet's avatar
      First attempt at using profile 259 for Google.Protobuf. · 0dbd5ec8
      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.
      0dbd5ec8
  32. 22 Jul, 2015 1 commit
  33. 21 Jul, 2015 1 commit
    • Jon Skeet's avatar
      Revamp to reflection. · 53c399a1
      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.
      53c399a1
  34. 17 Jul, 2015 1 commit