From 3ffe6de4998272661ddb2baf2ebcc945a36b57c9 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Thu, 12 Nov 2020 10:38:36 +0100 Subject: [PATCH] [jOOQ/jOOQ#10923] KotlinGenerator produces compilation errors in UDT Records when is true --- .../src/main/java/org/jooq/codegen/JavaGenerator.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) 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 6094644d88..65a367f686 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java +++ b/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java @@ -1646,7 +1646,8 @@ public class JavaGenerator extends AbstractGenerator { final String colTypeFull = getJavaType(column, out); final String colType = out.ref(colTypeFull); - final String colIdentifier = out.ref(getStrategy().getFullJavaIdentifier(column), colRefSegments(column)); + final String colIdentifierFull = out.ref(getStrategy().getFullJavaIdentifier(column), colRefSegments(column)); + final String colIdentifier = getStrategy().getJavaIdentifier(column); if (scala) { printDeprecationIfUnknownType(out, colTypeFull); @@ -1661,7 +1662,7 @@ public class JavaGenerator extends AbstractGenerator { colType ); else - out.println("override def field%s: %s[%s] = %s", i, Field.class, colType, colIdentifier); + out.println("override def field%s: %s[%s] = %s", i, Field.class, colType, colIdentifierFull); } else if (kotlin) { printDeprecationIfUnknownType(out, colTypeFull); @@ -1675,8 +1676,10 @@ public class JavaGenerator extends AbstractGenerator { Field.class, colType ); + else if (tableUdtOrEmbeddable instanceof UDTDefinition) + out.println("public override fun field%s(): %s<%s%s> = %s.%s", i, Field.class, colType, column instanceof EmbeddableDefinition ? "" : "?", out.ref(getStrategy().getFullJavaIdentifier(((AttributeDefinition) column).getContainer()), 2), colIdentifier); else - out.println("public override fun field%s(): %s<%s%s> = %s", i, Field.class, colType, column instanceof EmbeddableDefinition ? "" : "?", colIdentifier); + out.println("public override fun field%s(): %s<%s%s> = %s", i, Field.class, colType, column instanceof EmbeddableDefinition ? "" : "?", colIdentifierFull); } else { if (printDeprecationIfUnknownType(out, colTypeFull)) @@ -1690,7 +1693,7 @@ public class JavaGenerator extends AbstractGenerator { if (tableUdtOrEmbeddable instanceof EmbeddableDefinition) out.println("return (%s<%s>) field(%s);", Field.class, colType, i - 1); else - out.println("return %s;", colIdentifier); + out.println("return %s;", colIdentifierFull); out.println("}"); }