| OLD | NEW | 
|---|
| 1 // Copyright (c) 2014, the Dart project authors.  Please see the AUTHORS file | 1 // Copyright (c) 2014, the Dart project authors.  Please see the AUTHORS file | 
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a | 
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. | 
| 4 | 4 | 
| 5 part of dart2js.js_emitter; | 5 part of dart2js.js_emitter; | 
| 6 | 6 | 
| 7 class InterceptorStubGenerator { | 7 class InterceptorStubGenerator { | 
| 8   final Compiler compiler; | 8   final Compiler compiler; | 
| 9   final Namer namer; | 9   final Namer namer; | 
| 10   final JavaScriptBackend backend; | 10   final JavaScriptBackend backend; | 
| (...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 162       }''', | 162       }''', | 
| 163           [ | 163           [ | 
| 164             interceptorFor(helpers.jsJavaScriptFunctionClass), | 164             interceptorFor(helpers.jsJavaScriptFunctionClass), | 
| 165             backend.emitter | 165             backend.emitter | 
| 166                 .constructorAccess(compiler.commonElements.objectClass), | 166                 .constructorAccess(compiler.commonElements.objectClass), | 
| 167             backend.emitter | 167             backend.emitter | 
| 168                 .staticFunctionAccess(helpers.getNativeInterceptorMethod) | 168                 .staticFunctionAccess(helpers.getNativeInterceptorMethod) | 
| 169           ])); | 169           ])); | 
| 170     } else { | 170     } else { | 
| 171       ClassElement jsUnknown = helpers.jsUnknownJavaScriptObjectClass; | 171       ClassElement jsUnknown = helpers.jsUnknownJavaScriptObjectClass; | 
| 172       if (compiler.codegenWorld.directlyInstantiatedClasses | 172       if (compiler.codegenWorldBuilder.directlyInstantiatedClasses | 
| 173           .contains(jsUnknown)) { | 173           .contains(jsUnknown)) { | 
| 174         statements.add(js.statement('if (!(receiver instanceof #)) return #;', [ | 174         statements.add(js.statement('if (!(receiver instanceof #)) return #;', [ | 
| 175           backend.emitter | 175           backend.emitter | 
| 176               .constructorAccess(compiler.commonElements.objectClass), | 176               .constructorAccess(compiler.commonElements.objectClass), | 
| 177           interceptorFor(jsUnknown) | 177           interceptorFor(jsUnknown) | 
| 178         ])); | 178         ])); | 
| 179       } | 179       } | 
| 180 | 180 | 
| 181       statements.add(js.statement('return receiver')); | 181       statements.add(js.statement('return receiver')); | 
| 182     } | 182     } | 
| (...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 395 | 395 | 
| 396           var map = new jsAst.ObjectInitializer(properties); | 396           var map = new jsAst.ObjectInitializer(properties); | 
| 397           elements.add(map); | 397           elements.add(map); | 
| 398         } | 398         } | 
| 399       } | 399       } | 
| 400     } | 400     } | 
| 401 | 401 | 
| 402     return new jsAst.ArrayInitializer(elements); | 402     return new jsAst.ArrayInitializer(elements); | 
| 403   } | 403   } | 
| 404 } | 404 } | 
| OLD | NEW | 
|---|