JsonToKotlinClass icon indicating copy to clipboard operation
JsonToKotlinClass copied to clipboard

Similar classes get incorrectly deduplicated

Open ark-1 opened this issue 11 months ago • 0 comments

Steps to reproduce: Input the following JSON:

{
  "firstTeam": {
    "hometown": {
      "name": "Town 1"
    },
    "stats": {
      "rating": 10
    }
  },
  "secondTeam": {
    "hometown": {
      "name": "Town 2"
    },
    "stats": {
      "rating": 20
    }
  }
}

Expected output:

data class Match(
    val firstTeam: FirstTeam,
    val secondTeam: SecondTeam
)

data class FirstTeam(
    val hometown: Hometown,
    val stats: Stats
)

data class SecondTeam(
    val hometown: Hometown,
    val stats: Stats
)

data class Hometown(
    val name: String
)

data class Stats(
    val rating: Int
)

Actual output:

data class Match(
    val firstTeam: FirstTeam,
    val secondTeam: SecondTeam
)

data class FirstTeam(
    val hometown: Hometown,
    val stats: Stats
)

data class SecondTeam(
    val hometown: Hometown,
    val stats: StatsX
)

data class Hometown(
    val name: String
)

data class Stats(
    val rating: Int
)

StatsX was not generated, but is referenced from SecondTeam.

ark-1 avatar Mar 06 '24 14:03 ark-1