Classfile /C:/code/test/Test25.class Last modified Aug 10, 2023; size 2123 bytes SHA-256 checksum ed2101f59572406666568de38ada5cf4c627afe5d48e1ef81171d0344461232e Compiled from "Test25.java" class Test25 minor version: 0 major version: 66 flags: (0x0020) ACC_SUPER this_class: #12 // Test25 super_class: #2 // java/lang/Object interfaces: 0, fields: 1, methods: 4, attributes: 4 Constant pool: #1 = Methodref #2.#3 // java/lang/Object."":()V #2 = Class #4 // java/lang/Object #3 = NameAndType #5:#6 // "":()V #4 = Utf8 java/lang/Object #5 = Utf8 #6 = Utf8 ()V #7 = InvokeDynamic #0:#8 // #0:m:(LTest25;)LTest25$MapFun; #8 = NameAndType #9:#10 // m:(LTest25;)LTest25$MapFun; #9 = Utf8 m #10 = Utf8 (LTest25;)LTest25$MapFun; #11 = Fieldref #12.#13 // Test25.nf:LTest25$MapFun; #12 = Class #14 // Test25 #13 = NameAndType #15:#16 // nf:LTest25$MapFun; #14 = Utf8 Test25 #15 = Utf8 nf #16 = Utf8 LTest25$MapFun; #17 = Fieldref #18.#19 // java/lang/System.out:Ljava/io/PrintStream; #18 = Class #20 // java/lang/System #19 = NameAndType #21:#22 // out:Ljava/io/PrintStream; #20 = Utf8 java/lang/System #21 = Utf8 out #22 = Utf8 Ljava/io/PrintStream; #23 = InterfaceMethodref #24.#25 // Test25$MapFun.m:(Ljava/lang/Object;)Ljava/lang/Object; #24 = Class #26 // Test25$MapFun #25 = NameAndType #9:#27 // m:(Ljava/lang/Object;)Ljava/lang/Object; #26 = Utf8 Test25$MapFun #27 = Utf8 (Ljava/lang/Object;)Ljava/lang/Object; #28 = Methodref #29.#30 // java/lang/String.valueOf:(Ljava/lang/Object;)Ljava/lang/String; #29 = Class #31 // java/lang/String #30 = NameAndType #32:#33 // valueOf:(Ljava/lang/Object;)Ljava/lang/String; #31 = Utf8 java/lang/String #32 = Utf8 valueOf #33 = Utf8 (Ljava/lang/Object;)Ljava/lang/String; #34 = InvokeDynamic #1:#35 // #1:makeConcatWithConstants:(Ljava/lang/Integer;Ljava/lang/String;)Ljava/lang/String; #35 = NameAndType #36:#37 // makeConcatWithConstants:(Ljava/lang/Integer;Ljava/lang/String;)Ljava/lang/String; #36 = Utf8 makeConcatWithConstants #37 = Utf8 (Ljava/lang/Integer;Ljava/lang/String;)Ljava/lang/String; #38 = Methodref #39.#40 // java/io/PrintStream.println:(Ljava/lang/String;)V #39 = Class #41 // java/io/PrintStream #40 = NameAndType #42:#43 // println:(Ljava/lang/String;)V #41 = Utf8 java/io/PrintStream #42 = Utf8 println #43 = Utf8 (Ljava/lang/String;)V #44 = Methodref #12.#3 // Test25."":()V #45 = Methodref #46.#47 // java/lang/Integer.valueOf:(I)Ljava/lang/Integer; #46 = Class #48 // java/lang/Integer #47 = NameAndType #32:#49 // valueOf:(I)Ljava/lang/Integer; #48 = Utf8 java/lang/Integer #49 = Utf8 (I)Ljava/lang/Integer; #50 = Methodref #12.#51 // Test25.testm:(Ljava/lang/Integer;)V #51 = NameAndType #52:#53 // testm:(Ljava/lang/Integer;)V #52 = Utf8 testm #53 = Utf8 (Ljava/lang/Integer;)V #54 = Methodref #46.#55 // java/lang/Integer.intValue:()I #55 = NameAndType #56:#57 // intValue:()I #56 = Utf8 intValue #57 = Utf8 ()I #58 = Class #59 // java/lang/Double #59 = Utf8 java/lang/Double #60 = Methodref #58.#61 // java/lang/Double.doubleValue:()D #61 = NameAndType #62:#63 // doubleValue:()D #62 = Utf8 doubleValue #63 = Utf8 ()D #64 = Methodref #58.#65 // java/lang/Double.valueOf:(D)Ljava/lang/Double; #65 = NameAndType #32:#66 // valueOf:(D)Ljava/lang/Double; #66 = Utf8 (D)Ljava/lang/Double; #67 = Utf8 Signature #68 = Utf8 LTest25$MapFun; #69 = Utf8 Code #70 = Utf8 LineNumberTable #71 = Utf8 RuntimeInvisibleTypeAnnotations #72 = Utf8 LAC; #73 = Utf8 value #74 = Utf8 LA; #75 = Utf8 main #76 = Utf8 ([Ljava/lang/String;)V #77 = Utf8 lambda$testm$0 #78 = Utf8 (Ljava/lang/Integer;)Ljava/lang/Double; #79 = Utf8 StackMapTable #80 = Utf8 LB; #81 = Utf8 SourceFile #82 = Utf8 Test25.java #83 = Utf8 NestMembers #84 = Utf8 BootstrapMethods #85 = MethodType #27 // (Ljava/lang/Object;)Ljava/lang/Object; #86 = MethodHandle 5:#87 // REF_invokeVirtual Test25.lambda$testm$0:(Ljava/lang/Integer;)Ljava/lang/Double; #87 = Methodref #12.#88 // Test25.lambda$testm$0:(Ljava/lang/Integer;)Ljava/lang/Double; #88 = NameAndType #77:#78 // lambda$testm$0:(Ljava/lang/Integer;)Ljava/lang/Double; #89 = MethodType #78 // (Ljava/lang/Integer;)Ljava/lang/Double; #90 = String #91 // nf.m(\u0001): \u0001 #91 = Utf8 nf.m(\u0001): \u0001 #92 = MethodHandle 6:#93 // 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; #93 = Methodref #94.#95 // 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; #94 = Class #96 // java/lang/invoke/LambdaMetafactory #95 = NameAndType #97:#98 // 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; #96 = Utf8 java/lang/invoke/LambdaMetafactory #97 = Utf8 metafactory #98 = 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; #99 = MethodHandle 6:#100 // 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; #100 = Methodref #101.#102 // 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; #101 = Class #103 // java/lang/invoke/StringConcatFactory #102 = NameAndType #36:#104 // makeConcatWithConstants:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; #103 = Utf8 java/lang/invoke/StringConcatFactory #104 = Utf8 (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; #105 = Utf8 InnerClasses #106 = Utf8 MapFun #107 = Class #108 // java/lang/invoke/MethodHandles$Lookup #108 = Utf8 java/lang/invoke/MethodHandles$Lookup #109 = Class #110 // java/lang/invoke/MethodHandles #110 = Utf8 java/lang/invoke/MethodHandles #111 = Utf8 Lookup { Test25$MapFun nf; descriptor: LTest25$MapFun; flags: (0x0000) Signature: #68 // LTest25$MapFun; Test25(); descriptor: ()V flags: (0x0000) Code: stack=1, locals=1, args_size=1 0: aload_0 1: invokespecial #1 // Method java/lang/Object."":()V 4: return LineNumberTable: line 8: 0 void testm(java.lang.Integer); descriptor: (Ljava/lang/Integer;)V flags: (0x0000) Code: stack=4, locals=2, args_size=2 0: aload_0 1: aload_0 2: invokedynamic #7, 0 // InvokeDynamic #0:m:(LTest25;)LTest25$MapFun; 7: putfield #11 // Field nf:LTest25$MapFun; 10: getstatic #17 // Field java/lang/System.out:Ljava/io/PrintStream; 13: aload_1 14: aload_0 15: getfield #11 // Field nf:LTest25$MapFun; 18: aload_1 19: invokeinterface #23, 2 // InterfaceMethod Test25$MapFun.m:(Ljava/lang/Object;)Ljava/lang/Object; 24: invokestatic #28 // Method java/lang/String.valueOf:(Ljava/lang/Object;)Ljava/lang/String; 27: invokedynamic #34, 0 // InvokeDynamic #1:makeConcatWithConstants:(Ljava/lang/Integer;Ljava/lang/String;)Ljava/lang/String; 32: invokevirtual #38 // Method java/io/PrintStream.println:(Ljava/lang/String;)V 35: return LineNumberTable: line 12: 0 line 13: 10 line 14: 35 RuntimeInvisibleTypeAnnotations: 0: #72(#73=[@#74(),@#74()]): CAST, offset=45, type_index=0 AC( value=[@A,@A] ) public static void main(java.lang.String...); descriptor: ([Ljava/lang/String;)V flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS Code: stack=2, locals=1, args_size=1 0: new #12 // class Test25 3: dup 4: invokespecial #44 // Method "":()V 7: iconst_5 8: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer; 11: invokevirtual #50 // Method testm:(Ljava/lang/Integer;)V 14: return LineNumberTable: line 15: 0 private java.lang.Double lambda$testm$0(java.lang.Integer); descriptor: (Ljava/lang/Integer;)Ljava/lang/Double; flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC Code: stack=4, locals=2, args_size=2 0: aload_1 1: invokevirtual #54 // Method java/lang/Integer.intValue:()I 4: iconst_1 5: if_icmpne 12 8: dconst_1 9: goto 48 12: aload_0 13: getfield #11 // Field nf:LTest25$MapFun; 16: aload_1 17: invokevirtual #54 // Method java/lang/Integer.intValue:()I 20: iconst_1 21: isub 22: invokestatic #45 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer; 25: invokeinterface #23, 2 // InterfaceMethod Test25$MapFun.m:(Ljava/lang/Object;)Ljava/lang/Object; 30: checkcast #58 // class java/lang/Double 33: invokevirtual #60 // Method java/lang/Double.doubleValue:()D 36: aload_1 37: invokevirtual #54 // Method java/lang/Integer.intValue:()I 40: i2d 41: dmul 42: invokestatic #64 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double; 45: invokevirtual #60 // Method java/lang/Double.doubleValue:()D 48: invokestatic #64 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double; 51: areturn LineNumberTable: line 12: 0 StackMapTable: number_of_entries = 2 frame_type = 12 /* same */ frame_type = 99 /* same_locals_1_stack_item */ stack = [ double ] RuntimeInvisibleTypeAnnotations: 0: #80(): CAST, offset=45, type_index=0 B } SourceFile: "Test25.java" NestMembers: Test25$MapFun BootstrapMethods: 0: #92 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: #85 (Ljava/lang/Object;)Ljava/lang/Object; #86 REF_invokeVirtual Test25.lambda$testm$0:(Ljava/lang/Integer;)Ljava/lang/Double; #89 (Ljava/lang/Integer;)Ljava/lang/Double; 1: #99 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: #90 nf.m(\u0001): \u0001 InnerClasses: static #106= #24 of #12; // MapFun=class Test25$MapFun of class Test25 public static final #111= #107 of #109; // Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles