-
Notifications
You must be signed in to change notification settings - Fork 15.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[objc] Use references to Obj C classes instead of names in descriptors. #7026
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PTAL
src/google/protobuf/compiler/objectivec/objectivec_message_field.cc
Outdated
Show resolved
Hide resolved
src/google/protobuf/compiler/objectivec/objectivec_message_field.cc
Outdated
Show resolved
Hide resolved
src/google/protobuf/compiler/objectivec/objectivec_map_field.cc
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Merged in the changes for extensions that I had previously promised would be a separate CL. It seems to make sense to have one CL for this. It's a little larger, but keeps all the changes together if/when things break :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like use of asm
is going to cause problem, see google/google-api-objectivec-client-for-rest#322 where this just came up.
Check out latest patch. It should clear bitcode validation now as we are not declaring any new identifiers. |
145e97d
to
7adc675
Compare
…y name. This should reduce binary size slightly, small performance improvement, and improve linkage by forcing references to all used classes. Note that this maintains backwards compatibility for sources generated by older protoc for the time being. If you want the benefits you will need to recompile your protos with the newer protoc.
This switches the compiler and library to use objective-c class references instead of class names (that are resolved using objc_getClass/NSClassFromString).
This should: