checker-framework
checker-framework copied to clipboard
Pluggable type-checking for Java
``` C:\ java -version openjdk version "21.0.2" 2024-01-16 LTS OpenJDK Runtime Environment Temurin-21.0.2+13 (build 21.0.2+13-LTS) OpenJDK 64-Bit Server VM Temurin-21.0.2+13 (build 21.0.2+13-LTS, mixed mode, sharing) ``` Test.java ```java public class...
Following test case ``` class Test { private record Data(String value) { } Test(Collection data) { data.stream().collect(Collectors.groupingBy(Data::value)) .entrySet().stream() .filter(entry -> entry.getValue().size() > 1) .forEach(entry -> { throw new IllegalArgumentException("Duplicate value...
See (https://checkerframework.org/manual) 29.24 ReIm immutability A checker and inference tool for ReIm [[HMDE12](https://checkerframework.org/manual/#HuangMDE2012), [Hua14](https://checkerframework.org/manual/#Huang2014)], an immutability type system, is available at http://www.cs.rpi.edu/~huangw5/cf-inference/. ^That last link yields a 404 Not Found
Currently, Checker Framework outputs all the warnings and errors to the console. When using a build system like maven or gradle, the order of output can vary (see [known bug](https://issues.apache.org/jira/browse/MCOMPILER-509?page=com.atlassian.jira.plugin.system.issuetabpanels%3Aall-tabpanel)...
Possible replacement for #6409. This pull request is a bit simpler, but more importantly it puts the warning messages at the right location rather than on the method itself.
#### Tested on CF versions `3.34.0` and `3.42.0` ---- I executed `WPI` on [NJR](https://zenodo.org/records/6314162) benchmarks to infer annotations for [Nullness Checker](https://checkerframework.org/manual/#nullness-checker). And observed that in the majority of benchmarks, `WPI`...
Fix https://github.com/typetools/checker-framework/issues/6050.
Hello, I have come across an issue while using @EnsuresNonNull on method parameters with certain generic types. If I have the following method ```java public class CollectionContracts { @EnsuresNonNull("#1") public...
I am aware of checker/src/main/java/org/checkerframework/checker/nullness/permit-nullness-assertion-exception.astub But I have to seriously wonder why the default is not the above particularly since JUnit does not actually throw NPE on `assertNotNull` but rather...