// Generated from "mixednestings/MixedNestings.java"
@file:Suppress(
 "ALWAYS_NULL",
 "PARAMETER_NAME_CHANGED_ON_OVERRIDE",
 "SENSELESS_COMPARISON",
 "UNCHECKED_CAST",
 "UNNECESSARY_LATEINIT",
 "UNNECESSARY_NOT_NULL_ASSERTION",
 "UNREACHABLE_CODE",
 "UNUSED_ANONYMOUS_PARAMETER",
 "UNUSED_PARAMETER",
 "UNUSED_VARIABLE",
 "USELESS_CAST",
 "VARIABLE_IN_SINGLETON_WITHOUT_THREAD_LOCAL",
 "VARIABLE_WITH_REDUNDANT_INITIALIZER",
 "REDUNDANT_ELSE_IN_WHEN")

package mixednestings

import javaemul.lang.*
import kotlin.Int
import kotlin.Suppress

fun interface MyInterface {
 fun `fun`(a: Int): Int
}

open class MixedNestings {
 open fun mm() {}

 open fun test() {
  A().a()
 }

 open inner class A internal constructor() {
  open fun aa() {}

  open fun a() {
   open class B internal constructor() {
    open fun bb() {}

    open fun b(): Int {
     val i: MyInterface = object : MyInterface {
      override fun `fun`(a: Int): Int {
       val ii: MyInterface = MyInterface { n: Int ->
        this@MixedNestings.mm()
        this@A.aa()
        this@B.bb()
        val iii: MyInterface = MyInterface { m: Int ->
         this@MixedNestings.mm()
         this@A.aa()
         this@B.bb()
         return@MyInterface object : MyInterface {
          override fun `fun`(b: Int): Int {
           return b
          }
         }.`fun`(100)
        }
        return@MyInterface iii.`fun`(200)
       }
       return ii.`fun`(300)
      }
     }
     return i.`fun`(400)
    }
   }
   B().b()
  }
 }
}
