• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

uber / NullAway / #897
93%

Build:
DEFAULT BRANCH: master
Ran 02 Aug 2022 08:56PM UTC
Jobs 1
Files 73
Run time 4s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

pending completion
#897

push

github-actions

web-flow
Add Guava 31+ support by treating  @ParametricNullness as @Nullable (#629)

Guava versions from 31.0 onwards do away with annotating methods as
returning or taking `@Nullable` if nullability depends on the type
parameter. Instead adopting JSpecify semantics for precise handling
of type parameters.

For compatibility (with Kotlin, among other tools), Guava still marks
such returns and arguments specially as `@ParametricNullness`.
    
While imprecise, we can handle Guava as annotated code to at least the
same level as we did previously, by treating `@ParametricNullness` as
an alias for `@Nullable`, until we have full type parameter / generics
support within NullAway.
    
To test this change without bumping our own Guava dependency, we
introduce a new test target: `:guava-recent-unit-tests`.
    
Additionally, since there are actually multiple instances of
`@ParametricNullness` in Guava (one per subpackage), we hard-code
a check for `com.google.common.*.ParametricNullness` in our core
`isNullableAnnotation(...)` check.

An alternative would be to extend `-XepOpt:NullAway:CustomNullableAnnotations`
to allow simple names or regular expressions, but that would make
the mechanism more costly in common case.

See also: #628, https://github.com/google/guava/issues/6126

4802 of 5192 relevant lines covered (92.49%)

0.92 hits per line

Jobs
ID Job ID Ran Files Coverage
1 #897.1 02 Aug 2022 08:56PM UTC 0
92.49
Source Files on build #897
Detailed source file information is not available for this build.
  • Back to Repo
  • Build #897
  • 6ab3dcdd on github
  • Prev Build on master
  • Next Build on master
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc