• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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