Coverage Summary for Class: IrFunctionHelperKt (com.kotlinorm.compiler.helpers)

Class Method, % Branch, % Line, % Instruction, %
IrFunctionHelperKt 100% (1/1) 50% (2/4) 75% (6/8) 71.2% (47/66)
IrFunctionHelperKt$WhenMappings
Total 100% (1/1) 50% (2/4) 75% (6/8) 71.2% (47/66)


 /**
  * Copyright 2022-2025 kronos-orm
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 package com.kotlinorm.compiler.helpers
 
 import org.jetbrains.kotlin.ir.declarations.IrFunction
 import org.jetbrains.kotlin.ir.declarations.IrParameterKind
 import org.jetbrains.kotlin.ir.declarations.IrValueParameter
 import org.jetbrains.kotlin.ir.util.copyTo
 
 /**
  * Sets the value parameter of a function.
  * Please ensure that the function has a value parameter of the specified kind.
  * Only support `IrParameterKind.DispatchReceiver` and `IrParameterKind.ExtensionReceiver` now.
  */
 operator fun IrFunction.set(paramKind: IrParameterKind, param: IrValueParameter?) {
     if (param == null) throw IllegalArgumentException("Parameter must not be null")
     val pos = when (paramKind) {
         IrParameterKind.DispatchReceiver -> 0
         IrParameterKind.ExtensionReceiver -> 1
         else -> throw IllegalArgumentException("Unsupported parameter kind: $paramKind")
     }
     parameters = parameters.toMutableList().apply {
         set(pos, param.copyTo(this@set, kind = paramKind))
     }
 }