Skip to content

Commit 2bdcb2f

Browse files
PicazsooCopilot
andcommitted
fix(kotlin-spring): container inline enums must not get override val value
EnumValueInterfaceUtils.injectInPostProcessModelsEnum() adds ValuedEnum<...> to x-kotlin-implements only for `var.isEnum && !var.isContainer`, but dataClass.mustache emitted the `override` keyword for every enum whenever useEnumValueInterface=true. Container inline enums therefore produced uncompilable Kotlin (`overrides nothing`) since the enum class did not actually implement any interface to override. Gating the `override` token on `^isContainer` keeps the template in sync with the util. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 4f7a6dc commit 2bdcb2f

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

modules/openapi-generator/src/main/resources/kotlin-spring/dataClass.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
* {{{description}}}
4949
* Values: {{#allowableValues}}{{#enumVars}}{{&name}}{{^-last}},{{/-last}}{{/enumVars}}{{/allowableValues}}
5050
*/
51-
enum class {{{nameInPascalCase}}}(@get:JsonValue {{#useEnumValueInterface}}override {{/useEnumValueInterface}}val value: {{#isContainer}}{{#items}}{{{dataType}}}{{/items}}{{/isContainer}}{{^isContainer}}{{{dataType}}}{{/isContainer}}) {{#vendorExtensions.x-kotlin-implements}}{{#-first}}: {{{.}}}{{/-first}}{{^-first}}, {{{.}}}{{/-first}} {{/vendorExtensions.x-kotlin-implements}}{
51+
enum class {{{nameInPascalCase}}}(@get:JsonValue {{#useEnumValueInterface}}{{^isContainer}}override {{/isContainer}}{{/useEnumValueInterface}}val value: {{#isContainer}}{{#items}}{{{dataType}}}{{/items}}{{/isContainer}}{{^isContainer}}{{{dataType}}}{{/isContainer}}) {{#vendorExtensions.x-kotlin-implements}}{{#-first}}: {{{.}}}{{/-first}}{{^-first}}, {{{.}}}{{/-first}} {{/vendorExtensions.x-kotlin-implements}}{
5252
{{#allowableValues}}{{#enumVars}}
5353
{{{name}}}({{{value}}}){{^-last}},{{/-last}}{{/enumVars}}{{/allowableValues}};
5454

0 commit comments

Comments
 (0)