| 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 dart._interceptors; | 5 library dart._interceptors; |
| 6 | 6 |
| 7 import 'dart:collection'; | 7 import 'dart:collection'; |
| 8 import 'dart:_internal' hide Symbol; | 8 import 'dart:_internal' hide Symbol; |
| 9 import 'dart:_js_helper'; | 9 import 'dart:_js_helper'; |
| 10 import 'dart:_foreign_helper' show JS; | 10 import 'dart:_foreign_helper' show JS; |
| (...skipping 26 matching lines...) Expand all Loading... |
| 37 int get hashCode => this ? (2 * 3 * 23 * 3761) : (269 * 811); | 37 int get hashCode => this ? (2 * 3 * 23 * 3761) : (269 * 811); |
| 38 | 38 |
| 39 Type get runtimeType => bool; | 39 Type get runtimeType => bool; |
| 40 } | 40 } |
| 41 | 41 |
| 42 /** | 42 /** |
| 43 * The supertype for JSString and JSArray. Used by the backend as to | 43 * The supertype for JSString and JSArray. Used by the backend as to |
| 44 * have a type mask that contains the objects that we can use the | 44 * have a type mask that contains the objects that we can use the |
| 45 * native JS [] operator and length on. | 45 * native JS [] operator and length on. |
| 46 */ | 46 */ |
| 47 abstract class JSIndexable { | 47 abstract class JSIndexable<E> { |
| 48 int get length; | 48 int get length; |
| 49 operator[](int index); | 49 E operator[](int index); |
| 50 } | 50 } |
| 51 | 51 |
| 52 /** | 52 /** |
| 53 * The supertype for JSMutableArray and | |
| 54 * JavaScriptIndexingBehavior. Used by the backend to have a type mask | |
| 55 * that contains the objects we can use the JS []= operator on. | |
| 56 */ | |
| 57 abstract class JSMutableIndexable extends JSIndexable { | |
| 58 operator[]=(int index, var value); | |
| 59 } | |
| 60 | |
| 61 /** | |
| 62 * The interface implemented by JavaScript objects. These are methods in | 53 * The interface implemented by JavaScript objects. These are methods in |
| 63 * addition to the regular Dart Object methods like [Object.hashCode]. | 54 * addition to the regular Dart Object methods like [Object.hashCode]. |
| 64 * | 55 * |
| 65 * This is the type that should be exported by a JavaScript interop library. | 56 * This is the type that should be exported by a JavaScript interop library. |
| 66 */ | 57 */ |
| 67 abstract class JSObject { | 58 abstract class JSObject { |
| 68 } | 59 } |
| 69 | 60 |
| 70 | 61 |
| 71 /** | 62 /** |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 105 | 96 |
| 106 // Obsolete in dart dev compiler. Added only so that the same version of | 97 // Obsolete in dart dev compiler. Added only so that the same version of |
| 107 // dart:html can be used in dart2js an dev compiler. | 98 // dart:html can be used in dart2js an dev compiler. |
| 108 // Warning: calls to these methods need to be removed before custom elements | 99 // Warning: calls to these methods need to be removed before custom elements |
| 109 // and cross-frame dom objects behave correctly in ddc. | 100 // and cross-frame dom objects behave correctly in ddc. |
| 110 // See https://github.com/dart-lang/dev_compiler/issues/517 | 101 // See https://github.com/dart-lang/dev_compiler/issues/517 |
| 111 findInterceptorConstructorForType(Type type) { } | 102 findInterceptorConstructorForType(Type type) { } |
| 112 findConstructorForNativeSubclassType(Type type, String name) { } | 103 findConstructorForNativeSubclassType(Type type, String name) { } |
| 113 getNativeInterceptor(object) {} | 104 getNativeInterceptor(object) {} |
| 114 setDispatchProperty(object, value) {} | 105 setDispatchProperty(object, value) {} |
| OLD | NEW |