Skip to content
This repository was archived by the owner on Feb 22, 2018. It is now read-only.

Commit bdee792

Browse files
committed
Merge pull request #399 from dart-lang/no-destructure-in-sdk
Compile the sdk with --no-destructure-named-params (#396)
2 parents 9e37dc0 + cf08fc6 commit bdee792

12 files changed

+316
-107
lines changed

lib/runtime/dart/_interceptors.js

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -208,13 +208,15 @@ dart_library.library('dart/_interceptors', null, /* Imports */[
208208
dart.as(combine, dart.functionType(dart.dynamic, [dart.dynamic, E]));
209209
return _internal.IterableMixinWorkaround.fold(this, initialValue, combine);
210210
}
211-
[dartx.firstWhere](test, {orElse = null} = {}) {
211+
[dartx.firstWhere](test, opts) {
212212
dart.as(test, dart.functionType(core.bool, [E]));
213+
let orElse = opts && 'orElse' in opts ? opts.orElse : null;
213214
dart.as(orElse, dart.functionType(E, []));
214215
return dart.as(_internal.IterableMixinWorkaround.firstWhere(this, test, orElse), E);
215216
}
216-
[dartx.lastWhere](test, {orElse = null} = {}) {
217+
[dartx.lastWhere](test, opts) {
217218
dart.as(test, dart.functionType(core.bool, [E]));
219+
let orElse = opts && 'orElse' in opts ? opts.orElse : null;
218220
dart.as(orElse, dart.functionType(E, []));
219221
return dart.as(_internal.IterableMixinWorkaround.lastWhereList(this, test, orElse), E);
220222
}
@@ -343,7 +345,8 @@ dart_library.library('dart/_interceptors', null, /* Imports */[
343345
toString() {
344346
return collection.ListBase.listToString(this);
345347
}
346-
[dartx.toList]({growable = true} = {}) {
348+
[dartx.toList](opts) {
349+
let growable = opts && 'growable' in opts ? opts.growable : true;
347350
let list = this.slice();
348351
if (!dart.notNull(growable))
349352
JSArray$().markFixedList(dart.as(list, core.List));
@@ -1002,7 +1005,9 @@ dart_library.library('dart/_interceptors', null, /* Imports */[
10021005
[dartx.replaceAllMapped](from, convert) {
10031006
return this[dartx.splitMapJoin](from, {onMatch: convert});
10041007
}
1005-
[dartx.splitMapJoin](from, {onMatch = null, onNonMatch = null} = {}) {
1008+
[dartx.splitMapJoin](from, opts) {
1009+
let onMatch = opts && 'onMatch' in opts ? opts.onMatch : null;
1010+
let onNonMatch = opts && 'onNonMatch' in opts ? opts.onNonMatch : null;
10061011
return dart.as(_js_helper.stringReplaceAllFuncUnchecked(this, from, onMatch, onNonMatch), core.String);
10071012
}
10081013
[dartx.replaceFirst](from, to, startIndex) {

lib/runtime/dart/_internal.js

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,9 @@ dart_library.library('dart/_internal', null, /* Imports */[
8383
}
8484
return false;
8585
}
86-
firstWhere(test, {orElse = null} = {}) {
86+
firstWhere(test, opts) {
8787
dart.as(test, dart.functionType(core.bool, [E]));
88+
let orElse = opts && 'orElse' in opts ? opts.orElse : null;
8889
dart.as(orElse, dart.functionType(E, []));
8990
let length = this.length;
9091
for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i) + 1) {
@@ -99,8 +100,9 @@ dart_library.library('dart/_internal', null, /* Imports */[
99100
return orElse();
100101
dart.throw(IterableElementError.noElement());
101102
}
102-
lastWhere(test, {orElse = null} = {}) {
103+
lastWhere(test, opts) {
103104
dart.as(test, dart.functionType(core.bool, [E]));
105+
let orElse = opts && 'orElse' in opts ? opts.orElse : null;
104106
dart.as(orElse, dart.functionType(E, []));
105107
let length = this.length;
106108
for (let i = dart.notNull(length) - 1; dart.notNull(i) >= 0; i = dart.notNull(i) - 1) {
@@ -216,7 +218,8 @@ dart_library.library('dart/_internal', null, /* Imports */[
216218
dart.as(test, dart.functionType(core.bool, [E]));
217219
return super.takeWhile(test);
218220
}
219-
toList({growable = true} = {}) {
221+
toList(opts) {
222+
let growable = opts && 'growable' in opts ? opts.growable : true;
220223
let result = null;
221224
if (dart.notNull(growable)) {
222225
result = core.List$(E).new();
@@ -354,7 +357,8 @@ dart_library.library('dart/_internal', null, /* Imports */[
354357
return new (SubListIterable$(E))(this[_iterable], this[_start], newEnd);
355358
}
356359
}
357-
toList({growable = true} = {}) {
360+
toList(opts) {
361+
let growable = opts && 'growable' in opts ? opts.growable : true;
358362
let start = this[_start];
359363
let end = this[_iterable][dartx.length];
360364
if (this[_endOrLength] != null && dart.notNull(this[_endOrLength]) < dart.notNull(end))
@@ -968,22 +972,25 @@ dart_library.library('dart/_internal', null, /* Imports */[
968972
dart.as(test, dart.functionType(core.bool, [E]));
969973
return false;
970974
}
971-
firstWhere(test, {orElse = null} = {}) {
975+
firstWhere(test, opts) {
972976
dart.as(test, dart.functionType(core.bool, [E]));
977+
let orElse = opts && 'orElse' in opts ? opts.orElse : null;
973978
dart.as(orElse, dart.functionType(E, []));
974979
if (orElse != null)
975980
return orElse();
976981
dart.throw(IterableElementError.noElement());
977982
}
978-
lastWhere(test, {orElse = null} = {}) {
983+
lastWhere(test, opts) {
979984
dart.as(test, dart.functionType(core.bool, [E]));
985+
let orElse = opts && 'orElse' in opts ? opts.orElse : null;
980986
dart.as(orElse, dart.functionType(E, []));
981987
if (orElse != null)
982988
return orElse();
983989
dart.throw(IterableElementError.noElement());
984990
}
985-
singleWhere(test, {orElse = null} = {}) {
991+
singleWhere(test, opts) {
986992
dart.as(test, dart.functionType(core.bool, [E]));
993+
let orElse = opts && 'orElse' in opts ? opts.orElse : null;
987994
dart.as(orElse, dart.functionType(E, []));
988995
if (orElse != null)
989996
return orElse();
@@ -1026,7 +1033,8 @@ dart_library.library('dart/_internal', null, /* Imports */[
10261033
dart.as(test, dart.functionType(core.bool, [E]));
10271034
return this;
10281035
}
1029-
toList({growable = true} = {}) {
1036+
toList(opts) {
1037+
let growable = opts && 'growable' in opts ? opts.growable : true;
10301038
return dart.notNull(growable) ? dart.list([], E) : core.List$(E).new(0);
10311039
}
10321040
toSet() {

lib/runtime/dart/_isolate_helper.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ dart_library.library('dart/_isolate_helper', null, /* Imports */[
3434
const _id = Symbol('_id');
3535
const _receivePort = Symbol('_receivePort');
3636
class _Serializer extends core.Object {
37-
_Serializer({serializeSendPorts = true} = {}) {
37+
_Serializer(opts) {
38+
let serializeSendPorts = opts && 'serializeSendPorts' in opts ? opts.serializeSendPorts : true;
3839
this.serializedObjectIds = core.Map$(dart.dynamic, core.int).identity();
3940
this[_serializeSendPorts] = dart.as(serializeSendPorts, core.bool);
4041
}
@@ -190,7 +191,8 @@ dart_library.library('dart/_isolate_helper', null, /* Imports */[
190191
});
191192
const _adjustSendPorts = Symbol('_adjustSendPorts');
192193
class _Deserializer extends core.Object {
193-
_Deserializer({adjustSendPorts = true} = {}) {
194+
_Deserializer(opts) {
195+
let adjustSendPorts = opts && 'adjustSendPorts' in opts ? opts.adjustSendPorts : true;
194196
this.deserializedObjects = core.List.new();
195197
this[_adjustSendPorts] = dart.as(adjustSendPorts, core.bool);
196198
}
@@ -1406,7 +1408,10 @@ dart_library.library('dart/_isolate_helper', null, /* Imports */[
14061408
this[_controller] = async.StreamController.new({onCancel: dart.bind(this, 'close'), sync: true});
14071409
this[_rawPort].handler = dart.bind(this[_controller], 'add');
14081410
}
1409-
listen(onData, {onError = null, onDone = null, cancelOnError = null} = {}) {
1411+
listen(onData, opts) {
1412+
let onError = opts && 'onError' in opts ? opts.onError : null;
1413+
let onDone = opts && 'onDone' in opts ? opts.onDone : null;
1414+
let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError : null;
14101415
return this[_controller].stream.listen(onData, {onError: onError, onDone: onDone, cancelOnError: cancelOnError});
14111416
}
14121417
close() {

lib/runtime/dart/_js_helper.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
3131
constructors: () => ({Native: [Native, [core.String]]})
3232
});
3333
class JsPeerInterface extends core.Object {
34-
JsPeerInterface({name = null} = {}) {
34+
JsPeerInterface(opts) {
35+
let name = opts && 'name' in opts ? opts.name : null;
3536
this.name = name;
3637
}
3738
}
@@ -78,7 +79,9 @@ dart_library.library('dart/_js_helper', null, /* Imports */[
7879
toString() {
7980
return `RegExp/${this.pattern}/`;
8081
}
81-
JSSyntaxRegExp(source, {multiLine = false, caseSensitive = true} = {}) {
82+
JSSyntaxRegExp(source, opts) {
83+
let multiLine = opts && 'multiLine' in opts ? opts.multiLine : false;
84+
let caseSensitive = opts && 'caseSensitive' in opts ? opts.caseSensitive : true;
8285
this.pattern = source;
8386
this[_nativeRegExp] = JSSyntaxRegExp.makeNative(source, multiLine, caseSensitive, false);
8487
this[_nativeGlobalRegExp] = null;

0 commit comments

Comments
 (0)