// Generated from "enums/Enum1.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 enums

import javaemul.lang.*
import java.util.function.Function
import kotlin.Any
import kotlin.Array
import kotlin.Enum
import kotlin.Int
import kotlin.Suppress
import kotlin.jvm.JvmField
import kotlin.jvm.JvmStatic

enum class Enum1 {
 V1,
 V2;
}

enum class Enum2 {
 VALUE1(2),
 VALUE2(
  Enum1.V1 as Enum<*>?,
 ),
 VALUE3,
 VALUE4(5);

 @JvmField
 internal var foo_pp_enums: Int = Enum1.V1.ordinal

 constructor(foo: Int) {
  this.foo_pp_enums = foo
 }

 constructor(foo: Enum<*>?): this(
  foo!!.ordinal,
 )

 constructor(vararg somePars: Any?): this(
  somePars!!.size,
 ) {
  val somePars_1: Array<Any?>? = somePars as Array<Any?>?
 }

 internal open fun specialMethods_pp_enums() {
  val o1: Int = Enum2.valueOf(
   null!!,
  ).ordinal
  val o2: Int = Enum2.valueOf("VALUE1").ordinal
  val l: Int = Enum2.values().size
 }

 companion object {
  @JvmStatic
  internal fun f_pp_enums(o: Any?): Enum2? {
   return null
  }

  @JvmField
  internal var C_pp_enums: Enum2? = Enum2.f_pp_enums(
   Any(),
  )
 }
}

enum class Enum3 {
 VALUE1(
  Function { v: Int? ->
   return@Function 1 + v!!.toInt()
  },
 );

 constructor(function: Function<Int?, Int?>?)
}
