Chromium Code Reviews| Index: lib/runtime/dart/core.js |
| diff --git a/lib/runtime/dart/core.js b/lib/runtime/dart/core.js |
| index 9c781a03433c26852c7ec9e28c779e90be7df37f..c1f6f8eea3c8aff470908cc91c3afd9bd1ae944b 100644 |
| --- a/lib/runtime/dart/core.js |
| +++ b/lib/runtime/dart/core.js |
| @@ -1,6 +1,7 @@ |
| var core; |
| (function(exports) { |
| 'use strict'; |
| + let name$ = dart.JsSymbol('name'); |
| class Object { |
| constructor() { |
| let name = this.constructor.name; |
| @@ -27,24 +28,35 @@ var core; |
| } |
| } |
| class JsName extends Object { |
| + get name() { |
| + return this[name$]; |
| + } |
| JsName(opts) { |
| let name = opts && 'name' in opts ? opts.name : null; |
| - this.name = name; |
| + this[name$] = name; |
| } |
| } |
| + let name$0 = dart.JsSymbol('name'); |
|
Jacob
2015/04/17 20:28:53
high level question. why are both name$ and name$0
Jennifer Messerly
2015/04/20 17:44:34
They are semantically different members. Consider:
|
| class JsPeerInterface extends Object { |
| + get name() { |
| + return this[name$0]; |
| + } |
| JsPeerInterface(opts) { |
| let name = opts && 'name' in opts ? opts.name : null; |
| - this.name = name; |
| + this[name$0] = name; |
| } |
| } |
| class SupportJsExtensionMethod extends Object { |
| SupportJsExtensionMethod() { |
| } |
| } |
| + let expires$ = dart.JsSymbol('expires'); |
| class Deprecated extends Object { |
| + get expires() { |
| + return this[expires$]; |
| + } |
| Deprecated(expires) { |
| - this.expires = expires; |
| + this[expires$] = expires; |
| } |
| toString() { |
| return `Deprecated feature. Will be removed ${this.expires}`; |
| @@ -100,6 +112,8 @@ var core; |
| return Comparable; |
| }); |
| let Comparable = Comparable$(); |
| + let millisecondsSinceEpoch$ = dart.JsSymbol('millisecondsSinceEpoch'); |
| + let isUtc$ = dart.JsSymbol('isUtc'); |
| let _internal = dart.JsSymbol('_internal'); |
| let _now = dart.JsSymbol('_now'); |
| let _brokenDownDateToMillisecondsSinceEpoch = dart.JsSymbol('_brokenDownDateToMillisecondsSinceEpoch'); |
| @@ -109,6 +123,12 @@ var core; |
| let _threeDigits = dart.JsSymbol('_threeDigits'); |
| let _twoDigits = dart.JsSymbol('_twoDigits'); |
| class DateTime extends Object { |
| + get millisecondsSinceEpoch() { |
| + return this[millisecondsSinceEpoch$]; |
| + } |
| + get isUtc() { |
| + return this[isUtc$]; |
| + } |
| DateTime(year, month, day, hour, minute, second, millisecond) { |
| if (month === void 0) |
| month = 1; |
| @@ -195,8 +215,8 @@ var core; |
| } |
| fromMillisecondsSinceEpoch(millisecondsSinceEpoch, opts) { |
| let isUtc = opts && 'isUtc' in opts ? opts.isUtc : false; |
| - this.millisecondsSinceEpoch = millisecondsSinceEpoch; |
| - this.isUtc = isUtc; |
| + this[millisecondsSinceEpoch$] = millisecondsSinceEpoch; |
| + this[isUtc$] = isUtc; |
| if (dart.notNull(millisecondsSinceEpoch.abs()) > dart.notNull(DateTime[_MAX_MILLISECONDS_SINCE_EPOCH])) { |
| throw new ArgumentError(millisecondsSinceEpoch); |
| } |
| @@ -307,12 +327,12 @@ var core; |
| return new Duration({milliseconds: dart.notNull(ms) - dart.notNull(otherMs)}); |
| } |
| [_internal](year, month, day, hour, minute, second, millisecond, isUtc) { |
| - this.isUtc = typeof isUtc == 'boolean' ? isUtc : dart.throw_(new ArgumentError(isUtc)); |
| - this.millisecondsSinceEpoch = dart.as(_js_helper.checkInt(_js_helper.Primitives.valueFromDecomposedDate(year, month, day, hour, minute, second, millisecond, isUtc)), int); |
| + this[isUtc$] = typeof isUtc == 'boolean' ? isUtc : dart.throw_(new ArgumentError(isUtc)); |
| + this[millisecondsSinceEpoch$] = dart.as(_js_helper.checkInt(_js_helper.Primitives.valueFromDecomposedDate(year, month, day, hour, minute, second, millisecond, isUtc)), int); |
| } |
| [_now]() { |
| - this.isUtc = false; |
| - this.millisecondsSinceEpoch = _js_helper.Primitives.dateNow(); |
| + this[isUtc$] = false; |
| + this[millisecondsSinceEpoch$] = _js_helper.Primitives.dateNow(); |
| } |
| static [_brokenDownDateToMillisecondsSinceEpoch](year, month, day, hour, minute, second, millisecond, isUtc) { |
| return dart.as(_js_helper.Primitives.valueFromDecomposedDate(year, month, day, hour, minute, second, millisecond, isUtc), int); |
| @@ -582,15 +602,27 @@ var core; |
| return "Throw of null."; |
| } |
| } |
| + let invalidValue = dart.JsSymbol('invalidValue'); |
| + let name$1 = dart.JsSymbol('name'); |
| + let message$ = dart.JsSymbol('message'); |
| let _hasValue = dart.JsSymbol('_hasValue'); |
| class ArgumentError extends Error { |
| + get invalidValue() { |
| + return this[invalidValue]; |
| + } |
| + get name() { |
| + return this[name$1]; |
| + } |
| + get message() { |
| + return this[message$]; |
| + } |
| ArgumentError(message) { |
| if (message === void 0) |
| message = null; |
| - this.message = message; |
| - this.invalidValue = null; |
| + this[message$] = message; |
| + this[invalidValue] = null; |
| this[_hasValue] = false; |
| - this.name = null; |
| + this[name$1] = null; |
| super.Error(); |
| } |
| value(value, name, message) { |
| @@ -598,9 +630,9 @@ var core; |
| name = null; |
| if (message === void 0) |
| message = "Invalid argument"; |
| - this.name = name; |
| - this.message = message; |
| - this.invalidValue = value; |
| + this[name$1] = name; |
|
Jacob
2015/04/17 20:28:53
same here. why are multiple names required? privat
Jennifer Messerly
2015/04/20 17:44:34
Private method names in the same library are the s
|
| + this[message$] = message; |
| + this[invalidValue] = value; |
| this[_hasValue] = true; |
| super.Error(); |
| } |
| @@ -626,10 +658,18 @@ var core; |
| } |
| dart.defineNamedConstructor(ArgumentError, 'value'); |
| dart.defineNamedConstructor(ArgumentError, 'notNull'); |
| + let start = dart.JsSymbol('start'); |
| + let end = dart.JsSymbol('end'); |
| class RangeError extends ArgumentError { |
| + get start() { |
| + return this[start]; |
| + } |
| + get end() { |
| + return this[end]; |
| + } |
| RangeError(message) { |
| - this.start = null; |
| - this.end = null; |
| + this[start] = null; |
| + this[end] = null; |
| super.ArgumentError(message); |
| } |
| value(value, name, message) { |
| @@ -637,8 +677,8 @@ var core; |
| name = null; |
| if (message === void 0) |
| message = null; |
| - this.start = null; |
| - this.end = null; |
| + this[start] = null; |
| + this[end] = null; |
| super.value(value, name, message != null ? message : "Value not in range"); |
| } |
| range(invalidValue, minValue, maxValue, name, message) { |
| @@ -646,8 +686,8 @@ var core; |
| name = null; |
| if (message === void 0) |
| message = null; |
| - this.start = minValue; |
| - this.end = maxValue; |
| + this[start] = minValue; |
| + this[end] = maxValue; |
| super.value(invalidValue, name, message != null ? message : "Invalid value"); |
| } |
| index(index, indexable, name, message, length) { |
| @@ -727,7 +767,15 @@ var core; |
| dart.defineNamedConstructor(RangeError, 'value'); |
| dart.defineNamedConstructor(RangeError, 'range'); |
| dart.defineNamedConstructor(RangeError, 'index'); |
| + let indexable$ = dart.JsSymbol('indexable'); |
| + let length$ = dart.JsSymbol('length'); |
| class IndexError extends ArgumentError { |
| + get indexable() { |
| + return this[indexable$]; |
| + } |
| + get length() { |
| + return this[length$]; |
| + } |
| IndexError(invalidValue, indexable, name, message, length) { |
| if (name === void 0) |
| name = null; |
| @@ -735,8 +783,8 @@ var core; |
| message = null; |
| if (length === void 0) |
| length = null; |
| - this.indexable = indexable; |
| - this.length = dart.as(length != null ? length : dart.dload(indexable, 'length'), int); |
| + this[indexable$] = indexable; |
| + this[length$] = dart.as(length != null ? length : dart.dload(indexable, 'length'), int); |
| super.value(invalidValue, name, message != null ? message : "Index out of range"); |
| } |
| get start() { |
| @@ -827,20 +875,28 @@ var core; |
| } |
| } |
| } |
| + let message$0 = dart.JsSymbol('message'); |
| class UnsupportedError extends Error { |
| + get message() { |
| + return this[message$0]; |
| + } |
| UnsupportedError(message) { |
| - this.message = message; |
| + this[message$0] = message; |
| super.Error(); |
| } |
| toString() { |
| return `Unsupported operation: ${this.message}`; |
| } |
| } |
| + let message$1 = dart.JsSymbol('message'); |
| class UnimplementedError extends Error { |
| + get message() { |
| + return this[message$1]; |
| + } |
| UnimplementedError(message) { |
| if (message === void 0) |
| message = null; |
| - this.message = message; |
| + this[message$1] = message; |
| super.Error(); |
| } |
| toString() { |
| @@ -848,20 +904,28 @@ var core; |
| } |
| } |
| UnimplementedError[dart.implements] = () => [UnsupportedError]; |
| + let message$2 = dart.JsSymbol('message'); |
| class StateError extends Error { |
| + get message() { |
| + return this[message$2]; |
| + } |
| StateError(message) { |
| - this.message = message; |
| + this[message$2] = message; |
| super.Error(); |
| } |
| toString() { |
| return `Bad state: ${this.message}`; |
| } |
| } |
| + let modifiedObject$ = dart.JsSymbol('modifiedObject'); |
| class ConcurrentModificationError extends Error { |
| + get modifiedObject() { |
| + return this[modifiedObject$]; |
| + } |
| ConcurrentModificationError(modifiedObject) { |
| if (modifiedObject === void 0) |
| modifiedObject = null; |
| - this.modifiedObject = modifiedObject; |
| + this[modifiedObject$] = modifiedObject; |
| super.Error(); |
| } |
| toString() { |
| @@ -893,11 +957,15 @@ var core; |
| } |
| } |
| StackOverflowError[dart.implements] = () => [Error]; |
| + let variableName$ = dart.JsSymbol('variableName'); |
| class CyclicInitializationError extends Error { |
| + get variableName() { |
| + return this[variableName$]; |
| + } |
| CyclicInitializationError(variableName) { |
| if (variableName === void 0) |
| variableName = null; |
| - this.variableName = variableName; |
| + this[variableName$] = variableName; |
| super.Error(); |
| } |
| toString() { |
| @@ -924,7 +992,19 @@ var core; |
| } |
| } |
| _ExceptionImplementation[dart.implements] = () => [Exception]; |
| + let message$3 = dart.JsSymbol('message'); |
| + let source$ = dart.JsSymbol('source'); |
| + let offset$ = dart.JsSymbol('offset'); |
| class FormatException extends Object { |
| + get message() { |
| + return this[message$3]; |
| + } |
| + get source() { |
| + return this[source$]; |
| + } |
| + get offset() { |
| + return this[offset$]; |
| + } |
| FormatException(message, source, offset) { |
| if (message === void 0) |
| message = ""; |
| @@ -932,9 +1012,9 @@ var core; |
| source = null; |
| if (offset === void 0) |
| offset = -1; |
| - this.message = message; |
| - this.source = source; |
| - this.offset = offset; |
| + this[message$3] = message; |
| + this[source$] = source; |
| + this[offset$] = offset; |
| } |
| toString() { |
| let report = "FormatException"; |
| @@ -1021,16 +1101,20 @@ var core; |
| } |
| } |
| IntegerDivisionByZeroException[dart.implements] = () => [Exception]; |
| + let name$2 = dart.JsSymbol('name'); |
| let _EXPANDO_PROPERTY_NAME = dart.JsSymbol('_EXPANDO_PROPERTY_NAME'); |
| let _getKey = dart.JsSymbol('_getKey'); |
| let _KEY_PROPERTY_NAME = dart.JsSymbol('_KEY_PROPERTY_NAME'); |
| let _keyCount = dart.JsSymbol('_keyCount'); |
| let Expando$ = dart.generic(function(T) { |
| class Expando extends Object { |
| + get name() { |
| + return this[name$2]; |
| + } |
| Expando(name) { |
| if (name === void 0) |
| name = null; |
| - this.name = name; |
| + this[name$2] = name; |
| } |
| toString() { |
| return `Expando:${this.name}`; |
| @@ -1129,10 +1213,10 @@ var core; |
| return _Generator; |
| }); |
| let _Generator = _Generator$(); |
| + let _id = dart.JsSymbol('_id'); |
| let _end = dart.JsSymbol('_end'); |
| let _start = dart.JsSymbol('_start'); |
| let _generator = dart.JsSymbol('_generator'); |
| - let _id = dart.JsSymbol('_id'); |
| let $iterator = dart.JsSymbol('$iterator'); |
| let $skip = dart.JsSymbol('$skip'); |
| let $take = dart.JsSymbol('$take'); |
| @@ -1473,12 +1557,16 @@ var core; |
| dart.defineNamedConstructor(String, 'fromCharCodes'); |
| dart.defineNamedConstructor(String, 'fromCharCode'); |
| dart.defineNamedConstructor(String, 'fromEnvironment'); |
| + let string$ = dart.JsSymbol('string'); |
| let $last = dart.JsSymbol('$last'); |
| dart.defineLazyClass(exports, { |
| get Runes() { |
| class Runes extends collection.IterableBase$(int) { |
| + get string() { |
| + return this[string$]; |
| + } |
| Runes(string) { |
| - this.string = string; |
| + this[string$] = string; |
| super.IterableBase(); |
| } |
| get [exports.$iterator]() { |
| @@ -1514,19 +1602,23 @@ var core; |
| function _combineSurrogatePair(start, end) { |
| return 65536 + ((dart.notNull(start) & 1023) << 10) + (dart.notNull(end) & 1023); |
| } |
| + let string$0 = dart.JsSymbol('string'); |
| let _position = dart.JsSymbol('_position'); |
| let _nextPosition = dart.JsSymbol('_nextPosition'); |
| let _currentCodePoint = dart.JsSymbol('_currentCodePoint'); |
| let _checkSplitSurrogate = dart.JsSymbol('_checkSplitSurrogate'); |
| class RuneIterator extends Object { |
| + get string() { |
| + return this[string$0]; |
| + } |
| RuneIterator(string) { |
| - this.string = string; |
| + this[string$0] = string; |
| this[_position] = 0; |
| this[_nextPosition] = 0; |
| this[_currentCodePoint] = null; |
| } |
| at(string, index) { |
| - this.string = string; |
| + this[string$0] = string; |
| this[_position] = index; |
| this[_nextPosition] = index; |
| this[_currentCodePoint] = null; |
| @@ -1675,6 +1767,7 @@ var core; |
| } |
| } |
| class Type extends Object {} |
| + let scheme$ = dart.JsSymbol('scheme'); |
| let _writeAuthority = dart.JsSymbol('_writeAuthority'); |
| let _userInfo = dart.JsSymbol('_userInfo'); |
| let _host = dart.JsSymbol('_host'); |
| @@ -1709,6 +1802,7 @@ var core; |
| let _makeWindowsFileUrl = dart.JsSymbol('_makeWindowsFileUrl'); |
| let _makeFileUri = dart.JsSymbol('_makeFileUri'); |
| let _checkNonWindowsPathReservedCharacters = dart.JsSymbol('_checkNonWindowsPathReservedCharacters'); |
| + let $forEach = dart.JsSymbol('$forEach'); |
| let _checkWindowsPathReservedCharacters = dart.JsSymbol('_checkWindowsPathReservedCharacters'); |
| let _checkWindowsDriveLetter = dart.JsSymbol('_checkWindowsDriveLetter'); |
| let _UPPER_CASE_A = dart.JsSymbol('_UPPER_CASE_A'); |
| @@ -1716,6 +1810,8 @@ var core; |
| let _LOWER_CASE_A = dart.JsSymbol('_LOWER_CASE_A'); |
| let _LOWER_CASE_Z = dart.JsSymbol('_LOWER_CASE_Z'); |
| let _BACKSLASH = dart.JsSymbol('_BACKSLASH'); |
| + let $map = dart.JsSymbol('$map'); |
| + let $toList = dart.JsSymbol('$toList'); |
| let _normalizeRegName = dart.JsSymbol('_normalizeRegName'); |
| let _isRegNameChar = dart.JsSymbol('_isRegNameChar'); |
| let _PERCENT = dart.JsSymbol('_PERCENT'); |
| @@ -1741,6 +1837,8 @@ var core; |
| let _DOT = dart.JsSymbol('_DOT'); |
| let _hasDotSegments = dart.JsSymbol('_hasDotSegments'); |
| let _removeDotSegments = dart.JsSymbol('_removeDotSegments'); |
| + let $isEmpty = dart.JsSymbol('$isEmpty'); |
| + let $removeLast = dart.JsSymbol('$removeLast'); |
| let _toWindowsFilePath = dart.JsSymbol('_toWindowsFilePath'); |
| let _toFilePath = dart.JsSymbol('_toFilePath'); |
| let _isPathAbsolute = dart.JsSymbol('_isPathAbsolute'); |
| @@ -1748,16 +1846,14 @@ var core; |
| let _unreserved2396Table = dart.JsSymbol('_unreserved2396Table'); |
| let _uriDecode = dart.JsSymbol('_uriDecode'); |
| let _encodeFullTable = dart.JsSymbol('_encodeFullTable'); |
| + let $fold = dart.JsSymbol('$fold'); |
| let _SPACE = dart.JsSymbol('_SPACE'); |
| let _PLUS = dart.JsSymbol('_PLUS'); |
| let _hexCharPairToByte = dart.JsSymbol('_hexCharPairToByte'); |
| - let $forEach = dart.JsSymbol('$forEach'); |
| - let $map = dart.JsSymbol('$map'); |
| - let $toList = dart.JsSymbol('$toList'); |
| - let $isEmpty = dart.JsSymbol('$isEmpty'); |
| - let $removeLast = dart.JsSymbol('$removeLast'); |
| - let $fold = dart.JsSymbol('$fold'); |
| class Uri extends Object { |
| + get scheme() { |
| + return this[scheme$]; |
| + } |
| get authority() { |
| if (!dart.notNull(this.hasAuthority)) |
| return ""; |
| @@ -1965,7 +2061,7 @@ var core; |
| throw new FormatException(message, uri, index); |
| } |
| [_internal](scheme, userInfo, host, port, path, query, fragment) { |
| - this.scheme = scheme; |
| + this[scheme$] = scheme; |
| this[_userInfo] = userInfo; |
| this[_host] = host; |
| this[_port] = port; |