From ecdfd8a90a03e2350e924e3408d254fa2f80be55 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Thu, 30 Mar 2023 10:22:25 +0200 Subject: [PATCH] [jOOQ/jOOQ#14883] Regression: KotlinGenerator produces superfluous public keyword for overriding methods --- .../src/main/java/org/jooq/codegen/JavaGenerator.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) 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 69b42785f2..22599bb8ea 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java +++ b/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java @@ -59,6 +59,7 @@ import static org.jooq.impl.DSL.name; import static org.jooq.impl.QOM.GenerationOption.STORED; import static org.jooq.impl.QOM.GenerationOption.VIRTUAL; import static org.jooq.meta.AbstractTypedElementDefinition.getDataType; +import static org.jooq.meta.jaxb.VisibilityModifier.PUBLIC; import static org.jooq.tools.StringUtils.isBlank; import java.io.File; @@ -371,8 +372,15 @@ public class JavaGenerator extends AbstractGenerator { private String visibilityPublic() { if (scala) return ""; + + // [#14855] Make sure visibility isn't reduced to anything less than "public" + // [#14883] Don't generate explicit "public" unless explicitly requested else if (kotlin) - return "public "; + return visibility( + generateVisibilityModifier() == VisibilityModifier.PUBLIC + ? VisibilityModifier.PUBLIC + : VisibilityModifier.DEFAULT + ); else return "public "; }