Hello runner1, good morning! Hello runner1, good morning! Classfile /workspace/Main.class Last modified Dec 8, 2020; size 3049 bytes SHA-256 checksum ceaa871c0f0d159b4c2c754d3200a0409407ce8412a715798102645474d59d5f Compiled from "Main.java" public class Main minor version: 0 major version: 59 flags: (0x0021) ACC_PUBLIC, ACC_SUPER this_class: #56 // Main super_class: #81 // java/lang/Object interfaces: 0, fields: 0, methods: 5, attributes: 3 Constant pool: #1 = Methodref #2.#3 // java/time/LocalTime.now:()Ljava/time/LocalTime; #2 = Class #4 // java/time/LocalTime #3 = NameAndType #5:#6 // now:()Ljava/time/LocalTime; #4 = Utf8 java/time/LocalTime #5 = Utf8 now #6 = Utf8 ()Ljava/time/LocalTime; #7 = Fieldref #8.#9 // java/time/temporal/ChronoField.HOUR_OF_DAY:Ljava/time/temporal/ChronoField; #8 = Class #10 // java/time/temporal/ChronoField #9 = NameAndType #11:#12 // HOUR_OF_DAY:Ljava/time/temporal/ChronoField; #10 = Utf8 java/time/temporal/ChronoField #11 = Utf8 HOUR_OF_DAY #12 = Utf8 Ljava/time/temporal/ChronoField; #13 = Methodref #2.#14 // java/time/LocalTime.get:(Ljava/time/temporal/TemporalField;)I #14 = NameAndType #15:#16 // get:(Ljava/time/temporal/TemporalField;)I #15 = Utf8 get #16 = Utf8 (Ljava/time/temporal/TemporalField;)I #17 = String #18 // night #18 = Utf8 night #19 = String #20 // morning #20 = Utf8 morning #21 = String #22 // afternoon #22 = Utf8 afternoon #23 = String #24 // evening #24 = Utf8 evening #25 = Class #26 // java/lang/AssertionError #26 = Utf8 java/lang/AssertionError #27 = Methodref #25.#28 // java/lang/AssertionError."":()V #28 = NameAndType #29:#30 // "":()V #29 = Utf8 #30 = Utf8 ()V #31 = Fieldref #32.#33 // java/lang/System.out:Ljava/io/PrintStream; #32 = Class #34 // java/lang/System #33 = NameAndType #35:#36 // out:Ljava/io/PrintStream; #34 = Utf8 java/lang/System #35 = Utf8 out #36 = Utf8 Ljava/io/PrintStream; #37 = String #38 // user.name #38 = Utf8 user.name #39 = Methodref #32.#40 // java/lang/System.getProperty:(Ljava/lang/String;)Ljava/lang/String; #40 = NameAndType #41:#42 // getProperty:(Ljava/lang/String;)Ljava/lang/String; #41 = Utf8 getProperty #42 = Utf8 (Ljava/lang/String;)Ljava/lang/String; #43 = InvokeDynamic #0:#44 // #0:makeConcatWithConstants:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; #44 = NameAndType #45:#46 // makeConcatWithConstants:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; #45 = Utf8 makeConcatWithConstants #46 = Utf8 (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; #47 = Methodref #48.#49 // java/io/PrintStream.println:(Ljava/lang/String;)V #48 = Class #50 // java/io/PrintStream #49 = NameAndType #51:#52 // println:(Ljava/lang/String;)V #50 = Utf8 java/io/PrintStream #51 = Utf8 println #52 = Utf8 (Ljava/lang/String;)V #53 = InvokeDynamic #1:#54 // #1:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String; #54 = NameAndType #45:#42 // makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String; #55 = Methodref #56.#57 // Main.invokeManually:(Ljava/lang/String;)V #56 = Class #58 // Main #57 = NameAndType #59:#52 // invokeManually:(Ljava/lang/String;)V #58 = Utf8 Main #59 = Utf8 invokeManually #60 = Methodref #56.#61 // Main.showBytecode:()V #61 = NameAndType #62:#30 // showBytecode:()V #62 = Utf8 showBytecode #63 = Methodref #64.#65 // java/lang/invoke/MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup; #64 = Class #66 // java/lang/invoke/MethodHandles #65 = NameAndType #67:#68 // lookup:()Ljava/lang/invoke/MethodHandles$Lookup; #66 = Utf8 java/lang/invoke/MethodHandles #67 = Utf8 lookup #68 = Utf8 ()Ljava/lang/invoke/MethodHandles$Lookup; #69 = String #70 // foobar #70 = Utf8 foobar #71 = Class #72 // java/lang/String #72 = Utf8 java/lang/String #73 = Methodref #74.#75 // java/lang/invoke/MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType; #74 = Class #76 // java/lang/invoke/MethodType #75 = NameAndType #77:#78 // methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType; #76 = Utf8 java/lang/invoke/MethodType #77 = Utf8 methodType #78 = Utf8 (Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType; #79 = String #80 // Hello \u0002, good \u0001! #80 = Utf8 Hello \u0002, good \u0001! #81 = Class #82 // java/lang/Object #82 = Utf8 java/lang/Object #83 = Methodref #84.#85 // 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; #84 = Class #86 // java/lang/invoke/StringConcatFactory #85 = NameAndType #45:#87 // makeConcatWithConstants:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; #86 = Utf8 java/lang/invoke/StringConcatFactory #87 = Utf8 (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; #88 = Methodref #89.#90 // java/lang/invoke/CallSite.getTarget:()Ljava/lang/invoke/MethodHandle; #89 = Class #91 // java/lang/invoke/CallSite #90 = NameAndType #92:#93 // getTarget:()Ljava/lang/invoke/MethodHandle; #91 = Utf8 java/lang/invoke/CallSite #92 = Utf8 getTarget #93 = Utf8 ()Ljava/lang/invoke/MethodHandle; #94 = Methodref #95.#96 // java/lang/invoke/MethodHandle.invokeExact:(Ljava/lang/String;)Ljava/lang/String; #95 = Class #97 // java/lang/invoke/MethodHandle #96 = NameAndType #98:#42 // invokeExact:(Ljava/lang/String;)Ljava/lang/String; #97 = Utf8 java/lang/invoke/MethodHandle #98 = Utf8 invokeExact #99 = Methodref #48.#100 // java/io/PrintStream.println:()V #100 = NameAndType #51:#30 // println:()V #101 = String #102 // javap #102 = Utf8 javap #103 = InterfaceMethodref #104.#105 // java/util/spi/ToolProvider.findFirst:(Ljava/lang/String;)Ljava/util/Optional; #104 = Class #106 // java/util/spi/ToolProvider #105 = NameAndType #107:#108 // findFirst:(Ljava/lang/String;)Ljava/util/Optional; #106 = Utf8 java/util/spi/ToolProvider #107 = Utf8 findFirst #108 = Utf8 (Ljava/lang/String;)Ljava/util/Optional; #109 = InvokeDynamic #2:#110 // #2:accept:()Ljava/util/function/Consumer; #110 = NameAndType #111:#112 // accept:()Ljava/util/function/Consumer; #111 = Utf8 accept #112 = Utf8 ()Ljava/util/function/Consumer; #113 = Methodref #114.#115 // java/util/Optional.ifPresent:(Ljava/util/function/Consumer;)V #114 = Class #116 // java/util/Optional #115 = NameAndType #117:#118 // ifPresent:(Ljava/util/function/Consumer;)V #116 = Utf8 java/util/Optional #117 = Utf8 ifPresent #118 = Utf8 (Ljava/util/function/Consumer;)V #119 = Methodref #81.#28 // java/lang/Object."":()V #120 = Fieldref #32.#121 // java/lang/System.err:Ljava/io/PrintStream; #121 = NameAndType #122:#36 // err:Ljava/io/PrintStream; #122 = Utf8 err #123 = String #124 // -v #124 = Utf8 -v #125 = String #126 // -c #126 = Utf8 -c #127 = Methodref #128.#129 // java/lang/Class.getName:()Ljava/lang/String; #128 = Class #130 // java/lang/Class #129 = NameAndType #131:#132 // getName:()Ljava/lang/String; #130 = Utf8 java/lang/Class #131 = Utf8 getName #132 = Utf8 ()Ljava/lang/String; #133 = InterfaceMethodref #104.#134 // java/util/spi/ToolProvider.run:(Ljava/io/PrintStream;Ljava/io/PrintStream;[Ljava/lang/String;)I #134 = NameAndType #135:#136 // run:(Ljava/io/PrintStream;Ljava/io/PrintStream;[Ljava/lang/String;)I #135 = Utf8 run #136 = Utf8 (Ljava/io/PrintStream;Ljava/io/PrintStream;[Ljava/lang/String;)I #137 = Utf8 main #138 = Utf8 ([Ljava/lang/String;)V #139 = Utf8 Code #140 = Utf8 LineNumberTable #141 = Utf8 StackMapTable #142 = Utf8 Exceptions #143 = Class #144 // java/lang/Throwable #144 = Utf8 java/lang/Throwable #145 = Utf8 lambda$showBytecode$0 #146 = Utf8 (Ljava/util/spi/ToolProvider;)V #147 = Utf8 SourceFile #148 = Utf8 Main.java #149 = Utf8 BootstrapMethods #150 = MethodHandle 6:#83 // 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; #151 = String #152 // Hello \u0001, good \u0001! #152 = Utf8 Hello \u0001, good \u0001! #153 = String #154 // \u0002\u0001\u0002 #154 = Utf8 \u0002\u0001\u0002 #155 = String #156 // prefix \u0001 #156 = Utf8 prefix \u0001 #157 = String #158 // \u0002 suffix #158 = Utf8 \u0002 suffix #159 = MethodHandle 6:#160 // REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; #160 = Methodref #161.#162 // java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; #161 = Class #163 // java/lang/invoke/LambdaMetafactory #162 = NameAndType #164:#165 // metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; #163 = Utf8 java/lang/invoke/LambdaMetafactory #164 = Utf8 metafactory #165 = Utf8 (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; #166 = MethodType #167 // (Ljava/lang/Object;)V #167 = Utf8 (Ljava/lang/Object;)V #168 = MethodHandle 6:#169 // REF_invokeStatic Main.lambda$showBytecode$0:(Ljava/util/spi/ToolProvider;)V #169 = Methodref #56.#170 // Main.lambda$showBytecode$0:(Ljava/util/spi/ToolProvider;)V #170 = NameAndType #145:#146 // lambda$showBytecode$0:(Ljava/util/spi/ToolProvider;)V #171 = MethodType #146 // (Ljava/util/spi/ToolProvider;)V #172 = Utf8 InnerClasses #173 = Class #174 // java/lang/invoke/MethodHandles$Lookup #174 = Utf8 java/lang/invoke/MethodHandles$Lookup #175 = Utf8 Lookup { public static void main(java.lang.String[]) throws java.lang.Throwable; descriptor: ([Ljava/lang/String;)V flags: (0x0009) ACC_PUBLIC, ACC_STATIC Code: stack=3, locals=3, args_size=1 0: invokestatic #1 // Method java/time/LocalTime.now:()Ljava/time/LocalTime; 3: getstatic #7 // Field java/time/temporal/ChronoField.HOUR_OF_DAY:Ljava/time/temporal/ChronoField; 6: invokevirtual #13 // Method java/time/LocalTime.get:(Ljava/time/temporal/TemporalField;)I 9: bipush 6 11: idiv 12: tableswitch { // 0 to 3 0: 44 1: 49 2: 54 3: 59 default: 64 } 44: ldc #17 // String night 46: goto 72 49: ldc #19 // String morning 51: goto 72 54: ldc #21 // String afternoon 56: goto 72 59: ldc #23 // String evening 61: goto 72 64: new #25 // class java/lang/AssertionError 67: dup 68: invokespecial #27 // Method java/lang/AssertionError."":()V 71: athrow 72: astore_1 73: getstatic #31 // Field java/lang/System.out:Ljava/io/PrintStream; 76: ldc #37 // String user.name 78: invokestatic #39 // Method java/lang/System.getProperty:(Ljava/lang/String;)Ljava/lang/String; 81: aload_1 82: invokedynamic #43, 0 // InvokeDynamic #0:makeConcatWithConstants:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; 87: invokevirtual #47 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 90: aload_1 91: invokedynamic #53, 0 // InvokeDynamic #1:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String; 96: astore_2 97: aload_1 98: invokestatic #55 // Method invokeManually:(Ljava/lang/String;)V 101: invokestatic #60 // Method showBytecode:()V 104: return LineNumberTable: line 13: 0 line 14: 44 line 15: 59 line 18: 73 line 20: 90 line 22: 97 line 24: 101 line 25: 104 StackMapTable: number_of_entries = 6 frame_type = 44 /* same */ frame_type = 4 /* same */ frame_type = 4 /* same */ frame_type = 4 /* same */ frame_type = 4 /* same */ frame_type = 71 /* same_locals_1_stack_item */ stack = [ class java/lang/String ] Exceptions: throws java.lang.Throwable } SourceFile: "Main.java" BootstrapMethods: 0: #150 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: #151 Hello \u0001, good \u0001! 1: #150 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: #153 \u0002\u0001\u0002 #155 prefix \u0001 #157 \u0002 suffix 2: #159 REF_invokeStatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; Method arguments: #166 (Ljava/lang/Object;)V #168 REF_invokeStatic Main.lambda$showBytecode$0:(Ljava/util/spi/ToolProvider;)V #171 (Ljava/util/spi/ToolProvider;)V InnerClasses: public static final #175= #173 of #64; // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles