| Index: sdk/lib/_internal/compiler/implementation/js_backend/backend.dart
|
| ===================================================================
|
| --- sdk/lib/_internal/compiler/implementation/js_backend/backend.dart (revision 15008)
|
| +++ sdk/lib/_internal/compiler/implementation/js_backend/backend.dart (working copy)
|
| @@ -647,6 +647,7 @@
|
| CodeEmitterTask emitter;
|
|
|
| ClassElement jsStringClass;
|
| + ClassElement jsArrayClass;
|
| ClassElement objectInterceptorClass;
|
| Element getInterceptorMethod;
|
|
|
| @@ -716,7 +717,7 @@
|
|
|
| bool isInterceptorClass(Element element) {
|
| if (element == null) return false;
|
| - return element == jsStringClass;
|
| + return element == jsStringClass || element == jsArrayClass;
|
| }
|
|
|
| void addInterceptedSelector(Selector selector) {
|
| @@ -749,6 +750,13 @@
|
| initializeInterceptorElements();
|
| }
|
| result = jsStringClass;
|
| + } else if (cls == compiler.listClass) {
|
| + if (jsArrayClass == null) {
|
| + jsArrayClass =
|
| + compiler.findInterceptor(const SourceString('JSArray'));
|
| + initializeInterceptorElements();
|
| + }
|
| + result = jsArrayClass;
|
| }
|
|
|
| if (result == null) return;
|
|
|