The new command-line argument -AwarnRedundantAnnotations warns about redundant annotations. With this flag, a warning is issued if an explicitly written annotation on a type is the same as the default annotation. This feature does not warn about all redundant annotations, only some.
The Value Checker is cognizant of signedness annotations. This eliminates some false positive warnings.
Implementation details:
The Checker Framework no longer builds under JDK 8. However, you can still run the Checker Framework under JDK 8.
Fixed a bug in the Nullness Checker where a call to a side-effecting method did not make some formal parameters possibly-null. The Nullness Checker is likely to issue more warnings for your code. For ways to eliminate the new warnings, see https://checkerframework.org/manual/#type-refinement-side-effects .
If you supply the -AinvocationPreservesArgumentNullness command-line option, the Nullness Checker unsoundly assumes that arguments passed to non-null parameters in an invocation remain non-null after the invocation. This assumption is unsound in general, but it holds for most code.
Implementation details:
Moved TreeUtils.isAutoGeneratedRecordMember(Element) to ElementUtils.
Renamed TreeUtils.instanceOfGetPattern() to TreeUtils.instanceOfTreeGetPattern().
Deprecated AnnotatedTypes#isExplicitlySuperBounded and AnnotatedTypes#isExplicitlyExtendsBounded because they are duplicates of #hasExplicitSuperBound and #hasExplicitExtendsBound.
Checker Framework 3.31.0
Version 3.31.0 (February 17, 2023)
User-visible changes:
Command-line argument -AshowPrefixInWarningMessages puts the checker name on the first line of each warning and error message.
Signedness Checker changes:
Cast expressions are not subject to type refinement. When a programmer writes a cast such as (@Signed int) 2, it is not refined to @SignednessGlb and cannot be used in an unsigned context.
When incompatible arguments are passed to @PolySigned formal parameters, the error is expressed in terms of @SignednessBottom rather than the greatest lower bound of the argument types.
The new command-line argument -AwarnRedundantAnnotations warns about redundant
annotations. With this flag, a warning is issued if an explicitly written
annotation on a type is the same as the default annotation. This feature does
not warn about all redundant annotations, only some.
The Value Checker is cognizant of signedness annotations. This eliminates some
false positive warnings.
Implementation details:
The Checker Framework no longer builds under JDK 8.
However, you can still run the Checker Framework under JDK 8.
Fixed a bug in the Nullness Checker where a call to a side-effecting method did
not make some formal parameters possibly-null. The Nullness Checker is likely
to issue more warnings for your code. For ways to eliminate the new warnings,
see https://checkerframework.org/manual/#type-refinement-side-effects .
If you supply the -AinvocationPreservesArgumentNullness command-line
option, the Nullness Checker unsoundly assumes that arguments passed to
non-null parameters in an invocation remain non-null after the invocation.
This assumption is unsound in general, but it holds for most code.
Implementation details:
Moved TreeUtils.isAutoGeneratedRecordMember(Element) to ElementUtils.
Renamed TreeUtils.instanceOfGetPattern() to TreeUtils.instanceOfTreeGetPattern().
Deprecated AnnotatedTypes#isExplicitlySuperBounded and AnnotatedTypes#isExplicitlyExtendsBounded
because they are duplicates of #hasExplicitSuperBound and #hasExplicitExtendsBound.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps checker-qual from 3.30.0 to 3.33.0.
Release notes
Sourced from checker-qual's releases.
... (truncated)
Changelog
Sourced from checker-qual's changelog.
... (truncated)
Commits
0ed62fc
new release 3.33.0db8eae9
Update to Stubparser to version 3.25.2. (#5740)a4e2e41
Prep for release.4998fe2
Note about Error Prone javac dependency (#5744)d4ff506
Erase types insuper()
signature when the super type is raw315cb03
Revert update of the shadow plugin30a968e
Test case for typetools/checker-framework#5739342041f
Methods that return "void" cannot be pure, so -AsuggestPurity should not sugg...77f1489
Give full path to test files (#5735)8612189
RLC should treat calls to methods with@Owning
parameters as if they call the...Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)