1.class public LBootstrapLinker; 2 3.super Ljava/lang/Object; 4 5.method public static normalLink(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Object;)Ljava/lang/invoke/CallSite; 6 .registers 15 7 8 sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream; 9 const-string v3, "BootstrapLinker.normalLink - " 10 invoke-virtual {v0, v3}, Ljava/io/PrintStream;->print(Ljava/lang/String;)V 11 invoke-virtual {p3}, Ljava/lang/Object;->toString()Ljava/lang/String; 12 move-result-object v1 13 invoke-virtual {v0, v1}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V 14 15 const v0, 0 16 const v1, 1 17 invoke-virtual {p2, v0, v1}, Ljava/lang/invoke/MethodType;->dropParameterTypes(II)Ljava/lang/invoke/MethodType; 18 move-result-object p2 19 20 const-class v1, LCustom; 21 22 invoke-virtual {p0, v1, p1, p2}, Ljava/lang/invoke/MethodHandles$Lookup;->findVirtual(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; 23 move-result-object v2 24 25 new-instance v0, Ljava/lang/invoke/ConstantCallSite; 26 invoke-direct {v0, v2}, Ljava/lang/invoke/ConstantCallSite;-><init>(Ljava/lang/invoke/MethodHandle;)V 27 28 return-object v0 29.end method 30 31 32.method public static backwardsLink(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;)Ljava/lang/invoke/CallSite; 33 .registers 15 34 35 sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream; 36 const-string v3, "BootstrapLinker.backwardsLink - " 37 invoke-virtual {v0, v3}, Ljava/io/PrintStream;->print(Ljava/lang/String;)V 38 invoke-virtual {v0, p3}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V 39 40 const v0, 0 41 const v1, 1 42 invoke-virtual {p2, v0, v1}, Ljava/lang/invoke/MethodType;->dropParameterTypes(II)Ljava/lang/invoke/MethodType; 43 move-result-object p2 44 45 new-instance v0, Ljava/lang/StringBuffer; 46 invoke-direct {v0, p1}, Ljava/lang/StringBuffer;-><init>(Ljava/lang/String;)V 47 invoke-virtual {v0}, Ljava/lang/StringBuffer;->reverse()Ljava/lang/StringBuffer; 48 invoke-virtual {v0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String; 49 move-result-object p1 50 51 const-class v1, LCustom; 52 53 invoke-virtual {p0, v1, p1, p2}, Ljava/lang/invoke/MethodHandles$Lookup;->findVirtual(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle; 54 move-result-object v2 55 56 new-instance v0, Ljava/lang/invoke/ConstantCallSite; 57 invoke-direct {v0, v2}, Ljava/lang/invoke/ConstantCallSite;-><init>(Ljava/lang/invoke/MethodHandle;)V 58 59 return-object v0 60.end method 61