FILE: CallBasedInExpressionGenerator.kt package org.jetbrains.kotlin.codegen.range.inExpression public abstract interface ExpressionCodegen : R|kotlin/Any| { } public abstract interface KtSimpleNameExpression : R|kotlin/Any| { } public abstract interface InExpressionGenerator : R|kotlin/Any| { } public abstract interface StackValue : R|kotlin/Any| { } public open class BranchedValue : R|kotlin/Any| { public constructor(): R|org/jetbrains/kotlin/codegen/range/inExpression/BranchedValue| { super() } } public abstract interface Type : R|kotlin/Any| { } public abstract interface KotlinType : R|kotlin/Any| { } public abstract interface Label : R|kotlin/Any| { } public abstract interface InstructionAdapter : R|kotlin/Any| { } public final class CallBasedInExpressionGenerator : R|org/jetbrains/kotlin/codegen/range/inExpression/InExpressionGenerator| { public constructor(codegen: R|org/jetbrains/kotlin/codegen/range/inExpression/ExpressionCodegen|, operatorReference: R|org/jetbrains/kotlin/codegen/range/inExpression/KtSimpleNameExpression|): R|org/jetbrains/kotlin/codegen/range/inExpression/CallBasedInExpressionGenerator| { super() } public final val codegen: R|org/jetbrains/kotlin/codegen/range/inExpression/ExpressionCodegen| = R|/codegen| public get(): R|org/jetbrains/kotlin/codegen/range/inExpression/ExpressionCodegen| private final val resolvedCall: = R|/operatorReference|.#(this@R|org/jetbrains/kotlin/codegen/range/inExpression/CallBasedInExpressionGenerator|.R|org/jetbrains/kotlin/codegen/range/inExpression/CallBasedInExpressionGenerator.codegen|.#) private get(): private final val isInverted: R|kotlin/Boolean| = ==(R|/operatorReference|.#(), #.#) private get(): R|kotlin/Boolean| public open override fun generate(argument: R|org/jetbrains/kotlin/codegen/range/inExpression/StackValue|): R|org/jetbrains/kotlin/codegen/range/inExpression/BranchedValue| { ^generate this@R|org/jetbrains/kotlin/codegen/range/inExpression/CallBasedInExpressionGenerator|.R|org/jetbrains/kotlin/codegen/range/inExpression/CallBasedInExpressionGenerator.gen|(R|/argument|).R|kotlin/let|( = let@fun (it: R|org/jetbrains/kotlin/codegen/range/inExpression/BranchedValue|): R|org/jetbrains/kotlin/codegen/range/inExpression/BranchedValue| { ^ when () { this@R|org/jetbrains/kotlin/codegen/range/inExpression/CallBasedInExpressionGenerator|.R|org/jetbrains/kotlin/codegen/range/inExpression/CallBasedInExpressionGenerator.isInverted| -> { #(R|/it|) } else -> { R|/it| } } } ) } private final fun gen(argument: R|org/jetbrains/kotlin/codegen/range/inExpression/StackValue|): R|org/jetbrains/kotlin/codegen/range/inExpression/BranchedValue| { ^gen object : R|org/jetbrains/kotlin/codegen/range/inExpression/BranchedValue| { private constructor(): R|org/jetbrains/kotlin/codegen/range/inExpression/| { super(R|/argument|, Null(null), R|/argument|.#, #.#) } public open override fun putSelector(type: R|org/jetbrains/kotlin/codegen/range/inExpression/Type|, kotlinType: R|org/jetbrains/kotlin/codegen/range/inExpression/KotlinType?|, v: R|org/jetbrains/kotlin/codegen/range/inExpression/InstructionAdapter|): R|kotlin/Unit| { this@R|org/jetbrains/kotlin/codegen/range/inExpression/|.R|org/jetbrains/kotlin/codegen/range/inExpression/.invokeFunction|(R|/v|) #(R|/type|, R|/kotlinType|, R|/v|) } public open override fun condJump(jumpLabel: R|org/jetbrains/kotlin/codegen/range/inExpression/Label|, v: R|org/jetbrains/kotlin/codegen/range/inExpression/InstructionAdapter|, jumpIfFalse: R|kotlin/Boolean|): R|kotlin/Unit| { this@R|org/jetbrains/kotlin/codegen/range/inExpression/|.R|org/jetbrains/kotlin/codegen/range/inExpression/.invokeFunction|(R|/v|) R|/v|.#(when () { R|/jumpIfFalse| -> { #.# } else -> { #.# } } , R|/jumpLabel|) } private final fun invokeFunction(v: R|org/jetbrains/kotlin/codegen/range/inExpression/InstructionAdapter|): R|kotlin/Unit| { lval result: = this@R|org/jetbrains/kotlin/codegen/range/inExpression/CallBasedInExpressionGenerator|.R|org/jetbrains/kotlin/codegen/range/inExpression/CallBasedInExpressionGenerator.codegen|.#(this@R|org/jetbrains/kotlin/codegen/range/inExpression/CallBasedInExpressionGenerator|.R|org/jetbrains/kotlin/codegen/range/inExpression/CallBasedInExpressionGenerator.resolvedCall|.#, this@R|org/jetbrains/kotlin/codegen/range/inExpression/CallBasedInExpressionGenerator|.R|org/jetbrains/kotlin/codegen/range/inExpression/CallBasedInExpressionGenerator.resolvedCall|, #()) R|/result|.#(R|/result|.#, R|/result|.#, R|/v|) } } } }