// Generated from "booleanoperations/BooleanOperations.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 booleanoperations

import javaemul.lang.*
import kotlin.Boolean
import kotlin.Suppress
import kotlin.jvm.JvmField
import kotlin.jvm.JvmStatic
import kotlin.run

open class BooleanOperations {
 open fun test() {
  var ls: Boolean = true
  val rs: Boolean = true
  var r: Boolean = true
  val t: Boolean = !!!true
  r = ls == rs
  r = ls != rs
  r = ls.xor(rs)
  r = ls.and(rs)
  r = ls.or(rs)
  r = ls && rs
  r = ls || rs
  r = run {
   ls = rs
   ls
  }
  r = r.xor(rs)
  r = r.and(rs)
  r = r.or(rs)
  BooleanOperations.acceptBoolean(
   ls == rs,
  )
  BooleanOperations.acceptBoolean(
   ls != rs,
  )
  BooleanOperations.acceptBoolean(
   ls.xor(rs),
  )
  BooleanOperations.acceptBoolean(
   ls.and(rs),
  )
  BooleanOperations.acceptBoolean(
   ls.or(rs),
  )
  BooleanOperations.acceptBoolean(
   ls && rs,
  )
  BooleanOperations.acceptBoolean(
   ls || rs,
  )
  BooleanOperations.acceptBoolean(
   run {
    ls = rs
    ls
   },
  )
  var br: Boolean? = null
  br = (ls == rs) as Boolean
  br = (ls != rs) as Boolean
  br = ls.xor(rs) as Boolean
  br = ls.and(rs) as Boolean
  br = ls.or(rs) as Boolean
  br = (ls && rs) as Boolean
  br = (ls || rs) as Boolean
  br = run {
   ls = rs
   ls
  } as Boolean
  if (ls == rs) {
   r = true
  }
  if (ls != rs) {
   r = true
  }
  if (ls.xor(rs)) {
   r = true
  }
  if (ls.and(rs)) {
   r = true
  }
  if (ls.or(rs)) {
   r = true
  }
  if (ls && rs) {
   r = true
  }
  if (ls || rs) {
   r = true
  }
  open class Outer internal constructor() {
   @JvmField
   internal var b_pp_booleanoperations: Boolean = false

   open inner class Inner internal constructor() {
    init {
     this@Outer.b_pp_booleanoperations = this@Outer.b_pp_booleanoperations.or(true)
    }
   }
  }
  val finalOuter: Outer = Outer()
  finalOuter.b_pp_booleanoperations = finalOuter.b_pp_booleanoperations.or(true)
  var outer: Outer? = Outer()
  outer!!.b_pp_booleanoperations = outer!!.b_pp_booleanoperations.or(
   run {
    outer = null
    outer
   } == null,
  )
 }

 companion object {
  @JvmStatic
  private fun acceptBoolean(b: Boolean) {}
 }
}
