fix: handle method arguments in primitive types conversion (#956)

This commit is contained in:
Skylot
2020-08-04 12:26:31 +01:00
parent ae26512601
commit bfd60b733a
5 changed files with 66 additions and 17 deletions
@@ -0,0 +1,28 @@
package jadx.tests.integration.types;
import org.junit.jupiter.api.Test;
import jadx.tests.api.SmaliTest;
import static jadx.tests.api.utils.assertj.JadxAssertions.assertThat;
public class TestPrimitiveConversion extends SmaliTest {
// @formatter:off
/*
public void test(long j, boolean z) {
putByte(j, z ? (byte) 1 : (byte) 0);
}
private static void putByte(long j, byte z) {
}
*/
// @formatter:on
@Test
public void test() {
assertThat(getClassNodeFromSmali())
.code()
.doesNotContain("putByte(j, z);")
.containsOne("putByte(j, z ? (byte) 1 : 0);");
}
}
@@ -0,0 +1,15 @@
.class public Ltypes/TestPrimitiveConversion;
.super Ljava/lang/Object;
.method public test(JZ)V
.registers 5
invoke-static {p1, p2, p3}, Ltypes/TestPrimitiveConversion;->putByte(JB)V
return-void
.end method
.method private static putByte(JB)V
.registers 3
return-void
.end method