checker-framework
checker-framework copied to clipboard
Pluggable type-checking for Java
``` It would be nice if the checker could detect that 'test' being true implies 'o' is non-null. === Test.java === import javax.annotation.Nullable; abstract class Test { abstract @Nullable Object...
ItelliJ Idea keeps track of external annotations using a simple xml format and directory tree. The documentation can be found [here](https://www.jetbrains.com/help/idea/annotating-source-code.html#external-annotations) . Examples of the format can be found [here](https://github.com/JetBrains/intellij-community/tree/39fa92a0ad83a4ad060d0e37e2a09c7fc180c49d/lib/annotations)...
Given the following Java class: ```java import java.util.Optional; import org.checkerframework.checker.optional.qual.Present; import org.checkerframework.framework.qual.EnsuresQualifierIf; import org.checkerframework.dataflow.qual.Pure; public class Main { public static void main(String[] args) { OptStringContainer optStrCont = new OptStringContainer("Hello"); if...
Test case: [hive_parse_test.zip](https://github.com/typetools/checker-framework/files/14116645/hive_parse_test.zip) To reproduce, unzip, and modify `compile.sh` so that `CF_ROOT` points to your local Checker Framework repo. Then run `./compile.sh`. The checker exhausts 16GB of RAM analyzing `HiveParser.java`....
Right now, the Returns Receiver Checker (RRC) runs by default as a subchecker of the Resource Leak Checker (RLC), since the RLC extends the Called Methods Checker. This has a...
Merge after #6431
Merge atter #6432.
As a follow-up to #1964: https://github.com/typetools/checker-framework/blob/master/framework/src/main/java/org/checkerframework/framework/type/StructuralEqualityComparer.java always returns `true` for several corner cases. For each of these methods, write a test case and the proper implementation of the corresponding check.
Unless I'm missing something, I believe the `@Retention` of `@DefaultQualifier` should be RUNTIME, not SOURCE. As is, `@DefaultQualifier(@Nonnull)` used within a published library is disregarded when the library is consumed...
Is the behaviour below expected? Per https://checkerframework.org/manual/#declaration-annotations-moved, I thought the declaration annotation below would be treated as if I had written `T @Nonnull...` with an equivalent type annotation. ```java //...