[LIR] Add support for neg and shift instructions.
Also migrates more legacy example regression tests.
Bug: b/225838009
Bug: b/167145686
Change-Id: Icde132054f8488cadaf1febc88c598cfe999a617
diff --git a/src/main/java/com/android/tools/r8/ir/code/Neg.java b/src/main/java/com/android/tools/r8/ir/code/Neg.java
index dde52df..7b7c683 100644
--- a/src/main/java/com/android/tools/r8/ir/code/Neg.java
+++ b/src/main/java/com/android/tools/r8/ir/code/Neg.java
@@ -17,6 +17,7 @@
import com.android.tools.r8.ir.analysis.type.TypeElement;
import com.android.tools.r8.ir.conversion.CfBuilder;
import com.android.tools.r8.ir.conversion.DexBuilder;
+import com.android.tools.r8.lightir.LirBuilder;
import java.util.function.Function;
public class Neg extends Unop {
@@ -111,4 +112,9 @@
public void buildCf(CfBuilder builder) {
builder.add(new CfNeg(type), this);
}
+
+ @Override
+ public void buildLir(LirBuilder<Value, ?> builder) {
+ builder.addNeg(type, source());
+ }
}
diff --git a/src/main/java/com/android/tools/r8/lightir/Lir2IRConverter.java b/src/main/java/com/android/tools/r8/lightir/Lir2IRConverter.java
index 2c8b535..bfd5625 100644
--- a/src/main/java/com/android/tools/r8/lightir/Lir2IRConverter.java
+++ b/src/main/java/com/android/tools/r8/lightir/Lir2IRConverter.java
@@ -54,6 +54,7 @@
import com.android.tools.r8.ir.code.MonitorType;
import com.android.tools.r8.ir.code.MoveException;
import com.android.tools.r8.ir.code.Mul;
+import com.android.tools.r8.ir.code.Neg;
import com.android.tools.r8.ir.code.NewArrayEmpty;
import com.android.tools.r8.ir.code.NewArrayFilledData;
import com.android.tools.r8.ir.code.NewInstance;
@@ -67,11 +68,13 @@
import com.android.tools.r8.ir.code.Position.SyntheticPosition;
import com.android.tools.r8.ir.code.Rem;
import com.android.tools.r8.ir.code.Return;
+import com.android.tools.r8.ir.code.Shl;
import com.android.tools.r8.ir.code.Shr;
import com.android.tools.r8.ir.code.StaticGet;
import com.android.tools.r8.ir.code.StaticPut;
import com.android.tools.r8.ir.code.Sub;
import com.android.tools.r8.ir.code.Throw;
+import com.android.tools.r8.ir.code.Ushr;
import com.android.tools.r8.ir.code.Value;
import com.android.tools.r8.ir.code.ValueType;
import com.android.tools.r8.ir.code.Xor;
@@ -426,12 +429,30 @@
}
@Override
+ public void onNeg(NumericType type, EV value) {
+ Value dest = getOutValueForNextInstruction(valueTypeElement(type));
+ addInstruction(new Neg(type, dest, getValue(value)));
+ }
+
+ @Override
+ public void onShl(NumericType type, EV left, EV right) {
+ Value dest = getOutValueForNextInstruction(valueTypeElement(type));
+ addInstruction(new Shl(type, dest, getValue(left), getValue(right)));
+ }
+
+ @Override
public void onShr(NumericType type, EV left, EV right) {
Value dest = getOutValueForNextInstruction(valueTypeElement(type));
addInstruction(new Shr(type, dest, getValue(left), getValue(right)));
}
@Override
+ public void onUshr(NumericType type, EV left, EV right) {
+ Value dest = getOutValueForNextInstruction(valueTypeElement(type));
+ addInstruction(new Ushr(type, dest, getValue(left), getValue(right)));
+ }
+
+ @Override
public void onAnd(NumericType type, EV left, EV right) {
Value dest = getOutValueForNextInstruction(valueTypeElement(type));
addInstruction(And.createNonNormalized(type, dest, getValue(left), getValue(right)));
diff --git a/src/main/java/com/android/tools/r8/lightir/LirBuilder.java b/src/main/java/com/android/tools/r8/lightir/LirBuilder.java
index c19b47c..ef0e769 100644
--- a/src/main/java/com/android/tools/r8/lightir/LirBuilder.java
+++ b/src/main/java/com/android/tools/r8/lightir/LirBuilder.java
@@ -389,6 +389,30 @@
return addOneItemInstruction(LirOpcodes.LDC, type);
}
+ public LirBuilder<V, EV> addNeg(NumericType type, V source) {
+ int opcode;
+ switch (type) {
+ case BYTE:
+ case CHAR:
+ case SHORT:
+ case INT:
+ opcode = LirOpcodes.INEG;
+ break;
+ case LONG:
+ opcode = LirOpcodes.LNEG;
+ break;
+ case FLOAT:
+ opcode = LirOpcodes.FNEG;
+ break;
+ case DOUBLE:
+ opcode = LirOpcodes.DNEG;
+ break;
+ default:
+ throw new Unreachable("Unexpected type: " + type);
+ }
+ return addOneValueInstruction(opcode, source);
+ }
+
public LirBuilder<V, EV> addDiv(NumericType type, V leftValue, V rightValue) {
int opcode;
switch (type) {
diff --git a/src/main/java/com/android/tools/r8/lightir/LirParsedInstructionCallback.java b/src/main/java/com/android/tools/r8/lightir/LirParsedInstructionCallback.java
index 3684dab..c19f035 100644
--- a/src/main/java/com/android/tools/r8/lightir/LirParsedInstructionCallback.java
+++ b/src/main/java/com/android/tools/r8/lightir/LirParsedInstructionCallback.java
@@ -239,18 +239,28 @@
onRem(NumericType.DOUBLE, leftValueIndex, rightValueIndex);
}
+ public void onNeg(NumericType type, EV value) {
+ onInstruction();
+ }
+
private void onLogicalBinopInternal(int opcode, LirInstructionView view) {
EV left = getNextValueOperand(view);
EV right = getNextValueOperand(view);
switch (opcode) {
case LirOpcodes.ISHL:
- case LirOpcodes.LSHL:
throw new Unimplemented(LirOpcodes.toString(opcode));
+ case LirOpcodes.LSHL:
+ onShl(NumericType.LONG, left, right);
+ return;
case LirOpcodes.ISHR:
onShr(NumericType.INT, left, right);
return;
case LirOpcodes.LSHR:
+ onShr(NumericType.LONG, left, right);
+ return;
case LirOpcodes.IUSHR:
+ onUshr(NumericType.INT, left, right);
+ return;
case LirOpcodes.LUSHR:
throw new Unimplemented(LirOpcodes.toString(opcode));
case LirOpcodes.IAND:
@@ -278,10 +288,18 @@
onBinop(type, left, right);
}
+ public void onShl(NumericType type, EV left, EV right) {
+ onLogicalBinop(type, left, right);
+ }
+
public void onShr(NumericType type, EV left, EV right) {
onLogicalBinop(type, left, right);
}
+ public void onUshr(NumericType type, EV left, EV right) {
+ onLogicalBinop(type, left, right);
+ }
+
public void onAnd(NumericType type, EV left, EV right) {
onLogicalBinop(type, left, right);
}
@@ -763,6 +781,22 @@
onRemDouble(leftValueIndex, rightValueIndex);
return;
}
+ case LirOpcodes.INEG:
+ {
+ EV value = getNextValueOperand(view);
+ onNeg(NumericType.INT, value);
+ return;
+ }
+ case LirOpcodes.LNEG:
+ throw new Unimplemented("missing opcode: " + LirOpcodes.toString(opcode));
+ case LirOpcodes.FNEG:
+ {
+ EV value = getNextValueOperand(view);
+ onNeg(NumericType.FLOAT, value);
+ return;
+ }
+ case LirOpcodes.DNEG:
+ throw new Unimplemented("missing opcode: " + LirOpcodes.toString(opcode));
case LirOpcodes.ISHL:
case LirOpcodes.LSHL:
case LirOpcodes.ISHR:
diff --git a/src/main/java/com/android/tools/r8/lightir/LirPrinter.java b/src/main/java/com/android/tools/r8/lightir/LirPrinter.java
index 91dd055..b818d6b 100644
--- a/src/main/java/com/android/tools/r8/lightir/LirPrinter.java
+++ b/src/main/java/com/android/tools/r8/lightir/LirPrinter.java
@@ -170,6 +170,12 @@
}
@Override
+ public void onNeg(NumericType type, EV value) {
+ appendOutValue();
+ appendValueArguments(value);
+ }
+
+ @Override
public void onNumberConversion(int opcode, EV value) {
appendOutValue();
appendValueArguments(value);
diff --git a/src/test/java/com/android/tools/r8/R8RunExamplesTest.java b/src/test/java/com/android/tools/r8/R8RunExamplesTest.java
index 20d9e1e..190ef4b 100644
--- a/src/test/java/com/android/tools/r8/R8RunExamplesTest.java
+++ b/src/test/java/com/android/tools/r8/R8RunExamplesTest.java
@@ -27,9 +27,6 @@
String[] tests = {
"arithmetic.Arithmetic",
"inlining.Inlining",
- "regress_65104300.Regress",
- "regress_70703087.Test",
- "regress_70736958.Test",
"regress_70737019.Test",
"regress_72361252.Test",
"regress_110373181.Regress",
diff --git a/src/test/java/com/android/tools/r8/debug/ExamplesDebugTest.java b/src/test/java/com/android/tools/r8/debug/ExamplesDebugTest.java
index 2ed3a8a..1018d03 100644
--- a/src/test/java/com/android/tools/r8/debug/ExamplesDebugTest.java
+++ b/src/test/java/com/android/tools/r8/debug/ExamplesDebugTest.java
@@ -60,22 +60,6 @@
}
@Test
- public void testRegress65104300() throws Exception {
- testDebugging("regress_65104300", "Regress");
- }
-
- @Ignore("TODO(b/79671093): This test seems to take forever")
- @Test
- public void testRegress70703087() throws Exception {
- testDebugging("regress_70703087", "Test");
- }
-
- @Test
- public void testRegress70736958() throws Exception {
- testDebugging("regress_70736958", "Test");
- }
-
- @Test
public void testRegress70737019() throws Exception {
testDebugging("regress_70737019", "Test");
}
diff --git a/src/test/examples/regress_65104300/Regress.java b/src/test/java/com/android/tools/r8/examples/regress_65104300/Regress.java
similarity index 92%
rename from src/test/examples/regress_65104300/Regress.java
rename to src/test/java/com/android/tools/r8/examples/regress_65104300/Regress.java
index 05a4333..44d87e7 100644
--- a/src/test/examples/regress_65104300/Regress.java
+++ b/src/test/java/com/android/tools/r8/examples/regress_65104300/Regress.java
@@ -1,7 +1,7 @@
// Copyright (c) 2017, the R8 project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-package regress_65104300;
+package com.android.tools.r8.examples.regress_65104300;
public class Regress {
// We correctly deduce that the array put cannot throw. However, we had a bug
diff --git a/src/test/java/com/android/tools/r8/examples/regress_65104300/Regress65104300TestRunner.java b/src/test/java/com/android/tools/r8/examples/regress_65104300/Regress65104300TestRunner.java
new file mode 100644
index 0000000..798cb08
--- /dev/null
+++ b/src/test/java/com/android/tools/r8/examples/regress_65104300/Regress65104300TestRunner.java
@@ -0,0 +1,50 @@
+// Copyright (c) 2023, the R8 project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+package com.android.tools.r8.examples.regress_65104300;
+
+import com.android.tools.r8.TestParameters;
+import com.android.tools.r8.TestParametersCollection;
+import com.android.tools.r8.examples.ExamplesTestBase;
+import com.android.tools.r8.utils.StringUtils;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+
+@RunWith(Parameterized.class)
+public class Regress65104300TestRunner extends ExamplesTestBase {
+
+ @Parameterized.Parameters(name = "{0}")
+ public static TestParametersCollection data() {
+ return getTestParameters().withAllRuntimesAndApiLevels().enableApiLevelsForCf().build();
+ }
+
+ public Regress65104300TestRunner(TestParameters parameters) {
+ super(parameters);
+ }
+
+ @Override
+ public Class<?> getMainClass() {
+ return Regress.class;
+ }
+
+ @Override
+ public String getExpected() {
+ return StringUtils.lines("0");
+ }
+
+ @Test
+ public void testDesugaring() throws Exception {
+ runTestDesugaring();
+ }
+
+ @Test
+ public void testR8() throws Exception {
+ runTestR8();
+ }
+
+ @Test
+ public void testDebug() throws Exception {
+ runTestDebugComparator();
+ }
+}
diff --git a/src/test/java/com/android/tools/r8/examples/regress_70703087/Regress70703087TestRunner.java b/src/test/java/com/android/tools/r8/examples/regress_70703087/Regress70703087TestRunner.java
new file mode 100644
index 0000000..11ade17
--- /dev/null
+++ b/src/test/java/com/android/tools/r8/examples/regress_70703087/Regress70703087TestRunner.java
@@ -0,0 +1,205 @@
+// Copyright (c) 2023, the R8 project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+package com.android.tools.r8.examples.regress_70703087;
+
+import com.android.tools.r8.TestParameters;
+import com.android.tools.r8.TestParametersCollection;
+import com.android.tools.r8.examples.ExamplesTestBase;
+import com.android.tools.r8.utils.StringUtils;
+import com.google.common.collect.ImmutableList;
+import java.util.List;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+
+@RunWith(Parameterized.class)
+public class Regress70703087TestRunner extends ExamplesTestBase {
+
+ @Parameterized.Parameters(name = "{0}")
+ public static TestParametersCollection data() {
+ return getTestParameters().withAllRuntimesAndApiLevels().enableApiLevelsForCf().build();
+ }
+
+ public Regress70703087TestRunner(TestParameters parameters) {
+ super(parameters);
+ }
+
+ @Override
+ public Class<?> getMainClass() {
+ return TestClass.class;
+ }
+
+ @Override
+ public List<Class<?>> getTestClasses() throws Exception {
+ return ImmutableList.of(
+ getMainClass(),
+ Class.forName(typeName(TestClass.class) + "$1"),
+ Class.forName(typeName(TestClass.class) + "$X"),
+ Class.forName(typeName(TestClass.class) + "$A"),
+ Class.forName(typeName(TestClass.class) + "$B"),
+ Class.forName(typeName(TestClass.class) + "$C"));
+ }
+
+ @Override
+ public String getExpected() {
+ return StringUtils.lines(
+ "An exception was caught.",
+ "r = 1.7532855E9",
+ "mZ = false",
+ "mI = -1938324620",
+ "mJ = -242539528963191",
+ "mF = -1.0",
+ "mD = 0.0",
+ "mArray = [1.0, 5.0, 13.0, 29.0, 61.0, 125.0, 253.0, 509.0, 1021.0, 2045.0, 4093.0, 8189.0,"
+ + " 16381.0, 32765.0, 65533.0, 131069.0, 262141.0, 524285.0, 1048573.0, 2097149.0,"
+ + " 4194301.0, 8388605.0, 1.6777213E7, 3.3554429E7, 6.7108861E7, 1.34217725E8,"
+ + " 2.68435453E8, 5.36870909E8, 1.073741821E9, 2.147483645E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9, -1.938324619E9,"
+ + " -1.938324619E9, -1.938324619E9, 1.796355124E9, 1.796355125E9, 1.796355126E9,"
+ + " 1.796355127E9, 1.796355128E9, 1.796355129E9, 1.79635513E9, 1.796355131E9,"
+ + " 1.796355132E9, 1.796355133E9, 1.796355134E9, 1.796355135E9, 1.796355136E9,"
+ + " 1.796355137E9, 1.796355138E9, 1.796355139E9, 1.79635514E9, 1.796355141E9,"
+ + " 1.796355142E9, 1.796355143E9, 1.796355144E9, 1.796355145E9, 1.796355146E9,"
+ + " 1.796355147E9, 1.796355148E9, 1.796355149E9, 1.79635515E9, 1.796355151E9,"
+ + " 1.796355152E9, 1.796355153E9, 1.796355154E9, 1.796355155E9, 1.796355156E9,"
+ + " 1.796355157E9, 1.796355158E9, 1.796355159E9, 1.79635516E9, 1.796355161E9,"
+ + " 1.796355162E9, 1.796355163E9, 1.796355164E9, 1.796355165E9, 1.796355166E9,"
+ + " 1.796355167E9, 1.796355168E9, 1.796355169E9, 1.79635517E9, 1.796355171E9,"
+ + " 1.796355172E9, 1.796355173E9, 1.796355174E9, 1.796355175E9, 1.796355176E9,"
+ + " 1.796355177E9, 1.796355178E9, 1.796355179E9, 1.79635518E9, 1.796355181E9,"
+ + " 1.796355182E9, 1.796355183E9, 1.796355184E9, 1.796355185E9, 1.796355186E9,"
+ + " 1.796355187E9, 1.796355188E9, 1.796355189E9, 1.79635519E9, 1.796355191E9,"
+ + " 1.796355192E9, 1.796355193E9, 1.796355194E9, 1.796355195E9, 1.796355196E9,"
+ + " 1.796355197E9, 1.796355198E9, 1.796355199E9, 1.7963552E9, 1.796355201E9,"
+ + " 1.796355202E9, 1.796355203E9, 1.796355204E9, 1.796355205E9, 1.796355206E9,"
+ + " 1.796355207E9, 1.796355208E9, 1.796355209E9, 1.79635521E9, 1.796355211E9,"
+ + " 1.796355212E9, 1.796355213E9, 1.796355214E9, 1.796355215E9, 1.796355216E9,"
+ + " 1.796355217E9, 1.796355218E9, 1.796355219E9, 1.79635522E9, 1.796355221E9,"
+ + " 1.796355222E9, 1.796355223E9, 1.796355224E9, 1.796355225E9, 1.796355226E9,"
+ + " 1.796355227E9, 1.796355228E9, 1.796355229E9, 1.79635523E9, 1.796355231E9,"
+ + " 1.796355232E9, 1.796355233E9, 1.796355234E9, 1.796355235E9, 1.796355236E9,"
+ + " 1.796355237E9, 1.796355238E9, 1.796355239E9, 1.79635524E9, 1.796355241E9,"
+ + " 1.796355242E9, 1.796355243E9, 1.796355244E9, 1.796355245E9, 1.796355246E9,"
+ + " 1.796355247E9, 1.796355248E9, 1.796355249E9, 1.79635525E9, 1.796355251E9,"
+ + " 1.796355252E9, 1.796355253E9, 1.796355254E9, 1.796355255E9, 1.796355256E9,"
+ + " 1.796355257E9, 1.796355258E9, 1.796355259E9, 1.79635526E9, 1.796355261E9,"
+ + " 1.796355262E9, 1.796355263E9, 1.796355264E9, 1.796355265E9, 1.796355266E9,"
+ + " 1.796355267E9, 1.796355268E9, 1.796355269E9, 1.79635527E9, 1.796355271E9,"
+ + " 1.796355272E9, 1.796355273E9, 1.796355274E9, 1.796355275E9, 1.796355276E9,"
+ + " 1.796355277E9, 1.796355278E9, 1.796355279E9, 1.79635528E9, 1.796355281E9,"
+ + " 1.796355282E9, 1.796355283E9, 1.796355284E9, 1.796355285E9, 1.796355286E9,"
+ + " 1.796355287E9, 1.796355288E9, 1.796355289E9, 1.79635529E9, 1.796355291E9,"
+ + " 1.796355292E9, 1.796355293E9, 1.796355294E9, 1.796355295E9, 1.796355296E9,"
+ + " 1.796355297E9, 1.796355298E9, 1.796355299E9, 1.7963553E9, 1.796355301E9,"
+ + " 1.796355302E9, 1.796355303E9, 1.796355304E9, 1.796355305E9, 1.796355306E9,"
+ + " 1.796355307E9, 1.796355308E9, 1.796355309E9, 1.79635531E9, 1.796355311E9,"
+ + " 1.796355312E9, 1.796355313E9, 1.796355314E9, 1.796355315E9, 1.796355316E9,"
+ + " 1.796355317E9, 1.796355318E9, 1.796355319E9, 1.79635532E9, 1.796355321E9,"
+ + " 1.796355322E9, 1.796355323E9, 1.796355324E9, 1.796355325E9, 1.796355326E9,"
+ + " 1.796355327E9, 1.796355328E9, 1.796355329E9, 1.79635533E9, 1.796355331E9,"
+ + " 1.796355332E9, 1.796355333E9, 1.796355334E9, 1.796355335E9, 1.796355336E9,"
+ + " 1.796355337E9, 1.796355338E9, 1.796355339E9, 1.79635534E9, 1.796355341E9,"
+ + " 1.796355342E9, 1.796355343E9, 1.796355344E9, 1.796355345E9, 1.796355346E9,"
+ + " 1.796355347E9, 1.796355348E9, 1.796355349E9, 1.79635535E9, 1.796355351E9,"
+ + " 1.796355352E9, 1.796355353E9, 1.796355354E9, 1.796355355E9, 1.796355356E9,"
+ + " 1.796355357E9, 1.796355358E9, 1.796355359E9, 1.79635536E9, 1.796355361E9,"
+ + " 1.796355362E9, 1.796355363E9, 1.796355364E9, 1.796355365E9, 1.796355366E9,"
+ + " 1.796355367E9, 1.796355368E9, 1.796355369E9, 1.79635537E9, 1.796355371E9,"
+ + " 1.796355372E9, 1.796355373E9, 1.796355374E9, 1.796355375E9, 1.796355376E9,"
+ + " 1.796355377E9, 1.796355378E9, 1.796355379E9, 1.79635538E9, 1.796355381E9,"
+ + " 1.796355382E9, 1.796355383E9, 1.796355384E9, 1.796355385E9, 1.796355386E9,"
+ + " 1.796355387E9, 1.796355388E9, 1.796355389E9, 1.79635539E9, 1.796355391E9,"
+ + " 1.796355392E9, 1.796355393E9, 1.796355394E9, 1.796355395E9, 1.796355396E9,"
+ + " 1.796355397E9, 1.796355398E9, 1.796355399E9, 1.7963554E9, 1.796355401E9,"
+ + " 1.796355402E9, 1.796355403E9, 1.796355404E9, 1.796355405E9, 1.796355406E9,"
+ + " 1.796355407E9, 1.796355408E9, 1.796355409E9, 1.79635541E9, 1.796355411E9,"
+ + " 1.796355412E9, 1.796355413E9, 1.796355414E9, 1.796355415E9, 1.796355416E9,"
+ + " 1.796355417E9, 1.796355418E9, 1.796355419E9, 1.79635542E9, 1.796355421E9,"
+ + " 1.796355422E9, 1.796355423E9, 1.796355424E9, 1.796355425E9, 1.796355426E9,"
+ + " 1.796355427E9, 1.796355428E9, 1.796355429E9, 1.79635543E9, 1.796355431E9,"
+ + " 1.796355432E9, 1.796355433E9, 1.796355434E9, 1.796355435E9, 1.796355436E9,"
+ + " 1.796355437E9, 1.796355438E9, 1.796355439E9, 1.79635544E9, 1.796355441E9,"
+ + " 1.796355442E9, 1.796355443E9, 1.796355444E9, 1.796355445E9, 1.796355446E9,"
+ + " 1.796355447E9, 1.796355448E9, 1.796355449E9, 1.79635545E9, 1.796355451E9,"
+ + " 1.796355452E9, 1.796355453E9, 1.796355454E9, 1.796355455E9, 1.796355456E9,"
+ + " 1.796355457E9, 1.796355458E9, 1.796355459E9, 1.79635546E9, 1.796355461E9,"
+ + " 1.796355462E9, 1.796355463E9, 1.796355464E9, 1.796355465E9, 1.796355466E9,"
+ + " 1.796355467E9, 1.796355468E9, 1.796355469E9, 1.79635547E9, 1.796355471E9,"
+ + " 1.796355472E9, 1.796355473E9, 1.796355474E9, 1.796355475E9, 1.796355476E9,"
+ + " 1.796355477E9, 1.796355478E9, 1.796355479E9, 1.79635548E9, 1.796355481E9,"
+ + " 1.796355482E9, 1.796355483E9, 1.796355484E9, 1.796355485E9, 1.796355486E9,"
+ + " 1.796355487E9, 1.796355488E9, 1.796355489E9, 1.79635549E9, 1.796355491E9,"
+ + " 1.796355492E9, 1.796355493E9, 1.796355494E9, 1.796355495E9, 1.796355496E9,"
+ + " 1.796355497E9, 1.796355498E9, 1.796355499E9, 1.7963555E9, 1.796355501E9,"
+ + " 1.796355502E9, 1.796355503E9, 1.796355504E9, 1.796355505E9, 1.796355506E9,"
+ + " 1.796355507E9, 1.796355508E9, 1.796355509E9, 1.79635551E9, 1.796355511E9,"
+ + " 1.796355512E9, 1.796355513E9, 1.796355514E9, 1.796355515E9, 1.796355516E9,"
+ + " 1.796355517E9, 1.796355518E9, 1.796355519E9, 1.79635552E9, 1.796355521E9,"
+ + " 1.796355522E9, 1.796355523E9, 1.796355524E9, 1.796355525E9, 1.796355526E9,"
+ + " 1.796355527E9, 1.796355528E9, 1.796355529E9, 1.79635553E9, 1.796355531E9,"
+ + " 1.796355532E9, 1.796355533E9, 1.796355534E9, 1.796355535E9, 1.796355536E9,"
+ + " 1.796355537E9, 1.796355538E9, 1.796355539E9, 1.79635554E9, 1.796355541E9,"
+ + " 1.796355542E9, 1.796355543E9, 1.796355544E9, 1.796355545E9, 1.796355546E9,"
+ + " 1.796355547E9, 1.796355548E9, 1.796355549E9, 1.79635555E9, 1.796355551E9,"
+ + " 1.796355552E9, 1.796355553E9, 1.796355554E9, 1.796355555E9, 1.796355556E9,"
+ + " 1.796355557E9, 1.796355558E9, 1.796355559E9, 1.79635556E9, 1.796355561E9,"
+ + " 1.796355562E9, 1.796355563E9, 1.796355564E9, 1.796355565E9, 1.796355566E9,"
+ + " 1.796355567E9, 1.796355568E9, 1.796355569E9, 1.79635557E9, 1.796355571E9,"
+ + " 1.796355572E9, 1.796355573E9, 1.796355574E9, 1.796355575E9, 1.796355576E9,"
+ + " 1.796355577E9, 1.796355578E9, 1.796355579E9, 1.79635558E9, 1.796355581E9,"
+ + " 1.796355582E9, 1.796355583E9, 1.796355584E9, 1.796355585E9, 1.796355586E9,"
+ + " 1.796355587E9, 1.796355588E9, 1.796355589E9, 1.79635559E9, 1.796355591E9,"
+ + " 1.796355592E9, 1.796355593E9, 1.796355594E9, 1.796355595E9, 1.796355596E9,"
+ + " 1.796355597E9, 1.796355598E9, 1.796355599E9, 1.7963556E9, 1.796355601E9,"
+ + " 1.796355602E9, 1.796355603E9, 1.796355604E9, 1.796355605E9, 1.796355606E9,"
+ + " 1.796355607E9, 1.796355608E9, 1.796355609E9, 1.79635561E9, 1.796355611E9,"
+ + " 1.796355612E9, 1.796355613E9, 1.796355614E9, 1.796355615E9, 1.796355616E9,"
+ + " 1.796355617E9, 1.796355618E9, 1.796355619E9, 1.79635562E9, 1.796355621E9,"
+ + " 1.796355622E9, 1.796355623E9, 1.796355624E9, 1.796355625E9]");
+ }
+
+ @Test
+ public void testDesugaring() throws Exception {
+ runTestDesugaring();
+ }
+
+ @Test
+ public void testR8() throws Exception {
+ runTestR8();
+ }
+
+ // Debug stepping takes forever so don't test it (b/79671093).
+}
diff --git a/src/test/examples/regress_70703087/Test.java b/src/test/java/com/android/tools/r8/examples/regress_70703087/TestClass.java
similarity index 96%
rename from src/test/examples/regress_70703087/Test.java
rename to src/test/java/com/android/tools/r8/examples/regress_70703087/TestClass.java
index 4fb3f2d..c9a324e 100644
--- a/src/test/examples/regress_70703087/Test.java
+++ b/src/test/java/com/android/tools/r8/examples/regress_70703087/TestClass.java
@@ -1,7 +1,7 @@
// Copyright (c) 2017, the R8 project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-package regress_70703087;
+package com.android.tools.r8.examples.regress_70703087;
/**
* AOSP JFuzz Tester.
@@ -11,7 +11,7 @@
import java.util.Arrays;
-public class Test {
+public class TestClass {
private interface X {
int x();
@@ -58,7 +58,7 @@
private double[] mArray = new double[700];
- private Test() {
+ private TestClass() {
double a = 1796354926.0;
for (int i0 = 0; i0 < 700; i0++) {
mArray[i0] = a;
@@ -161,7 +161,7 @@
}
public static void main(String[] args) {
- Test t = new Test();
+ TestClass t = new TestClass();
float r = 1753285454.0f;
try {
r = t.testMethod();
diff --git a/src/test/java/com/android/tools/r8/examples/regress_70736958/Regress70736958TestRunner.java b/src/test/java/com/android/tools/r8/examples/regress_70736958/Regress70736958TestRunner.java
new file mode 100644
index 0000000..5f228ee
--- /dev/null
+++ b/src/test/java/com/android/tools/r8/examples/regress_70736958/Regress70736958TestRunner.java
@@ -0,0 +1,153 @@
+// Copyright (c) 2023, the R8 project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+package com.android.tools.r8.examples.regress_70736958;
+
+import com.android.tools.r8.TestParameters;
+import com.android.tools.r8.TestParametersCollection;
+import com.android.tools.r8.examples.ExamplesTestBase;
+import com.android.tools.r8.utils.StringUtils;
+import com.google.common.collect.ImmutableList;
+import java.util.List;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+
+@RunWith(Parameterized.class)
+public class Regress70736958TestRunner extends ExamplesTestBase {
+
+ @Parameterized.Parameters(name = "{0}")
+ public static TestParametersCollection data() {
+ return getTestParameters().withAllRuntimesAndApiLevels().enableApiLevelsForCf().build();
+ }
+
+ public Regress70736958TestRunner(TestParameters parameters) {
+ super(parameters);
+ }
+
+ @Override
+ public Class<?> getMainClass() {
+ return TestClass.class;
+ }
+
+ @Override
+ public List<Class<?>> getTestClasses() throws Exception {
+ return ImmutableList.of(
+ getMainClass(),
+ Class.forName(typeName(TestClass.class) + "$1"),
+ Class.forName(typeName(TestClass.class) + "$X"),
+ Class.forName(typeName(TestClass.class) + "$A"),
+ Class.forName(typeName(TestClass.class) + "$B"),
+ Class.forName(typeName(TestClass.class) + "$C"));
+ }
+
+ @Override
+ public String getExpected() {
+ return StringUtils.lines(
+ "r = true",
+ "mZ = false",
+ "mI = 1",
+ "mJ = 936439722084176000",
+ "mF = 0.0",
+ "mD = 0.0",
+ "mArray = [1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9,"
+ + " 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9, 1.6101889E9]");
+ }
+
+ @Test
+ public void testDesugaring() throws Exception {
+ runTestDesugaring();
+ }
+
+ @Test
+ public void testR8() throws Exception {
+ runTestR8();
+ }
+
+ @Test
+ public void testDebug() throws Exception {
+ runTestDebugComparator();
+ }
+}
diff --git a/src/test/examples/regress_70736958/Test.java b/src/test/java/com/android/tools/r8/examples/regress_70736958/TestClass.java
similarity index 93%
rename from src/test/examples/regress_70736958/Test.java
rename to src/test/java/com/android/tools/r8/examples/regress_70736958/TestClass.java
index 3186043..1f2ae2e 100644
--- a/src/test/examples/regress_70736958/Test.java
+++ b/src/test/java/com/android/tools/r8/examples/regress_70736958/TestClass.java
@@ -2,7 +2,7 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-package regress_70736958;
+package com.android.tools.r8.examples.regress_70736958;
/**
* AOSP JFuzz Tester.
@@ -12,7 +12,7 @@
import java.util.Arrays;
-public class Test {
+public class TestClass {
private interface X {
int x();
@@ -59,7 +59,7 @@
private float[] mArray = new float[504];
- private Test() {
+ private TestClass() {
float a = 1610188871.0f;
for (int i0 = 0; i0 < 504; i0++) {
mArray[i0] = a;
@@ -74,7 +74,7 @@
switch (360) {
case 180: {
mJ &= (mJ++);
- mZ &= (this instanceof Test);
+ mZ &= (this instanceof TestClass);
{
boolean lZ0 = (((false & mZ) | true) & false);
switch (96) {
@@ -91,7 +91,7 @@
} else {
lZ0 = (Double.isNaN(lD0));
}
- mZ = (this instanceof Test);
+ mZ = (this instanceof TestClass);
mJ /= (mJ | 513583530L);
} catch (IllegalStateException ex1_0) {
switch (354) {
@@ -117,7 +117,7 @@
{
int i2 = -1;
while (++i2 < 168) {
- mZ ^= (this instanceof Test);
+ mZ ^= (this instanceof TestClass);
}
}
nop();
@@ -165,7 +165,7 @@
public static void nop() {}
public static void main(String[] args) {
- Test t = new Test();
+ TestClass t = new TestClass();
boolean r = true;
try {
r = t.testMethod();