aboutsummaryrefslogtreecommitdiffhomepage
path: root/objectivec
Commit message (Collapse)AuthorAge
...
* Adding casts so that code importing protobug using -Wconversion does not ↵Gravatar Sergio Campama2016-08-16
| | | | generate warnings.
* Fixes extra whitespace on generated comments. (#1950)Gravatar Sergio Campamá2016-08-12
| | | | Fixes extra whitespace on generated comments.
* More complete nil/reset tests within a oneofGravatar Thomas Van Lenten2016-08-12
|
* Fix some constants to be correct for the message class in use.Gravatar Thomas Van Lenten2016-08-12
|
* More explicit tests for nil behaviors on fields.Gravatar Thomas Van Lenten2016-08-12
| | | | | 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.Gravatar Thomas Van Lenten2016-08-11
| | | | | | | 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.Gravatar Thomas Van Lenten2016-08-09
| | | | | | | | | | | | | | 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)Gravatar Sergio Campamá2016-08-09
| | | | | | 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)Gravatar Sergio Campamá2016-08-08
| | | | | | | | 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.Gravatar Thomas Van Lenten2016-07-18
| | | | | | | | 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 ↵Gravatar Sergio Campamá2016-07-15
| | | | internal sortedExtensionsInUse
* Drop the performace baselines.Gravatar Thomas Van Lenten2016-07-08
| | | | | We weren't really using them, and the nested path causes checkout problems on windows.
* Don't #import the .m files.Gravatar Thomas Van Lenten2016-07-07
| | | | | | | | | 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 typesGravatar Dia Kharrat2016-07-05
| | | | | | 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.Gravatar Feng Xiao2016-07-01
| | | | | | | 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.Gravatar Thomas Van Lenten2016-06-29
| | | | | | | | - 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)Gravatar Thomas Van Lenten2016-06-29
| | | | | | | | | | | | | | | 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_1716Gravatar Thomas Van Lenten2016-06-28
|\ | | | | Fix GPBGetMessage{Repeated,Map}Field()
| * Fix GPBGetMessage{Repeated,Map}Field()Gravatar Thomas Van Lenten2016-06-27
| | | | | | | | | | | | | | - Correct impl by using helpers the message wiring does. - Add unittests. Fixes https://github.com/google/protobuf/issues/1716
* | Fix Objective-C generator option typoGravatar Nathan Wong2016-06-27
|/ | | Looks like this was changed during #1683, but missed in the README :)
* Merge pull request #1714 from dnkoutso/masterGravatar Thomas Van Lenten2016-06-26
|\ | | | | Get value from text format name in GPBEnumDescriptor
| * Get value from text format name in GPBEnumDescriptorGravatar Dimitris Koutsogiorgas2016-06-26
| |
* | Rename methods to avoid ObjC KVC collisions. (#1699)Gravatar Thomas Van Lenten2016-06-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)Gravatar Sergio Campamá2016-06-20
| | | | | | | | Adds destination flag to xcodebuild to avoid possible flake errors
* | Add new generation option for using proto sources from other frameworks.Gravatar Thomas Van Lenten2016-06-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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_frameworkGravatar Thomas Van Lenten2016-06-15
|\ \ | | | | | | Add support for generation sources into a framework.
| * | Add support for generation sources into a framework.Gravatar Thomas Van Lenten2016-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add a protoc objc option (generate_for_named_framework) to set the name of the framework all generated sources will be in. - Tweak some comments/naming to make it clear what is the Protobuf framework vs. the framework for generated code. - Update the objc README to document the new generation option to protoc. This is working towards https://github.com/google/protobuf/issues/1457.
* | | Add the CocoaPods integration tests to Travis.Gravatar Sergio Campamá2016-06-14
|/ / | | | | | | | | | | Also hotwires updating ruby as CocoaPods was crashing within a support library. Fixes #1619
* | Fixes Xcode 8 analyzer warning saying that it was missing a release in ↵Gravatar Sergio Campamá2016-06-14
| | | | | | | | dealloc (#1678)
* | Improving the granularity parsing errors (#1623)Gravatar Sergio Campamá2016-06-02
| | | | | | | | | | | | | | | | | | Add more context to GPBCodedInputStream failures. Have GPBMessage parsing apis extract out the GPBCodedInputStream information and expose it. Update HeaderDocs with pointers to all error domains/codes. Expand the unittests to cover the full set of errors reported. Fixes https://github.com/google/protobuf/issues/1618
* | Merge pull request #1620 from sergiocampama/cleanup1Gravatar Thomas Van Lenten2016-05-30
|\ \ | | | | | | Removing unused GPBExceptionMessageKey
| * | Removing unused GPBExceptionMessageKeyGravatar Sergio Campama2016-05-27
| | | | | | | | | | | | https://github.com/google/protobuf/issues/1618
* | | Merge pull request #1617 from thomasvl/more_warningsGravatar Thomas Van Lenten2016-05-27
|\ \ \ | |/ / |/| | Add -Woverriding-method-mismatch.
| * | Add -Woverriding-method-mismatch.Gravatar Thomas Van Lenten2016-05-27
| | | | | | | | | | | | | | | | | | | | | Fixes up the code to avoid some issues with isEqual: methods. Opened https://github.com/google/protobuf/issues/1616 to track the KVC collision.
* | | fix expected class checking in GPBSetMessageRepeatedFieldGravatar Jon Wall2016-05-26
|/ / | | | | | | | | This is currently checking for the wrong class for enums and NSMutableArray fields.
* | Add more warnings to for the ObjC runtime buildGravatar Thomas Van Lenten2016-05-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Working on https://github.com/google/protobuf/issues/1599, specifically: - Turn on more warnings that the Xcode UI calls out with individual controls. - Manually add: -Wundef -Wswitch-enum - Manually add and then diable in the unittests because of XCTest's headers: -Wreserved-id-macro -Wdocumentation-unknown-command - Manually add -Wdirect-ivar-access, but disable it for the unittests and in the library code (via #pragmas to suppress it). This is done so proto users can enable the warning.
* | Merge pull request #1595 from thomasvl/objc_travis_tweaksGravatar Thomas Van Lenten2016-05-25
|\ \ | | | | | | Automated testing tweaks for ObjC
| * | Automated testing tweaks for ObjCGravatar Thomas Van Lenten2016-05-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Move the ObjC tests into the list and exclude them on linux, this will change where in the order they start, since they are longer, it will have other things run in parallel instead of them ending up last and taking the longest. - Switch to the Xcode 7.3 image. - Drop the use of xctool and stream line things through the full_mac_build.sh script. This means we end up with only one build script instead of two. - Tweaks to the mac build script: - Make iOS Xcode version support explicit - Support Debug/Release only building - Change the OS X min parallel count to 2 to better deal with VMs. - Split the travis ios tests into the two Xcode Configurations as the logs are choking travis.
* | | Better support for using the proto library from a framework.Gravatar Thomas Van Lenten2016-05-24
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | - Add generator constant for the default framework name. - Add generator api for making the CPP symbol from the name. - Add generator api to see if it is a bundled proto file. - Output a CPP conditional and two imports for the core library headers. - Add helper for generating the #import for file headers to deal with the framework imports. - Add a reference from the unittests to a WKT to use that to inspect how imports generate. - Update the podspec to define the CPP symbol and require pods 1.0 (or later). Fixes https://github.com/google/protobuf/issues/1457
* | Make the CocoaPods integration tests more robustGravatar Thomas Van Lenten2016-05-20
| | | | | | | | | | | | | | - Env solution doesn't seem to always work, use template pod files and copy them in place instead. - Flush the pods cache before and after runs. - Make pod install verbose to have the info incase something goes wrong.
* | Add shared schemes for the CocoaPods integration testsGravatar Thomas Van Lenten2016-05-19
| | | | | | | | | | Otherwise the projects have to be opened once to create user schemes for the command line builds to work.
* | CocoaPod Integration TestsGravatar Thomas Van Lenten2016-05-19
| | | | | | | | | | | | | | | | - Add an Xcode 6.3 created default iOS Project. - Add an Xcode 6.3 created default OS X Project. - Add Podfiles to for both that use Protobufs from within the tree. - Add a script to run the tests (and cleanup) to help confirm the state of the Protobuf.podspec and sources.
* | Expand the OS X/Xcode gitignoresGravatar Thomas Van Lenten2016-05-19
|/ | | | | - Add the folder CocoaPods will add to the root folder. - Move and expand the entries in the objectivec directory.
* Declare an init and avoid passing NULL to initWithValue:count:Gravatar Thomas Van Lenten2016-05-10
| | | | Fixes https://github.com/google/protobuf/issues/1189
* Update descritpor protos for objcGravatar Jisi Liu2016-04-29
|
* Merge the script fix.Gravatar Jisi Liu2016-04-29
|\
| * Fix cp -r usage to be portable.Gravatar Jisi Liu2016-04-29
| | | | | | | | | | | | | | | | cp -r foo/ bar/ in linux will create a bar/foo directoy. In the objectivec generate descritpor case, well known types will be created in objectivec/google/google/protobuf/.. if the command is run under linux. Adding the trailing period fixes the behavior inconsistency.
* | Merge branch 'master' of github.com:google/protobufGravatar Jisi Liu2016-04-28
|\|
* | Down integrate from Google internal.Gravatar Jisi Liu2016-04-28
| |
| * Fix up -hash/-isEqual: for bool storage.Gravatar Thomas Van Lenten2016-04-27
| | | | | | | | | | | | | | Both methods weren't checking the has_bits (where the bools are stored), so it resulted in invalid results. Add a test that should shake out something like this in the future also.