COMMAND: javap -verbose -classpath build/classes/kotlin/main example.tasks.MainKt
Classfile /home/admin/workspace/my-blogs/examples/kotlin-language/build/classes/kotlin/main/example/tasks/MainKt.class
  Last modified Oct 7, 2026; size 1959 bytes
  SHA-256 checksum 0eae849b20ec6eb752717cbbdccc50666319531a205dab71dba21567fdbdb7df
  Compiled from "Main.kt"
public final class example.tasks.MainKt
  minor version: 0
  major version: 65
  flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: #2                          // example/tasks/MainKt
  super_class: #4                         // java/lang/Object
  interfaces: 0, fields: 0, methods: 2, attributes: 3
Constant pool:
   #1 = Utf8               example/tasks/MainKt
   #2 = Class              #1             // example/tasks/MainKt
   #3 = Utf8               java/lang/Object
   #4 = Class              #3             // java/lang/Object
   #5 = Utf8               submitTask
   #6 = Utf8               ([Ljava/lang/String;)Ljava/lang/String;
   #7 = Utf8               Lorg/jetbrains/annotations/NotNull;
   #8 = Utf8               args
   #9 = String             #8             // args
  #10 = Utf8               kotlin/jvm/internal/Intrinsics
  #11 = Class              #10            // kotlin/jvm/internal/Intrinsics
  #12 = Utf8               checkNotNullParameter
  #13 = Utf8               (Ljava/lang/Object;Ljava/lang/String;)V
  #14 = NameAndType        #12:#13        // checkNotNullParameter:(Ljava/lang/Object;Ljava/lang/String;)V
  #15 = Methodref          #11.#14        // kotlin/jvm/internal/Intrinsics.checkNotNullParameter:(Ljava/lang/Object;Ljava/lang/String;)V
  #16 = Utf8               submit
  #17 = String             #16            // submit
  #18 = Utf8               areEqual
  #19 = Utf8               (Ljava/lang/Object;Ljava/lang/Object;)Z
  #20 = NameAndType        #18:#19        // areEqual:(Ljava/lang/Object;Ljava/lang/Object;)Z
  #21 = Methodref          #11.#20        // kotlin/jvm/internal/Intrinsics.areEqual:(Ljava/lang/Object;Ljava/lang/Object;)Z
  #22 = Utf8               java/lang/CharSequence
  #23 = Class              #22            // java/lang/CharSequence
  #24 = Utf8               kotlin/text/StringsKt
  #25 = Class              #24            // kotlin/text/StringsKt
  #26 = Utf8               isBlank
  #27 = Utf8               (Ljava/lang/CharSequence;)Z
  #28 = NameAndType        #26:#27        // isBlank:(Ljava/lang/CharSequence;)Z
  #29 = Methodref          #25.#28        // kotlin/text/StringsKt.isBlank:(Ljava/lang/CharSequence;)Z
  #30 = Utf8               Usage: submit <task text>
  #31 = String             #30            // Usage: submit <task text>
  #32 = Utf8               java/lang/IllegalArgumentException
  #33 = Class              #32            // java/lang/IllegalArgumentException
  #34 = Utf8               toString
  #35 = Utf8               ()Ljava/lang/String;
  #36 = NameAndType        #34:#35        // toString:()Ljava/lang/String;
  #37 = Methodref          #4.#36         // java/lang/Object.toString:()Ljava/lang/String;
  #38 = Utf8               <init>
  #39 = Utf8               (Ljava/lang/String;)V
  #40 = NameAndType        #38:#39        // "<init>":(Ljava/lang/String;)V
  #41 = Methodref          #33.#40        // java/lang/IllegalArgumentException."<init>":(Ljava/lang/String;)V
  #42 = Utf8               $i$a$-require-MainKt$submitTask$1
  #43 = Utf8               I
  #44 = Utf8               [Ljava/lang/String;
  #45 = Utf8               main
  #46 = Utf8               ([Ljava/lang/String;)V
  #47 = NameAndType        #5:#6          // submitTask:([Ljava/lang/String;)Ljava/lang/String;
  #48 = Methodref          #2.#47         // example/tasks/MainKt.submitTask:([Ljava/lang/String;)Ljava/lang/String;
  #49 = Utf8               TASK input accepted (not persisted): \u0001
  #50 = String             #49            // TASK input accepted (not persisted): \u0001
  #51 = Utf8               java/lang/invoke/StringConcatFactory
  #52 = Class              #51            // java/lang/invoke/StringConcatFactory
  #53 = Utf8               makeConcatWithConstants
  #54 = Utf8               (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
  #55 = NameAndType        #53:#54        // makeConcatWithConstants:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
  #56 = Methodref          #52.#55        // java/lang/invoke/StringConcatFactory.makeConcatWithConstants:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
  #57 = MethodHandle       6:#56          // REF_invokeStatic java/lang/invoke/StringConcatFactory.makeConcatWithConstants:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
  #58 = Utf8               (Ljava/lang/String;)Ljava/lang/String;
  #59 = NameAndType        #53:#58        // makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String;
  #60 = InvokeDynamic      #0:#59         // #0:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String;
  #61 = Utf8               java/lang/System
  #62 = Class              #61            // java/lang/System
  #63 = Utf8               out
  #64 = Utf8               Ljava/io/PrintStream;
  #65 = NameAndType        #63:#64        // out:Ljava/io/PrintStream;
  #66 = Fieldref           #62.#65        // java/lang/System.out:Ljava/io/PrintStream;
  #67 = Utf8               java/io/PrintStream
  #68 = Class              #67            // java/io/PrintStream
  #69 = Utf8               println
  #70 = Utf8               (Ljava/lang/Object;)V
  #71 = NameAndType        #69:#70        // println:(Ljava/lang/Object;)V
  #72 = Methodref          #68.#71        // java/io/PrintStream.println:(Ljava/lang/Object;)V
  #73 = Utf8               Lkotlin/Metadata;
  #74 = Utf8               mv
  #75 = Integer            2
  #76 = Integer            0
  #77 = Utf8               k
  #78 = Utf8               xi
  #79 = Integer            48
  #80 = Utf8               d1
  #81 = Utf8               \u0000\u0018\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010\u0011\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0002\b\u0002\u001a\u0019\u0010\u0000\u001a\u00020\u00012\f\u0010\u0002\u001a\b\u0012\u0004\u0012\u00020\u00010\u0003¢\u0006\u0002\u0010\u0004\u001a\u0019\u0010\u0005\u001a\u00020\u00062\f\u0010\u0002\u001a\b\u0012\u0004\u0012\u00020\u00010\u0003¢\u0006\u0002\u0010\u0007¨\u0006\b
  #82 = Utf8               d2
  #83 = Utf8
  #84 = Utf8               kotlin-task-language
  #85 = Utf8               Main.kt
  #86 = Utf8               Code
  #87 = Utf8               StackMapTable
  #88 = Utf8               LineNumberTable
  #89 = Utf8               LocalVariableTable
  #90 = Utf8               RuntimeInvisibleAnnotations
  #91 = Utf8               RuntimeInvisibleParameterAnnotations
  #92 = Utf8               SourceFile
  #93 = Utf8               RuntimeVisibleAnnotations
  #94 = Utf8               BootstrapMethods
{
  public static final java.lang.String submitTask(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=1
         0: aload_0
         1: ldc           #9                  // String args
         3: invokestatic  #15                 // Method kotlin/jvm/internal/Intrinsics.checkNotNullParameter:(Ljava/lang/Object;Ljava/lang/String;)V
         6: aload_0
         7: arraylength
         8: iconst_2
         9: if_icmpne     47
        12: aload_0
        13: iconst_0
        14: aaload
        15: ldc           #17                 // String submit
        17: invokestatic  #21                 // Method kotlin/jvm/internal/Intrinsics.areEqual:(Ljava/lang/Object;Ljava/lang/Object;)Z
        20: ifeq          47
        23: aload_0
        24: iconst_1
        25: aaload
        26: checkcast     #23                 // class java/lang/CharSequence
        29: invokestatic  #29                 // Method kotlin/text/StringsKt.isBlank:(Ljava/lang/CharSequence;)Z
        32: ifne          39
        35: iconst_1
        36: goto          40
        39: iconst_0
        40: ifeq          47
        43: iconst_1
        44: goto          48
        47: iconst_0
        48: ifne          68
        51: iconst_0
        52: istore_1
        53: ldc           #31                 // String Usage: submit <task text>
        55: astore_1
        56: new           #33                 // class java/lang/IllegalArgumentException
        59: dup
        60: aload_1
        61: invokevirtual #37                 // Method java/lang/Object.toString:()Ljava/lang/String;
        64: invokespecial #41                 // Method java/lang/IllegalArgumentException."<init>":(Ljava/lang/String;)V
        67: athrow
        68: aload_0
        69: iconst_1
        70: aaload
        71: areturn
      StackMapTable: number_of_entries = 5
        frame_type = 39 /* same */
        frame_type = 64 /* same_locals_1_stack_item */
          stack = [ int ]
        frame_type = 6 /* same */
        frame_type = 64 /* same_locals_1_stack_item */
          stack = [ int ]
        frame_type = 19 /* same */
      LineNumberTable:
        line 4: 6
        line 4: 40
        line 5: 53
        line 4: 55
        line 7: 68
      LocalVariableTable:
        Start  Length  Slot  Name   Signature
           53       2     1 $i$a$-require-MainKt$submitTask$1   I
            0      72     0  args   [Ljava/lang/String;
    RuntimeInvisibleAnnotations:
      0: #7()
        org.jetbrains.annotations.NotNull
    RuntimeInvisibleParameterAnnotations:
      parameter 0:
        0: #7()
          org.jetbrains.annotations.NotNull

  public static final void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
         0: aload_0
         1: ldc           #9                  // String args
         3: invokestatic  #15                 // Method kotlin/jvm/internal/Intrinsics.checkNotNullParameter:(Ljava/lang/Object;Ljava/lang/String;)V
         6: aload_0
         7: invokestatic  #48                 // Method submitTask:([Ljava/lang/String;)Ljava/lang/String;
        10: invokedynamic #60,  0             // InvokeDynamic #0:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String;
        15: getstatic     #66                 // Field java/lang/System.out:Ljava/io/PrintStream;
        18: swap
        19: invokevirtual #72                 // Method java/io/PrintStream.println:(Ljava/lang/Object;)V
        22: return
      LineNumberTable:
        line 11: 6
        line 12: 22
      LocalVariableTable:
        Start  Length  Slot  Name   Signature
            0      23     0  args   [Ljava/lang/String;
    RuntimeInvisibleParameterAnnotations:
      parameter 0:
        0: #7()
          org.jetbrains.annotations.NotNull
}
SourceFile: "Main.kt"
RuntimeVisibleAnnotations:
  0: #73(#74=[I#75,I#75,I#76],#77=I#75,#78=I#79,#80=[s#81],#82=[s#5,s#83,s#8,s#83,s#6,s#45,s#83,s#46,s#84])
    kotlin.Metadata(
      mv=[2,2,0]
      k=2
      xi=48
      d1=["\u0000\u0018\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010\u0011\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0002\b\u0002\u001a\u0019\u0010\u0000\u001a\u00020\u00012\f\u0010\u0002\u001a\b\u0012\u0004\u0012\u00020\u00010\u0003¢\u0006\u0002\u0010\u0004\u001a\u0019\u0010\u0005\u001a\u00020\u00062\f\u0010\u0002\u001a\b\u0012\u0004\u0012\u00020\u00010\u0003¢\u0006\u0002\u0010\u0007¨\u0006\b"]
      d2=["submitTask","","args","","([Ljava/lang/String;)Ljava/lang/String;","main","","([Ljava/lang/String;)V","kotlin-task-language"]
    )
BootstrapMethods:
  0: #57 REF_invokeStatic java/lang/invoke/StringConcatFactory.makeConcatWithConstants:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
    Method arguments:
      #50 TASK input accepted (not persisted): \u0001
EXIT_CODE=0
