Index: pkg/dev_compiler/lib/js/legacy/dart_sdk.js |
diff --git a/pkg/dev_compiler/lib/js/legacy/dart_sdk.js b/pkg/dev_compiler/lib/js/legacy/dart_sdk.js |
index 4c981ff594b2e279a632578f401f854f071ff2a6..e156cfa4bd8c4f54e512e5e08bb97595fddcd132 100644 |
--- a/pkg/dev_compiler/lib/js/legacy/dart_sdk.js |
+++ b/pkg/dev_compiler/lib/js/legacy/dart_sdk.js |
@@ -49,12 +49,14 @@ dart_library.library('dart_sdk', null, /* Imports */[ |
let ListOfNameValuePair = () => (ListOfNameValuePair = dart.constFn(core.List$(_debugger.NameValuePair)))(); |
let JSArrayOfString = () => (JSArrayOfString = dart.constFn(_interceptors.JSArray$(core.String)))(); |
let JSArrayOfJsonMLFormatter = () => (JSArrayOfJsonMLFormatter = dart.constFn(_interceptors.JSArray$(_debugger.JsonMLFormatter)))(); |
+ let JSIndexable = () => (JSIndexable = dart.constFn(_interceptors.JSIndexable$()))(); |
let JSArray = () => (JSArray = dart.constFn(_interceptors.JSArray$()))(); |
let JSMutableArray = () => (JSMutableArray = dart.constFn(_interceptors.JSMutableArray$()))(); |
let JSFixedArray = () => (JSFixedArray = dart.constFn(_interceptors.JSFixedArray$()))(); |
let JSExtendableArray = () => (JSExtendableArray = dart.constFn(_interceptors.JSExtendableArray$()))(); |
let JSUnmodifiableArray = () => (JSUnmodifiableArray = dart.constFn(_interceptors.JSUnmodifiableArray$()))(); |
let ArrayIterator = () => (ArrayIterator = dart.constFn(_interceptors.ArrayIterator$()))(); |
+ let JSIndexableOfString = () => (JSIndexableOfString = dart.constFn(_interceptors.JSIndexable$(core.String)))(); |
let MatchToString = () => (MatchToString = dart.constFn(dart.functionType(core.String, [core.Match])))(); |
let StringToString = () => (StringToString = dart.constFn(dart.functionType(core.String, [core.String])))(); |
let ComparableOfnum = () => (ComparableOfnum = dart.constFn(core.Comparable$(core.num)))(); |
@@ -3556,8 +3558,12 @@ dart_library.library('dart_sdk', null, /* Imports */[ |
constructors: () => ({new: dart.definiteFunctionType(_interceptors.JSBool, [])}) |
}); |
dart.registerExtension(dart.global.Boolean, _interceptors.JSBool); |
- _interceptors.JSIndexable = class JSIndexable extends core.Object {}; |
- _interceptors.JSMutableIndexable = class JSMutableIndexable extends _interceptors.JSIndexable {}; |
+ _interceptors.JSIndexable$ = dart.generic(E => { |
+ class JSIndexable extends core.Object {} |
+ dart.addTypeTests(JSIndexable); |
+ return JSIndexable; |
+ }); |
+ _interceptors.JSIndexable = JSIndexable(); |
_interceptors.JSObject = class JSObject extends core.Object {}; |
_interceptors.JavaScriptObject = class JavaScriptObject extends _interceptors.Interceptor { |
new() { |
@@ -3620,6 +3626,7 @@ dart_library.library('dart_sdk', null, /* Imports */[ |
let SetOfE = () => (SetOfE = dart.constFn(core.Set$(E)))(); |
let ArrayIteratorOfE = () => (ArrayIteratorOfE = dart.constFn(_interceptors.ArrayIterator$(E)))(); |
let ListMapViewOfE = () => (ListMapViewOfE = dart.constFn(_internal.ListMapView$(E)))(); |
+ let JSIndexableOfE = () => (JSIndexableOfE = dart.constFn(_interceptors.JSIndexable$(E)))(); |
let ETobool = () => (ETobool = dart.constFn(dart.functionType(core.bool, [E])))(); |
let ETovoid = () => (ETovoid = dart.constFn(dart.functionType(dart.void, [E])))(); |
let EAndEToint = () => (EAndEToint = dart.constFn(dart.functionType(core.int, [E, E])))(); |
@@ -4177,7 +4184,7 @@ dart_library.library('dart_sdk', null, /* Imports */[ |
} |
dart.setExtensionBaseClass(JSArray, dart.global.Array); |
dart.addTypeTests(JSArray); |
- JSArray[dart.implements] = () => [ListOfE(), _interceptors.JSIndexable]; |
+ JSArray[dart.implements] = () => [ListOfE(), JSIndexableOfE()]; |
dart.setSignature(JSArray, { |
constructors: () => ({ |
new: dart.definiteFunctionType(_interceptors.JSArray$(E), []), |
@@ -4262,7 +4269,6 @@ dart_library.library('dart_sdk', null, /* Imports */[ |
super.new(); |
} |
} |
- JSMutableArray[dart.implements] = () => [_interceptors.JSMutableIndexable]; |
return JSMutableArray; |
}); |
_interceptors.JSMutableArray = JSMutableArray(); |
@@ -5338,7 +5344,7 @@ dart_library.library('dart_sdk', null, /* Imports */[ |
return this[index]; |
} |
}; |
- _interceptors.JSString[dart.implements] = () => [core.String, _interceptors.JSIndexable]; |
+ _interceptors.JSString[dart.implements] = () => [core.String, JSIndexableOfString()]; |
dart.setSignature(_interceptors.JSString, { |
constructors: () => ({new: dart.definiteFunctionType(_interceptors.JSString, [])}), |
getters: () => ({ |
@@ -11558,7 +11564,7 @@ dart_library.library('dart_sdk', null, /* Imports */[ |
constructors: () => ({new: dart.definiteFunctionType(_js_helper.JSName, [core.String])}), |
fields: () => ({name: core.String}) |
}); |
- _js_helper.JavaScriptIndexingBehavior = class JavaScriptIndexingBehavior extends _interceptors.JSMutableIndexable {}; |
+ _js_helper.JavaScriptIndexingBehavior = class JavaScriptIndexingBehavior extends core.Object {}; |
_js_helper.TypeErrorImplementation = class TypeErrorImplementation extends core.Error { |
new(value, actualType, expectedType) { |
this.message = dart.str`Type '${actualType}' is not a subtype ` + dart.str`of type '${expectedType}'`; |