// Generated from "nestedlocalclasses/NestedLocalClasses.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 nestedlocalclasses

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

open class NestedLocalClasses {
 open fun test(p: Int) {
  val localVar: Int = 1
  open class InnerClass internal constructor() {
   open fun `fun`() {
    val localVarInInnerClass: Int = 1
    open class InnerInnerClass internal constructor() {
     @JvmField
     var fieldInInnerInnerClass: Int = localVar + localVarInInnerClass
    }
    InnerInnerClass()
    open class ClassIndirectlyCapturingLocal internal constructor() {
     init {
      InnerInnerClass()
     }
    }
   }
  }
 }

 interface InterfaceWithThisReference {
  fun foo() {
   open class Super internal constructor(): InterfaceWithThisReference
   object : Super() {}
  }
 }
}
