From 84971d3b691e928e1d0837e1accc0cf7fccf7b9d Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Fri, 22 Mar 2024 16:10:15 +0100 Subject: [PATCH] [jOOQ/jOOQ#14806] Upgrade checkerframework to 3.19.0 to better support JDK 17 --- jOOQ-checker/pom.xml | 18 ++++++++++++ .../org/jooq/checker/AbstractChecker.java | 28 +++++++++++++++++-- .../src/main/java/org/jooq/checker/Tools.java | 25 ++++++++++++++--- jOOQ/src/main/resources/META-INF/ABOUT.txt | 1 + pom.xml | 3 +- 5 files changed, 68 insertions(+), 7 deletions(-) diff --git a/jOOQ-checker/pom.xml b/jOOQ-checker/pom.xml index ec4d3ed35f..71841edf23 100644 --- a/jOOQ-checker/pom.xml +++ b/jOOQ-checker/pom.xml @@ -37,6 +37,24 @@ 3.0.1 + + + + org.apache.maven.plugins + maven-compiler-plugin + + + + + + + + --add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED + --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED + + + + diff --git a/jOOQ-checker/src/main/java/org/jooq/checker/AbstractChecker.java b/jOOQ-checker/src/main/java/org/jooq/checker/AbstractChecker.java index 20d520e681..08c62e6b98 100644 --- a/jOOQ-checker/src/main/java/org/jooq/checker/AbstractChecker.java +++ b/jOOQ-checker/src/main/java/org/jooq/checker/AbstractChecker.java @@ -43,7 +43,6 @@ import java.io.PrintWriter; import org.jooq.checker.Tools.Printer; -import org.checkerframework.framework.source.Result; import org.checkerframework.framework.source.SourceChecker; /** @@ -53,11 +52,36 @@ import org.checkerframework.framework.source.SourceChecker; */ abstract class AbstractChecker extends SourceChecker { + Void error(Object node, String message) { - getChecker().report(Result.failure(message, node), node); + + /* + + getChecker().report(org.checkerframework.framework.source.Result.failure(message, node), node); + + */ + + + reportError(node, message); + + return null; } + public SourceChecker getChecker() { + + /* + + return super.getChecker(); + + */ + + + return this; + + } + + static Void print(Printer printer) { try (PrintWriter writer = new PrintWriter(new FileWriter("error.txt"))){ writer.println("This is probably a bug in jOOQ-checker."); diff --git a/jOOQ-checker/src/main/java/org/jooq/checker/Tools.java b/jOOQ-checker/src/main/java/org/jooq/checker/Tools.java index 1b8c1e481d..3eb851da1b 100644 --- a/jOOQ-checker/src/main/java/org/jooq/checker/Tools.java +++ b/jOOQ-checker/src/main/java/org/jooq/checker/Tools.java @@ -40,8 +40,6 @@ package org.jooq.checker; import static java.util.Arrays.asList; import static org.checkerframework.javacutil.TreeUtils.elementFromDeclaration; import static org.checkerframework.javacutil.TreeUtils.elementFromUse; -import static org.checkerframework.javacutil.TreeUtils.enclosingClass; -import static org.checkerframework.javacutil.TreeUtils.enclosingMethod; import java.io.PrintWriter; import java.util.EnumSet; @@ -212,12 +210,31 @@ final class Tools { } static Element enclosing(TreePath path) { - MethodTree enclosingMethod = enclosingMethod(path); + + /* + + MethodTree enclosingMethod = org.checkerframework.javacutil.TreeUtils.enclosingMethod(path); + + */ + + + MethodTree enclosingMethod = org.checkerframework.javacutil.TreePathUtil.enclosingMethod(path); + if (enclosingMethod != null) return elementFromDeclaration(enclosingMethod); - ClassTree enclosingClass = enclosingClass(path); + + /* + + ClassTree enclosingClass = org.checkerframework.javacutil.TreeUtils.enclosingClass(path); + + */ + + + ClassTree enclosingClass = org.checkerframework.javacutil.TreePathUtil.enclosingClass(path); + + return elementFromDeclaration(enclosingClass); } diff --git a/jOOQ/src/main/resources/META-INF/ABOUT.txt b/jOOQ/src/main/resources/META-INF/ABOUT.txt index 996e9dab62..6859b7e7f4 100644 --- a/jOOQ/src/main/resources/META-INF/ABOUT.txt +++ b/jOOQ/src/main/resources/META-INF/ABOUT.txt @@ -38,6 +38,7 @@ Authors and contributors of jOOQ or parts of jOOQ in alphabetical order: - Miguel Gonzalez Sanchez - Mustafa Yücel - Nathaniel Fischer +- Nicholas Chong W.B. - Octavia Togami - Oliver Flege - Per Lundberg diff --git a/pom.xml b/pom.xml index a5d5790ef3..3c2bc9f835 100644 --- a/pom.xml +++ b/pom.xml @@ -58,6 +58,7 @@ 5.6.15.Final 4.25.1 + 3.19.0 6.1.3 2.24.1 @@ -516,7 +517,7 @@ org.checkerframework checker - 2.5.6 + ${checkerframework.version}