• kenton@google.com's avatar
    Integrate changes from internal code. · 26bd9eee
    kenton@google.com authored
    protoc
    * Enum values may now have custom options, using syntax similar to field
      options.
    * Fixed bug where .proto files which use custom options but don't actually
      define them (i.e. they import another .proto file defining the options)
      had to explicitly import descriptor.proto.
    * Adjacent string literals in .proto files will now be concatenated, like in
      C.
    
    C++
    * Generated message classes now have a Swap() method which efficiently swaps
      the contents of two objects.
    * All message classes now have a SpaceUsed() method which returns an estimate
      of the number of bytes of allocated memory currently owned by the object.
      This is particularly useful when you are reusing a single message object
      to improve performance but want to make sure it doesn't bloat up too large.
    * New method Message::SerializeAsString() returns a string containing the
      serialized data.  May be more convenient than calling
      SerializeToString(string*).
    * In debug mode, log error messages when string-type fields are found to
      contain bytes that are not valid UTF-8.
    * Fixed bug where a message with multiple extension ranges couldn't parse
      extensions.
    * Fixed bug where MergeFrom(const Message&) didn't do anything if invoked on
      a message that contained no fields (but possibly contained extensions).
    * Fixed ShortDebugString() to not be O(n^2).  Durr.
    * Fixed crash in TextFormat parsing if the first token in the input caused a
      tokenization error.
    
    Java
    * New overload of mergeFrom() which parses a slice of a byte array instead
      of the whole thing.
    * New method ByteString.asReadOnlyByteBuffer() does what it sounds like.
    * Improved performance of isInitialized() when optimizing for code size.
    
    Python
    * Corrected ListFields() signature in Message base class to match what
      subclasses actually implement.
    * Some minor refactoring.
    26bd9eee
Name
Last commit
Last update
editors Loading commit data...
examples Loading commit data...
java Loading commit data...
m4 Loading commit data...
python Loading commit data...
src Loading commit data...
vsprojects Loading commit data...
CHANGES.txt Loading commit data...
CONTRIBUTORS.txt Loading commit data...
COPYING.txt Loading commit data...
INSTALL.txt Loading commit data...
Makefile.am Loading commit data...
README.txt Loading commit data...
autogen.sh Loading commit data...
configure.ac Loading commit data...
generate_descriptor_proto.sh Loading commit data...