[BUG] [KOTLIN] Type with additionalProperties generates invalid code
Bug Report Checklist
- [x] Have you provided a full/minimal spec to reproduce the issue?
- [x] Have you validated the input using an OpenAPI validator?
- [x] Have you tested with the latest master to confirm the issue still exists?
- [x] Have you searched for related issues/PRs?
- [x] What's the actual output vs expected output?
- [ ] [Optional] Sponsorship to speed up the bug fix or feature request (example)
Description
In 7.16.0, using the Kotlin client generator with the multiplatform library, openapi-generator generates invalid code for types that have additionalProperties: {}. It adds an additional set of parentheses to the HashMap constructor invocation which makes the code not compile:
data class Abc (
...
) : kotlin.collections.HashMap<String, kotlin.Any>()() {
...
openapi-generator version
7.16.0, this worked in 7.15.0. I tried with latest master, still happens.
OpenAPI declaration file content or url
gist. I removed url etc, but otherwise this is 1:1 the real file we have.
Generation Details
java -jar openapi-generator-cli.jar generate -g kotlin -i openapi-issue.json --library multiplatform -o generated --additional-properties dateLibrary=string
Steps to reproduce
- generate code (Kotlin, client, multiplatform)
- open
generated/src/commonMain/kotlin/org/openapitools/client/models/ProblemDetails.kt - notice the invalid
kotlin.collections.HashMap<String, kotlin.Any>()()
I have similar issue with kotlin generator run as Gradle task with OpenAPI generator version 7.15.0 and 7.16.0
When specification file includes ``"additionalProperties": {}or"additionalProperties": true` in a component schema, the generated code does not compile:
data class ComponentA(
// properties
) : kotlin.collections.HashMap<String, kotlin.Any>()() {
}
I am seeing the same issue with:
- OpenAPI Generator Gradle Plugin version:
7.16.0 - Generator name:
kotlin - Kotlin version:
2.2.20