aboutsummaryrefslogtreecommitdiff
path: root/objectivec
Commit message (Collapse)AuthorAgeFilesLines
* Small code reorder to maybe make #3893 happy.Thomas Van Lenten2017-11-171-1/+1
| | | | | Use the ivar for the -open, so hopefully it lines up with the -close in dealloc and isn't seen as an unbalanced "open".
* Travis config cleanups and move ObjC to Xcode 9.1.Thomas Van Lenten2017-11-161-21/+5
| | | | | | | | | | | | | | | | | Stop having travis build the test matrix and make it explicit so extra settings are only on the test that need the, this helps make the travis UI a little cleaner (linux hosted stuff doesn't list an Xcode version), as well as avoid unneeded requirements limiting the travis pool something can run on. Small improvements to objectivec/DevTools/full_mac_build.sh to avoid some repeated scripting and hopefully make things more reliable work with Xcode 9.x. Don't mark the iOS tests as able to fail, hopefully with the new settings they are stable and won't give false signals. Simplify the case for xcode versions and fixup xcode 9.[0-1].
* Add Setter/Getter type verification. (#3880)dmaclach2017-11-161-7/+285
| | | | | | Add runtime asserts (that can be disabled in release) that verify that the types being get/set for messages using the C Api match the type in the descriptor for the field being get/set.
* Fix up warnings from Xcode 9.1 (#3887)dmaclach2017-11-1624-43/+64
| | | | Fix up warnings from Xcode 9.1
* Fixes 32bit tests.Sergio Campama2017-11-151-1/+1
|
* Merge pull request #3883 from dmaclach/map_optimizationsThomas Van Lenten2017-11-1511-4987/+410
|\ | | | | Reduce size of GPBDictionary by getting rid of class creation methods
| * codereview cleanupDave MacLachlan2017-11-151-2/+2
| |
| * Reduce size of GPBDictionary by getting rid of class creation methodsDave MacLachlan2017-11-1411-4987/+410
| |
* | Merge pull request #3884 from dmaclach/unsafeThomas Van Lenten2017-11-151-4/+9
|\ \ | | | | | | Simplify getter/setter method implementations
| * | code review cleanupDave MacLachlan2017-11-151-5/+5
| | |
| * | Simplify getter/setter method implementationsDave MacLachlan2017-11-141-3/+8
| |/ | | | | | | | | | | | | Remove unnecessary retain/releases for GPBFieldDescriptors when creating implementations with blocks. The descriptors do not need to be memory managed because they are essentially global constructs that are guaranteed to be around the lifetime of the app.
* / Remove unreferenced 'GPBMessageSignatureProtocol' class.Dave MacLachlan2017-11-143-11/+13
|/ | | | | | | | | Remove unreferenced 'GPBMessageSignatureProtocol' class that is just taking up space in the Objective C runtime information by hanging the protocol it needs to declare off of GPBRootObject instead. Small binary size reduction, but more importantly a removal of a class that appears to be unused when statically analyzed.
* When comparing message, require them to have the same descriptor.Thomas Van Lenten2017-11-031-3/+4
| | | | | This will cover someone subclassing the message, and also handles something crazy like someone comparing to a raw NSObject.
* update joda-time javadoc urlxuwei-k2017-10-301-1/+1
|
* Improves coverage of GPBCodedInputStreamSergio Campama2017-10-245-85/+182
|
* Update descriptor protosJisi Liu2017-10-181-0/+6
|
* Build out more complete code coverage in the tests.Thomas Van Lenten2017-10-035-36/+494
|
* Let Xcode 9 update project/scheme settings.Thomas Van Lenten2017-10-036-6/+30
|
* Merge pull request #3710 from thomasvl/xcode9Thomas Van Lenten2017-10-021-0/+6
|\ | | | | Add Xcode 9 support to the helper script.
| * Add Xcode 9 support to the helper script.Thomas Van Lenten2017-10-021-0/+6
| |
* | ObjC: Fix merging of length delimited unknown fields.Thomas Van Lenten2017-10-022-11/+21
|/ | | | | - Add a test to cover this and tweak the test to not use two merge paths to be sure things are as expected.
* Merge remote-tracking branch 'origin/3.4.x' into mergemasterJisi Liu2017-08-182-21/+39
|\
| * Merge master into 3.4.xJisi Liu2017-07-1817-1137/+1877
| |\
| * | Update csharp and php descriptorJisi Liu2017-07-182-21/+39
| | |
* | | print() function for Python 3cclauss2017-08-181-10/+14
| | |
* | | Fix up Xcode 8.3.x support.Thomas Van Lenten2017-08-071-3/+1
| |/ |/| | | | | | | | | | | | | | | | | - Xcode 8.3.3 bumped the simulators to 10.3.1, so 10.3 fails. Just use the "latest" naming instead to avoid issues. - Also switch to just testing an old 32bit build and new 64bit build as there isn't any code in protobuf that should care about form facts. (Looks like the iPad Pro simulator names aren't always constantly, on some developer machines they are "iPad Pro (9.7 inch)" while on others they are "iPad Pro (9.7-inch)"; so just avoid using them.)
* | Expose the initializer for unknown fields.Thomas Van Lenten2017-07-052-2/+3
| |
* | If we fail to get a descriptor just super the method resolving.Thomas Van Lenten2017-06-221-1/+1
| | | | | | | | | | | | This should never happen, but if someone is swizzling or do other hooking of methods, anything is possible, so this seems slighty safer than they returning NO.
* | ObjC: Document the exceptions on some of the writing apis.Thomas Van Lenten2017-06-193-2/+25
| |
* | ObjC: Preserve unknown fields in proto3 syntax files.Thomas Van Lenten2017-06-063-44/+5
| | | | | | | | | | | | As announced: https://groups.google.com/forum/#!topic/protobuf/VX5qEmTW3y0 The ObjC side of https://github.com/google/protobuf/issues/272
* | Properly error on a tag with field number zero.Thomas Van Lenten2017-06-062-6/+41
| |
* | Merge pull request #3169 from dmaclach/masterThomas Van Lenten2017-06-011-1058/+1504
|\ \ | | | | | | Optimize GPBDictionary.m codegen to reduce size of library
| * | Optimize GPBDictionary.m codegen to reduce size of overall library by 46K ↵Dave MacLachlan2017-06-011-1058/+1504
| | | | | | | | | | | | per architecture.
* | | Fix some cases of reading of 64bit map values.Thomas Van Lenten2017-06-012-1/+6
|/ / | | | | | | Fixes https://github.com/google/protobuf/issues/3164.
* | Adds serial and parallel parsing tests to check if parallel parsing is ↵Sergio Campama2017-05-231-0/+106
| | | | | | | | faster than serial parsing, which it should
* | Fix ExtensionRegistry copying and add tests.Thomas Van Lenten2017-05-176-23/+186
|/ | | | | | | | | - Fix up -copyWithZone: to not leave the two registries sharing some of the storage by using -addExtensions:. - Improve -addExtensions: to clone the sub dict when there is nothing to merge into. - A ExtensionRegistry unittests. - Update project schemes to not have extra things in perf scheme.
* Merge remote-tracking branch 'remotes/google/3.3.x' into merge-3.3-to-masterAdam Cozzette2017-04-272-1/+39
|\
| * Fix C++ build for down-integration.Feng Xiao2017-03-292-1/+39
| |
* | Tighten up class usage/checks.Thomas Van Lenten2017-04-181-2/+2
|/ | | | | | | - Ensure extensions resolution/wiring is happening directly on the messageClass (incase someone is doing odd things our out classes). - Make the extension message check match the other class checks in for mergeFrom/isEqual/etc.
* Remove the use of dispatch_once that is heap backed.Thomas Van Lenten2017-03-292-17/+20
| | | | | | | | | Apple recently updated the docs on dispatch_once to point out that the storage for the dispatch_once_t must be static or global, but not something that was ever used before as the implementation doesn't use a memory barrier. So we drop the use and create the semaphore when needed and use an atomic swap deal with any threading races.
* Add support for Xcode 8.3 to the build helper.Thomas Van Lenten2017-03-291-0/+8
|
* Raise the recursion limit to 100 to match other languages.Thomas Van Lenten2017-03-282-10/+23
|
* Document deep copy in the headerThomas Van Lenten2017-03-151-0/+5
|
* Handing threading race resolving methods.Thomas Van Lenten2017-03-024-9/+46
| | | | | | | - Don't prune the extension registry as that can lead to failures when two threads are racing. - If adding the method fails, check and see if it already is bound to decide the return result. Deals with threading races binding the methods.
* Disable static analyzer for message semaphore creation (#2748)Sergio Campamá2017-03-011-0/+8
| | | | Disable static analyzer for message semaphore creation
* Add GPBMessageDropUnknownFieldsRecursively() and tests.Thomas Van Lenten2017-02-233-0/+324
| | | | | GPBMessageDropUnknownFieldsRecursively() is a new helper to drop the unknownFields from a message and all sub messages (in fields or extensions).
* Removes trailing whitespacesSergio Campama2017-02-072-55/+55
|
* Merge 3.2.x branch into master (#2648)Paul Yang2017-01-311-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Down-integrate internal changes to github. * Update conformance test failure list. * Explicitly import used class in nano test to avoid random test fail. * Update _GNUC_VER to use the correct implementation of atomic operation on Mac. * maps_test.js: check whether Symbol is defined before using it (#2524) Symbol is not yet available on older versions of Node.js and so this test fails with them. This change just directly checks whether Symbol is available before we try to use it. * Added well_known_types_embed.cc to CLEANFILES so that it gets cleaned up * Updated Makefile.am to fix out-of-tree builds * Added Bazel genrule for generating well_known_types_embed.cc In pull request #2517 I made this change for the CMake and autotools builds but forgot to do it for the Bazel build. * Update _GNUC_VER to use the correct implementation of atomic operation on Mac. * Add new js file in extra dist. * Bump version number to 3.2.0 * Fixed issue with autoloading - Invalid paths (#2538) * PHP fix int64 decoding (#2516) * fix int64 decoding * fix int64 decoding + tests * Fix int64 decoding on 32-bit machines. * Fix warning in compiler/js/embed.cc embed.cc: In function ‘std::string CEscape(const string&)’: embed.cc:51:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i = 0; i < str.size(); ++i) { ^ * Fix include in auto-generated well_known_types_embed.cc Restore include style fix (e3da722) that has been trampled by auto-generation of well_known_types_embed.cc * Fixed cross compilations with the Autotools build Pull request #2517 caused cross compilations to start failing, because the js_embed binary was being built to run on the target platform instead of on the build machine. This change updates the Autotools build to use the AX_PROG_CXX_FOR_BUILD macro to find a suitable compiler for the build machine and always use that when building js_embed. * Minor fix for autocreated object repeated fields and maps. - If setting/clearing a repeated field/map that was objects, check the class before checking the autocreator. - Just to be paranoid, don’t mutate within copy/mutableCopy for the autocreated classes to ensure there is less chance of issues if someone does something really crazy threading wise. - Some more tests for the internal AutocreatedArray/AutocreatedDictionary classes to ensure things are working as expected. - Add Xcode 8.2 to the full_mac_build.sh supported list. * Fix generation of extending nested messages in JavaScript (#2439) * Fix generation of extending nested messages in JavaScript * Added missing test8.proto to build * Fix generated code when there is no namespace but there is enum definition. * Decoding unknown field should succeed. * Add embed.cc in src/Makefile.am to fix dist check. * Fixed "make distcheck" for the Autotools build To make the test pass I needed to fix out-of-tree builds and update EXTRA_DIST and CLEANFILES. * Remove redundent embed.cc from src/Makefile.am * Update version number to 3.2.0-rc.1 (#2578) * Change protoc-artifacts version to 3.2.0-rc.1 * Update version number to 3.2.0rc2 * Update change logs for 3.2.0 release. * Update php README * Update upb, fixes some bugs (including a hash table problem). (#2611) * Update upb, fixes some bugs (including a hash table problem). * Ruby: added a test for the previous hash table corruption. Verified that this triggers the bug in the currently released version. * Ruby: bugfix for SEGV. * Ruby: removed old code for dup'ing defs. * Reverting deployment target to 7.0 (#2618) The Protobuf library doesn’t require the 7.1 deployment target so reverting it back to 7.0 * Fix typo that breaks builds on big-endian (#2632) * Bump version number to 3.2.0
* Adds nullability modifiers to resolve Xcode 8.3 warningsSergio Campama2017-01-252-242/+242
|
* Timestamp helper fix, Duration helper cleanup.Thomas Van Lenten2017-01-123-71/+160
| | | | | | | | | - The Timestamp proto does not allow for negative nanos fields, so the seconds must be shifted and a positive nanos then applied. - Tweak the helpers on Duration to make it clear there is no "base" time involved. - Update the unittests for duration and timestamp to cover positive and negative NSTimeIntervals and what their impact is on the protos.