Fix for some tests with invalid dex code.

Change-Id: I742f78d16cef4352635a1379799fbf499335e62a
diff --git a/src/test/java/com/android/tools/r8/smali/ConstantFoldingTest.java b/src/test/java/com/android/tools/r8/smali/ConstantFoldingTest.java
index 1fd6afd..3381473 100644
--- a/src/test/java/com/android/tools/r8/smali/ConstantFoldingTest.java
+++ b/src/test/java/com/android/tools/r8/smali/ConstantFoldingTest.java
@@ -585,7 +585,7 @@
 
   private void notIntMethodBuilder(SmaliBuilder builder, String name, Object parameters) {
     Integer value = (Integer) parameters;
-    builder.addStaticMethod("long", name, Collections.emptyList(),
+    builder.addStaticMethod("int", name, Collections.emptyList(),
         1,
         "    const v0, " + value,
         "    not-int v0, v0",
@@ -950,6 +950,7 @@
     addCmpFloatFoldTests(testBuilder);
     addCmpDoubleFoldTests(testBuilder);
     addCmpLongFold(testBuilder);
+    runDex2Oat(testBuilder.builder.build());
     testBuilder.run();
   }
 
diff --git a/src/test/java/com/android/tools/r8/smali/OutlineTest.java b/src/test/java/com/android/tools/r8/smali/OutlineTest.java
index eb66c51..371c4d1 100644
--- a/src/test/java/com/android/tools/r8/smali/OutlineTest.java
+++ b/src/test/java/com/android/tools/r8/smali/OutlineTest.java
@@ -94,7 +94,7 @@
         DEFAULT_METHOD_NAME,
         parameters,
         2,
-        "    move                v0, p0",
+        "    move-object         v0, p0",
         "    const-string        v1, \"Test\"",
         "    invoke-virtual      { v0, v1 }, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;",
         "    move-result-object  v0",
@@ -158,7 +158,7 @@
         DEFAULT_METHOD_NAME,
         parameters,
         2,
-        "    move                v0, p0",
+        "    move-object         v0, p0",
         "    const-string        v1, \"Test1\"",
         "    invoke-virtual      { v0, v1 }, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;",
         "    move-result-object  v0",
@@ -231,7 +231,7 @@
         DEFAULT_METHOD_NAME,
         parameters,
         2,
-        "    move                v0, p0",
+        "    move-object         v0, p0",
         "    const-string        v1, \"Test\"",
         "    invoke-virtual      { v0, v1 }, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;",
         "    move-result-object  v0",
@@ -354,7 +354,7 @@
         DEFAULT_METHOD_NAME,
         parameters,
         3,
-        "    move                v0, p0",
+        "    move-object         v0, p0",
         "    const-wide          v1, 0x7fffffff00000000L",
         "    invoke-virtual      { v0, v1, v2 }, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;",
         "    move-result-object  v0",
@@ -430,7 +430,7 @@
         DEFAULT_METHOD_NAME,
         parameters,
         3,
-        "    move                v0, p0",
+        "    move-object         v0, p0",
         "    const-wide          v1, 0x3ff0000000000000L",
         "    invoke-virtual      { v0, v1, v2 }, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;",
         "    move-result-object  v0",
@@ -793,7 +793,7 @@
         "method1",
         parameters,
         2,
-        "    move                v0, p0",
+        "    move-object         v0, p0",
         "    const-string        v1, \"Test\"",
         "    invoke-virtual      { v0, v1 }, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;",
         "    move-result-object  v0",
@@ -809,7 +809,7 @@
         "method2",
         parameters,
         2,
-        "    move                v0, p0",
+        "    move-object         v0, p0",
         "    const-string        v1, \"Test\"",
         "    invoke-virtual      { v0, v1 }, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;",
         "    move-result-object  v0",
@@ -878,7 +878,7 @@
         DEFAULT_METHOD_NAME,
         parameters,
         2,
-        "    move                v0, p0",
+        "    move-object         v0, p0",
         "    const-string        v1, \"Test\"",
         "    invoke-virtual      { v0, v1 }, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;",
         "    move-result-object  v0",
diff --git a/src/test/java/com/android/tools/r8/smali/RemoveWriteOfUnusedFieldsTest.java b/src/test/java/com/android/tools/r8/smali/RemoveWriteOfUnusedFieldsTest.java
index dae717e..7e03c9d 100644
--- a/src/test/java/com/android/tools/r8/smali/RemoveWriteOfUnusedFieldsTest.java
+++ b/src/test/java/com/android/tools/r8/smali/RemoveWriteOfUnusedFieldsTest.java
@@ -6,12 +6,15 @@
 
 import static org.junit.Assert.assertTrue;
 
+import com.android.tools.r8.OutputMode;
+import com.android.tools.r8.ToolHelper;
 import com.android.tools.r8.graph.DexCode;
 import com.android.tools.r8.origin.Origin;
 import com.android.tools.r8.utils.AndroidApp;
 import com.android.tools.r8.utils.DexInspector;
 import com.android.tools.r8.utils.DexInspector.MethodSubject;
 import com.google.common.collect.ImmutableList;
+import java.nio.file.Path;
 import org.junit.Test;
 
 public class RemoveWriteOfUnusedFieldsTest extends SmaliTestBase {
@@ -36,12 +39,13 @@
     builder.addStaticMethod("void", "test", ImmutableList.of(),
         2,
         "const               v0, 0",
-        "sput-byte           v0, LTest;->booleanField:Z",
+        "sput-boolean        v0, LTest;->booleanField:Z",
         "sput-byte           v0, LTest;->byteField:B",
         "sput-short          v0, LTest;->shortField:S",
         "sput                v0, LTest;->intField:I",
         "sput                v0, LTest;->floatField:F",
         "sput-char           v0, LTest;->charField:C",
+        "const               v0, 0",
         "sput-object         v0, LTest;->objectField:Ljava/lang/Object;",
         "sput-object         v0, LTest;->stringField:Ljava/lang/String;",
         "sput-object         v0, LTest;->testField:LTest;",
@@ -55,9 +59,16 @@
         "    invoke-static       { }, LTest;->test()V",
         "    return-void                             ");
 
+    AndroidApp input =
+        AndroidApp.builder().addDexProgramData(builder.compile(), Origin.unknown()).build();
+
+    Path inputPath = temp.getRoot().toPath().resolve("input.zip");
+    input.writeToZip(inputPath, OutputMode.DexIndexed);
+    ToolHelper.runArtNoVerificationErrors(inputPath.toString(), DEFAULT_CLASS_NAME);
+
     AndroidApp app =
         compileWithR8(
-            AndroidApp.builder().addDexProgramData(builder.compile(), Origin.unknown()).build(),
+            input,
             keepMainProguardConfiguration("Test"),
             options -> options.enableInlining = false);
 
@@ -87,12 +98,13 @@
     builder.addInstanceMethod("void", "test", ImmutableList.of(),
         2,
         "const               v0, 0",
-        "iput-byte           v0, p0, LTest;->booleanField:Z",
+        "iput-boolean        v0, p0, LTest;->booleanField:Z",
         "iput-byte           v0, p0, LTest;->byteField:B",
         "iput-short          v0, p0, LTest;->shortField:S",
         "iput                v0, p0, LTest;->intField:I",
         "iput                v0, p0, LTest;->floatField:F",
         "iput-char           v0, p0, LTest;->charField:C",
+        "const               v0, 0",
         "iput-object         v0, p0, LTest;->objectField:Ljava/lang/Object;",
         "iput-object         v0, p0, LTest;->stringField:Ljava/lang/String;",
         "iput-object         v0, p0, LTest;->testField:LTest;",
@@ -104,12 +116,20 @@
     builder.addMainMethod(
         1,
         "    new-instance         v0, LTest;",
+        "    invoke-direct        { v0 }, LTest;-><init>()V",
         "    invoke-virtual       { v0 }, LTest;->test()V",
         "    return-void                             ");
 
+    AndroidApp input =
+        AndroidApp.builder().addDexProgramData(builder.compile(), Origin.unknown()).build();
+
+    Path inputPath = temp.getRoot().toPath().resolve("input.zip");
+    input.writeToZip(inputPath, OutputMode.DexIndexed);
+    ToolHelper.runArtNoVerificationErrors(inputPath.toString(), DEFAULT_CLASS_NAME);
+
     AndroidApp app =
         compileWithR8(
-            AndroidApp.builder().addDexProgramData(builder.compile(), Origin.unknown()).build(),
+            input,
             keepMainProguardConfiguration("Test"),
             options -> options.enableInlining = false);