1// class version 52.0 (52) 2// access flags 0x20 3class jdk8/AllInstructions { 4 5 // compiled from: AllInstructions.java 6 // access flags 0x19 7 public final static INNERCLASS java/lang/invoke/MethodHandles$Lookup java/lang/invoke/MethodHandles Lookup 8 9 // access flags 0x0 10 <init>()V 11 L0 12 LINENUMBER 10 L0 13 ALOAD 0 14 INVOKESPECIAL java/lang/Object.<init> ()V 15 RETURN 16 L1 17 LOCALVARIABLE this Ljdk8/AllInstructions; L0 L1 0 18 MAXSTACK = 1 19 MAXLOCALS = 1 20 21 // access flags 0x1 22 // signature (Ljava/util/List<Ljava/lang/String;>;)V 23 // declaration: void invokedynamic(java.util.List<java.lang.String>) 24 public invokedynamic(Ljava/util/List;)V 25 // parameter strings 26 L0 27 LINENUMBER 12 L0 28 ICONST_3 29 ANEWARRAY java/lang/String 30 DUP 31 ICONST_0 32 LDC "a" 33 AASTORE 34 DUP 35 ICONST_1 36 LDC "b" 37 AASTORE 38 DUP 39 ICONST_2 40 LDC "c" 41 AASTORE 42 INVOKESTATIC java/util/Arrays.asList ([Ljava/lang/Object;)Ljava/util/List; 43 ASTORE 2 44 L1 45 LINENUMBER 13 L1 46 ALOAD 1 47 ALOAD 2 48 INVOKEDYNAMIC accept(Ljava/util/List;)Ljava/util/function/Consumer; [ 49 // handle kind 0x6 : INVOKESTATIC 50 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; 51 // arguments: 52 (Ljava/lang/Object;)V, 53 // handle kind 0x6 : INVOKESTATIC 54 jdk8/AllInstructions.lambda$invokedynamic$0(Ljava/util/List;Ljava/lang/String;)V, 55 (Ljava/lang/String;)V 56 ] 57 INVOKEINTERFACE java/util/List.forEach (Ljava/util/function/Consumer;)V (itf) 58 L2 59 LINENUMBER 17 L2 60 RETURN 61 L3 62 LOCALVARIABLE this Ljdk8/AllInstructions; L0 L3 0 63 LOCALVARIABLE strings Ljava/util/List; L0 L3 1 64 // signature Ljava/util/List<Ljava/lang/String;>; 65 // declaration: strings extends java.util.List<java.lang.String> 66 LOCALVARIABLE validStrings Ljava/util/List; L1 L3 2 67 // signature Ljava/util/List<Ljava/lang/String;>; 68 // declaration: validStrings extends java.util.List<java.lang.String> 69 MAXSTACK = 4 70 MAXLOCALS = 3 71 72 // access flags 0x100A 73 private static synthetic lambda$invokedynamic$0(Ljava/util/List;Ljava/lang/String;)V 74 // parameter final synthetic validStrings 75 // parameter synthetic s 76 L0 77 LINENUMBER 14 L0 78 ALOAD 0 79 ALOAD 1 80 INVOKEINTERFACE java/util/List.contains (Ljava/lang/Object;)Z (itf) 81 IFNE L1 82 L2 83 LINENUMBER 15 L2 84 GETSTATIC java/lang/System.out : Ljava/io/PrintStream; 85 LDC "Invalid string %s\n" 86 ICONST_1 87 ANEWARRAY java/lang/Object 88 DUP 89 ICONST_0 90 ALOAD 1 91 AASTORE 92 INVOKEVIRTUAL java/io/PrintStream.printf (Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream; 93 POP 94 L1 95 LINENUMBER 16 L1 96 FRAME SAME 97 RETURN 98 L3 99 LOCALVARIABLE validStrings Ljava/util/List; L0 L3 0 100 LOCALVARIABLE s Ljava/lang/String; L0 L3 1 101 MAXSTACK = 6 102 MAXLOCALS = 2 103} 104