What happened to #17 in the constant pool?
Classfile /home/chris/Downloads/jartest/com/google/common/cache/CacheLoader$SupplierToCacheLoader.class
Last modified Dec 9, 2015; size 1361 bytes
MD5 checksum 77190ae73fdc93505ceada7d6f86eacd
Compiled from "CacheLoader.java"
final class com.google.common.cache.CacheLoader$SupplierToCacheLoader<V extends java.lang.Object> extends com.google.common.cache.CacheLoader<java.lang.Object, V> implements java.io.Serializable
minor version: 0
major version: 50
flags: ACC_FINAL, ACC_SUPER
Constant pool:
#1 = Methodref #7.#38 // com/google/common/cache/CacheLoader."<init>":()V
#2 = Methodref #39.#40 // com/google/common/base/Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
#3 = Class #41 // com/google/common/base/Supplier
#4 = Fieldref #6.#42 // com/google/common/cache/CacheLoader$SupplierToCacheLoader.computingSupplier:Lcom/google/common/base/Supplier;
#5 = InterfaceMethodref #3.#43 // com/google/common/base/Supplier.get:()Ljava/lang/Object;
#6 = Class #44 // com/google/common/cache/CacheLoader$SupplierToCacheLoader
#7 = Class #45 // com/google/common/cache/CacheLoader
#8 = Class #46 // java/io/Serializable
#9 = Utf8 computingSupplier
#10 = Utf8 Lcom/google/common/base/Supplier;
#11 = Utf8 Signature
#12 = Utf8 Lcom/google/common/base/Supplier<TV;>;
#13 = Utf8 serialVersionUID
#14 = Utf8 J
#15 = Utf8 ConstantValue
#16 = Long 0l
#18 = Utf8 <init>
#19 = Utf8 (Lcom/google/common/base/Supplier;)V
#20 = Utf8 Code
#21 = Utf8 LineNumberTable
#22 = Utf8 LocalVariableTable
#23 = Utf8 this
#24 = Utf8 SupplierToCacheLoader
#25 = Utf8 InnerClasses
#26 = Utf8 Lcom/google/common/cache/CacheLoader$SupplierToCacheLoader;
#27 = Utf8 LocalVariableTypeTable
#28 = Utf8 Lcom/google/common/cache/CacheLoader$SupplierToCacheLoader<TV;>;
#29 = Utf8 (Lcom/google/common/base/Supplier<TV;>;)V
#30 = Utf8 load
#31 = Utf8 (Ljava/lang/Object;)Ljava/lang/Object;
#32 = Utf8 key
#33 = Utf8 Ljava/lang/Object;
#34 = Utf8 (Ljava/lang/Object;)TV;
#35 = Utf8 <V:Ljava/lang/Object;>Lcom/google/common/cache/CacheLoader<Ljava/lang/Object;TV;>;Ljava/io/Serializable;
#36 = Utf8 SourceFile
#37 = Utf8 CacheLoader.java
#38 = NameAndType #18:#47 // "<init>":()V
#39 = Class #48 // com/google/common/base/Preconditions
#40 = NameAndType #49:#31 // checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
#41 = Utf8 com/google/common/base/Supplier
#42 = NameAndType #9:#10 // computingSupplier:Lcom/google/common/base/Supplier;
#43 = NameAndType #50:#51 // get:()Ljava/lang/Object;
#44 = Utf8 com/google/common/cache/CacheLoader$SupplierToCacheLoader
#45 = Utf8 com/google/common/cache/CacheLoader
#46 = Utf8 java/io/Serializable
#47 = Utf8 ()V
#48 = Utf8 com/google/common/base/Preconditions
#49 = Utf8 checkNotNull
#50 = Utf8 get
#51 = Utf8 ()Ljava/lang/Object;
{
public com.google.common.cache.CacheLoader$SupplierToCacheLoader(com.google.common.base.Supplier<V>);
descriptor: (Lcom/google/common/base/Supplier;)V
flags: ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
0: aload_0
1: invokespecial #1 // Method com/google/common/cache/CacheLoader."<init>":()V
4: aload_0
5: aload_1
6: invokestatic #2 // Method com/google/common/base/Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
9: checkcast #3 // class com/google/common/base/Supplier
12: putfield #4 // Field computingSupplier:Lcom/google/common/base/Supplier;
15: return
LineNumberTable:
line 211: 0
line 212: 4
line 213: 15
LocalVariableTable:
Start Length Slot Name Signature
0 16 0 this Lcom/google/common/cache/CacheLoader$SupplierToCacheLoader;
0 16 1 computingSupplier Lcom/google/common/base/Supplier;
LocalVariableTypeTable:
Start Length Slot Name Signature
0 16 0 this Lcom/google/common/cache/CacheLoader$SupplierToCacheLoader<TV;>;
0 16 1 computingSupplier Lcom/google/common/base/Supplier<TV;>;
Signature: #29 // (Lcom/google/common/base/Supplier<TV;>;)V
public V load(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
0: aload_1
1: invokestatic #2 // Method com/google/common/base/Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
4: pop
5: aload_0
6: getfield #4 // Field computingSupplier:Lcom/google/common/base/Supplier;
9: invokeinterface #5, 1 // InterfaceMethod com/google/common/base/Supplier.get:()Ljava/lang/Object;
14: areturn
LineNumberTable:
line 217: 0
line 218: 5
LocalVariableTable:
Start Length Slot Name Signature
0 15 0 this Lcom/google/common/cache/CacheLoader$SupplierToCacheLoader;
0 15 1 key Ljava/lang/Object;
LocalVariableTypeTable:
Start Length Slot Name Signature
0 15 0 this Lcom/google/common/cache/CacheLoader$SupplierToCacheLoader<TV;>;
Signature: #34 // (Ljava/lang/Object;)TV;
}
Signature: #35 // <V:Ljava/lang/Object;>Lcom/google/common/cache/CacheLoader<Ljava/lang/Object;TV;>;Ljava/io/Serializable;
SourceFile: "CacheLoader.java"
xxd output:
0000000: cafe babe 0000 0032 0034 0a00 0700 260a .......2.4....&.
0000010: 0027 0028 0700 2909 0006 002a 0b00 0300 .'.(..)....*....
0000020: 2b07 002c 0700 2d07 002e 0100 1163 6f6d +..,..-......com
0000030: 7075 7469 6e67 5375 7070 6c69 6572 0100 putingSupplier..
0000040: 214c 636f 6d2f 676f 6f67 6c65 2f63 6f6d !Lcom/google/com
0000050: 6d6f 6e2f 6261 7365 2f53 7570 706c 6965 mon/base/Supplie
0000060: 723b 0100 0953 6967 6e61 7475 7265 0100 r;...Signature..
0000070: 264c 636f 6d2f 676f 6f67 6c65 2f63 6f6d &Lcom/google/com
0000080: 6d6f 6e2f 6261 7365 2f53 7570 706c 6965 mon/base/Supplie
0000090: 723c 5456 3b3e 3b01 0010 7365 7269 616c r<TV;>;...serial
00000a0: 5665 7273 696f 6e55 4944 0100 014a 0100 VersionUID...J..
00000b0: 0d43 6f6e 7374 616e 7456 616c 7565 0500 .ConstantValue..
00000c0: 0000 0000 0000 0001 0006 3c69 6e69 743e ..........<init>
00000d0: 0100 2428 4c63 6f6d 2f67 6f6f 676c 652f ..$(Lcom/google/
00000e0: 636f 6d6d 6f6e 2f62 6173 652f 5375 7070 common/base/Supp
00000f0: 6c69 6572 3b29 5601 0004 436f 6465 0100 lier;)V...Code..
0000100: 0f4c 696e 654e 756d 6265 7254 6162 6c65 .LineNumberTable
0000110: 0100 124c 6f63 616c 5661 7269 6162 6c65 ...LocalVariable
0000120: 5461 626c 6501 0004 7468 6973 0100 1553 Table...this...S
0000130: 7570 706c 6965 7254 6f43 6163 6865 4c6f upplierToCacheLo
0000140: 6164 6572 0100 0c49 6e6e 6572 436c 6173 ader...InnerClas
0000150: 7365 7301 003b 4c63 6f6d 2f67 6f6f 676c ses..;Lcom/googl
0000160: 652f 636f 6d6d 6f6e 2f63 6163 6865 2f43 e/common/cache/C
0000170: 6163 6865 4c6f 6164 6572 2453 7570 706c acheLoader$Suppl
0000180: 6965 7254 6f43 6163 6865 4c6f 6164 6572 ierToCacheLoader
0000190: 3b01 0016 4c6f 6361 6c56 6172 6961 626c ;...LocalVariabl
00001a0: 6554 7970 6554 6162 6c65 0100 404c 636f eTypeTable..@Lco
00001b0: 6d2f 676f 6f67 6c65 2f63 6f6d 6d6f 6e2f m/google/common/
00001c0: 6361 6368 652f 4361 6368 654c 6f61 6465 cache/CacheLoade
00001d0: 7224 5375 7070 6c69 6572 546f 4361 6368 r$SupplierToCach
00001e0: 654c 6f61 6465 723c 5456 3b3e 3b01 0029 eLoader<TV;>;..)
00001f0: 284c 636f 6d2f 676f 6f67 6c65 2f63 6f6d (Lcom/google/com
0000200: 6d6f 6e2f 6261 7365 2f53 7570 706c 6965 mon/base/Supplie
0000210: 723c 5456 3b3e 3b29 5601 0004 6c6f 6164 r<TV;>;)V...load
0000220: 0100 2628 4c6a 6176 612f 6c61 6e67 2f4f ..&(Ljava/lang/O
0000230: 626a 6563 743b 294c 6a61 7661 2f6c 616e bject;)Ljava/lan
0000240: 672f 4f62 6a65 6374 3b01 0003 6b65 7901 g/Object;...key.
0000250: 0012 4c6a 6176 612f 6c61 6e67 2f4f 626a ..Ljava/lang/Obj
0000260: 6563 743b 0100 1728 4c6a 6176 612f 6c61 ect;...(Ljava/la
0000270: 6e67 2f4f 626a 6563 743b 2954 563b 0100 ng/Object;)TV;..
0000280: 683c 563a 4c6a 6176 612f 6c61 6e67 2f4f h<V:Ljava/lang/O
0000290: 626a 6563 743b 3e4c 636f 6d2f 676f 6f67 bject;>Lcom/goog
00002a0: 6c65 2f63 6f6d 6d6f 6e2f 6361 6368 652f le/common/cache/
00002b0: 4361 6368 654c 6f61 6465 723c 4c6a 6176 CacheLoader<Ljav
00002c0: 612f 6c61 6e67 2f4f 626a 6563 743b 5456 a/lang/Object;TV
00002d0: 3b3e 3b4c 6a61 7661 2f69 6f2f 5365 7269 ;>;Ljava/io/Seri
00002e0: 616c 697a 6162 6c65 3b01 000a 536f 7572 alizable;...Sour
00002f0: 6365 4669 6c65 0100 1043 6163 6865 4c6f ceFile...CacheLo
0000300: 6164 6572 2e6a 6176 610c 0012 002f 0700 ader.java..../..
0000310: 300c 0031 001f 0100 1f63 6f6d 2f67 6f6f 0..1.....com/goo
0000320: 676c 652f 636f 6d6d 6f6e 2f62 6173 652f gle/common/base/
0000330: 5375 7070 6c69 6572 0c00 0900 0a0c 0032 Supplier.......2
0000340: 0033 0100 3963 6f6d 2f67 6f6f 676c 652f .3..9com/google/
0000350: 636f 6d6d 6f6e 2f63 6163 6865 2f43 6163 common/cache/Cac
0000360: 6865 4c6f 6164 6572 2453 7570 706c 6965 heLoader$Supplie
0000370: 7254 6f43 6163 6865 4c6f 6164 6572 0100 rToCacheLoader..
0000380: 2363 6f6d 2f67 6f6f 676c 652f 636f 6d6d #com/google/comm
0000390: 6f6e 2f63 6163 6865 2f43 6163 6865 4c6f on/cache/CacheLo
00003a0: 6164 6572 0100 146a 6176 612f 696f 2f53 ader...java/io/S
00003b0: 6572 6961 6c69 7a61 626c 6501 0003 2829 erializable...()
00003c0: 5601 0024 636f 6d2f 676f 6f67 6c65 2f63 V..$com/google/c
00003d0: 6f6d 6d6f 6e2f 6261 7365 2f50 7265 636f ommon/base/Preco
00003e0: 6e64 6974 696f 6e73 0100 0c63 6865 636b nditions...check
00003f0: 4e6f 744e 756c 6c01 0003 6765 7401 0014 NotNull...get...
0000400: 2829 4c6a 6176 612f 6c61 6e67 2f4f 626a ()Ljava/lang/Obj
0000410: 6563 743b 0030 0006 0007 0001 0008 0002 ect;.0..........
0000420: 0012 0009 000a 0001 000b 0000 0002 000c ................
0000430: 001a 000d 000e 0001 000f 0000 0002 0010 ................
0000440: 0002 0001 0012 0013 0002 0014 0000 0068 ...............h
0000450: 0002 0002 0000 0010 2ab7 0001 2a2b b800 ........*...*+..
0000460: 02c0 0003 b500 04b1 0000 0003 0015 0000 ................
0000470: 000e 0003 0000 00d3 0004 00d4 000f 00d5 ................
0000480: 0016 0000 0016 0002 0000 0010 0017 001a ................
0000490: 0000 0000 0010 0009 000a 0001 001b 0000 ................
00004a0: 0016 0002 0000 0010 0017 001c 0000 0000 ................
00004b0: 0010 0009 000c 0001 000b 0000 0002 001d ................
00004c0: 0001 001e 001f 0002 0014 0000 0059 0001 .............Y..
00004d0: 0002 0000 000f 2bb8 0002 572a b400 04b9 ......+...W*....
00004e0: 0005 0100 b000 0000 0300 1500 0000 0a00 ................
00004f0: 0200 0000 d900 0500 da00 1600 0000 1600 ................
0000500: 0200 0000 0f00 1700 1a00 0000 0000 0f00 ................
0000510: 2000 2100 0100 1b00 0000 0c00 0100 0000 .!.............
0000520: 0f00 1700 1c00 0000 0b00 0000 0200 2200 ..............".
0000530: 0300 0b00 0000 0200 2300 2400 0000 0200 ........#.$.....
0000540: 2500 1900 0000 0a00 0100 0600 0700 1800 %...............
0000550: 1a .