Index: lib/compiler/implementation/ssa/codegen.dart |
diff --git a/lib/compiler/implementation/ssa/codegen.dart b/lib/compiler/implementation/ssa/codegen.dart |
index fdf877a754a08a2d1488902d9dd53081e471ac12..4fc34702661da2853a1082e9a92b781563295cf7 100644 |
--- a/lib/compiler/implementation/ssa/codegen.dart |
+++ b/lib/compiler/implementation/ssa/codegen.dart |
@@ -1515,6 +1515,13 @@ abstract class SsaCodeGenerator implements HVisitor, HBlockInformationVisitor { |
Selector defaultSelector) { |
// TODO(4434): For private members we need to use the untyped selector. |
if (defaultSelector.name.isPrivate()) return defaultSelector; |
+ // If [noSuchMethod] has been overridden and [InvocationMirror.invokeOn] |
Johnni Winther
2012/10/29 12:05:55
Change to 'If [JSInvocationMirror.invokeOn] has be
Lasse Reichstein Nielsen
2012/10/30 10:03:31
Done.
|
+ // has been called we must not create a typed selector based on the receiver |
+ // type. |
+ if (node.element == null && // Invocation is not exact. |
+ backend.compiler.enabledInvokeOn) { |
+ return defaultSelector; |
+ } |
HType receiverHType = types[node.inputs[0]]; |
DartType receiverType = receiverHType.computeType(compiler); |
if (receiverType != null) { |