Make default argument to Iterable.join be "".

Review URL: https://codereview.chromium.org//13945009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21193 260f80e4-7a28-3924-810f-c04153c831b5
This commit is contained in:
floitsch@google.com 2013-04-10 11:28:32 +00:00
parent 9ad97b83cb
commit 62358bf5e2
24 changed files with 119 additions and 116 deletions

View file

@ -106,7 +106,7 @@ class _ObjectArray<E> implements List<E> {
IterableMixinWorkaround.forEach(this, f);
}
String join([String separator]) {
String join([String separator = ""]) {
return IterableMixinWorkaround.joinList(this, separator);
}
@ -357,7 +357,7 @@ class _ImmutableArray<E> implements List<E> {
return IterableMixinWorkaround.mapList(this, f);
}
String join([String separator]) {
String join([String separator = ""]) {
return IterableMixinWorkaround.joinList(this, separator);
}

View file

@ -242,11 +242,11 @@ class _GrowableObjectArray<T> implements List<T> {
}
}
String join([String separator]) {
String join([String separator = ""]) {
if (isEmpty) return "";
if (this.length == 1) return "${this[0]}";
StringBuffer buffer = new StringBuffer();
if (separator == null || separator == "") {
if (separator.isEmpty) {
for (int i = 0; i < this.length; i++) {
buffer.write("${this[i]}");
}

View file

@ -303,7 +303,7 @@ abstract class _TypedListBase {
return IterableMixinWorkaround.mapList(this, f);
}
String join([String separator]) {
String join([String separator = ""]) {
return IterableMixinWorkaround.join(this, separator);
}

View file

@ -166,9 +166,9 @@ abstract class ListIterable<E> extends Iterable<E> {
return max;
}
String join([String separator]) {
String join([String separator = ""]) {
int length = this.length;
if (separator != null && !separator.isEmpty) {
if (!separator.isEmpty) {
if (length == 0) return "";
String first = "${elementAt(0)}";
if (length != this.length) {
@ -177,7 +177,7 @@ abstract class ListIterable<E> extends Iterable<E> {
StringBuffer buffer = new StringBuffer(first);
for (int i = 1; i < length; i++) {
buffer.write(separator);
buffer.write("${elementAt(i)}");
buffer.write(elementAt(i));
if (length != this.length) {
throw new ConcurrentModificationError(this);
}
@ -186,7 +186,7 @@ abstract class ListIterable<E> extends Iterable<E> {
} else {
StringBuffer buffer = new StringBuffer();
for (int i = 0; i < length; i++) {
buffer.write("${elementAt(i)}");
buffer.write(elementAt(i));
if (length != this.length) {
throw new ConcurrentModificationError(this);
}
@ -667,7 +667,7 @@ class EmptyIterable<E> extends Iterable<E> {
E max([int compare(E a, E b)]) => null;
String join([String separator]) => "";
String join([String separator = ""]) => "";
Iterable<E> where(bool test(E element)) => this;

View file

@ -40,7 +40,7 @@ class CodeBuffer implements StringBuffer {
CodeBuffer writeAll(Iterable<Object> objects, [String separator = ""]) {
Iterator iterator = objects.iterator;
if (!iterator.moveNext()) return this;
if (separator == "") {
if (separator.isEmpty) {
do {
write(iterator.current);
} while (iterator.moveNext());

View file

@ -96,8 +96,7 @@ class JSArray<E> extends Interceptor implements List<E>, JSIndexable {
return IterableMixinWorkaround.mapList(this, f);
}
String join([String separator]) {
if (separator == null) separator = "";
String join([String separator = ""]) {
var list = new List(this.length);
for (int i = 0; i < this.length; i++) {
list[i] = "${this[i]}";

View file

@ -282,7 +282,7 @@ class IterableMixinWorkaround {
static String join(Iterable iterable, [String separator]) {
StringBuffer buffer = new StringBuffer();
buffer.writeAll(iterable, separator == null ? "" : separator);
buffer.writeAll(iterable, separator);
return buffer.toString();
}
@ -290,15 +290,15 @@ class IterableMixinWorkaround {
if (list.isEmpty) return "";
if (list.length == 1) return "${list[0]}";
StringBuffer buffer = new StringBuffer();
if (separator == null || separator == "") {
if (separator.isEmpty) {
for (int i = 0; i < list.length; i++) {
buffer.write("${list[i]}");
buffer.write(list[i]);
}
} else {
buffer.write("${list[0]}");
buffer.write(list[0]);
for (int i = 1; i < list.length; i++) {
buffer.write(separator);
buffer.write("${list[i]}");
buffer.write(list[i]);
}
}
return buffer.toString();

View file

@ -181,9 +181,9 @@ abstract class ListMixin<E> implements List<E> {
return max;
}
String join([String separator]) {
String join([String separator = ""]) {
int length = this.length;
if (separator != null && !separator.isEmpty) {
if (!separator.isEmpty) {
if (length == 0) return "";
String first = "${this[0]}";
if (length != this.length) {
@ -192,7 +192,7 @@ abstract class ListMixin<E> implements List<E> {
StringBuffer buffer = new StringBuffer(first);
for (int i = 1; i < length; i++) {
buffer.write(separator);
buffer.write("${this[i]}");
buffer.write(this[i]);
if (length != this.length) {
throw new ConcurrentModificationError(this);
}
@ -201,7 +201,7 @@ abstract class ListMixin<E> implements List<E> {
} else {
StringBuffer buffer = new StringBuffer();
for (int i = 0; i < length; i++) {
buffer.write("${this[i]}");
buffer.write(this[i]);
if (length != this.length) {
throw new ConcurrentModificationError(this);
}

View file

@ -146,9 +146,9 @@ abstract class Iterable<E> {
* Then concatenates the strings, optionally separated by the [separator]
* string.
*/
String join([String separator]) {
String join([String separator = ""]) {
StringBuffer buffer = new StringBuffer();
buffer.writeAll(this, separator == null ? "" : separator);
buffer.writeAll(this, separator);
return buffer.toString();
}

View file

@ -32,7 +32,7 @@ class StringBuffer implements StringSink {
void writeAll(Iterable objects, [String separator = ""]) {
Iterator iterator = objects.iterator;
if (!iterator.moveNext()) return;
if (separator == "") {
if (separator.isEmpty) {
do {
write(iterator.current);
} while (iterator.moveNext());

View file

@ -6834,7 +6834,7 @@ class DomMimeTypeArray implements JavaScriptIndexingBehavior, List<DomMimeType>
void forEach(void f(DomMimeType element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(DomMimeType element)) =>
@ -7109,7 +7109,7 @@ class DomPluginArray implements JavaScriptIndexingBehavior, List<DomPlugin> nati
void forEach(void f(DomPlugin element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(DomPlugin element)) =>
@ -7461,7 +7461,7 @@ class DomStringList implements JavaScriptIndexingBehavior, List<String> native "
void forEach(void f(String element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(String element)) =>
@ -7742,7 +7742,7 @@ class _ChildrenElementList extends ListBase<Element> {
return false;
}
String join([String separator]) {
String join([String separator = ""]) {
return _childElements.join(separator);
}
@ -10222,7 +10222,7 @@ class FileList implements JavaScriptIndexingBehavior, List<File> native "*FileLi
void forEach(void f(File element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(File element)) =>
@ -10719,7 +10719,7 @@ class Float32Array extends ArrayBufferView implements JavaScriptIndexingBehavior
void forEach(void f(num element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(num element)) =>
@ -10958,7 +10958,7 @@ class Float64Array extends ArrayBufferView implements JavaScriptIndexingBehavior
void forEach(void f(num element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(num element)) =>
@ -11617,7 +11617,7 @@ class HtmlAllCollection implements JavaScriptIndexingBehavior, List<Node> native
void forEach(void f(Node element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(Node element)) =>
@ -11845,7 +11845,7 @@ class HtmlCollection implements JavaScriptIndexingBehavior, List<Node> native "*
void forEach(void f(Node element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(Node element)) =>
@ -13892,7 +13892,7 @@ class Int16Array extends ArrayBufferView implements JavaScriptIndexingBehavior,
void forEach(void f(int element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(int element)) =>
@ -14131,7 +14131,7 @@ class Int32Array extends ArrayBufferView implements JavaScriptIndexingBehavior,
void forEach(void f(int element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(int element)) =>
@ -14370,7 +14370,7 @@ class Int8Array extends ArrayBufferView implements JavaScriptIndexingBehavior, L
void forEach(void f(int element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(int element)) =>
@ -17404,7 +17404,7 @@ class NodeList implements JavaScriptIndexingBehavior, List<Node> native "*NodeLi
void forEach(void f(Node element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(Node element)) =>
@ -19714,7 +19714,7 @@ class SourceBufferList extends EventTarget implements JavaScriptIndexingBehavior
void forEach(void f(SourceBuffer element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(SourceBuffer element)) =>
@ -20015,7 +20015,7 @@ class SpeechGrammarList implements JavaScriptIndexingBehavior, List<SpeechGramma
void forEach(void f(SpeechGrammar element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(SpeechGrammar element)) =>
@ -21479,7 +21479,7 @@ class TextTrackCueList implements List<TextTrackCue>, JavaScriptIndexingBehavior
void forEach(void f(TextTrackCue element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(TextTrackCue element)) =>
@ -21705,7 +21705,7 @@ class TextTrackList extends EventTarget implements JavaScriptIndexingBehavior, L
void forEach(void f(TextTrack element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(TextTrack element)) =>
@ -22157,7 +22157,7 @@ class TouchList implements JavaScriptIndexingBehavior, List<Touch> native "*Touc
void forEach(void f(Touch element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(Touch element)) =>
@ -22646,7 +22646,7 @@ class Uint16Array extends ArrayBufferView implements JavaScriptIndexingBehavior,
void forEach(void f(int element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(int element)) =>
@ -22885,7 +22885,7 @@ class Uint32Array extends ArrayBufferView implements JavaScriptIndexingBehavior,
void forEach(void f(int element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(int element)) =>
@ -23124,7 +23124,7 @@ class Uint8Array extends ArrayBufferView implements JavaScriptIndexingBehavior,
void forEach(void f(int element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(int element)) =>
@ -23360,7 +23360,7 @@ class Uint8ClampedArray extends Uint8Array implements JavaScriptIndexingBehavior
void forEach(void f(int element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(int element)) =>
@ -25647,7 +25647,7 @@ class _ClientRectList implements JavaScriptIndexingBehavior, List<Rect> native "
void forEach(void f(Rect element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(Rect element)) =>
@ -25874,7 +25874,7 @@ class _CssRuleList implements JavaScriptIndexingBehavior, List<CssRule> native "
void forEach(void f(CssRule element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(CssRule element)) =>
@ -26092,7 +26092,7 @@ class _CssValueList extends _CSSValue implements JavaScriptIndexingBehavior, Lis
void forEach(void f(_CSSValue element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(_CSSValue element)) =>
@ -26378,7 +26378,7 @@ class _EntryArray implements JavaScriptIndexingBehavior, List<Entry> native "*En
void forEach(void f(Entry element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(Entry element)) =>
@ -26596,7 +26596,7 @@ class _EntryArraySync implements JavaScriptIndexingBehavior, List<_EntrySync> na
void forEach(void f(_EntrySync element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(_EntrySync element)) =>
@ -26857,7 +26857,7 @@ class _GamepadList implements JavaScriptIndexingBehavior, List<Gamepad> native "
void forEach(void f(Gamepad element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(Gamepad element)) =>
@ -27138,7 +27138,7 @@ class _NamedNodeMap implements JavaScriptIndexingBehavior, List<Node> native "*N
void forEach(void f(Node element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(Node element)) =>
@ -27427,7 +27427,7 @@ class _SpeechInputResultList implements JavaScriptIndexingBehavior, List<SpeechI
void forEach(void f(SpeechInputResult element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(SpeechInputResult element)) =>
@ -27645,7 +27645,7 @@ class _SpeechRecognitionResultList implements JavaScriptIndexingBehavior, List<S
void forEach(void f(SpeechRecognitionResult element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(SpeechRecognitionResult element)) =>
@ -27863,7 +27863,7 @@ class _StyleSheetList implements JavaScriptIndexingBehavior, List<StyleSheet> na
void forEach(void f(StyleSheet element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(StyleSheet element)) =>
@ -28565,7 +28565,7 @@ abstract class CssClassSet implements Set<String> {
readClasses().forEach(f);
}
String join([String separator]) => readClasses().join(separator);
String join([String separator = ""]) => readClasses().join(separator);
Iterable map(f(String element)) => readClasses().map(f);
@ -31071,7 +31071,7 @@ class _WrappedList<E> implements List<E> {
bool every(bool f(E element)) => _list.every(f);
String join([String separator]) => _list.join(separator);
String join([String separator = ""]) => _list.join(separator);
bool any(bool f(E element)) => _list.any(f);

View file

@ -7405,7 +7405,7 @@ class DomMimeTypeArray extends NativeFieldWrapperClass1 implements List<DomMimeT
void forEach(void f(DomMimeType element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(DomMimeType element)) =>
@ -7694,7 +7694,7 @@ class DomPluginArray extends NativeFieldWrapperClass1 implements List<DomPlugin>
void forEach(void f(DomPlugin element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(DomPlugin element)) =>
@ -8062,7 +8062,7 @@ class DomStringList extends NativeFieldWrapperClass1 implements List<String> {
void forEach(void f(String element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(String element)) =>
@ -8364,7 +8364,7 @@ class _ChildrenElementList extends ListBase<Element> {
return false;
}
String join([String separator]) {
String join([String separator = ""]) {
return _childElements.join(separator);
}
@ -10770,7 +10770,7 @@ class FileList extends NativeFieldWrapperClass1 implements List<File> {
void forEach(void f(File element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(File element)) =>
@ -11297,7 +11297,7 @@ class Float32Array extends ArrayBufferView implements List<double> {
void forEach(void f(num element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(num element)) =>
@ -11553,7 +11553,7 @@ class Float64Array extends ArrayBufferView implements List<double> {
void forEach(void f(num element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(num element)) =>
@ -12258,7 +12258,7 @@ class HtmlAllCollection extends NativeFieldWrapperClass1 implements List<Node> {
void forEach(void f(Node element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(Node element)) =>
@ -12488,7 +12488,7 @@ class HtmlCollection extends NativeFieldWrapperClass1 implements List<Node> {
void forEach(void f(Node element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(Node element)) =>
@ -14866,7 +14866,7 @@ class Int16Array extends ArrayBufferView implements List<int> {
void forEach(void f(int element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(int element)) =>
@ -15122,7 +15122,7 @@ class Int32Array extends ArrayBufferView implements List<int> {
void forEach(void f(int element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(int element)) =>
@ -15378,7 +15378,7 @@ class Int8Array extends ArrayBufferView implements List<int> {
void forEach(void f(int element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(int element)) =>
@ -18704,7 +18704,7 @@ class NodeList extends NativeFieldWrapperClass1 implements List<Node> {
void forEach(void f(Node element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(Node element)) =>
@ -21291,7 +21291,7 @@ class SourceBufferList extends EventTarget implements List<SourceBuffer> {
void forEach(void f(SourceBuffer element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(SourceBuffer element)) =>
@ -21630,7 +21630,7 @@ class SpeechGrammarList extends NativeFieldWrapperClass1 implements List<SpeechG
void forEach(void f(SpeechGrammar element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(SpeechGrammar element)) =>
@ -23384,7 +23384,7 @@ class TextTrackCueList extends NativeFieldWrapperClass1 implements List<TextTrac
void forEach(void f(TextTrackCue element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(TextTrackCue element)) =>
@ -23614,7 +23614,7 @@ class TextTrackList extends EventTarget implements List<TextTrack> {
void forEach(void f(TextTrack element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(TextTrack element)) =>
@ -24061,7 +24061,7 @@ class TouchList extends NativeFieldWrapperClass1 implements List<Touch> {
void forEach(void f(Touch element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(Touch element)) =>
@ -24591,7 +24591,7 @@ class Uint16Array extends ArrayBufferView implements List<int> {
void forEach(void f(int element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(int element)) =>
@ -24847,7 +24847,7 @@ class Uint32Array extends ArrayBufferView implements List<int> {
void forEach(void f(int element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(int element)) =>
@ -25103,7 +25103,7 @@ class Uint8Array extends ArrayBufferView implements List<int> {
void forEach(void f(int element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(int element)) =>
@ -25357,7 +25357,7 @@ class Uint8ClampedArray extends Uint8Array implements List<int> {
void forEach(void f(int element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(int element)) =>
@ -27476,7 +27476,7 @@ class _ClientRectList extends NativeFieldWrapperClass1 implements List<Rect> {
void forEach(void f(Rect element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(Rect element)) =>
@ -27711,7 +27711,7 @@ class _CssRuleList extends NativeFieldWrapperClass1 implements List<CssRule> {
void forEach(void f(CssRule element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(CssRule element)) =>
@ -27933,7 +27933,7 @@ class _CssValueList extends _CSSValue implements List<_CSSValue> {
void forEach(void f(_CSSValue element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(_CSSValue element)) =>
@ -28391,7 +28391,7 @@ class _EntryArray extends NativeFieldWrapperClass1 implements List<Entry> {
void forEach(void f(Entry element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(Entry element)) =>
@ -28613,7 +28613,7 @@ class _EntryArraySync extends NativeFieldWrapperClass1 implements List<_EntrySyn
void forEach(void f(_EntrySync element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(_EntrySync element)) =>
@ -28896,7 +28896,7 @@ class _GamepadList extends NativeFieldWrapperClass1 implements List<Gamepad> {
void forEach(void f(Gamepad element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(Gamepad element)) =>
@ -29209,7 +29209,7 @@ class _NamedNodeMap extends NativeFieldWrapperClass1 implements List<Node> {
void forEach(void f(Node element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(Node element)) =>
@ -29516,7 +29516,7 @@ class _SpeechInputResultList extends NativeFieldWrapperClass1 implements List<Sp
void forEach(void f(SpeechInputResult element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(SpeechInputResult element)) =>
@ -29738,7 +29738,7 @@ class _SpeechRecognitionResultList extends NativeFieldWrapperClass1 implements L
void forEach(void f(SpeechRecognitionResult element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(SpeechRecognitionResult element)) =>
@ -29960,7 +29960,7 @@ class _StyleSheetList extends NativeFieldWrapperClass1 implements List<StyleShee
void forEach(void f(StyleSheet element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(StyleSheet element)) =>
@ -30690,7 +30690,7 @@ abstract class CssClassSet implements Set<String> {
readClasses().forEach(f);
}
String join([String separator]) => readClasses().join(separator);
String join([String separator = ""]) => readClasses().join(separator);
Iterable map(f(String element)) => readClasses().map(f);
@ -32614,7 +32614,7 @@ class _WrappedList<E> implements List<E> {
bool every(bool f(E element)) => _list.every(f);
String join([String separator]) => _list.join(separator);
String join([String separator = ""]) => _list.join(separator);
bool any(bool f(E element)) => _list.any(f);

View file

@ -49,7 +49,7 @@ class FilteredElementList extends ListBase<Element> {
removeRange(newLength, len - newLength);
}
String join([String separator]) => _filtered.join(separator);
String join([String separator = ""]) => _filtered.join(separator);
void add(Element value) {
_childNodes.add(value);

View file

@ -385,7 +385,7 @@ abstract class _HttpOutboundMessage<T> implements IOSink {
if (isFirst) {
isFirst = false;
} else {
if (separator != "") write(separator);
if (!separator.isEmpty) write(separator);
}
write(obj);
}

View file

@ -106,7 +106,7 @@ class _IOSinkImpl<T> implements IOSink<T> {
void writeAll(Iterable objects, [String separator = ""]) {
Iterator iterator = objects.iterator;
if (!iterator.moveNext()) return;
if (separator == "") {
if (separator.isEmpty) {
do {
write(iterator.current);
} while (iterator.moveNext());

View file

@ -3042,7 +3042,7 @@ class LengthList implements JavaScriptIndexingBehavior, List<Length> native "*SV
void forEach(void f(Length element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(Length element)) =>
@ -3687,7 +3687,7 @@ class NumberList implements JavaScriptIndexingBehavior, List<Number> native "*SV
void forEach(void f(Number element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(Number element)) =>
@ -4563,7 +4563,7 @@ class PathSegList implements JavaScriptIndexingBehavior, List<PathSeg> native "*
void forEach(void f(PathSeg element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(PathSeg element)) =>
@ -5469,7 +5469,7 @@ class StringList implements JavaScriptIndexingBehavior, List<String> native "*SV
void forEach(void f(String element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(String element)) =>
@ -6648,7 +6648,7 @@ class TransformList implements List<Transform>, JavaScriptIndexingBehavior nativ
void forEach(void f(Transform element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(Transform element)) =>
@ -7186,7 +7186,7 @@ class _ElementInstanceList implements JavaScriptIndexingBehavior, List<ElementIn
void forEach(void f(ElementInstance element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(ElementInstance element)) =>

View file

@ -3303,7 +3303,7 @@ class LengthList extends NativeFieldWrapperClass1 implements List<Length> {
void forEach(void f(Length element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(Length element)) =>
@ -4025,7 +4025,7 @@ class NumberList extends NativeFieldWrapperClass1 implements List<Number> {
void forEach(void f(Number element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(Number element)) =>
@ -5174,7 +5174,7 @@ class PathSegList extends NativeFieldWrapperClass1 implements List<PathSeg> {
void forEach(void f(PathSeg element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(PathSeg element)) =>
@ -6177,7 +6177,7 @@ class StringList extends NativeFieldWrapperClass1 implements List<String> {
void forEach(void f(String element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(String element)) =>
@ -7445,7 +7445,7 @@ class TransformList extends NativeFieldWrapperClass1 implements List<Transform>
void forEach(void f(Transform element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(Transform element)) =>
@ -8037,7 +8037,7 @@ class _ElementInstanceList extends NativeFieldWrapperClass1 implements List<Elem
void forEach(void f(ElementInstance element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(ElementInstance element)) =>

View file

@ -235,7 +235,7 @@ class SqlResultSetRowList implements JavaScriptIndexingBehavior, List<Map> nativ
void forEach(void f(Map element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(Map element)) =>

View file

@ -253,7 +253,7 @@ class SqlResultSetRowList extends NativeFieldWrapperClass1 implements List<Map>
void forEach(void f(Map element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f(Map element)) =>

View file

@ -9,8 +9,12 @@ class IC {
String toString() => "${count++}";
}
testJoin(String expect, Iterable iterable, [String separator]) {
testJoin(String expect, Iterable iterable, [String separator = ""]) {
if (?separator) {
Expect.equals(expect, iterable.join(separator));
} else {
Expect.equals(expect, iterable.join());
}
}
testCollections() {

View file

@ -42,7 +42,7 @@ abstract class CssClassSet implements Set<String> {
readClasses().forEach(f);
}
String join([String separator]) => readClasses().join(separator);
String join([String separator = ""]) => readClasses().join(separator);
Iterable map(f(String element)) => readClasses().map(f);

View file

@ -35,7 +35,7 @@ class _WrappedList<E> implements List<E> {
bool every(bool f(E element)) => _list.every(f);
String join([String separator]) => _list.join(separator);
String join([String separator = ""]) => _list.join(separator);
bool any(bool f(E element)) => _list.any(f);

View file

@ -63,7 +63,7 @@ class _ChildrenElementList extends ListBase<Element> {
return false;
}
String join([String separator]) {
String join([String separator = ""]) {
return _childElements.join(separator);
}

View file

@ -30,7 +30,7 @@ $endif
void forEach(void f($E element)) => IterableMixinWorkaround.forEach(this, f);
String join([String separator]) =>
String join([String separator = ""]) =>
IterableMixinWorkaround.joinList(this, separator);
Iterable map(f($E element)) =>