Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(587)

Unified Diff: pkg/dev_compiler/lib/js/es6/dart_sdk.js

Issue 2311513002: Fix type errors in sort(). (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
Download patch
Index: pkg/dev_compiler/lib/js/es6/dart_sdk.js
diff --git a/pkg/dev_compiler/lib/js/es6/dart_sdk.js b/pkg/dev_compiler/lib/js/es6/dart_sdk.js
index 40de81725d21c3d9549df58097bb0f65f5b19173..943bcf1a60c2d346a237c782453ef8149f9bdb8c 100644
--- a/pkg/dev_compiler/lib/js/es6/dart_sdk.js
+++ b/pkg/dev_compiler/lib/js/es6/dart_sdk.js
@@ -558,6 +558,7 @@ let StringAndStringTodynamic = () => (StringAndStringTodynamic = dart.constFn(da
let FunctionTovoid = () => (FunctionTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [core.Function])))();
let StringAndStringToString = () => (StringAndStringToString = dart.constFn(dart.definiteFunctionType(core.String, [core.String, core.String])))();
let TypeAndStringTodynamic = () => (TypeAndStringTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [core.Type, core.String])))();
+let dynamicAnddynamicToint = () => (dynamicAnddynamicToint = dart.constFn(dart.definiteFunctionType(core.int, [dart.dynamic, dart.dynamic])))();
let ListOfEToListOfE = () => (ListOfEToListOfE = dart.constFn(dart.definiteFunctionType(E => [core.List$(E), [core.List$(E)]])))();
let StringTovoid = () => (StringTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [core.String])))();
let _IsolateContextAndFunctionTodynamic = () => (_IsolateContextAndFunctionTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [_isolate_helper._IsolateContext, core.Function])))();
@@ -668,7 +669,6 @@ let ObjectAndObjectTobool = () => (ObjectAndObjectTobool = dart.constFn(dart.def
let ObjectToint = () => (ObjectToint = dart.constFn(dart.definiteFunctionType(core.int, [core.Object])))();
let ObjectTovoid = () => (ObjectTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [core.Object])))();
let StringAndStringTovoid = () => (StringAndStringTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [core.String, core.String])))();
-let dynamicAnddynamicToint = () => (dynamicAnddynamicToint = dart.constFn(dart.definiteFunctionType(core.int, [dart.dynamic, dart.dynamic])))();
let MapOfString$StringAndStringToMapOfString$String = () => (MapOfString$StringAndStringToMapOfString$String = dart.constFn(dart.definiteFunctionType(MapOfString$String(), [MapOfString$String(), core.String])))();
let intAndintAndintTovoid = () => (intAndintAndintTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [core.int, core.int, core.int])))();
let String__Tovoid = () => (String__Tovoid = dart.constFn(dart.definiteFunctionType(dart.void, [core.String], [dart.dynamic])))();
@@ -3597,12 +3597,12 @@ _interceptors.JSArray$ = dart.generic(E => {
let VoidToE = () => (VoidToE = dart.constFn(dart.functionType(E, [])))();
let ListOfE = () => (ListOfE = dart.constFn(core.List$(E)))();
let ReversedListIterableOfE = () => (ReversedListIterableOfE = dart.constFn(_internal.ReversedListIterable$(E)))();
- let EAndEToint = () => (EAndEToint = dart.constFn(dart.functionType(core.int, [E, E])))();
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 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])))();
dart.defineExtensionNames([
'checkMutable',
'checkGrowable',
@@ -4042,7 +4042,11 @@ _interceptors.JSArray$ = dart.generic(E => {
[dartx.sort](compare) {
if (compare === void 0) compare = null;
this[dartx.checkMutable]('sort');
- _internal.Sort.sort(E)(this, EAndEToint()._check(compare == null ? core.Comparable.compare : compare));
+ if (compare == null) {
+ _internal.Sort.sort(E)(this, dart.fn((a, b) => core.Comparable.as(a)[dartx.compareTo](b), dynamicAnddynamicToint()));
+ } else {
+ _internal.Sort.sort(E)(this, compare);
+ }
}
[dartx.shuffle](random) {
if (random === void 0) random = null;
@@ -5748,7 +5752,7 @@ collection.ListMixin$ = dart.generic(E => {
sort(compare) {
if (compare === void 0) compare = null;
if (compare == null) {
- _internal.Sort.sort(core.Comparable)(this, core.Comparable.compare);
+ _internal.Sort.sort(E)(this, dart.fn((a, b) => core.Comparable.as(a)[dartx.compareTo](b), dynamicAnddynamicToint()));
} else {
_internal.Sort.sort(E)(this, compare);
}

Powered by Google App Engine
This is Rietveld 408576698