Remive uses of "void operator[]() => ..." in the html library and enable return type checks for all returns.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15093 260f80e4-7a28-3924-810f-c04153c831b5
This commit is contained in:
ngeoffray@google.com 2012-11-19 17:31:05 +00:00
parent a6dae8cd4a
commit 567a719b08
4 changed files with 13 additions and 17 deletions

View file

@ -3702,11 +3702,7 @@ class SsaBuilder extends ResolvedVisitor implements Visitor {
} else {
visit(node.expression);
value = pop();
if (value is HForeign) {
// TODO(6530, 6534): remove this check.
} else {
value = potentiallyCheckType(value, returnType);
}
value = potentiallyCheckType(value, returnType);
}
handleInTryStatement();

View file

@ -8962,7 +8962,7 @@ class Float32Array extends ArrayBufferView implements JavaScriptIndexingBehavior
num operator[](int index) => JS("num", "#[#]", this, index);
void operator[]=(int index, num value) => JS("void", "#[#] = #", this, index, value);
void operator[]=(int index, num value) { JS("void", "#[#] = #", this, index, value); }
// -- start List<num> mixins.
// num is the element type.
@ -9073,7 +9073,7 @@ class Float64Array extends ArrayBufferView implements JavaScriptIndexingBehavior
num operator[](int index) => JS("num", "#[#]", this, index);
void operator[]=(int index, num value) => JS("void", "#[#] = #", this, index, value);
void operator[]=(int index, num value) { JS("void", "#[#] = #", this, index, value); }
// -- start List<num> mixins.
// num is the element type.
@ -11194,7 +11194,7 @@ class Int16Array extends ArrayBufferView implements JavaScriptIndexingBehavior,
int operator[](int index) => JS("int", "#[#]", this, index);
void operator[]=(int index, int value) => JS("void", "#[#] = #", this, index, value);
void operator[]=(int index, int value) { JS("void", "#[#] = #", this, index, value); }
// -- start List<int> mixins.
// int is the element type.
@ -11305,7 +11305,7 @@ class Int32Array extends ArrayBufferView implements JavaScriptIndexingBehavior,
int operator[](int index) => JS("int", "#[#]", this, index);
void operator[]=(int index, int value) => JS("void", "#[#] = #", this, index, value);
void operator[]=(int index, int value) { JS("void", "#[#] = #", this, index, value); }
// -- start List<int> mixins.
// int is the element type.
@ -11416,7 +11416,7 @@ class Int8Array extends ArrayBufferView implements JavaScriptIndexingBehavior, L
int operator[](int index) => JS("int", "#[#]", this, index);
void operator[]=(int index, int value) => JS("void", "#[#] = #", this, index, value);
void operator[]=(int index, int value) { JS("void", "#[#] = #", this, index, value); }
// -- start List<int> mixins.
// int is the element type.
@ -16652,7 +16652,7 @@ class Storage implements Map<String, String> native "*Storage" {
String operator [](String key) => $dom_getItem(key);
void operator []=(String key, String value) => $dom_setItem(key, value);
void operator []=(String key, String value) { $dom_setItem(key, value); }
String putIfAbsent(String key, String ifAbsent()) {
if (!containsKey(key)) this[key] = ifAbsent();
@ -17996,7 +17996,7 @@ class Uint16Array extends ArrayBufferView implements JavaScriptIndexingBehavior,
int operator[](int index) => JS("int", "#[#]", this, index);
void operator[]=(int index, int value) => JS("void", "#[#] = #", this, index, value);
void operator[]=(int index, int value) { JS("void", "#[#] = #", this, index, value); }
// -- start List<int> mixins.
// int is the element type.
@ -18107,7 +18107,7 @@ class Uint32Array extends ArrayBufferView implements JavaScriptIndexingBehavior,
int operator[](int index) => JS("int", "#[#]", this, index);
void operator[]=(int index, int value) => JS("void", "#[#] = #", this, index, value);
void operator[]=(int index, int value) { JS("void", "#[#] = #", this, index, value); }
// -- start List<int> mixins.
// int is the element type.
@ -18218,7 +18218,7 @@ class Uint8Array extends ArrayBufferView implements JavaScriptIndexingBehavior,
int operator[](int index) => JS("int", "#[#]", this, index);
void operator[]=(int index, int value) => JS("void", "#[#] = #", this, index, value);
void operator[]=(int index, int value) { JS("void", "#[#] = #", this, index, value); }
// -- start List<int> mixins.
// int is the element type.

View file

@ -482,8 +482,8 @@ class Dart2JSBackend(HtmlDartGenerator):
if 'CustomIndexedSetter' in self._interface.ext_attrs:
self._members_emitter.Emit(
'\n'
' void operator[]=(int index, $TYPE value) =>'
' JS("void", "#[#] = #", this, index, value);\n',
' void operator[]=(int index, $TYPE value) {'
' JS("void", "#[#] = #", this, index, value); }',
TYPE=self._NarrowInputType(element_type))
else:
self._members_emitter.Emit(

View file

@ -13,7 +13,7 @@ class $CLASSNAME$EXTENDS implements Map<String, String> $NATIVESPEC {
String operator [](String key) => $dom_getItem(key);
void operator []=(String key, String value) => $dom_setItem(key, value);
void operator []=(String key, String value) { $dom_setItem(key, value); }
String putIfAbsent(String key, String ifAbsent()) {
if (!containsKey(key)) this[key] = ifAbsent();