``` fun main(args: Array<String>) { arrayL...
# eap
v
Copy code
fun main(args: Array<String>) {
  arrayListOf("hello", "world").forEach {
    println(it)
  }

  String.CASE_INSENSITIVE_ORDER.reversed()
}
compiles to
Copy code
Compiled from "Main.kt"
public final class com.github.vmironov.MainKt {
  public static final void main(java.lang.String[]);
    Code:
       0: aload_0
       1: ldc           #9                  // String args
       3: invokestatic  #15                 // Method kotlin/jvm/internal/Intrinsics.checkParameterIsNotNull:(Ljava/lang/Object;Ljava/lang/String;)V
       6: iconst_2
       7: anewarray     #17                 // class java/lang/String
      10: dup
      11: iconst_0
      12: ldc           #19                 // String hello
      14: aastore
      15: dup
      16: iconst_1
      17: ldc           #21                 // String world
      19: aastore
      20: invokestatic  #27                 // Method kotlin/collections/CollectionsKt.arrayListOf:([Ljava/lang/Object;)Ljava/util/ArrayList;
      23: checkcast     #29                 // class java/lang/Iterable
      26: astore_1
      27: nop
      28: aload_1
      29: invokeinterface #33,  1           // InterfaceMethod java/lang/Iterable.iterator:()Ljava/util/Iterator;
      34: astore_2
      35: aload_2
      36: invokeinterface #39,  1           // InterfaceMethod java/util/Iterator.hasNext:()Z
      41: ifeq          69
      44: aload_2
      45: invokeinterface #43,  1           // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
      50: astore_3
      51: aload_3
      52: checkcast     #17                 // class java/lang/String
      55: astore        4
      57: aload         4
      59: invokestatic  #49                 // Method kotlin/io/ConsoleKt.println:(Ljava/lang/Object;)V
      62: getstatic     #55                 // Field kotlin/Unit.INSTANCE:Lkotlin/Unit;
      65: pop
      66: goto          35
      69: getstatic     #60                 // Field kotlin/jvm/internal/StringCompanionObject.INSTANCE:Lkotlin/jvm/internal/StringCompanionObject;
      72: invokestatic  #66                 // Method kotlin/text/StringsKt.getCASE_INSENSITIVE_ORDER:(Lkotlin/jvm/internal/StringCompanionObject;)Ljava/util/Comparator;
      75: invokeinterface #72,  1           // InterfaceMethod java/util/Comparator.reversed:()Ljava/util/Comparator;
      80: pop
      81: return
}
in case of
forEach
call extension method takes precedence over instance method, but in case of
reversed
the instance method is used