[
https://issues.apache.org/jira/browse/THRIFT-4530?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16412392#comment-16412392
]
Manu Sridharan commented on THRIFT-4530:
----------------------------------------
Great! I will definitely post the PR on GitHub. Do we want {{@Nullable}}
annotations off by default, with a compiler flag to enable them? Or should
they just be on by default? In any case, hope to have a PR up soon. Thanks!
> proposal: add nullability annotations to generated Java code
> ------------------------------------------------------------
>
> Key: THRIFT-4530
> URL: https://issues.apache.org/jira/browse/THRIFT-4530
> Project: Thrift
> Issue Type: New Feature
> Components: Java - Compiler
> Reporter: Manu Sridharan
> Priority: Major
>
> I'd like to propose (optionally) including {{@Nullable}} annotations in
> Thrift-generated Java code. I'm the main author of NullAway
> ([https://github.com/uber/NullAway)] and we'd like to better support users
> who are using Thrift. The change would involve changing the Java code
> generator to include {{@Nullable}} annotations on every field, method return
> value, and method parameter in the public API of generated code that may be
> null. With these annotations, NullAway users will get warnings when their
> client code is missing appropriate null checks. Also, IDEs like IntelliJ
> will give better warnings about missing null checks. As part of this change,
> I would also add support to NullAway for understanding {{isSetX()}} methods
> to avoid excessive false positives.
> Regarding which {{@Nullable}} annotation to use, Thrift seems to try to
> minimize third-party dependencies, but we could simply include a new Thrift
> {{@Nullable}} annotation, and it will work fine with NullAway and most other
> tools.
> I have a WIP patch to generate these annotations, but I wanted to get
> feedback from the maintainers before opening a PR. We could of course make
> the annotation generation optional and default it to being off, if desired.
> Anyway, thoughts / feedback welcome. Thanks!
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)