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

Unified Diff: pkg/dev_compiler/lib/js/legacy/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/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 1736862a3e08e750bc2853488c552cc2655dc5e3..0b08d14437ca09905f6c29097e0ba37309b2a82f 100644
--- a/pkg/dev_compiler/lib/js/legacy/dart_sdk.js
+++ b/pkg/dev_compiler/lib/js/legacy/dart_sdk.js
@@ -561,6 +561,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
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])))();
@@ -671,7 +672,6 @@ dart_library.library('dart_sdk', null, /* Imports */[
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])))();
@@ -3600,12 +3600,12 @@ dart_library.library('dart_sdk', null, /* Imports */[
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',
@@ -4045,7 +4045,11 @@ dart_library.library('dart_sdk', null, /* Imports */[
[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;
@@ -5751,7 +5755,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
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