Skip to content

Instantly share code, notes, and snippets.

@Tatskaari
Created November 1, 2017 19:44
Show Gist options
  • Save Tatskaari/b66aa7717f38fe4f620bb377d672fe68 to your computer and use it in GitHub Desktop.
Save Tatskaari/b66aa7717f38fe4f620bb377d672fe68 to your computer and use it in GitHub Desktop.
// class version 52.0 (52)
// access flags 0x21
public class GustoMain {
// access flags 0x9
public static main([Ljava/lang/String;)V
INVOKEDYNAMIC apply()Ljava/util/function/BiFunction; [
// 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/Object;Ljava/lang/Object;)Ljava/lang/Object;,
// handle kind 0x6 : INVOKESTATIC
GustoMain.lambda$add(Ljava/lang/Integer;Ljava/lang/Integer;)Ljava/lang/Integer;,
(Ljava/lang/Integer;Ljava/lang/Integer;)Ljava/lang/Integer;
]
ASTORE 1
GETSTATIC java/lang/System.out : Ljava/io/PrintStream;
LDC "add complete"
INVOKEVIRTUAL java/io/PrintStream.println (Ljava/lang/String;)V
ALOAD 1
INVOKEDYNAMIC apply(Ljava/util/function/BiFunction;)Ljava/util/function/BiFunction; [
// 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/Object;Ljava/lang/Object;)Ljava/lang/Object;,
// handle kind 0x6 : INVOKESTATIC
GustoMain.lambda$apply(Ljava/util/function/BiFunction;Ljava/util/function/BiFunction;Ljava/lang/Integer;)Ljava/util/function/Function;,
(Ljava/util/function/BiFunction;Ljava/lang/Integer;)Ljava/util/function/Function;
]
ASTORE 2
GETSTATIC java/lang/System.out : Ljava/io/PrintStream;
LDC "apply complete"
INVOKEVIRTUAL java/io/PrintStream.println (Ljava/lang/String;)V
ALOAD 2
ALOAD 1
ICONST_1
INVOKESTATIC java/lang/Integer.valueOf (I)Ljava/lang/Integer;
INVOKEINTERFACE java/util/function/BiFunction.apply (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
CHECKCAST java/util/function/Function
ASTORE 3
GETSTATIC java/lang/System.out : Ljava/io/PrintStream;
LDC "increment complete"
INVOKEVIRTUAL java/io/PrintStream.println (Ljava/lang/String;)V
ALOAD 2
ALOAD 1
ICONST_1
INEG
INVOKESTATIC java/lang/Integer.valueOf (I)Ljava/lang/Integer;
INVOKEINTERFACE java/util/function/BiFunction.apply (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
CHECKCAST java/util/function/Function
ASTORE 4
GETSTATIC java/lang/System.out : Ljava/io/PrintStream;
LDC "decrement complete"
INVOKEVIRTUAL java/io/PrintStream.println (Ljava/lang/String;)V
BIPUSH 10
ISTORE 5
GETSTATIC java/lang/System.out : Ljava/io/PrintStream;
ALOAD 3
ILOAD 5
INVOKESTATIC java/lang/Integer.valueOf (I)Ljava/lang/Integer;
INVOKEINTERFACE java/util/function/Function.apply (Ljava/lang/Object;)Ljava/lang/Object;
CHECKCAST java/lang/Integer
INVOKEVIRTUAL java/lang/Integer.intValue ()I
INVOKEVIRTUAL java/io/PrintStream.println (I)V
GETSTATIC java/lang/System.out : Ljava/io/PrintStream;
ALOAD 4
ILOAD 5
INVOKESTATIC java/lang/Integer.valueOf (I)Ljava/lang/Integer;
INVOKEINTERFACE java/util/function/Function.apply (Ljava/lang/Object;)Ljava/lang/Object;
CHECKCAST java/lang/Integer
INVOKEVIRTUAL java/lang/Integer.intValue ()I
INVOKEVIRTUAL java/io/PrintStream.println (I)V
RETURN
MAXSTACK = 3
MAXLOCALS = 6
// access flags 0x100A
private static synthetic lambda$add(Ljava/lang/Integer;Ljava/lang/Integer;)Ljava/lang/Integer;
ALOAD 0
INVOKEVIRTUAL java/lang/Integer.intValue ()I
ISTORE 2
ALOAD 1
INVOKEVIRTUAL java/lang/Integer.intValue ()I
ISTORE 3
ILOAD 2
ILOAD 3
IADD
INVOKESTATIC java/lang/Integer.valueOf (I)Ljava/lang/Integer;
ARETURN
MAXSTACK = 2
MAXLOCALS = 4
// access flags 0x100A
private static synthetic lambda$apply(Ljava/util/function/BiFunction;Ljava/util/function/BiFunction;Ljava/lang/Integer;)Ljava/util/function/Function;
ALOAD 1
ASTORE 3
ALOAD 2
INVOKEVIRTUAL java/lang/Integer.intValue ()I
ISTORE 4
ALOAD 1
ALOAD 3
ILOAD 4
INVOKEDYNAMIC apply(Ljava/util/function/BiFunction;Ljava/util/function/BiFunction;I)Ljava/util/function/Function; [
// 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/Object;)Ljava/lang/Object;,
// handle kind 0x6 : INVOKESTATIC
GustoMain.lambda$applied(Ljava/util/function/BiFunction;Ljava/util/function/BiFunction;ILjava/lang/Integer;)Ljava/lang/Integer;,
(Ljava/lang/Integer;)Ljava/lang/Integer;
]
ASTORE 5
ALOAD 5
ARETURN
MAXSTACK = 3
MAXLOCALS = 6
// access flags 0x100A
private static synthetic lambda$applied(Ljava/util/function/BiFunction;Ljava/util/function/BiFunction;ILjava/lang/Integer;)Ljava/lang/Integer;
ALOAD 3
INVOKEVIRTUAL java/lang/Integer.intValue ()I
ISTORE 4
ALOAD 3
ILOAD 4
INVOKESTATIC java/lang/Integer.valueOf (I)Ljava/lang/Integer;
ILOAD 4
INVOKESTATIC java/lang/Integer.valueOf (I)Ljava/lang/Integer;
INVOKEINTERFACE java/util/function/BiFunction.apply (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
CHECKCAST java/lang/Integer
INVOKEVIRTUAL java/lang/Integer.intValue ()I
INVOKESTATIC java/lang/Integer.valueOf (I)Ljava/lang/Integer;
ARETURN
MAXSTACK = 3
MAXLOCALS = 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment