-
Notifications
You must be signed in to change notification settings - Fork 299
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
JSpecify: initial handling of generic enclosing types for inner classes #837
Conversation
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## master #837 +/- ##
=========================================
Coverage 86.85% 86.86%
Complexity 1879 1879
=========================================
Files 74 74
Lines 6194 6196 +2
Branches 1201 1202 +1
=========================================
+ Hits 5380 5382 +2
Misses 406 406
Partials 408 408
☔ View full report in Codecov by Sentry. |
The missing coverage report from @codecov is due to an incorrect computation of what code is actually changing in this diff |
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.
LGTM. Some nits.
This is a step towards fixing #836. We now properly handle the case of a generic enclosing type for an inner class type, both in checking matching of type argument nullability and in pretty-printing for error messages. We still don't handle
NewClassTree
types correctly which is why #836 is not yet fixed.Also fixes a bug in where generics checks were performed for
return
statements. Previously we would only check generic type arguments if the top-level nullability of the return type was@NonNull
.