From 49a001ca9164d85ea2a64bcef124a3f8d78a296b Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Mon, 15 Jan 2024 10:38:33 +0100 Subject: [PATCH] [jOOQ/jOOQ#12180] [jOOQ/jOOQ#16074] Scalac 3 regression workarounds --- .../main/java/org/jooq/codegen/JavaGenerator.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java b/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java index a2a688035a..412fafa7c2 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java +++ b/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java @@ -5232,6 +5232,18 @@ public class JavaGenerator extends AbstractGenerator { out.println("return compositeKeyRecord(%s);", params.toString()); } + // [#12180] [#16074] Scalac 3 regression workarounds + if (scala) { + for (String name : asList("insert", "update", "merge", "delete", "deleteById")) { + String argType = name.endsWith("ById") ? tType : pType; + String argName = name.endsWith("ById") ? "id" : "obj"; + + out.println("override def %s(%s: %s): Unit = super.%s(%s)", name, argName, argType, name, argName); + out.println("override def %s(%ss: %s*): Unit = super.%s(%ss:_*)", name, argName, argType, name, argName); + out.println("override def %s(%ss: %s[%s]): Unit = super.%s(%ss)", name, argName, Collection.class, argType, name, argName); + } + } + if (scala || kotlin) {} else out.println("}");