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

Side by Side Diff: sdk/lib/_internal/compiler/implementation/lib/js_helper.dart

Issue 11361060: Support checked mode for return type. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #library('dart:_js_helper'); 5 #library('dart:_js_helper');
6 6
7 #import('dart:coreimpl'); 7 #import('dart:coreimpl');
8 #import('dart:collection'); 8 #import('dart:collection');
9 9
10 #source('constant_map.dart'); 10 #source('constant_map.dart');
(...skipping 1369 matching lines...) Expand 10 before | Expand all | Expand 10 after
1380 if (JS('bool', '#[#]()', value, property)) return value; 1380 if (JS('bool', '#[#]()', value, property)) return value;
1381 propertyTypeError(value, property); 1381 propertyTypeError(value, property);
1382 } 1382 }
1383 1383
1384 listSuperNativeTypeCast(value, property) { 1384 listSuperNativeTypeCast(value, property) {
1385 if (value is List || value == null) return value; 1385 if (value is List || value == null) return value;
1386 if (JS('bool', '#[#]()', value, property)) return value; 1386 if (JS('bool', '#[#]()', value, property)) return value;
1387 propertyTypeCastError(value, property); 1387 propertyTypeCastError(value, property);
1388 } 1388 }
1389 1389
1390 voidTypeCheck(value) {
1391 if (value == null) return value;
1392 throw new TypeErrorImplementation(value, 'void');
1393 }
1394
1390 /** 1395 /**
1391 * Special interface recognized by the compiler and implemented by DOM 1396 * Special interface recognized by the compiler and implemented by DOM
1392 * objects that support integer indexing. This interface is not 1397 * objects that support integer indexing. This interface is not
1393 * visible to anyone, and is only injected into special libraries. 1398 * visible to anyone, and is only injected into special libraries.
1394 */ 1399 */
1395 abstract class JavaScriptIndexingBehavior { 1400 abstract class JavaScriptIndexingBehavior {
1396 } 1401 }
1397 1402
1398 // TODO(lrn): These exceptions should be implemented in core. 1403 // TODO(lrn): These exceptions should be implemented in core.
1399 // When they are, remove the 'Implementation' here. 1404 // When they are, remove the 'Implementation' here.
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
1472 result = new TypeImpl(key); 1477 result = new TypeImpl(key);
1473 JS('var', r'#[#] = #', runtimeTypeCache, key, result); 1478 JS('var', r'#[#] = #', runtimeTypeCache, key, result);
1474 } 1479 }
1475 return result; 1480 return result;
1476 } 1481 }
1477 1482
1478 String getRuntimeTypeString(var object) { 1483 String getRuntimeTypeString(var object) {
1479 var typeInfo = JS('Object', r'#.builtin$typeInfo', object); 1484 var typeInfo = JS('Object', r'#.builtin$typeInfo', object);
1480 return JS('String', r'#.runtimeType', typeInfo); 1485 return JS('String', r'#.runtimeType', typeInfo);
1481 } 1486 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698