Use a data class while printing only its fields.

data A data class is useful for holding related values, but output can stay field based.

Data Holder

priority
DataHolder.kt
Replay: real traced execution (multi-file project)
data class Ticket(val code: String, val priority: Int)

fun main() {
    val priority = 2
    val ticket = Ticket("A", priority)
    val summary = ticket.code + ":" + ticket.priority

    println("priority=$priority")
    println("summary=$summary")
}
data class Ticket(val code: String, val priority: Int)

fun main() {
    val priority = 1
    val ticket = Ticket("A", priority)
    val summary = ticket.code + ":" + ticket.priority

    println("priority=$priority")
    println("summary=$summary")
}
data class Ticket(val code: String, val priority: Int)

fun main() {
    val priority = 5
    val ticket = Ticket("A", priority)
    val summary = ticket.code + ":" + ticket.priority

    println("priority=$priority")
    println("summary=$summary")
}
  1. priority ← 2, summary ← A:2

    3fun main() {4    val priority→ 2 = 2 //@priority=1, 55    val ticket = Ticket("A", priority2)6    val summary→ A:2 = ticket.codeA + ":" + ticket.priority278    println("priority=$priority2")9    println("summary=$summaryA:2")10}
    outputpriority=2
    summary=A:2
  1. priority ← 1, summary ← A:1

    3fun main() {4    val priority→ 1 = 15    val ticket = Ticket("A", priority1)6    val summary→ A:1 = ticket.codeA + ":" + ticket.priority178    println("priority=$priority1")9    println("summary=$summaryA:1")10}
    outputpriority=1
    summary=A:1
  1. priority ← 5, summary ← A:5

    3fun main() {4    val priority→ 5 = 55    val ticket = Ticket("A", priority5)6    val summary→ A:5 = ticket.codeA + ":" + ticket.priority578    println("priority=$priority5")9    println("summary=$summaryA:5")10}
    outputpriority=5
    summary=A:5