tree d8be1b157a325910246e394678c47d58b0c7734f
parent b8f1404b2309e7feffa8b9149b514a08c56f9923
author dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 1677857486 -0800
committer Google Java Core Libraries <java-libraries-firehose+copybara@google.com> 1677857539 -0800

Bump checker-qual from 3.31.0 to 3.32.0

Bumps [checker-qual](https://github.com/typetools/checker-framework) from 3.31.0 to 3.32.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/typetools/checker-framework/releases">checker-qual's releases</a>.</em></p>
<blockquote>
<h2>Checker Framework 3.32.0</h2>
<h2>Version 3.32.0 (March 2, 2023)</h2>
<p><strong>User-visible changes:</strong></p>
<p>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 <a href="https://checkerframework.org/manual/#type-refinement-side-effects">https://checkerframework.org/manual/#type-refinement-side-effects</a> .</p>
<p>If you supply the <code>-AinvocationPreservesArgumentNullness</code> 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.</p>
<p><strong>Implementation details:</strong></p>
<p>Moved <code>TreeUtils.isAutoGeneratedRecordMember(Element)</code> to <code>ElementUtils</code>.</p>
<p>Renamed <code>TreeUtils.instanceOfGetPattern()</code> to <code>TreeUtils.instanceOfTreeGetPattern()</code>.</p>
<p>Deprecated <code>AnnotatedTypes#isExplicitlySuperBounded</code> and <code>AnnotatedTypes#isExplicitlyExtendsBounded</code> because they are duplicates of <code>#hasExplicitSuperBound</code> and <code>#hasExplicitExtendsBound</code>.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/typetools/checker-framework/blob/master/docs/CHANGELOG.md">checker-qual's changelog</a>.</em></p>
<blockquote>
<h2>Version 3.32.0 (March 2, 2023)</h2>
<p><strong>User-visible changes:</strong></p>
<p>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 <a href="https://checkerframework.org/manual/#type-refinement-side-effects">https://checkerframework.org/manual/#type-refinement-side-effects</a> .</p>
<p>If you supply the <code>-AinvocationPreservesArgumentNullness</code> 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.</p>
<p><strong>Implementation details:</strong></p>
<p>Moved <code>TreeUtils.isAutoGeneratedRecordMember(Element)</code> to <code>ElementUtils</code>.</p>
<p>Renamed <code>TreeUtils.instanceOfGetPattern()</code> to <code>TreeUtils.instanceOfTreeGetPattern()</code>.</p>
<p>Deprecated <code>AnnotatedTypes#isExplicitlySuperBounded</code> and <code>AnnotatedTypes#isExplicitlyExtendsBounded</code>
because they are duplicates of <code>#hasExplicitSuperBound</code> and <code>#hasExplicitExtendsBound</code>.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/typetools/checker-framework/commit/d5d0d28dad0034b2e7085220f1e0473575574f84"><code>d5d0d28</code></a> new release 3.32.0</li>
<li><a href="https://github.com/typetools/checker-framework/commit/8bee0658cf33188ddbe063ac7e75e6aefb5a5c41"><code>8bee065</code></a> Declare explicit task dependencies.</li>
<li><a href="https://github.com/typetools/checker-framework/commit/85f483a3d0bb5494df2826875aa715c5ff4e9384"><code>85f483a</code></a> Prep for release.</li>
<li><a href="https://github.com/typetools/checker-framework/commit/9eacbbc60d52381512540b3f53e2cf20eb31c737"><code>9eacbbc</code></a> Don't run <code>plume_lib_jdk8</code> because plume-lib doesn't build with JDK 8</li>
<li><a href="https://github.com/typetools/checker-framework/commit/c725eeb4ce88334b2e39b2ce9797b9aa2ac4c6e8"><code>c725eeb</code></a> Add quotation marks</li>
<li><a href="https://github.com/typetools/checker-framework/commit/42a4abf73b6de1f3ebd4043cd83867133f7bb46e"><code>42a4abf</code></a> No-op change in hopes of re-enabling dependabot</li>
<li><a href="https://github.com/typetools/checker-framework/commit/a50913883efb17927f731761455e492eb9ad318a"><code>a509138</code></a> Punctuation changes (<a href="https://github-redirect.dependabot.com/typetools/checker-framework/issues/5689">#5689</a>)</li>
<li><a href="https://github.com/typetools/checker-framework/commit/9a0d70b60b17b770126d052ef8964716c693dd3b"><code>9a0d70b</code></a> add ability to exclude annotations from RemoveAnnotationsForInference on a pe...</li>
<li><a href="https://github.com/typetools/checker-framework/commit/37f0261db80fadeb530fee7419dcabf233bbb48a"><code>37f0261</code></a> Move <code>TreeUtils.isAutoGeneratedRecordMember(Element)</code> to <code>ElementUtils</code> (<a href="https://github-redirect.dependabot.com/typetools/checker-framework/issues/5679">#5679</a>)</li>
<li><a href="https://github.com/typetools/checker-framework/commit/e84e29edaeb50eab3dddef1dfb862dad28081272"><code>e84e29e</code></a> WPI: decision on whether to infer a type for a type variable should be made b...</li>
<li>Additional commits viewable in <a href="https://github.com/typetools/checker-framework/compare/checker-framework-3.31.0...checker-framework-3.32.0">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.checkerframework:checker-qual&package-manager=maven&previous-version=3.31.0&new-version=3.32.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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)

</details>

Fixes #1082

COPYBARA_INTEGRATE_REVIEW=https://github.com/google/truth/pull/1082 from google:dependabot/maven/org.checkerframework-checker-qual-3.32.0 793d8f4fe916a9a1bfe9976fa2ad85c19f3a7730
PiperOrigin-RevId: 513822867
