aboutsummaryrefslogtreecommitdiff
path: root/objectivec
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Revert "Fix Timestamps with dates before the Unix epoch that contain ↵Thomas Van Lenten2017-01-122-57/+33
| | | | fractional seconds."
* Fix Timestamps with dates before the Unix epoch that contain fractional seconds.Thomas Van Lenten2017-01-122-33/+57
| | | | | The Timestamp proto does not allow for negative nanos fields, so the seconds must be shifted and a positive nanos then applied.
* Minor fix for autocreated object repeated fields and maps.Thomas Van Lenten2017-01-0510-16/+434
| | | | | | | | | | | - 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.
* Fixes and expands comments on how to use GPB_ENUM_FWD_DECLARESergio Campama2016-12-141-1/+5
|
* Xcode 8.1 supportThomas Van Lenten2016-12-091-4/+23
| | | | | | | | - Add entries to objectivec/DevTools/full_mac_build.sh - Support `-quiet` via an option on full_mac_build.sh. NOTE: we don't use this on travis because the lack of output for a long time could cause travis to kill the build (when we get a slow VM). - Update travis config to use newer images.
* Improve ObjC deprecated annotation support.Thomas Van Lenten2016-12-085-0/+177
| | | | | | | | | | | | | | - Check the parent file options for deprecation when deciding to tag Messages and Enums as deprecated. - Within the generated source push/pop the warning for implementing deprecated things around a deprecated class implementation. - Annotate the methods generated for extension fields as deprecated. - Add a testing .proto file that covers deprecated fields, messages, enums, enum values and compile it into the unittests to confirm things compile cleanly. - Add a testing .proto file that uses the file level option to make everything deprecated and compile it into the unittests to confirm things compile cleanly.
* Update README.mdSamuel Rossoff (of The Ebon Blade)2016-11-171-1/+1
| | | needed a grave here, not an apostrophy
* Add note about extension use and Coding support.Thomas Van Lenten2016-10-311-1/+10
|
* Adds pushLimit: and popLimit: into GPBCodedInputStream (#2297)Sergio Campamá2016-10-272-0/+29
| | | | Adds pushLimit: and popLimit: into GPBCodedInputStream
* Integrate internal changesBo Yang2016-10-103-8/+12
|
* Update the ObjC projects for Xcode 8Thomas Van Lenten2016-10-038-174/+204
| | | | | | | | | | - Let Xcode 8 update settings on the projects/schemes. - Migrate Swift tests to Swift 3 syntax. - Update the build/test script: - Require Xcode 8 (because of the Swift 3 requirement for tests) - Update the devices to what Xcode 8 has (8.x simulator seem to fail even though they can be downloaded in Xcode 8) - Update the travis images to ones with Xcode 8.
* Use a custom dictionary to avoid NSNumber operations.Thomas Van Lenten2016-09-191-16/+31
| | | | | For the secondary dictionary, use a custom CFDictionary with integer keys to avoid the NSNumber conversions.
* Remove the custom key functions and just use the system provided defaults.Thomas Van Lenten2016-09-191-40/+3
|
* Update the ObjC version checks to support a min and current version.Thomas Van Lenten2016-09-1524-71/+170
| | | | | | | | | - Capture the version used to generated. - Check at compile time and runtime that generated code isn't from a newer version, also check that the min version required is also supported. - Keep the old constants/macros/functions to special case the last version that was working so those generated sources still work until we decide otherwise.
* Merge pull request #1970 from thomasvl/objc_any_helpersThomas Van Lenten2016-09-0930-12/+495
|\ | | | | Objc any helpers
| * Add ObjC helpers for Any WKT.Thomas Van Lenten2016-09-0830-12/+495
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Capture the ObjC prefix used when generating the the file. - Track the containing type on descriptors. - Mark descriptors where the message class name got a suffix added to it. - Expose a fullName property on Descriptors. - Add helpers for packing/unpacking Any messages. - Bump the ObjC runtime version number. Since we added methods and invoke them in the generated code, ensure the code is running against a matching version. Otherwise, someone could compile against headers, but run with a framework that is older and get unknown selector failures. This should trip clearer messaging. Fixes https://github.com/google/protobuf/issues/1674
* | Merge pull request #2094 from thomasvl/update_wkt_commentsThomas Van Lenten2016-09-081-3/+13
|\ \ | | | | | | Fix error and add note about lossy issues
| * | Fix error and add note about lossy issuesThomas Van Lenten2016-09-081-3/+13
| |/
* / Support the -Wassign-enum compiler flag. (#2085)Sergio Campamá2016-09-0815-48/+55
|/ | | | Support the -Wassign-enum compiler flag.
* Make Root's +extensionRegistry generation smarter.Thomas Van Lenten2016-09-0124-55/+460
| | | | | | | At generation time, walk the file's dependencies to see what really contains extensions so we can generate more minimal code that only links together the roots that provided extensions. Gets a bunch of otherwise noop code out of the call flow when the roots are +initialized.
* Support GenerateAll().Thomas Van Lenten2016-08-261-13/+13
| | | | | - Expect calls on GenerateAll() and not Generate(). - Parse the prefix validation file once, and then check all the files.
* Adding casts so that code importing protobug using -Wconversion does not ↵Sergio Campama2016-08-161-4/+4
| | | | generate warnings.
* Fixes extra whitespace on generated comments. (#1950)Sergio Campamá2016-08-129-121/+121
| | | | Fixes extra whitespace on generated comments.
* More complete nil/reset tests within a oneofThomas Van Lenten2016-08-121-6/+12
|
* Fix some constants to be correct for the message class in use.Thomas Van Lenten2016-08-121-21/+23
|
* More explicit tests for nil behaviors on fields.Thomas Van Lenten2016-08-121-4/+119
| | | | | Code already works, but make a bank of tests that call it out so things are very clean in the future just to be safe.
* Record zero for "has" for proto3 if in a oneof.Thomas Van Lenten2016-08-112-26/+293
| | | | | | | If a message is proto3, then the zero values still count as being set one the field is in a oneof. Add tests to confirm oneofs work as expected in both syntaxes.
* Never use strlen on utf8 runs so null characters work.Thomas Van Lenten2016-08-093-33/+100
| | | | | | | | | | | | | | Fixes https://github.com/google/protobuf/issues/1933 Add a new test that forces strings into two different implementations from the NSString class cluster to help confirm we're exercising both paths by which CodedOutputStream will extract data from an NSString. Move the old +load test (that was flawed because the behavior really depends on the type of string from the NSString class cluster); into a unittest that targets the specific case we're adding a behavior confirmation on. As a bonus, improve the TextFormat generation of string characters < 0x20.
* Adds support for appledoc in generated code. (#1928)Sergio Campamá2016-08-0911-814/+967
| | | | | | Convert mapping of proto comments to appledoc format so they show up in Xcode and cocoadocs. Fixes https://github.com/google/protobuf/issues/1866
* Migrating documentation of the ObjectiveC runtime code to appledoc. (#1867)Sergio Campamá2016-08-0814-774/+9524
| | | | | | | | Work for #1866 Migrates all the public class docs over to appledoc format. While Xcode is fine with blank lines in `///` comments, appledoc (used by cocoadocs) isn't and was leaving a bunch of info off the doc pages. The generator still needs to be updated to do this also; that will be a follow up CL.
* Use public methods to fetch oneofs in generated code.Thomas Van Lenten2016-07-181-1/+1
| | | | | | | | When building into frameworks, the generated code doesn't always have direct access to the proto internals. Instead of opening up the access, just use the public method to fetch the correct oneof. Fixes https://github.com/google/protobuf/issues/1789
* Exposes the currently registered extensions for a message and removes the ↵Sergio Campamá2016-07-154-10/+5
| | | | internal sortedExtensionsInUse
* Drop the performace baselines.Thomas Van Lenten2016-07-082-83/+0
| | | | | We weren't really using them, and the nested path causes checkout problems on windows.
* Don't #import the .m files.Thomas Van Lenten2016-07-075-8/+15
| | | | | | | | | As bazel folks are looking at getting auto generation of module maps going and the importing of sources files causes issues there. We were only do it to hack around some of the apple linker behaviors around objc classes and categories, but even that isn't complete and CocoaPods was already doing -ObjC, and developers not using pods could have still needed it to ensure everything was linked anyways; so drop the hack of importing sources.
* add nullable qualifier to nil return typesDia Kharrat2016-07-052-21/+21
| | | | | | Add the `nullable` qualifier to return types of Objective-C methods that can return a nil due to errors. This change makes these methods compatible with the Swift 2 try-catch syntax.
* Fix some failing travis tests.Feng Xiao2016-07-013-4/+66
| | | | | | | 1. Add missing header file to Makefile.am. 2. Re-generate objectivec generated code for well-known types. Change-Id: If28217c701cf8bd739ea0db240e9eee600f23ee7
* Xcode project cleanup/setup.Thomas Van Lenten2016-06-296-43/+11
| | | | | | | | - Correct some cases sources were compiled into the static lib and the tests. - Enable Xcodes code coverage support on the unittests. We aren't complete on coverage, but having the data always there should make it easier to chip away at this going forward. - Drop method in tests that isn't used, wire up a validator in another test.
* Validate the tag numbers when parsing. (#1725)Thomas Van Lenten2016-06-295-4/+21
| | | | | | | | | | | | | | | There was a twist code path (that some times showed up due to what happened to be in memory in failure cases), that would cast a bogus wire type into the enum, and then fall through switch statements. Resolve this by validating all wire types when parsing tags and throwing the error at that point so it can't enter the system. As added safety, stick in a few asserts for apis that get passed tags to ensure they also are only seeing valid data. Bonus: Tweak the parsing loop to skip some work when we get the end marker (zero tag) instead of still looping through all the fields.
* Merge pull request #1720 from thomasvl/issue_1716Thomas Van Lenten2016-06-283-22/+72
|\ | | | | Fix GPBGetMessage{Repeated,Map}Field()
| * Fix GPBGetMessage{Repeated,Map}Field()Thomas Van Lenten2016-06-273-22/+72
| | | | | | | | | | | | | | - Correct impl by using helpers the message wiring does. - Add unittests. Fixes https://github.com/google/protobuf/issues/1716
* | Fix Objective-C generator option typoNathan Wong2016-06-271-1/+1
|/ | | Looks like this was changed during #1683, but missed in the README :)
* Merge pull request #1714 from dnkoutso/masterThomas Van Lenten2016-06-263-0/+26
|\ | | | | Get value from text format name in GPBEnumDescriptor
| * Get value from text format name in GPBEnumDescriptorDimitris Koutsogiorgas2016-06-263-0/+26
| |
* | Rename methods to avoid ObjC KVC collisions. (#1699)Thomas Van Lenten2016-06-2114-7325/+7448
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note: Breaking API change on the Dictionary classes. The numeric value classes were using "Value" in the naming, but this silently collided with the KVC category on NSObject; meaning KVC code could break up a keypath and call these selectors with the wrong types leading to crashes (even though the code all would compile cleanly). - Rename the methods to use the "type" instead of literal "Value". - Update all the impls and tests. - Enable the warning that will catch issues like this in the future. Fixes https://github.com/google/protobuf/issues/1616
* | Adds destination flag to xcodebuild to avoid possible flake errors (#1697)Sergio Campamá2016-06-201-1/+6
| | | | | | | | Adds destination flag to xcodebuild to avoid possible flake errors
* | Add new generation option for using proto sources from other frameworks.Thomas Van Lenten2016-06-171-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Better docs in the generator for the different options that can be passed during an invoke of protoc. - Add named_framework_to_proto_path_mappings_path to pass the path to a file containing mappings of frameworks for different proto files. - Update the generation to use the mapping to change the #import directives it creates. Note: the changes in helpers is mostly moving code within the fine, and then a small change to expose the parsing so a passed on class can consume the line. Fixes https://github.com/google/protobuf/issues/1457
* | Merge pull request #1683 from thomasvl/third_party_frameworkThomas Van Lenten2016-06-151-2/+15
|\ \ | | | | | | Add support for generation sources into a framework.