| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 library _interceptors; | 5 library _interceptors; |
| 6 | 6 |
| 7 import 'dart:_js_embedded_names' show | 7 import 'dart:_js_embedded_names' show |
| 8 DISPATCH_PROPERTY_NAME, | 8 DISPATCH_PROPERTY_NAME, |
| 9 MAP_TYPE_TO_INTERCEPTOR; | 9 MAP_TYPE_TO_INTERCEPTOR; |
| 10 | 10 |
| (...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 276 * r.foo$1(0, a) | 276 * r.foo$1(0, a) |
| 277 * | 277 * |
| 278 * This class defines implementations of *all* methods on [Object] so no | 278 * This class defines implementations of *all* methods on [Object] so no |
| 279 * interceptor inherits an implementation from [Object]. This enables the | 279 * interceptor inherits an implementation from [Object]. This enables the |
| 280 * implementations on Object to ignore the explicit receiver argument, which | 280 * implementations on Object to ignore the explicit receiver argument, which |
| 281 * allows dummy receiver optimization. | 281 * allows dummy receiver optimization. |
| 282 */ | 282 */ |
| 283 abstract class Interceptor { | 283 abstract class Interceptor { |
| 284 const Interceptor(); | 284 const Interceptor(); |
| 285 | 285 |
| 286 bool operator ==(other) => identical(this, other); | 286 bool operator ==(Object other) => identical(this, other); |
| 287 | 287 |
| 288 int get hashCode => Primitives.objectHashCode(this); | 288 int get hashCode => Primitives.objectHashCode(this); |
| 289 | 289 |
| 290 String toString() => Primitives.objectToString(this); | 290 String toString() => Primitives.objectToString(this); |
| 291 | 291 |
| 292 dynamic noSuchMethod(Invocation invocation) { | 292 dynamic noSuchMethod(Invocation invocation) { |
| 293 throw new NoSuchMethodError( | 293 throw new NoSuchMethodError( |
| 294 this, | 294 this, |
| 295 invocation.memberName, | 295 invocation.memberName, |
| 296 invocation.positionalArguments, | 296 invocation.positionalArguments, |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 397 * Interceptor for unclassified JavaScript objects, typically objects with a | 397 * Interceptor for unclassified JavaScript objects, typically objects with a |
| 398 * non-trivial prototype chain. | 398 * non-trivial prototype chain. |
| 399 * | 399 * |
| 400 * This class also serves as a fallback for unknown JavaScript exceptions. | 400 * This class also serves as a fallback for unknown JavaScript exceptions. |
| 401 */ | 401 */ |
| 402 class UnknownJavaScriptObject extends JavaScriptObject { | 402 class UnknownJavaScriptObject extends JavaScriptObject { |
| 403 const UnknownJavaScriptObject(); | 403 const UnknownJavaScriptObject(); |
| 404 | 404 |
| 405 String toString() => JS('String', 'String(#)', this); | 405 String toString() => JS('String', 'String(#)', this); |
| 406 } | 406 } |
| OLD | NEW |