OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 part of dart2js.js_emitter.full_emitter; | 5 part of dart2js.js_emitter.full_emitter; |
6 | 6 |
7 // TODO(ahe): Share these with js_helper.dart. | 7 // TODO(ahe): Share these with js_helper.dart. |
8 const FUNCTION_INDEX = 0; | 8 const FUNCTION_INDEX = 0; |
9 const NAME_INDEX = 1; | 9 const NAME_INDEX = 1; |
10 const CALL_NAME_INDEX = 2; | 10 const CALL_NAME_INDEX = 2; |
(...skipping 385 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
396 } | 396 } |
397 } | 397 } |
398 } | 398 } |
399 | 399 |
400 // The superclass is only false (empty string) for the Dart Object | 400 // The superclass is only false (empty string) for the Dart Object |
401 // class. The minifier together with noSuchMethod can put methods on | 401 // class. The minifier together with noSuchMethod can put methods on |
402 // the Object.prototype object, and they show through here, so we check | 402 // the Object.prototype object, and they show through here, so we check |
403 // that we have a string. | 403 // that we have a string. |
404 if (!superclass || typeof superclass != "string") { | 404 if (!superclass || typeof superclass != "string") { |
405 // Inlined special case of InheritFrom here for performance reasons. | 405 // Inlined special case of InheritFrom here for performance reasons. |
406 // Fix up the the Dart Object class' prototype. | 406 // Fix up the Dart Object class' prototype. |
407 var constructor = allClasses[cls]; | 407 var constructor = allClasses[cls]; |
408 var prototype = constructor.prototype; | 408 var prototype = constructor.prototype; |
409 prototype.constructor = constructor; | 409 prototype.constructor = constructor; |
410 prototype.#isObject = constructor; | 410 prototype.#isObject = constructor; |
411 prototype.#deferredAction = function() {}; | 411 prototype.#deferredAction = function() {}; |
412 return; | 412 return; |
413 } | 413 } |
414 finishClass(superclass); | 414 finishClass(superclass); |
415 var superConstructor = allClasses[superclass]; | 415 var superConstructor = allClasses[superclass]; |
416 | 416 |
(...skipping 437 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
854 (function() { | 854 (function() { |
855 var result = $array[$index]; | 855 var result = $array[$index]; |
856 if ($check) { | 856 if ($check) { |
857 throw new Error( | 857 throw new Error( |
858 name + ": expected value of type \'$type\' at index " + ($index) + | 858 name + ": expected value of type \'$type\' at index " + ($index) + |
859 " but got " + (typeof result)); | 859 " but got " + (typeof result)); |
860 } | 860 } |
861 return result; | 861 return result; |
862 })()'''; | 862 })()'''; |
863 } | 863 } |
OLD | NEW |