-
Notifications
You must be signed in to change notification settings - Fork 742
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
InconsistentCapitalization - NullPointerException #1008
Comments
Thanks for the report. Can you provide a self-contained example that reproduces the crash? |
I have the same issue using this simplified code package com.sample; import java.util.function.Consumer; public abstract class Callback {
}
|
I also have run into this issue with 2.3.0 and 2.3.1, this is a new issue that was not present in 2.2.0.
I was able to pare down the test case provided by @lgemeinhardt into something shorter. The NPE goes away if the @cushon Any further insights on what is going on here? |
In 0283b46 we added a check for |
@madrob thanks for the repro!
We later dereference |
Oh, no, you're right, they are different. I wasn't reading the code carefully enough. I poked around further and it looks like it matters that we're doing an anonymous type. I switched my repro from using WaitHandler to AutoCloseable like the other InconsistentCapitalization tests and noticed that the compilation unit becomes:
Trying to suggest a replacement for the |
Thanks, I noticed the same thing look at your repro. Generally we want to run Error Prone checks over the IR prior to any desugaring, but javac adds implicit default constructors really early in the compilation, and we have to ignore them in Error Prone. Here's one example: error-prone/check_api/src/main/java/com/google/errorprone/scanner/ErrorProneScanner.java Line 881 in fc16cc5
I have a fix in progress to use the same approach in this check. |
Is this bugfix enough to motivate a 2.3.2 (or 2.4.0?) |
The text was updated successfully, but these errors were encountered: