Chromium Code Reviews| Index: pkg/compiler/lib/src/js_backend/codegen/unsugar.dart |
| diff --git a/pkg/compiler/lib/src/js_backend/codegen/unsugar.dart b/pkg/compiler/lib/src/js_backend/codegen/unsugar.dart |
| index e0115f21c2e7102fb63b8c43a8f21d86937352c8..d740e9dba27e222309c8b1f399a4519a58bf899a 100644 |
| --- a/pkg/compiler/lib/src/js_backend/codegen/unsugar.dart |
| +++ b/pkg/compiler/lib/src/js_backend/codegen/unsugar.dart |
| @@ -262,6 +262,18 @@ class UnsugarVisitor extends RecursiveVisitor { |
| node.receiver = new Reference<Primitive>(newReceiver); |
| } |
| + processTypeOperator(TypeOperator node) { |
|
karlklose
2015/05/22 07:40:49
I think we should do this in the IR builder. Long
asgerf
2015/05/22 12:31:36
I completely agree. There is a strange limbo in th
|
| + // Intercept the receiver to type operators. |
| + // We don't have any type information here, so we use the set of all |
| + // intercepted classes to be safe. |
| + _glue.registerSpecializedGetInterceptor(_glue.interceptedClasses); |
| + Primitive interceptor = |
| + new Interceptor(node.receiver.definition, _glue.interceptedClasses); |
| + insertLetPrim(interceptor, node); |
| + node.receiver.unlink(); |
| + node.receiver = new Reference<Primitive>(interceptor); |
| + } |
| + |
| processInvokeMethodDirectly(InvokeMethodDirectly node) { |
| if (_glue.isInterceptedMethod(node.target)) { |
| Primitive nullPrim = nullConstant; |