google / j2objc

A Java to iOS Objective-C translation tool and runtime.
http://j2objc.org
Apache License 2.0
5.99k stars 967 forks source link

Update J2ObjC Protocol Buffer builder method arguments to default to `nonnull`. #2359

Closed copybara-service[bot] closed 3 months ago

copybara-service[bot] commented 3 months ago

Update J2ObjC Protocol Buffer builder method arguments to default to nonnull.

Java's Protocol Buffer builder implementation does not allow nullable method parameters. This change updates the J2ObjC implementation to match that behavior. Before this change, if a nil pointer was passed in as an argument to a builder method, the application would crash due to a NullPointerException.

These nullability annotations add an additional safeguard to ensure Swift optionals are properly unwrapped and Objective-C call-sites properly guard nil values.