1. 06 Dec, 2016 1 commit
  2. 02 Dec, 2016 1 commit
    • Michael Stack's avatar
      Change CodedInputStream#DEFAULT_SIZE_LIMIT from 64MB to · 7550bcd8
      Michael Stack authored
      Integer.MAX_SIZE (0x7FFFFFF) #2228
      
      M java/core/src/main/java/com/google/protobuf/CodedInputStream.java
       Set DEFAULT_SIZE_LIMIT to Integer.MAX_SIZE (Was 64MB). This is how it was
       in pre-2.7.0 pb. Changed size check to an overflow-conscious test (as it
       is later in tryRefillBuffer (making sizeLimit a long was to disruptive).
      
      M java/core/src/test/java/com/google/protobuf/CodedInputStreamTest.java
       Add two tests that echo tests recently added over in c++ to test parse
       of message sizes that are approach and are beyond the size limit.
      7550bcd8
  3. 18 Nov, 2016 1 commit
  4. 11 Nov, 2016 1 commit
  5. 04 Nov, 2016 1 commit
  6. 20 Oct, 2016 1 commit
  7. 10 Oct, 2016 6 commits
  8. 23 Sep, 2016 3 commits
  9. 21 Sep, 2016 1 commit
    • Bo Yang's avatar
      Fix gson dependency. · b28ab73d
      Bo Yang authored
      gson 2.3 has internal bug that it doesn't work with some versions of maven.
      b28ab73d
  10. 20 Sep, 2016 4 commits
  11. 16 Sep, 2016 1 commit
  12. 08 Sep, 2016 1 commit
  13. 02 Sep, 2016 1 commit
  14. 31 Aug, 2016 1 commit
  15. 01 Aug, 2016 1 commit
  16. 25 Jul, 2016 1 commit
  17. 19 Jul, 2016 2 commits
  18. 18 Jul, 2016 2 commits
  19. 14 Jul, 2016 2 commits
    • Feng Xiao's avatar
      Fix compatiblity issues. · 1bce70dd
      Feng Xiao authored
      Currently some public API methods are defined in GenreatedMessage.java
      and they have a generric return type:
        class GeneratedMessage {
          class Builder<BuilderType extends Builder<BuilderType>> {
            public BuilderType setField(...);
            public BuilderType setExtension(...);
          }
        }
      With these definitions, the compiled byte code of a callsite will have
      a direct reference to GeneratedMessage. For example:
        fooBuilder.setField(...);
      becomes:
        ##: invokevirtual // Method Builder.setField:(...)LGeneratedMessage.Builder
        ##: checkcast     // class Builder
      
      This will prevent us from updating generated classes to subclass a
      different versioned GeneratedMessageV3 class in the future (we can't do
      it in a binary compatible way).
      
      This change addresses the problem by overriding these methods directly
      in the generated class:
        class Foo {
          class Builder extends GeneratedMessage.Builder<Builder> {
            public Builder setField(...) {
              return super.setField(...);
            }
          }
        }
      After this, fooBuilder.setField(...) will be compiled to:
        ##: invokevirtual // Method Builder.setField:(...)LFoo.Builder
      
      The callsites will no longer reference GeneratedMessage directly and we
      can change Foo to subclass GeneratedMessageV3 without breaking binary
      compatiblity.
      
      The downside of this change is:
        1. It increases generated code size (though it saves some instructions
           on the callsites).
        2. We can never stop generating these overrides because doing that
           will break binary compatibility.
      
      Change-Id: I879afbbc1325a66324a51565e017143489b06e97
      1bce70dd
    • Feng Xiao's avatar
      Exclude Java lite module from parent pom.xml · 047a3b48
      Feng Xiao authored
      047a3b48
  20. 13 Jul, 2016 2 commits
  21. 03 Jul, 2016 1 commit
  22. 01 Jul, 2016 1 commit
  23. 29 Jun, 2016 1 commit
  24. 20 May, 2016 1 commit
  25. 17 May, 2016 1 commit
  26. 11 May, 2016 1 commit