-
Notifications
You must be signed in to change notification settings - Fork 2
Further Support Null Analysis #47
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
Conversation
Alright, we're now good with both checker framework and nullaway. |
Yep, Just Works™. Very cool, thank you. :) |
hmm, yeah wasn't that hard to add |
I'm not keen on aspects of this PR because it adds a bunch of features that I'm not sure we want long term.
How do we feel about those features? |
I thought that was for static analysis. At runtime, the jspecify annotations do do much, so it'll be possible to slip nulls in undetected. EDIT: nevermind let's just jspecify
Forgot why I had it
ok
ok |
@rbygrave please review when you get time. EDIT: wait hang on |
@rbygrave please review and deploy an RC when you get time |
* Return the AnnotationValue corresponding to the enforceNullSafety() member of the annotation, | ||
* or null when the default value is implied. | ||
*/ | ||
AnnotationValue enforceNullSafety() { |
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.
Rob to check this after merge.
* Return the AnnotationValue corresponding to the builderInterfaces() member of the annotation, | ||
* or null when the default value is implied. | ||
*/ | ||
AnnotationValue builderInterfaces() { |
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.
Rob to check this after merge.
this.components = components; | ||
importTypes.add("io.avaje.recordbuilder.Generated"); | ||
importTypes.add("java.util.function.Consumer"); | ||
importTypes.add("java.util.function.Consumer"); |
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.
Double import line. Rob to check this after merge.
@NonNull
is detected on a component, the generatedbuild
method will validate that the value isn't null@NullMarked
and@NullUnmarked
Resolves #43 (At least for the checker framework)
also has changes from #45