class A { inner class B(arg: String) { constructor (arg: Int): this("") {} } } Resolved call: Candidate descriptor: constructor B(arg: String) defined in A.B Resulting descriptor: constructor B(arg: String) defined in A.B Explicit receiver kind = DISPATCH_RECEIVER Dispatch receiver = Class{A} Extension receiver = NO_RECEIVER Value arguments mapping: SUCCESS arg : String = ""