aboutsummaryrefslogtreecommitdiff
path: root/objectivec/GPBDictionary.m
Commit message (Collapse)AuthorAgeFilesLines
* Update code to work for Xcode 10b1 (#4729)Sergio Campamá2018-06-051-2/+2
| | | | | | * Update code to work for Xcode 10b * Update README and test scripts to mention that Xcode 7 is no longer supported
* Reduce size of GPBDictionary by getting rid of class creation methodsDave MacLachlan2017-11-141-1953/+0
|
* 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-011-1/+1
|/ | | | Fixes https://github.com/google/protobuf/issues/3164.
* Minor fix for autocreated object repeated fields and maps.Thomas Van Lenten2017-01-051-2/+6
| | | | | | | | | | | - 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.
* Rename methods to avoid ObjC KVC collisions. (#1699)Thomas Van Lenten2016-06-211-937/+939
| | | | | | | | | | | | | | | 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
* Add -Woverriding-method-mismatch.Thomas Van Lenten2016-05-271-140/+195
| | | | | | | Fixes up the code to avoid some issues with isEqual: methods. Opened https://github.com/google/protobuf/issues/1616 to track the KVC collision.
* Add more warnings to for the ObjC runtime buildThomas Van Lenten2016-05-251-0/+11
| | | | | | | | | | | | | | 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.
* HeaderDoc support in the library and generated sourcesThomas Van Lenten2016-03-071-1/+1
| | | | | | | - Convert most of the core library headers over to HeaderDoc format. - Switch the generated comments over to HeaderDoc. - Create GPBCodedOutputStream_PackagePrivate and move some things into there that should be more internal.
* Update the min toolchain for iOS/OS X to be Xcode 7Thomas Van Lenten2015-12-101-0/+25
| | | | | | | - Let Xcode update the projects, schemes, and info.plists. - Add workaround for shallow analyzer issues in current Xcode versions (deep analyze gets things correct). - Tweak the Swift based tests to avoid warnings from Xcode 7's XCTest using optionals for autoenclosure results. - No longer tag the ObjC iOS travis test as flaky, xctool seems to manage the simulator pretty well.
* Check and throw errors for nil values/keys (like NSDictionary).Thomas Van Lenten2015-12-021-5/+136
|
* Cleanups for newer XcodesThomas Van Lenten2015-09-291-291/+298
| | | | | | | | | | | | | | - Move up to 8.4 as the high simulator (assuming Xcode 6.4). - Add cast to NSMutableDictionary so clang and resolve the selector. - Add case for the newer static analyzer so it won't trigger a false warning. - Update the "dictionary" interface to use "object" naming. Xcode 7+ has gotten more strict on the use of nonnull/nullable; combining that with the generic collection support; and the "dictionary" classes we created now collide with what the generic KeyValueCoding in the system headers triggering warnings/errors. Fix this and hopefully all future issue by renaming the methods to use "object" for the classes that have data types as objects instead of PODs. Taking this renaming hit now while ObjC is still in beta because it is a breaking change for any existing code.
* Beta quality drop of Objective C Support.Thomas Van Lenten2015-06-081-847/+903
| | | | | | | | | | | | | | | - 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.
* Objective C Second Alpha DropThomas Van Lenten2015-05-221-52/+761
| | | | | | | | | | - Style fixups in the code. - map<> serialization fixes and more tests. - Autocreation of map<> fields (to match repeated fields). - @@protoc_insertion_point(global_scope|imports). - Fixup proto2 syntax extension support. - Move all startup code to +initialize so it happen on class usage and not app startup. - Have generated headers use forward declarations and move imports into generated code, reduces what is need at compile time to speed up compiled and avoid pointless rippling of rebuilds.
* Alpha 1 drop of Google's Objective C plugin and runtime support for protobufs.Thomas Van Lenten2015-05-061-0/+12627