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
Daikon cannot pass the Nullness checking in JDK11. #3223
Comments
These are false positive warnings. The difference between the behavior of Java 8 and Java 11 is troubling, however. That looks like a bug. Why does Daikon type-check under Java 8 but not under Java 11? I would expect the type-checker to issue the same warnings in each case. |
Is it because that in annotated jdk8, |
@xingweitian All Could you prepare a PR that changes these parameters to @mernst Should we add a file like https://github.com/typetools/checker-framework/blob/master/checker/src/main/java/org/checkerframework/checker/nullness/collection-object-parameters-may-be-null.readme that adds "optimistic" reflection annotations? |
@xingweitian Thanks for noticing the discrepancy between JDKs. If you can make a PR, that would be great. Otherwise, I can do it. Thanks! @wmdietl I'm inclined not to make a stub file for this.
We could revisit this if it's a significant problem in practice. |
Sure, I will do it. |
@mernst Beginners do however run into this issue quite frequently. I'm fine with not having a relaxed stub file, for the reasons you give. |
If it is a frequent problem, then it is indeed a good idea to add the stub file you mentioned or put a mention in the manual. I'm not sure where to put a mention in the manual, since beginners will have this exact same problem with any API that accepts null in some circumstances and rejects null in other circumstances. |
https://github.com/typetools/checker-framework/blob/master/azure-pipelines.yml#L116 now contains a Daikon JDK 11 target, so let's close this issue. |
They are all about
Field.get(Field this, Object obj)
. I found that@Nullable
was removed in this commit.The current master branch can pass the pipelines is because that
daikon_jdk11
is commented in azure-pipelines.yml, while it is not commented in travis.yml.The text was updated successfully, but these errors were encountered: