summaryrefslogtreecommitdiff
path: root/src/google/protobuf
AgeCommit message (Collapse)Author
2015-07-09Codegen changes to support descriptor runtime changesJon Skeet
- Add a partial method called by all constructors - Generate internal classes for descriptor.proto (only) - Forbid proto2 descriptors except for descriptor.proto
2015-07-09Implement reflection properly for fields.Jon Skeet
- FieldAccessorTable is now non-generic - We don't have a static field per message type in the umbrella class. (Message descriptors are accessed via the file descriptor.) - Removed the "descriptor assigner" complication from the descriptor fixup; without extensions, we don't need it - MapField implements IDictionary (more tests would be good...) - RepeatedField implements IList (more tests would be good) - Use expression trees to build accessors. (Will need to test this on various platforms... probably need a fallback strategy just using reflection directly.) - Added FieldDescriptor.IsMap - Added tests for reflection with generated messages Changes to generated code coming in next commit.
2015-06-30Remove unused code in C# codegenJon Skeet
2015-06-30First pass (not yet compiling) at removing all the array handling code from ↵Jon Skeet
Coded*Stream. Prod code works, but some tests are broken. Obviously those need fixing, then more tests, and review benchmarks.
2015-06-29Fix for doubly-nested types - issue #307.Jon Skeet
No specific test case - if the generated code compiles, the issue is fixed :)
2015-06-26More cleanup, based around searches for "Google.ProtocolBuffers"Jon Skeet
- Remove some old proto2-based C#-only messages - Remove the "build" directory which only contained out-of-date files - Remove the csharp_namespace option from proto2 messages - Change "Google.ProtocolBuffers" to "Google.Protobuf" in other messages
2015-06-26Tweaks and more tests for mapsJon Skeet
- Change the default message hash code to 1 to be consistent with other code - Change the empty list/map hash code to 0 as "empty map" is equivalent to "no map" - Removed map fields from unittest_proto3.proto - Created map_unittest_proto3.proto which is like map_unittest.proto but proto3-only - Fixed factory methods in FieldCodec highlighted by using all field types :) - Added tests for map serialization: - Extra fields within entries - Entries with value then key - Non-contiguous entries for the same map - Multiple entries for the same key Changes to generated code coming in next commit
2015-06-25More map tests, and various production code improvements.Jon Skeet
Generated code in next commit.
2015-06-25First pass at map support.Jon Skeet
More tests required. Generated code in next commit.
2015-06-25Regenerated descriptor C++ codeJon Skeet
2015-06-24Revert the change to wire_format.h.Jon Skeet
It seems too much code relies on the broken behaviour. See issue #493. Instead, we reimplement MakeTag just for C#, temporarily.
2015-06-24Implement freezing for messages and repeated fields.Jon Skeet
Fixes issue #523.
2015-06-24Merge remote-tracking branch 'upstream/master' into fix_appveyorJan Tattermusch
2015-06-23Implement requested changes for IMessage<T>Jon Skeet
1) New line at end of file 2) Make IMessage<T> itself extend IEquatable<T> and IDeepCloneable<T>
2015-06-23Implement Clone.Jon Skeet
Fixes issue #527.
2015-06-19Merge pull request #503 from thomasvl/add_nonnill_markupPaul Yang
Add nonnull/nullable/null_resettable markup to ObjC library.
2015-06-19Merge remote-tracking branch 'upstream/master' into proto3-onlyJon Skeet
2015-06-19Minor cleanup.Jon Skeet
- 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
2015-06-18using ::isnan to avoid conflicts with std::isnan for C++11 build.Jisi Liu
Change-Id: I057b44eff04c3b0062a4fd4307ce6e4ca1eb952b
2015-06-17Merge pull request #501 from xfxyjwf/downFeng Xiao
Down-integrate from internal code base.
2015-06-17Fix broken builds.Feng Xiao
2015-06-17Merged masterJon Skeet
2015-06-17Use the fact that we know the tag size and bytes at codegen time to optimize.Jon Skeet
2015-06-16Make the code independent of config.hJisi Liu
Now the Build tool needs to define -DHAVE_ZLIB and -DHAVE-PTHREAD rather than providing a config.h - Make pbconfig.h a manually written file to handle hash conditions according to platform related macros. - Remove #include "config.h" from source code. - Changed the configure.ac and Makefile.am to pass down the macros. - Change cmake to pass down the the macros. Change-Id: I537249d5df8fdeba189706aec436d1ab1104a4dc
2015-06-16Add nonnil markup to ObjC library.Thomas Van Lenten
Add the clang annotations to the objc library and generated code to help with Swift bridging and compiler checks.
2015-06-15Down-integrate from internal code base.Feng Xiao
[ci skip] Change-Id: I9391c09640e0b0b2b21c45a97a1fc91814d95c5d
2015-06-15Merge pull request #488 from AustinSchuh/ruby_test_fixFeng Xiao
Modified FindRubyTestDir to use GOOGLE_THIRD_PARTY_PROTOBUF
2015-06-13Merge pull request #495 from pherl/masterJisi Liu
Make pbconfig.h independent of config.h
2015-06-13Make pbconfig.h independent of config.hJisi Liu
Change-Id: I31ead985b4ac5b02fb7558d34c1da19fd837b50a
2015-06-12Merge pull request #481 from Qartar/masterFeng Xiao
Workaround for MSVC's string literal compiler limit.
2015-06-12Workaround for MSVC's string literal compiler limit.Qartar
Escape characters don't count for string literal size, no need to pre-generate escape string. Added unit test to touch enormous cpp generated descriptor. Updated makefile to include enormous_descriptor.proto Fixed language compatibility error.
2015-06-12Fix oneof generator - forgot to provide variables...Jon Skeet
2015-06-12Move Count checks into the serialization codeJon Skeet
I wouldn't expect this to affect anything, but it appears to.
2015-06-12Give descriptor.proto a go packageTamir Duberstein
This is currently done in golang/protobuf using `sed`. This change should simplify things.
2015-06-12Optimization of CalculateSize: avoid foreach over empty lists.Jon Skeet
2015-06-12Use Length to check string/bytes fields for emptiness - it's faster than an ↵Jon Skeet
equality check.
2015-06-12Fix oneof behaviour in the face of default values.Jon Skeet
2015-06-12Coded*Stream streamlining.Jon Skeet
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.
2015-06-11Reimplement enums as int values, and get rid of EnumHelper.Jon Skeet
This makes repeated fields really awkward at the moment - but when we reimplement RepeatedField<T> to be backed by an array, we can cast the array directly...
2015-06-10Modified FindRubyTestDir to use GOOGLE_THIRD_PARTY_PROTOBUFAustin Schuh
2015-06-09Merge pull request #480 from thomasvl/objc_beta_dropPaul Yang
Beta quality drop of Objective C Support.
2015-06-09First pass at the mutable API. Quite a bit more to do - in particular, it's ↵Jon Skeet
pretty slow right now.
2015-06-08Refactored threadlocal logic.Austin Schuh
Refactored the threadlocal logic for Android and IOS into logic in platform_macro.h which computes a GOOGLE_PROTOBUF_NO_THREADLOCAL define which is then used elsewhere. This allows new platforms without THREADLOCAL to be easily defined.
2015-06-08Beta quality drop of Objective C Support.Thomas Van Lenten
- Add more to the ObjC dir readme. - Merge the ExtensionField and ExtensionDescriptor to reduce overhead. - Fix an initialization race. - Clean up the Xcode schemes. - Remove the class/enum filter. - Remove some forced inline that were bloating things without proof of performance wins. - Rename some internal types to avoid conflicts with the well know types protos. - Drop the use of ApplyFunctions to the compiler/optimizer can do what it wants. - Better document some possible future improvements. - Add missing support for parsing repeated primitive fields in packed or unpacked forms. - Improve -hash. - Add *Count for repeated and map<> fields to avoid auto create when checking for them being set.
2015-06-06Merge pull request #468 from AustinSchuh/unsigned_protoFeng Xiao
Marked another compiler literal unsigned.
2015-06-05Marked another compiler literal unsigned.Austin Schuh
When compiling a protobuf with gcc 4.1.2 for powerpc, I ran into another of the following warning message: INFO: From Compiling my_proto.pb.cc powerpc-603e-linux-gcc: bazel-out/local_linux-dbg/genfiles/my_proto.pb.cc: In member function `virtual void MyProto::Clear()': bazel-out/local_linux-dbg/genfiles/my_proto.pb.cc:223: warning: this decimal constant is unsigned only in ISO C90 The line in the proto file that was triggering it was: if (_has_bits_[24 / 32] & 4278190080) { ZR_(field1_, field2_); } _has_bits_ is a uint32. The constant mask should therefore be unsigned. This change updates the constant to be generated as unsigned.
2015-06-05Fixed bug in GOOGLE_PREDICT_FALSE.Austin Schuh
The GOOGLE_PREDICT_FALSE macro is both incorrect, and doesn't match the macro definition in glog, which causes conflicts when including both libraries. This commit fixes that by making it identical to what is in glog.
2015-06-05First stab at new proto3-only code generatorJon Skeet
2015-06-04Merge pull request #462 from anandolee/masterJie Luo
Migrate writer to printer for C#
2015-06-04Merge pull request #457 from xfxyjwf/cmakeFeng Xiao
Add cmake support.