From 38b7a4bd1100ba929c011f5d041a334a3efcde95 Mon Sep 17 00:00:00 2001
From: Pushkar Kulkarni <pushkar.kulkarni@canonical.com>
Date: Wed, 8 Nov 2023 10:14:48 +0200
Subject: [PATCH 1/2] Fix javac-21 compiler warnings

---
 debian/changelog                           |  6 +++
 debian/patches/fix-javac-21-warnings.patch | 50 ++++++++++++++++++++++
 debian/patches/series                      |  1 +
 3 files changed, 57 insertions(+)
 create mode 100644 debian/patches/fix-javac-21-warnings.patch

diff --git a/debian/changelog b/debian/changelog
index 3aa74cd..e1c90fd 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+checker-framework-java (3.2.0+ds-3) unstable; urgency=medium
+
+  * Fix javac-21 compiler warnings
+
+ -- Pushkar Kulkarni <pushkar.kulkarni@canonical.com>  Wed, 08 Nov 2023 10:13:21 +0200
+
 checker-framework-java (3.2.0+ds-2) unstable; urgency=medium
 
   * Build dataflow and javacutil modules
diff --git a/debian/patches/fix-javac-21-warnings.patch b/debian/patches/fix-javac-21-warnings.patch
new file mode 100644
index 0000000..2434c2e
--- /dev/null
+++ b/debian/patches/fix-javac-21-warnings.patch
@@ -0,0 +1,50 @@
+--- a/javacutil/src/main/java/org/checkerframework/javacutil/trees/TreeBuilder.java
++++ b/javacutil/src/main/java/org/checkerframework/javacutil/trees/TreeBuilder.java
+@@ -71,6 +71,7 @@
+      * @param iterableExpr an expression whose type is a subtype of Iterable
+      * @return a MemberSelectTree that accesses the iterator() method of the expression
+      */
++    @SuppressWarnings("cast")
+     public MemberSelectTree buildIteratorMethodAccess(ExpressionTree iterableExpr) {
+         DeclaredType exprType =
+                 (DeclaredType) TypesUtils.upperBound(TreeUtils.typeOf(iterableExpr));
+@@ -140,6 +141,7 @@
+      * @param iteratorExpr an expression whose type is a subtype of Iterator
+      * @return a MemberSelectTree that accesses the hasNext() method of the expression
+      */
++    @SuppressWarnings("cast")
+     public MemberSelectTree buildHasNextMethodAccess(ExpressionTree iteratorExpr) {
+         DeclaredType exprType = (DeclaredType) TreeUtils.typeOf(iteratorExpr);
+         assert exprType != null : "expression must be of declared type Iterator<>";
+@@ -176,6 +178,7 @@
+      * @param iteratorExpr an expression whose type is a subtype of Iterator
+      * @return a MemberSelectTree that accesses the next() method of the expression
+      */
++    @SuppressWarnings("cast")
+     public MemberSelectTree buildNextMethodAccess(ExpressionTree iteratorExpr) {
+         DeclaredType exprType = (DeclaredType) TreeUtils.typeOf(iteratorExpr);
+         assert exprType != null : "expression must be of declared type Iterator<>";
+@@ -231,6 +234,7 @@
+      * @param expression the array expression whose length is being accessed
+      * @return a MemberSelectTree to dereference the length of the array
+      */
++    @SuppressWarnings("cast")
+     public MemberSelectTree buildArrayLengthAccess(ExpressionTree expression) {
+ 
+         return (JCTree.JCFieldAccess)
+@@ -404,6 +408,7 @@
+      * @param expr an expression whose type is a boxed type
+      * @return a MemberSelectTree that accesses the valueOf() method of the expression
+      */
++    @SuppressWarnings("cast")
+     public MemberSelectTree buildValueOfMethodAccess(Tree expr) {
+         TypeMirror boxedType = TreeUtils.typeOf(expr);
+ 
+@@ -453,6 +458,7 @@
+      * @param expr an expression whose type is a boxed type
+      * @return a MemberSelectTree that accesses the *Value() method of the expression
+      */
++    @SuppressWarnings("cast")
+     public MemberSelectTree buildPrimValueMethodAccess(Tree expr) {
+         TypeMirror boxedType = TreeUtils.typeOf(expr);
+         TypeElement boxedElement = (TypeElement) ((DeclaredType) boxedType).asElement();
diff --git a/debian/patches/series b/debian/patches/series
index ff13e31..c7b78a2 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
 fix-gradle-build.patch
 remove-doc-image-links.patch
 deprecated-getexpression.patch
+fix-javac-21-warnings.patch
-- 
GitLab


From 0f3a9208310b933b103e21ff90a7d61c52451768 Mon Sep 17 00:00:00 2001
From: Tony Mancill <tmancill@debian.org>
Date: Thu, 9 Nov 2023 04:40:20 +0000
Subject: [PATCH 2/2] Update changelog

---
 debian/changelog | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/debian/changelog b/debian/changelog
index e1c90fd..553f356 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-checker-framework-java (3.2.0+ds-3) unstable; urgency=medium
+checker-framework-java (3.2.0+ds-3) UNRELEASED; urgency=medium
 
   * Fix javac-21 compiler warnings
 
-- 
GitLab