Don't use JUnit fail(...) in test classes.
Bug: 139795497
Change-Id: If24beb236b9e774052b6d91b448f32daa108bce2
diff --git a/src/test/java/com/android/tools/r8/invalid/DuplicateProgramTypesTest.java b/src/test/java/com/android/tools/r8/invalid/DuplicateProgramTypesTest.java
index 12867ba..e8c8d39 100644
--- a/src/test/java/com/android/tools/r8/invalid/DuplicateProgramTypesTest.java
+++ b/src/test/java/com/android/tools/r8/invalid/DuplicateProgramTypesTest.java
@@ -21,7 +21,6 @@
import com.android.tools.r8.origin.Origin;
import com.android.tools.r8.position.Position;
import com.android.tools.r8.references.Reference;
-import com.android.tools.r8.utils.StringUtils;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
@@ -29,8 +28,6 @@
@RunWith(Parameterized.class)
public class DuplicateProgramTypesTest extends TestBase {
- static final String EXPECTED = StringUtils.lines("Hello, world");
-
private final TestParameters parameters;
@Parameterized.Parameters(name = "{0}")
@@ -63,6 +60,7 @@
try {
byte[] bytes = ToolHelper.getClassAsBytes(TestClass.class);
testForD8()
+ .setMinApi(parameters.getRuntime())
.apply(
b -> {
b.getBuilder().addClassProgramData(bytes, originA);
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/AlwaysThrowNullTest.java b/src/test/java/com/android/tools/r8/ir/optimize/AlwaysThrowNullTest.java
index ec441a0..a46524a 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/AlwaysThrowNullTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/AlwaysThrowNullTest.java
@@ -7,7 +7,6 @@
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
import static org.junit.Assume.assumeTrue;
import com.android.tools.r8.D8TestRunResult;
@@ -60,7 +59,7 @@
try {
arg.dead = new Object();
} catch (IllegalArgumentException e) {
- fail("Unexpected exception kind");
+ throw new AssertionError("Unexpected exception kind");
}
}
@@ -110,34 +109,34 @@
try {
uninstantiatedInstancePutWithNPEGuard(null);
} catch (NullPointerException npe) {
- fail("Unexpected NPE");
+ throw new AssertionError("Unexpected NPE");
}
try {
uninstantiatedInstancePutWithOtherGuard(null);
- fail("Expected NullPointerException");
+ throw new AssertionError("Expected NullPointerException");
} catch (NullPointerException npe) {
System.out.println("Expected NPE");
}
try {
uninstantiatedInstanceInvoke(null);
- fail("Expected NullPointerException");
+ throw new AssertionError("Expected NullPointerException");
} catch (NullPointerException npe) {
System.out.println("Expected NPE");
}
try {
nullReferenceInvoke();
} catch (NullPointerException npe) {
- fail("Unexpected NPE");
+ throw new AssertionError("Unexpected NPE");
}
try {
uninstantiatedInstancePut(null);
- fail("Expected NullPointerException");
+ throw new AssertionError("Expected NullPointerException");
} catch (NullPointerException npe) {
System.out.println("Expected NPE");
}
try {
uninstantiatedInstanceGet(null);
- fail("Expected NullPointerException");
+ throw new AssertionError("Expected NullPointerException");
} catch (NullPointerException npe) {
System.out.println("Expected NPE");
}
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/ObjectsRequireNonNullTest.java b/src/test/java/com/android/tools/r8/ir/optimize/ObjectsRequireNonNullTest.java
index 7cd6dc0..7db31b4 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/ObjectsRequireNonNullTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/ObjectsRequireNonNullTest.java
@@ -6,7 +6,6 @@
import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
import static org.junit.Assume.assumeTrue;
import com.android.tools.r8.D8TestRunResult;
@@ -30,68 +29,6 @@
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
-class ObjectsRequireNonNullTestMain {
-
- static class Uninitialized {
- void noWayToCall() {
- System.out.println("Uninitialized, hence no way to call this.");
- }
- }
-
- @NeverPropagateValue
- @NeverInline
- static void consumeUninitialized(Uninitialized arg) {
- Uninitialized nonNullArg = Objects.requireNonNull(arg);
- // Dead code.
- nonNullArg.noWayToCall();
- }
-
- static class Foo {
- @NeverInline
- void bar() {
- System.out.println("Foo::bar");
- }
-
- @NeverInline
- @Override
- public String toString() {
- return "Foo::toString";
- }
- }
-
- @NeverInline
- static void unknownArg(Foo foo) {
- // It's unclear the argument is definitely null or not null.
- Foo checked = Objects.requireNonNull(foo);
- checked.bar();
- }
-
- public static void main(String[] args) {
- Foo instance = new Foo();
- // Not removable in debug mode.
- Object nonNull = Objects.requireNonNull(instance);
- System.out.println(nonNull);
- // Removable because associated locals are changed while type casting.
- Foo checked = Objects.requireNonNull(instance);
- checked.bar();
-
- unknownArg(instance);
- try {
- unknownArg(null);
- fail("Expected NullPointerException");
- } catch (NullPointerException npe) {
- System.out.println("Expected NPE");
- }
-
- try {
- consumeUninitialized(null);
- fail("Expected NullPointerException");
- } catch (NullPointerException npe) {
- System.out.println("Expected NPE");
- }
- }
-}
-
@RunWith(Parameterized.class)
public class ObjectsRequireNonNullTest extends TestBase {
private static final String JAVA_OUTPUT = StringUtils.lines(
@@ -204,4 +141,66 @@
.assertSuccessWithOutput(JAVA_OUTPUT);
test(result, 0, 0);
}
+
+ static class ObjectsRequireNonNullTestMain {
+
+ static class Uninitialized {
+ void noWayToCall() {
+ System.out.println("Uninitialized, hence no way to call this.");
+ }
+ }
+
+ @NeverPropagateValue
+ @NeverInline
+ static void consumeUninitialized(Uninitialized arg) {
+ Uninitialized nonNullArg = Objects.requireNonNull(arg);
+ // Dead code.
+ nonNullArg.noWayToCall();
+ }
+
+ static class Foo {
+ @NeverInline
+ void bar() {
+ System.out.println("Foo::bar");
+ }
+
+ @NeverInline
+ @Override
+ public String toString() {
+ return "Foo::toString";
+ }
+ }
+
+ @NeverInline
+ static void unknownArg(Foo foo) {
+ // It's unclear the argument is definitely null or not null.
+ Foo checked = Objects.requireNonNull(foo);
+ checked.bar();
+ }
+
+ public static void main(String[] args) {
+ Foo instance = new Foo();
+ // Not removable in debug mode.
+ Object nonNull = Objects.requireNonNull(instance);
+ System.out.println(nonNull);
+ // Removable because associated locals are changed while type casting.
+ Foo checked = Objects.requireNonNull(instance);
+ checked.bar();
+
+ unknownArg(instance);
+ try {
+ unknownArg(null);
+ throw new AssertionError("Expected NullPointerException");
+ } catch (NullPointerException npe) {
+ System.out.println("Expected NPE");
+ }
+
+ try {
+ consumeUninitialized(null);
+ throw new AssertionError("Expected NullPointerException");
+ } catch (NullPointerException npe) {
+ System.out.println("Expected NPE");
+ }
+ }
+ }
}
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/reflection/ForNameTest.java b/src/test/java/com/android/tools/r8/ir/optimize/reflection/ForNameTest.java
index 149c374..14cd360 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/reflection/ForNameTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/reflection/ForNameTest.java
@@ -6,7 +6,6 @@
import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
import static org.junit.Assume.assumeTrue;
import com.android.tools.r8.D8TestRunResult;
@@ -46,7 +45,7 @@
try {
// Not found, hence kept.
Class<?> c = Class.forName("UnknownClass");
- fail("Should preserve ClassNotFoundException.");
+ throw new AssertionError("Should preserve ClassNotFoundException.");
} catch (ClassNotFoundException e) {
// Expected
System.out.println("Unknown");
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/reflection/GetClassTest.java b/src/test/java/com/android/tools/r8/ir/optimize/reflection/GetClassTest.java
index 1b9c22f..893e20d 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/reflection/GetClassTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/reflection/GetClassTest.java
@@ -6,7 +6,6 @@
import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
import static org.junit.Assume.assumeTrue;
import com.android.tools.r8.D8TestRunResult;
@@ -86,7 +85,7 @@
System.out.println(getMainClass(instance));
System.out.println(getMainClass(null));
- fail("Should preserve NPE.");
+ throw new AssertionError("Should preserve NPE.");
} catch (NullPointerException e) {
// Expected
}
@@ -99,7 +98,7 @@
// Can be rewritten to const-class after inlining.
System.out.println(r.call());
} catch (Throwable e) {
- fail("Not expected any exceptions.");
+ throw new AssertionError("Not expected any exceptions.");
}
}
}
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/string/StringContentCheckTest.java b/src/test/java/com/android/tools/r8/ir/optimize/string/StringContentCheckTest.java
index 528b267..babfa89 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/string/StringContentCheckTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/string/StringContentCheckTest.java
@@ -6,7 +6,6 @@
import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
import static org.junit.Assume.assumeTrue;
import com.android.tools.r8.NeverInline;
@@ -252,7 +251,7 @@
System.out.println(argCouldBeNull("prefix-CONST-suffix"));
try {
argCouldBeNull(null);
- fail("Should raise NullPointerException");
+ throw new AssertionError("Should raise NullPointerException");
} catch (NullPointerException npe) {
// expected
}
@@ -261,7 +260,7 @@
{
try {
System.out.println("qwerty".substring(8));
- fail("Should raise StringIndexOutOfBoundsException");
+ throw new AssertionError("Should raise StringIndexOutOfBoundsException");
} catch (StringIndexOutOfBoundsException e) {
// expected
}
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/string/StringHashCodeTest.java b/src/test/java/com/android/tools/r8/ir/optimize/string/StringHashCodeTest.java
index 23840f2..2f2ab15 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/string/StringHashCodeTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/string/StringHashCodeTest.java
@@ -6,7 +6,6 @@
import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
import static org.junit.Assume.assumeTrue;
import com.android.tools.r8.D8TestRunResult;
@@ -143,7 +142,7 @@
try {
npe();
- fail("Expect to raise NPE");
+ throw new AssertionError("Expect to raise NPE");
} catch (NullPointerException npe) {
// expected
}
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/string/StringIsEmptyTest.java b/src/test/java/com/android/tools/r8/ir/optimize/string/StringIsEmptyTest.java
index 500db35..8869a01 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/string/StringIsEmptyTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/string/StringIsEmptyTest.java
@@ -6,7 +6,6 @@
import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
import static org.junit.Assume.assumeTrue;
import com.android.tools.r8.D8TestRunResult;
@@ -121,7 +120,7 @@
System.out.println(wrapper("non-null"));
try {
wrapper(null);
- fail("Should raise NullPointerException");
+ throw new AssertionError("Should raise NullPointerException");
} catch (NullPointerException npe) {
// expected
}
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/string/StringLengthTest.java b/src/test/java/com/android/tools/r8/ir/optimize/string/StringLengthTest.java
index 6ef9f5e..c13b942 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/string/StringLengthTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/string/StringLengthTest.java
@@ -6,7 +6,6 @@
import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
import static org.junit.Assume.assumeTrue;
import com.android.tools.r8.D8TestRunResult;
@@ -169,7 +168,7 @@
try {
npe();
- fail("Expect to raise NPE");
+ throw new AssertionError("Expect to raise NPE");
} catch (NullPointerException npe) {
// expected
}
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/string/StringToStringTest.java b/src/test/java/com/android/tools/r8/ir/optimize/string/StringToStringTest.java
index f90f356..0740b43 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/string/StringToStringTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/string/StringToStringTest.java
@@ -6,7 +6,6 @@
import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
import static org.junit.Assume.assumeTrue;
import com.android.tools.r8.D8TestRunResult;
@@ -131,7 +130,7 @@
System.out.println(builder.toString());
try {
System.out.println(hideNPE(null));
- fail("Expected NullPointerException");
+ throw new AssertionError("Expected NullPointerException");
} catch (NullPointerException npe) {
// Expected
}
diff --git a/src/test/java/com/android/tools/r8/ir/optimize/string/StringValueOfTest.java b/src/test/java/com/android/tools/r8/ir/optimize/string/StringValueOfTest.java
index 1007ce8..e92d393 100644
--- a/src/test/java/com/android/tools/r8/ir/optimize/string/StringValueOfTest.java
+++ b/src/test/java/com/android/tools/r8/ir/optimize/string/StringValueOfTest.java
@@ -6,7 +6,6 @@
import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
import static org.junit.Assume.assumeTrue;
import com.android.tools.r8.ForceInline;
@@ -216,12 +215,12 @@
try {
System.out.println(hideNPE(null));
} catch (NullPointerException npe) {
- fail("Not expected: " + npe);
+ throw new AssertionError("Not expected: " + npe);
}
try {
System.out.println(consumeUninitialized(null));
} catch (NullPointerException npe) {
- fail("Not expected: " + npe);
+ throw new AssertionError("Not expected: " + npe);
}
// No matter what we pass, that function will return null.
diff --git a/src/test/java/com/android/tools/r8/memberrebinding/MemberRebindingTest.java b/src/test/java/com/android/tools/r8/memberrebinding/MemberRebindingTest.java
index 0ae0da6..a3cde5c 100644
--- a/src/test/java/com/android/tools/r8/memberrebinding/MemberRebindingTest.java
+++ b/src/test/java/com/android/tools/r8/memberrebinding/MemberRebindingTest.java
@@ -10,6 +10,7 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestBase.Backend;
import com.android.tools.r8.ToolHelper;
+import com.android.tools.r8.errors.Unreachable;
import com.android.tools.r8.naming.MemberNaming.MethodSignature;
import com.android.tools.r8.utils.AndroidApiLevel;
import com.android.tools.r8.utils.TestDescriptionWatcher;
@@ -31,7 +32,6 @@
import java.util.concurrent.ExecutionException;
import java.util.function.Consumer;
import java.util.stream.Collectors;
-import org.junit.Assert;
import org.junit.Assume;
import org.junit.Before;
import org.junit.Rule;
@@ -312,8 +312,7 @@
case N:
return Paths.get(ToolHelper.EXAMPLES_ANDROID_N_BUILD_DIR);
default:
- Assert.fail();
- return null;
+ throw new Unreachable();
}
}
@@ -324,8 +323,7 @@
case N:
return AndroidApiLevel.N.getLevel();
default:
- Assert.fail();
- return -1;
+ throw new Unreachable();
}
}
diff --git a/src/test/java/com/android/tools/r8/naming/GenericSignatureParserTest.java b/src/test/java/com/android/tools/r8/naming/GenericSignatureParserTest.java
index 957bc1d..b264ef5 100644
--- a/src/test/java/com/android/tools/r8/naming/GenericSignatureParserTest.java
+++ b/src/test/java/com/android/tools/r8/naming/GenericSignatureParserTest.java
@@ -71,7 +71,7 @@
GenericSignatureParser<String> parser =
new GenericSignatureParser<>(new ReGenerateGenericSignatureRewriter());
parse.accept(parser, signature);
- fail("Succesfully parsed " + signature);
+ fail("Successfully parsed " + signature);
} catch (GenericSignatureFormatError e) {
errorChecker.accept(e);
}
@@ -101,7 +101,7 @@
try {
if (validPrefixes == null || !validPrefixes.contains(i)) {
parser.accept(signature.substring(0, i));
- fail("Succesfully parsed " + signature.substring(0, i) + " (position " + i +")");
+ fail("Successfully parsed " + signature.substring(0, i) + " (position " + i +")");
}
} catch (GenericSignatureFormatError e) {
assertTrue(e.getMessage().contains("at position " + (i + 1)));
diff --git a/src/test/java/com/android/tools/r8/naming/applymapping/shared/NameClashTest.java b/src/test/java/com/android/tools/r8/naming/applymapping/shared/NameClashTest.java
index ac5fc0d..0b37f73 100644
--- a/src/test/java/com/android/tools/r8/naming/applymapping/shared/NameClashTest.java
+++ b/src/test/java/com/android/tools/r8/naming/applymapping/shared/NameClashTest.java
@@ -4,7 +4,7 @@
package com.android.tools.r8.naming.applymapping.shared;
import static org.hamcrest.CoreMatchers.containsString;
-import static org.junit.Assert.assertThat;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.fail;
import com.android.tools.r8.CompilationFailedException;
diff --git a/src/test/java/com/android/tools/r8/proguard/configuration/InheritanceClauseWithDisjunctionTest.java b/src/test/java/com/android/tools/r8/proguard/configuration/InheritanceClauseWithDisjunctionTest.java
index 6a26c3b..68e9e16 100644
--- a/src/test/java/com/android/tools/r8/proguard/configuration/InheritanceClauseWithDisjunctionTest.java
+++ b/src/test/java/com/android/tools/r8/proguard/configuration/InheritanceClauseWithDisjunctionTest.java
@@ -6,8 +6,8 @@
import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThat;
import static org.junit.Assert.fail;
import com.android.tools.r8.CompilationFailedException;
diff --git a/src/test/java/com/android/tools/r8/proguard/configuration/RepackagingCompatibilityTest.java b/src/test/java/com/android/tools/r8/proguard/configuration/RepackagingCompatibilityTest.java
index afaf999..39b47f6 100644
--- a/src/test/java/com/android/tools/r8/proguard/configuration/RepackagingCompatibilityTest.java
+++ b/src/test/java/com/android/tools/r8/proguard/configuration/RepackagingCompatibilityTest.java
@@ -8,7 +8,7 @@
import static org.hamcrest.CoreMatchers.containsString;
import static org.hamcrest.CoreMatchers.not;
import static org.hamcrest.CoreMatchers.startsWith;
-import static org.junit.Assert.assertThat;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.fail;
import static org.junit.Assume.assumeFalse;
diff --git a/src/test/java/com/android/tools/r8/shaking/array/DeadArrayLengthTest.java b/src/test/java/com/android/tools/r8/shaking/array/DeadArrayLengthTest.java
index 4b24afc..085ad52 100644
--- a/src/test/java/com/android/tools/r8/shaking/array/DeadArrayLengthTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/array/DeadArrayLengthTest.java
@@ -6,7 +6,6 @@
import static com.android.tools.r8.utils.codeinspector.Matchers.isPresent;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
import static org.junit.Assume.assumeTrue;
import com.android.tools.r8.NeverPropagateValue;
@@ -117,14 +116,14 @@
System.out.println(clearlyNonNull(args.length));
try {
System.out.println(isNullable(null));
- fail("Expect to see NPE");
+ throw new AssertionError("Expect to see NPE");
} catch (NullPointerException npe) {
System.out.println("Expected NPE");
}
try {
System.out.println(afterNullCheck(null));
} catch (NullPointerException npe) {
- fail("Not expect to see NPE");
+ throw new AssertionError("Not expect to see NPE");
}
}
}
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 ce1fd33..fb0785e 100644
--- a/src/test/java/com/android/tools/r8/smali/ConstantFoldingTest.java
+++ b/src/test/java/com/android/tools/r8/smali/ConstantFoldingTest.java
@@ -5,7 +5,6 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
import com.android.tools.r8.code.Const4;
import com.android.tools.r8.code.DivIntLit8;
@@ -13,6 +12,7 @@
import com.android.tools.r8.code.RemIntLit8;
import com.android.tools.r8.code.Return;
import com.android.tools.r8.code.ReturnWide;
+import com.android.tools.r8.errors.Unreachable;
import com.android.tools.r8.graph.DexCode;
import com.android.tools.r8.graph.DexEncodedMethod;
import com.android.tools.r8.ir.code.Cmp.Bias;
@@ -365,7 +365,7 @@
break;
default:
this.expected = 0;
- fail("Unsupported logical binop " + op);
+ throw new Unreachable("Unsupported logical binop " + op);
}
}
}
@@ -445,7 +445,7 @@
v0 = v0 >>> v3;
break;
default:
- fail("Unsupported shift " + op);
+ throw new Unreachable("Unsupported shift " + op);
}
this.expected = v0;
@@ -528,7 +528,7 @@
v0 = v0 >>> v6;
break;
default:
- fail("Unsupported shift " + op);
+ throw new Unreachable("Unsupported shift " + op);
}
this.expected = v0;