// CHECK:
//   Mangled name: {}spentTime
//   Public signature: /spentTime|1981050075795716305[0]
//   Public signature debug description: {}spentTime
val spentTime: Column
  // CHECK JVM_IR:
  //   Mangled name: #<get-spentTime>(){}Column
  //   Public signature: /spentTime.<get-spentTime>|3550920958732313011[0]
  //   Public signature debug description: <get-spentTime>(){}Column
  // CHECK JS_IR NATIVE:
  //   Mangled name: #<get-spentTime>(){}
  //   Public signature: /spentTime.<get-spentTime>|4978928361098048101[0]
  //   Public signature debug description: <get-spentTime>(){}
  get

// CHECK:
//   Mangled name: ArgumentsBuilder
//   Public signature: /ArgumentsBuilder|null[0]
class ArgumentsBuilder {
  // CHECK:
  //   Mangled name: ArgumentsBuilder{}arguments
  //   Public signature: /ArgumentsBuilder.arguments|-8426540515456712294[0]
  //   Public signature debug description: {}arguments
  val arguments: MutableList<Expression>
    // CHECK JVM_IR:
    //   Mangled name: ArgumentsBuilder#<get-arguments>(){}kotlin.collections.MutableList<Expression>
    //   Public signature: /ArgumentsBuilder.arguments.<get-arguments>|7867094825942376438[0]
    //   Public signature debug description: <get-arguments>(){}kotlin.collections.MutableList<Expression>
    // CHECK JS_IR NATIVE:
    //   Mangled name: ArgumentsBuilder#<get-arguments>(){}
    //   Public signature: /ArgumentsBuilder.arguments.<get-arguments>|-1703265137246288058[0]
    //   Public signature debug description: <get-arguments>(){}
    get

  // CHECK:
  //   Mangled name: ArgumentsBuilder#<init>(){}
  //   Public signature: /ArgumentsBuilder.<init>|-5645683436151566731[0]
  //   Public signature debug description: <init>(){}
  constructor() /* primary */

  // CHECK:
  //   Mangled name: ArgumentsBuilder#unaryPlus@Expression(){}
  //   Public signature: /ArgumentsBuilder.unaryPlus|-2215785624257595840[0]
  //   Public signature debug description: unaryPlus@Expression(){}
  operator fun Expression.unaryPlus(): Unit

}

// CHECK:
//   Mangled name: Column
//   Public signature: /Column|null[0]
class Column {
  // CHECK:
  //   Mangled name: Column#<init>(){}
  //   Public signature: /Column.<init>|-5645683436151566731[0]
  //   Public signature debug description: <init>(){}
  constructor() /* primary */

}

// CHECK:
//   Mangled name: Expression
//   Public signature: /Expression|null[0]
class Expression {
  // CHECK:
  //   Mangled name: Expression#<init>(){}
  //   Public signature: /Expression.<init>|-5645683436151566731[0]
  //   Public signature debug description: <init>(){}
  constructor() /* primary */

}

// CHECK JVM_IR:
//   Mangled name: #countIssues(kotlin.Function1<ArgumentsBuilder,kotlin.Unit>){}
//   Public signature: [ File 'timesInBuilder.kt' <- /countIssues|-3006686104129982000[0] ]
// CHECK JS_IR NATIVE:
//   Mangled name: #countIssues(kotlin.Function1<ArgumentsBuilder,kotlin.Unit>){}
private fun countIssues(restrictionsBuilder: @ExtensionFunctionType Function1<ArgumentsBuilder, Unit>): Unit

// CHECK JVM_IR:
//   Mangled name: #id(0:0){0§<kotlin.Any?>}0:0
//   Public signature: /id|-6791396263062521506[0]
//   Public signature debug description: id(0:0){0§<kotlin.Any?>}0:0
// CHECK JS_IR NATIVE:
//   Mangled name: #id(0:0){0§<kotlin.Any?>}
//   Public signature: /id|9187295668833355463[0]
//   Public signature debug description: id(0:0){0§<kotlin.Any?>}
fun <I : Any?> id(arg: I): I

// CHECK JVM_IR:
//   Mangled name: #integer(kotlin.String){}Column
//   Public signature: /integer|-7515290819735707124[0]
//   Public signature debug description: integer(kotlin.String){}Column
// CHECK JS_IR NATIVE:
//   Mangled name: #integer(kotlin.String){}
//   Public signature: /integer|262583755062252780[0]
//   Public signature debug description: integer(kotlin.String){}
fun integer(name: String): Column

// CHECK JVM_IR:
//   Mangled name: #lessEq@Column(0:0){0§<kotlin.Comparable<0:0>>}Expression
//   Public signature: /lessEq|144930027420774562[0]
//   Public signature debug description: lessEq@Column(0:0){0§<kotlin.Comparable<0:0>>}Expression
// CHECK JS_IR NATIVE:
//   Mangled name: #lessEq@Column(0:0){0§<kotlin.Comparable<0:0>>}
//   Public signature: /lessEq|-511538213983026615[0]
//   Public signature debug description: lessEq@Column(0:0){0§<kotlin.Comparable<0:0>>}
infix fun <T : Comparable<T>> Column.lessEq(t: T): Expression

// CHECK JVM_IR:
//   Mangled name: #select@Column(0:0;0:0){0§<kotlin.Comparable<0:0>>}Expression
//   Public signature: /select|-7119975056707584867[0]
//   Public signature debug description: select@Column(0:0;0:0){0§<kotlin.Comparable<0:0>>}Expression
// CHECK JS_IR NATIVE:
//   Mangled name: #select@Column(0:0;0:0){0§<kotlin.Comparable<0:0>>}
//   Public signature: /select|-2152906716157697979[0]
//   Public signature debug description: select@Column(0:0;0:0){0§<kotlin.Comparable<0:0>>}
fun <T : Comparable<T>> Column.select(t: T, r: T): Expression

// CHECK JVM_IR:
//   Mangled name: #test(kotlin.Long){}
//   Public signature: [ File 'timesInBuilder.kt' <- /test|-2956403500052581138[0] ]
// CHECK JS_IR NATIVE:
//   Mangled name: #test(kotlin.Long){}
private fun test(x: Long): Unit

