xref: /aosp_15_r20/external/zucchini/testdata/invoke-custom-min.smali (revision a03ca8b91e029cd15055c20c78c2e087c84792e4)
1# Tests invoke-custom added in DEX version 38.
2
3# Compile using smali: https://github.com/JesusFreke/smali
4# java -jar smali.jar assemble invoke-custom-min.smali --api 28
5
6.class public LFoo;
7.super Ljava/lang/Object;
8
9.method public la1(Ljava/util/ArrayList;)V
10    .registers 5
11    .annotation system Ldalvik/annotation/Signature;
12        value = {
13            "(",
14            "Ljava/util/ArrayList",
15            "<",
16            "Ljava/lang/String;",
17            ">;)V"
18        }
19    .end annotation
20
21    .prologue
22    .line 42
23    invoke-virtual {p1}, Ljava/util/ArrayList;->stream()Ljava/util/stream/Stream;
24
25    move-result-object v0
26
27    invoke-custom {}, call_site_1("bar", ()Ljava/util/function/Predicate;, (Ljava/lang/Object;)Z, invoke-static@LFoo;->lambda$la1$1(I)Z, (I)Z)@Ljava/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;
28
29    move-result-object v1
30
31    invoke-custom {}, call_site_2("test", ()Ljava/util/function/Predicate;, (Ljava/lang/Object;)Z, invoke-static@LFoo;->lambda$la1$1(Ljava/lang/String;)Z, (Ljava/lang/String;)Z)@Ljava/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;
32
33    move-result-object v2
34
35    invoke-interface {v0, v1, v2}, Ljava/util/stream/Stream;->filter(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
36
37    .line 50
38    return-void
39.end method
40