Makes sure to fail-fast on missing devirtualized method
Change-Id: I17b2f894cd50e55cca060ce0dcdf44dd844b112e
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/Devirtualizer.java b/dev/core/src/com/google/gwt/dev/jjs/impl/Devirtualizer.java
index acf104c..b8e630f 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/Devirtualizer.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/Devirtualizer.java
@@ -552,8 +552,10 @@
EnumMap<DispatchType, JMethod> dispatchToMethodByTargetType, JClassType targetDevirtualType) {
if (possibleTargetTypes.contains(target)) {
JMethod overridingMethod = findOverridingMethod(method, targetDevirtualType);
- assert overridingMethod != null : method.getEnclosingType().getName() + "::" +
- method.getName() + " not overridden by " + targetDevirtualType.getSimpleName();
+ if (overridingMethod == null) {
+ throw new AssertionError(method.getEnclosingType().getName() + "::" + method.getName()
+ + " not overridden by " + targetDevirtualType.getSimpleName());
+ }
dispatchToMethodByTargetType.put(target,
staticImplCreator.getOrCreateStaticImpl(program, overridingMethod));
}