class A { companion object { fun invoke(i: Int) = i } } fun test() = A(1) Resolved call: Candidate descriptor: fun invoke(i: Int): Int defined in A.Companion Resulting descriptor: fun invoke(i: Int): Int defined in A.Companion Explicit receiver kind = DISPATCH_RECEIVER Dispatch receiver = A {Companion} Extension receiver = NO_RECEIVER Value arguments mapping: SUCCESS i : Int = 1