Last active
April 30, 2017 05:30
-
-
Save j5ik2o/2e765f63f7eb6a07fbd1eeadf5fb9829 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
scala> val getTimeString = new Function0[String] { | |
| override def apply: String = ZonedDateTime.now.toString | |
| } | |
getTimeString: () => String = <function0> | |
scala> :javap getTimeString | |
Size 902 bytes | |
MD5 checksum dc6b8c20b0a3937afbe114e129c22cb9 | |
Compiled from "<console>" | |
public class $line4.$read$$iw$$iw$$iw$$iw$ | |
minor version: 0 | |
major version: 52 | |
flags: ACC_PUBLIC, ACC_SUPER | |
Constant pool: | |
#1 = Utf8 $line4/$read$$iw$$iw$$iw$$iw$ | |
#2 = Class #1 // $line4/$read$$iw$$iw$$iw$$iw$ | |
#3 = Utf8 java/lang/Object | |
#4 = Class #3 // java/lang/Object | |
#5 = Utf8 <console> | |
#6 = Utf8 $line4/$read$$iw$ | |
#7 = Class #6 // $line4/$read$$iw$ | |
#8 = Utf8 $line4/$read | |
#9 = Class #8 // $line4/$read | |
#10 = Utf8 $iw$ | |
#11 = Utf8 $line4/$read$$iw$$iw$ | |
#12 = Class #11 // $line4/$read$$iw$$iw$ | |
#13 = Utf8 $line4/$read$$iw$$iw$$iw$ | |
#14 = Class #13 // $line4/$read$$iw$$iw$$iw$ | |
#15 = Utf8 $line4/$read$$iw$$iw$$iw$$iw$$anon$1 | |
#16 = Class #15 // $line4/$read$$iw$$iw$$iw$$iw$$anon$1 | |
#17 = Utf8 MODULE$ | |
#18 = Utf8 L$line4/$read$$iw$$iw$$iw$$iw$; | |
#19 = Utf8 getTimeString | |
#20 = Utf8 Lscala/Function0; | |
#21 = Utf8 Lscala/Function0<Ljava/lang/String;>; | |
#22 = Utf8 <clinit> | |
#23 = Utf8 ()V | |
#24 = Utf8 <init> | |
#25 = NameAndType #24:#23 // "<init>":()V | |
#26 = Methodref #2.#25 // $line4/$read$$iw$$iw$$iw$$iw$."<init>":()V | |
#27 = Utf8 ()Lscala/Function0; | |
#28 = NameAndType #19:#20 // getTimeString:Lscala/Function0; | |
#29 = Fieldref #2.#28 // $line4/$read$$iw$$iw$$iw$$iw$.getTimeString:Lscala/Function0; | |
#30 = Utf8 this | |
#31 = Methodref #4.#25 // java/lang/Object."<init>":()V | |
#32 = NameAndType #17:#18 // MODULE$:L$line4/$read$$iw$$iw$$iw$$iw$; | |
#33 = Fieldref #2.#32 // $line4/$read$$iw$$iw$$iw$$iw$.MODULE$:L$line4/$read$$iw$$iw$$iw$$iw$; | |
#34 = Methodref #16.#25 // $line4/$read$$iw$$iw$$iw$$iw$$anon$1."<init>":()V | |
#35 = Utf8 Signature | |
#36 = Utf8 Code | |
#37 = Utf8 LocalVariableTable | |
#38 = Utf8 LineNumberTable | |
#39 = Utf8 ()Lscala/Function0<Ljava/lang/String;>; | |
#40 = Utf8 SourceFile | |
#41 = Utf8 InnerClasses | |
#42 = Utf8 ScalaInlineInfo | |
#43 = Utf8 Scala | |
{ | |
public static $line4.$read$$iw$$iw$$iw$$iw$ MODULE$; | |
descriptor: L$line4/$read$$iw$$iw$$iw$$iw$; | |
flags: ACC_PUBLIC, ACC_STATIC | |
public static {}; | |
descriptor: ()V | |
flags: ACC_PUBLIC, ACC_STATIC | |
Code: | |
stack=1, locals=0, args_size=0 | |
0: new #2 // class $line4/$read$$iw$$iw$$iw$$iw$ | |
3: invokespecial #26 // Method "<init>":()V | |
6: return | |
public scala.Function0<java.lang.String> getTimeString(); | |
descriptor: ()Lscala/Function0; | |
flags: ACC_PUBLIC | |
Code: | |
stack=1, locals=1, args_size=1 | |
0: aload_0 | |
1: getfield #29 // Field getTimeString:Lscala/Function0; | |
4: areturn | |
LocalVariableTable: | |
Start Length Slot Name Signature | |
0 5 0 this L$line4/$read$$iw$$iw$$iw$$iw$; | |
LineNumberTable: | |
line 14: 0 | |
Signature: #39 // ()Lscala/Function0<Ljava/lang/String;>; | |
public $line4.$read$$iw$$iw$$iw$$iw$(); | |
descriptor: ()V | |
flags: ACC_PUBLIC | |
Code: | |
stack=3, locals=1, args_size=1 | |
0: aload_0 | |
1: invokespecial #31 // Method java/lang/Object."<init>":()V | |
4: aload_0 | |
5: putstatic #33 // Field MODULE$:L$line4/$read$$iw$$iw$$iw$$iw$; | |
8: aload_0 | |
9: new #16 // class $line4/$read$$iw$$iw$$iw$$iw$$anon$1 | |
12: dup | |
13: invokespecial #34 // Method $line4/$read$$iw$$iw$$iw$$iw$$anon$1."<init>":()V | |
16: putfield #29 // Field getTimeString:Lscala/Function0; | |
19: return | |
LocalVariableTable: | |
Start Length Slot Name Signature | |
0 20 0 this L$line4/$read$$iw$$iw$$iw$$iw$; | |
LineNumberTable: | |
line 20: 0 | |
line 14: 8 | |
line 12: 19 | |
} | |
SourceFile: "<console>" | |
InnerClasses: | |
public static #10= #7 of #9; //$iw$=class $line4/$read$$iw$ of class $line4/$read | |
public static #10= #12 of #7; //$iw$=class $line4/$read$$iw$$iw$ of class $line4/$read$$iw$ | |
public static #10= #14 of #12; //$iw$=class $line4/$read$$iw$$iw$$iw$ of class $line4/$read$$iw$$iw$ | |
public static #10= #2 of #14; //$iw$=class $line4/$read$$iw$$iw$$iw$$iw$ of class $line4/$read$$iw$$iw$$iw$ | |
public final #16; //class $line4/$read$$iw$$iw$$iw$$iw$$anon$1 | |
Error: unknown attribute | |
ScalaInlineInfo: length = 0xE | |
01 01 00 02 00 18 00 17 01 00 13 00 1B 01 | |
Error: unknown attribute | |
Scala: length = 0x0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
scala> val getTimeString: Function0[String] = () => ZonedDateTime.now.toString | |
getTimeString: () => String = $$Lambda$1151/1815095837@33a3c44a | |
scala> :javap getTimeString | |
Size 1845 bytes | |
MD5 checksum 3c690674978065ace77d1ad9bb7aa006 | |
Compiled from "<console>" | |
public class $line5.$read$$iw$$iw$$iw$$iw$ | |
minor version: 0 | |
major version: 52 | |
flags: ACC_PUBLIC, ACC_SUPER | |
Constant pool: | |
#1 = Utf8 $line5/$read$$iw$$iw$$iw$$iw$ | |
#2 = Class #1 // $line5/$read$$iw$$iw$$iw$$iw$ | |
#3 = Utf8 java/lang/Object | |
#4 = Class #3 // java/lang/Object | |
#5 = Utf8 <console> | |
#6 = Utf8 $line5/$read$$iw$ | |
#7 = Class #6 // $line5/$read$$iw$ | |
#8 = Utf8 $line5/$read | |
#9 = Class #8 // $line5/$read | |
#10 = Utf8 $iw$ | |
#11 = Utf8 $line5/$read$$iw$$iw$ | |
#12 = Class #11 // $line5/$read$$iw$$iw$ | |
#13 = Utf8 $line5/$read$$iw$$iw$$iw$ | |
#14 = Class #13 // $line5/$read$$iw$$iw$$iw$ | |
#15 = Utf8 java/lang/invoke/MethodHandles$Lookup | |
#16 = Class #15 // java/lang/invoke/MethodHandles$Lookup | |
#17 = Utf8 java/lang/invoke/MethodHandles | |
#18 = Class #17 // java/lang/invoke/MethodHandles | |
#19 = Utf8 Lookup | |
#20 = Utf8 MODULE$ | |
#21 = Utf8 L$line5/$read$$iw$$iw$$iw$$iw$; | |
#22 = Utf8 getTimeString | |
#23 = Utf8 Lscala/Function0; | |
#24 = Utf8 Lscala/Function0<Ljava/lang/String;>; | |
#25 = Utf8 <clinit> | |
#26 = Utf8 ()V | |
#27 = Utf8 <init> | |
#28 = NameAndType #27:#26 // "<init>":()V | |
#29 = Methodref #2.#28 // $line5/$read$$iw$$iw$$iw$$iw$."<init>":()V | |
#30 = Utf8 ()Lscala/Function0; | |
#31 = NameAndType #22:#23 // getTimeString:Lscala/Function0; | |
#32 = Fieldref #2.#31 // $line5/$read$$iw$$iw$$iw$$iw$.getTimeString:Lscala/Function0; | |
#33 = Utf8 this | |
#34 = Utf8 $anonfun$getTimeString$1 | |
#35 = Utf8 ()Ljava/lang/String; | |
#36 = Utf8 java/time/ZonedDateTime | |
#37 = Class #36 // java/time/ZonedDateTime | |
#38 = Utf8 now | |
#39 = Utf8 ()Ljava/time/ZonedDateTime; | |
#40 = NameAndType #38:#39 // now:()Ljava/time/ZonedDateTime; | |
#41 = Methodref #37.#40 // java/time/ZonedDateTime.now:()Ljava/time/ZonedDateTime; | |
#42 = Utf8 toString | |
#43 = NameAndType #42:#35 // toString:()Ljava/lang/String; | |
#44 = Methodref #37.#43 // java/time/ZonedDateTime.toString:()Ljava/lang/String; | |
#45 = Methodref #4.#28 // java/lang/Object."<init>":()V | |
#46 = NameAndType #20:#21 // MODULE$:L$line5/$read$$iw$$iw$$iw$$iw$; | |
#47 = Fieldref #2.#46 // $line5/$read$$iw$$iw$$iw$$iw$.MODULE$:L$line5/$read$$iw$$iw$$iw$$iw$; | |
#48 = Utf8 java/lang/invoke/LambdaMetafactory | |
#49 = Class #48 // java/lang/invoke/LambdaMetafactory | |
#50 = Utf8 altMetafactory | |
#51 = Utf8 (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; | |
#52 = NameAndType #50:#51 // altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; | |
#53 = Methodref #49.#52 // java/lang/invoke/LambdaMetafactory.altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; | |
#54 = MethodHandle #6:#53 // invokestatic java/lang/invoke/LambdaMetafactory.altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; | |
#55 = Utf8 ()Ljava/lang/Object; | |
#56 = MethodType #55 // ()Ljava/lang/Object; | |
#57 = NameAndType #34:#35 // $anonfun$getTimeString$1:()Ljava/lang/String; | |
#58 = Methodref #2.#57 // $line5/$read$$iw$$iw$$iw$$iw$.$anonfun$getTimeString$1:()Ljava/lang/String; | |
#59 = MethodHandle #6:#58 // invokestatic $line5/$read$$iw$$iw$$iw$$iw$.$anonfun$getTimeString$1:()Ljava/lang/String; | |
#60 = MethodType #35 // ()Ljava/lang/String; | |
#61 = Integer 3 | |
#62 = Integer 1 | |
#63 = Utf8 scala/Serializable | |
#64 = Class #63 // scala/Serializable | |
#65 = Utf8 apply | |
#66 = NameAndType #65:#30 // apply:()Lscala/Function0; | |
#67 = InvokeDynamic #0:#66 // #0:apply:()Lscala/Function0; | |
#68 = Utf8 $deserializeLambda$ | |
#69 = Utf8 (Ljava/lang/invoke/SerializedLambda;)Ljava/lang/Object; | |
#70 = Utf8 scala/runtime/LambdaDeserialize | |
#71 = Class #70 // scala/runtime/LambdaDeserialize | |
#72 = Utf8 bootstrap | |
#73 = Utf8 (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite; | |
#74 = NameAndType #72:#73 // bootstrap:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite; | |
#75 = Methodref #71.#74 // scala/runtime/LambdaDeserialize.bootstrap:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite; | |
#76 = MethodHandle #6:#75 // invokestatic scala/runtime/LambdaDeserialize.bootstrap:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite; | |
#77 = Utf8 lambdaDeserialize | |
#78 = NameAndType #77:#69 // lambdaDeserialize:(Ljava/lang/invoke/SerializedLambda;)Ljava/lang/Object; | |
#79 = InvokeDynamic #1:#78 // #1:lambdaDeserialize:(Ljava/lang/invoke/SerializedLambda;)Ljava/lang/Object; | |
#80 = Utf8 Signature | |
#81 = Utf8 Code | |
#82 = Utf8 LocalVariableTable | |
#83 = Utf8 LineNumberTable | |
#84 = Utf8 ()Lscala/Function0<Ljava/lang/String;>; | |
#85 = Utf8 BootstrapMethods | |
#86 = Utf8 SourceFile | |
#87 = Utf8 InnerClasses | |
#88 = Utf8 ScalaInlineInfo | |
#89 = Utf8 Scala | |
{ | |
public static $line5.$read$$iw$$iw$$iw$$iw$ MODULE$; | |
descriptor: L$line5/$read$$iw$$iw$$iw$$iw$; | |
flags: ACC_PUBLIC, ACC_STATIC | |
public static {}; | |
descriptor: ()V | |
flags: ACC_PUBLIC, ACC_STATIC | |
Code: | |
stack=1, locals=0, args_size=0 | |
0: new #2 // class $line5/$read$$iw$$iw$$iw$$iw$ | |
3: invokespecial #29 // Method "<init>":()V | |
6: return | |
public scala.Function0<java.lang.String> getTimeString(); | |
descriptor: ()Lscala/Function0; | |
flags: ACC_PUBLIC | |
Code: | |
stack=1, locals=1, args_size=1 | |
0: aload_0 | |
1: getfield #32 // Field getTimeString:Lscala/Function0; | |
4: areturn | |
LocalVariableTable: | |
Start Length Slot Name Signature | |
0 5 0 this L$line5/$read$$iw$$iw$$iw$$iw$; | |
LineNumberTable: | |
line 14: 0 | |
Signature: #84 // ()Lscala/Function0<Ljava/lang/String;>; | |
public static final java.lang.String $anonfun$getTimeString$1(); | |
descriptor: ()Ljava/lang/String; | |
flags: ACC_PUBLIC, ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC | |
Code: | |
stack=1, locals=0, args_size=0 | |
0: invokestatic #41 // Method java/time/ZonedDateTime.now:()Ljava/time/ZonedDateTime; | |
3: invokevirtual #44 // Method java/time/ZonedDateTime.toString:()Ljava/lang/String; | |
6: areturn | |
LineNumberTable: | |
line 14: 0 | |
public $line5.$read$$iw$$iw$$iw$$iw$(); | |
descriptor: ()V | |
flags: ACC_PUBLIC | |
Code: | |
stack=2, locals=1, args_size=1 | |
0: aload_0 | |
1: invokespecial #45 // Method java/lang/Object."<init>":()V | |
4: aload_0 | |
5: putstatic #47 // Field MODULE$:L$line5/$read$$iw$$iw$$iw$$iw$; | |
8: aload_0 | |
9: invokedynamic #67, 0 // InvokeDynamic #0:apply:()Lscala/Function0; | |
14: putfield #32 // Field getTimeString:Lscala/Function0; | |
17: return | |
LocalVariableTable: | |
Start Length Slot Name Signature | |
0 18 0 this L$line5/$read$$iw$$iw$$iw$$iw$; | |
LineNumberTable: | |
line 18: 0 | |
line 14: 8 | |
line 12: 17 | |
} | |
BootstrapMethods: | |
0: #54 invokestatic java/lang/invoke/LambdaMetafactory.altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; | |
Method arguments: | |
#56 ()Ljava/lang/Object; | |
#59 invokestatic $line5/$read$$iw$$iw$$iw$$iw$.$anonfun$getTimeString$1:()Ljava/lang/String; | |
#60 ()Ljava/lang/String; | |
#61 3 | |
#62 1 | |
#64 scala/Serializable | |
1: #76 invokestatic scala/runtime/LambdaDeserialize.bootstrap:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/CallSite; | |
Method arguments: | |
#59 invokestatic $line5/$read$$iw$$iw$$iw$$iw$.$anonfun$getTimeString$1:()Ljava/lang/String; | |
SourceFile: "<console>" | |
InnerClasses: | |
public static #10= #7 of #9; //$iw$=class $line5/$read$$iw$ of class $line5/$read | |
public static #10= #12 of #7; //$iw$=class $line5/$read$$iw$$iw$ of class $line5/$read$$iw$ | |
public static #10= #14 of #12; //$iw$=class $line5/$read$$iw$$iw$$iw$ of class $line5/$read$$iw$$iw$ | |
public static #10= #2 of #14; //$iw$=class $line5/$read$$iw$$iw$$iw$$iw$ of class $line5/$read$$iw$$iw$$iw$ | |
public static final #19= #16 of #18; //Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles | |
Error: unknown attribute | |
ScalaInlineInfo: length = 0x13 | |
01 01 00 03 00 22 00 23 01 00 1B 00 1A 01 00 16 | |
00 1E 01 | |
Error: unknown attribute | |
Scala: length = 0x0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment