From 068e4b8e3d79d01a48416e0d84af5f1fd68e1f40 Mon Sep 17 00:00:00 2001 From: Skylot Date: Sun, 15 Jan 2023 16:08:34 +0000 Subject: [PATCH] fix: allow `altMetafactory` method in lambda call site (#1760) --- .../dex/instructions/invokedynamic/CustomLambdaCall.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/jadx-core/src/main/java/jadx/core/dex/instructions/invokedynamic/CustomLambdaCall.java b/jadx-core/src/main/java/jadx/core/dex/instructions/invokedynamic/CustomLambdaCall.java index 090c7ef7a..9410b279e 100644 --- a/jadx-core/src/main/java/jadx/core/dex/instructions/invokedynamic/CustomLambdaCall.java +++ b/jadx-core/src/main/java/jadx/core/dex/instructions/invokedynamic/CustomLambdaCall.java @@ -39,13 +39,11 @@ public class CustomLambdaCall { return false; } IMethodRef methodRef = methodHandle.getMethodRef(); - if (!methodRef.getName().equals("metafactory")) { - return false; - } if (!methodRef.getParentClassType().equals("Ljava/lang/invoke/LambdaMetafactory;")) { return false; } - return true; + String mthName = methodRef.getName(); + return mthName.equals("metafactory") || mthName.equals("altMetafactory"); } public static InvokeCustomNode buildLambdaMethodCall(MethodNode mth, InsnData insn, boolean isRange, List values) {