8a68bcf033
Formerly for the methods like foo([Optional] x, [Opional] y), the following
dispatcher was emitted:
foo([x = _null, y = _null]) {
if (y === _null) {
return _foo_1(x); // WRONG!
}
if (x === _null) {
return _foo_2();
}
return _foo_3(x, y);
}
Now correct code is emitted:
foo([x = _null, y = _null]) {
if (y !== _null) {
return _foo_1(x, y);
}
if (x !== _null) {
return _foo_2(x);
}
return _foo_3();
}
TBR=podivilov@chromium.org
BUG=4487
Review URL: https://chromiumcodereview.appspot.com//10832300
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10661 260f80e4-7a28-3924-810f-c04153c831b5