invoke-custom-min.smali 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. # Tests invoke-custom added in DEX version 38.
  2. # Compile using smali: https://github.com/JesusFreke/smali
  3. # java -jar smali.jar assemble invoke-custom-min.smali --api 28
  4. .class public LFoo;
  5. .super Ljava/lang/Object;
  6. .method public la1(Ljava/util/ArrayList;)V
  7. .registers 5
  8. .annotation system Ldalvik/annotation/Signature;
  9. value = {
  10. "(",
  11. "Ljava/util/ArrayList",
  12. "<",
  13. "Ljava/lang/String;",
  14. ">;)V"
  15. }
  16. .end annotation
  17. .prologue
  18. .line 42
  19. invoke-virtual {p1}, Ljava/util/ArrayList;->stream()Ljava/util/stream/Stream;
  20. move-result-object v0
  21. 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;
  22. move-result-object v1
  23. 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;
  24. move-result-object v2
  25. invoke-interface {v0, v1, v2}, Ljava/util/stream/Stream;->filter(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
  26. .line 50
  27. return-void
  28. .end method