checker-framework
checker-framework copied to clipboard
Pluggable type-checking for Java
5be5d3b0d71b4a9049c64e1678ae2cf6d0f836e6 recently improved the annotations for `equals`, to include the post-condition that if equals returns `true` its argument must have been non-null: ``` @EnsuresNonNullIf(expression="#1", result=true) ``` I ran into a...
We have started to integrate Checker Framework with the Checkstyle project. The logs in Windows and Linux are not similar. From Windows: (snippet from [complete logs](https://gist.githubusercontent.com/Vyom-Yadav/6552bbcf8b691721eda65b8207e5714c/raw/087ccf374b34a2f58e9761049f4cce881a33025a/log.txt)) ``` [WARNING] D:\checkstyle\src\main\java\com\puppycrawl\tools\checkstyle\checks\TranslationCheck.java:[632,16] [argument]...
jOOQ build must be run on java 17 git clone markro49/jOOQ cd jOOQ git checkout test cd jOOQ (wd is now jOOQ/jOOQ) mvn -V -B -e clean compile -Dcheckerframework.checkers=org.checkerframework.checker.signedness.SignednessChecker -DskipTests=true...
A simple example is as follows: For the resources obtained outside this works: ```java class Closeables implements Closeable { final @Owning Closeable res1; final @Owning Closeable res2; Closeables(@Owning r1, @Owning...
The analyser complains about this method: ```java private static List toStringList(Collection list) { if (list == null) return null; return list.stream().map(Object::toString).collect(Collectors.toList()); } ``` with ``` [javac] /home/jlewandowski/dev/cassandra/c18190-ecj/src/java/org/apache/cassandra/db/virtual/LocalRepairTables.java:460: error: [mustcall:methodref.receiver] Incompatible...
It would be nice to support an annotation meaning "`@Poly` with with lower bound". As a concrete example, this code properly does not type-check, because it might be called on...
Dear human checkers, the NullnessChecker, somewhat ironically, has a null dereference bug. ;) I run into the following exception ``` error: Error when invoking constructor org.checkerframework.checker.nullness.KeyForAnnotatedTypeFactory(class org.checkerframework.common.basetype.BaseTypeChecker) on args [org.checkerframework.checker.nullness.KeyForSubchecker@6bf08014];...
Not sure if this is related to #409 but the setup is similar. When a constructor for a class `Bar` takes a `@UnderInitialization` object as argument, it's return type somehow...
Test case on this branch: [kelloggm:purity-bad-override-wpi](https://github.com/kelloggm/checker-framework/tree/purity-bad-override-wpi) WPI currently infers (and `-AsuggestPureMethods` suggests) purity annotations that are true of a particular implementation of a method, but not true of other methods...