item42
19 removals
66 lines
50 additions
96 lines
// class version 55.0 (55)
// class version 55.0 (55)
// access flags 0x21
// access flags 0x21
public class com/okeydokey/study/effectivejava/item42/Test {
public class com/okeydokey/study/effectivejava/item42/Test2 {
// compiled from: Test.java
// compiled from: Test2.java
NESTMEMBER com/okeydokey/study/effectivejava/item42/Test$1
// access flags 0x19
// access flags 0x0
public final static INNERCLASS java/lang/invoke/MethodHandles$Lookup java/lang/invoke/MethodHandles Lookup
INNERCLASS com/okeydokey/study/effectivejava/item42/Test$1 null null
// access flags 0x12
// access flags 0x12
private final I value = 100
private final I value = 100
// access flags 0x1
// access flags 0x1
public Lcom/okeydokey/study/effectivejava/item42/LambdaTest; test
public Lcom/okeydokey/study/effectivejava/item42/LambdaTest; test
// access flags 0x1
// access flags 0x1
public <init>()V
public <init>()V
L0
L0
LINENUMBER 3 L0
LINENUMBER 3 L0
ALOAD 0
ALOAD 0
INVOKESPECIAL java/lang/Object.<init> ()V
INVOKESPECIAL java/lang/Object.<init> ()V
L1
L1
LINENUMBER 4 L1
LINENUMBER 4 L1
ALOAD 0
ALOAD 0
BIPUSH 100
BIPUSH 100
PUTFIELD com/okeydokey/study/effectivejava/item42/Test.value : I
PUTFIELD com/okeydokey/study/effectivejava/item42/Test2.value : I
L2
L2
LINENUMBER 5 L2
LINENUMBER 5 L2
ALOAD 0
ALOAD 0
NEW com/okeydokey/study/effectivejava/item42/Test$1
DUP
ALOAD 0
ALOAD 0
INVOKESPECIAL com/okeydokey/study/effectivejava/item42/Test$1.<init> (Lcom/okeydokey/study/effectivejava/item42/Test;)V
INVOKEDYNAMIC getValue(Lcom/okeydokey/study/effectivejava/item42/Test2;)Lcom/okeydokey/study/effectivejava/item42/LambdaTest; [
PUTFIELD com/okeydokey/study/effectivejava/item42/Test.test : Lcom/okeydokey/study/effectivejava/item42/LambdaTest;
// handle kind 0x6 : 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;
// arguments:
()Ljava/lang/String;,
// handle kind 0x7 : INVOKESPECIAL
com/okeydokey/study/effectivejava/item42/Test2.lambda$new$0()Ljava/lang/String;,
()Ljava/lang/String;
]
PUTFIELD com/okeydokey/study/effectivejava/item42/Test2.test : Lcom/okeydokey/study/effectivejava/item42/LambdaTest;
RETURN
RETURN
L3
L3
LOCALVARIABLE this Lcom/okeydokey/study/effectivejava/item42/Test; L0 L3 0
LOCALVARIABLE this Lcom/okeydokey/study/effectivejava/item42/Test2; L0 L3 0
MAXSTACK = 4
MAXSTACK = 2
MAXLOCALS = 1
MAXLOCALS = 1
// access flags 0x9
// access flags 0x9
public static main([Ljava/lang/String;)V
public static main([Ljava/lang/String;)V
// parameter args
// parameter args
L0
L0
LINENUMBER 14 L0
LINENUMBER 11 L0
NEW com/okeydokey/study/effectivejava/item42/Test
NEW com/okeydokey/study/effectivejava/item42/Test2
DUP
DUP
INVOKESPECIAL com/okeydokey/study/effectivejava/item42/Test.<init> ()V
INVOKESPECIAL com/okeydokey/study/effectivejava/item42/Test2.<init> ()V
ASTORE 1
ASTORE 1
L1
L1
LINENUMBER 15 L1
LINENUMBER 12 L1
GETSTATIC java/lang/System.out : Ljava/io/PrintStream;
GETSTATIC java/lang/System.out : Ljava/io/PrintStream;
ALOAD 1
ALOAD 1
GETFIELD com/okeydokey/study/effectivejava/item42/Test.test : Lcom/okeydokey/study/effectivejava/item42/LambdaTest;
GETFIELD com/okeydokey/study/effectivejava/item42/Test2.test : Lcom/okeydokey/study/effectivejava/item42/LambdaTest;
INVOKEINTERFACE com/okeydokey/study/effectivejava/item42/LambdaTest.getValue ()Ljava/lang/String; (itf)
INVOKEINTERFACE com/okeydokey/study/effectivejava/item42/LambdaTest.getValue ()Ljava/lang/String; (itf)
INVOKEVIRTUAL java/io/PrintStream.println (Ljava/lang/String;)V
INVOKEVIRTUAL java/io/PrintStream.println (Ljava/lang/String;)V
L2
L2
LINENUMBER 16 L2
LINENUMBER 13 L2
RETURN
RETURN
L3
L3
LOCALVARIABLE args [Ljava/lang/String; L0 L3 0
LOCALVARIABLE args [Ljava/lang/String; L0 L3 0
LOCALVARIABLE test Lcom/okeydokey/study/effectivejava/item42/Test; L1 L3 1
LOCALVARIABLE test Lcom/okeydokey/study/effectivejava/item42/Test2; L1 L3 1
MAXSTACK = 2
MAXSTACK = 2
MAXLOCALS = 2
MAXLOCALS = 2
// access flags 0x1002
private synthetic lambda$new$0()Ljava/lang/String;
L0
LINENUMBER 6 L0
SIPUSH 200
ISTORE 1
L1
LINENUMBER 7 L1
ALOAD 0
INVOKESTATIC java/util/Objects.requireNonNull (Ljava/lang/Object;)Ljava/lang/Object;
POP
BIPUSH 100
INVOKEDYNAMIC makeConcatWithConstants(I)Ljava/lang/String; [
// handle kind 0x6 : 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;
// arguments:
"value\ub294? \u0001"
]
ARETURN
L2
LOCALVARIABLE this Lcom/okeydokey/study/effectivejava/item42/Test2; L0 L2 0
LOCALVARIABLE value I L1 L2 1
MAXSTACK = 1
MAXLOCALS = 2
}
}