Closed ahauschulte closed 1 month ago
Thanks for the detailed report! We missed one place where we should bail out of checking for raw types. I put a fix up in https://github.com/uber/NullAway/pull/1021.
@msridhar Thank you for taking care of this so quickly; much appreciated.
Summary
When analyzing code with NullAway that involves casting a raw type to a parameterized type, a compilation failure occurs, leading to the following stack trace.
Context
I have to work with some ancient, pre Java 5 legacy code that cannot be changed. This code necessarily uses raw types. For example, there is a class for representing a list of strings that is declared like this
The implementation of this class guarantees that the list elements are nothing but Strings due to runtime checks. Because of this guarantee, it is safe to cast it like this
Having the
convert()
method analyzed by NullAway leads to the crash/stack trace mentioned above.I use NullAway in the following setup:
Known Workaround
The compiler crash won't happen if a
@SuppressWarnings("NullAway")
is added to theconvert()
method.