fun foo() { addMouseListener(object : MouseAdapter() { private var clickCount = 0; override fun mouseClicked(e : MouseEvent) { clickCount++; if (clickCount > 3) GOD.sendMessage(GodMEssages.TOO_MANY_CLICKS); } }) enum class GodMessages { TOO_MANY_CLICKS, ONE_MORE_MESSAGE } // Type of this variable is GOD_AnonymousClass val GOD = object { fun sendMessage(message : GodMEssage) = throw RuntimeException(message.name) }; }