Show monitor type in Monitor.toString

Makes debugging of Monitor instructions easier by overriding
getInstructionName to return either "MonitorEnter" or
"MonitorExit" as instruction name.

Change-Id: I4f53726d88c02aa30756a1b35bda3b4352a83ebe
diff --git a/src/main/java/com/android/tools/r8/ir/code/Monitor.java b/src/main/java/com/android/tools/r8/ir/code/Monitor.java
index a3b71e1..3c0c062 100644
--- a/src/main/java/com/android/tools/r8/ir/code/Monitor.java
+++ b/src/main/java/com/android/tools/r8/ir/code/Monitor.java
@@ -8,6 +8,7 @@
 
 import com.android.tools.r8.code.MonitorEnter;
 import com.android.tools.r8.code.MonitorExit;
+import com.android.tools.r8.errors.Unreachable;
 import com.android.tools.r8.graph.AppInfoWithSubtyping;
 import com.android.tools.r8.graph.DexType;
 import com.android.tools.r8.ir.conversion.DexBuilder;
@@ -89,4 +90,16 @@
     // Conservative choice.
     return Constraint.NEVER;
   }
+
+  @Override
+  public String getInstructionName() {
+    switch (type) {
+      case ENTER:
+        return "MonitorEnter";
+      case EXIT:
+        return "MonitorExit";
+      default:
+        throw new Unreachable("Unknown monitor type:" + type);
+    }
+  }
 }