| OLD | NEW |
| 1 dart_library.library('dart/_js_helper', null, /* Imports */[ | 1 dart_library.library('dart/_js_helper', null, /* Imports */[ |
| 2 "dart_runtime/dart", | 2 "dart_runtime/dart", |
| 3 'dart/core', | 3 'dart/core', |
| 4 'dart/collection', | 4 'dart/collection', |
| 5 'dart/_interceptors', | 5 'dart/_interceptors', |
| 6 'dart/_foreign_helper' | 6 'dart/_foreign_helper' |
| 7 ], /* Lazy imports */[ | 7 ], /* Lazy imports */[ |
| 8 ], function(exports, dart, core, collection, _interceptors, _foreign_helper) { | 8 ], function(exports, dart, core, collection, _interceptors, _foreign_helper) { |
| 9 'use strict'; | 9 'use strict'; |
| 10 let dartx = dart.dartx; | 10 let dartx = dart.dartx; |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 85 let _execGlobal = Symbol('_execGlobal'); | 85 let _execGlobal = Symbol('_execGlobal'); |
| 86 let _execAnchored = Symbol('_execAnchored'); | 86 let _execAnchored = Symbol('_execAnchored'); |
| 87 class JSSyntaxRegExp extends core.Object { | 87 class JSSyntaxRegExp extends core.Object { |
| 88 toString() { | 88 toString() { |
| 89 return `RegExp/${this.pattern}/`; | 89 return `RegExp/${this.pattern}/`; |
| 90 } | 90 } |
| 91 JSSyntaxRegExp(source, opts) { | 91 JSSyntaxRegExp(source, opts) { |
| 92 let multiLine = opts && 'multiLine' in opts ? opts.multiLine : false; | 92 let multiLine = opts && 'multiLine' in opts ? opts.multiLine : false; |
| 93 let caseSensitive = opts && 'caseSensitive' in opts ? opts.caseSensitive :
true; | 93 let caseSensitive = opts && 'caseSensitive' in opts ? opts.caseSensitive :
true; |
| 94 this.pattern = source; | 94 this.pattern = source; |
| 95 this[_nativeRegExp] = JSSyntaxRegExp.makeNative(source, multiLine, caseSen
sitive, false); | 95 this[_nativeRegExp] = dart.dcall(JSSyntaxRegExp.makeNative, source, multiL
ine, caseSensitive, false); |
| 96 this[_nativeGlobalRegExp] = null; | 96 this[_nativeGlobalRegExp] = null; |
| 97 this[_nativeAnchoredRegExp] = null; | 97 this[_nativeAnchoredRegExp] = null; |
| 98 } | 98 } |
| 99 get [_nativeGlobalVersion]() { | 99 get [_nativeGlobalVersion]() { |
| 100 if (this[_nativeGlobalRegExp] != null) | 100 if (this[_nativeGlobalRegExp] != null) |
| 101 return this[_nativeGlobalRegExp]; | 101 return this[_nativeGlobalRegExp]; |
| 102 return this[_nativeGlobalRegExp] = JSSyntaxRegExp.makeNative(this.pattern,
this[_isMultiLine], this[_isCaseSensitive], true); | 102 return this[_nativeGlobalRegExp] = dart.dcall(JSSyntaxRegExp.makeNative, t
his.pattern, this[_isMultiLine], this[_isCaseSensitive], true); |
| 103 } | 103 } |
| 104 get [_nativeAnchoredVersion]() { | 104 get [_nativeAnchoredVersion]() { |
| 105 if (this[_nativeAnchoredRegExp] != null) | 105 if (this[_nativeAnchoredRegExp] != null) |
| 106 return this[_nativeAnchoredRegExp]; | 106 return this[_nativeAnchoredRegExp]; |
| 107 return this[_nativeAnchoredRegExp] = JSSyntaxRegExp.makeNative(`${this.pat
tern}|()`, this[_isMultiLine], this[_isCaseSensitive], true); | 107 return this[_nativeAnchoredRegExp] = dart.dcall(JSSyntaxRegExp.makeNative,
`${this.pattern}|()`, this[_isMultiLine], this[_isCaseSensitive], true); |
| 108 } | 108 } |
| 109 get [_isMultiLine]() { | 109 get [_isMultiLine]() { |
| 110 return this[_nativeRegExp].multiline; | 110 return dart.as(this[_nativeRegExp].multiline, core.bool); |
| 111 } | 111 } |
| 112 get [_isCaseSensitive]() { | 112 get [_isCaseSensitive]() { |
| 113 return !this[_nativeRegExp].ignoreCase; | 113 return dart.as(!this[_nativeRegExp].ignoreCase, core.bool); |
| 114 } | 114 } |
| 115 static makeNative(source, multiLine, caseSensitive, global) { | 115 static makeNative(source, multiLine, caseSensitive, global) { |
| 116 checkString(source); | 116 dart.dcall(checkString, source); |
| 117 let m = dart.notNull(multiLine) ? 'm' : ''; | 117 let m = dart.notNull(multiLine) ? 'm' : ''; |
| 118 let i = dart.notNull(caseSensitive) ? '' : 'i'; | 118 let i = dart.notNull(caseSensitive) ? '' : 'i'; |
| 119 let g = dart.notNull(global) ? 'g' : ''; | 119 let g = dart.notNull(global) ? 'g' : ''; |
| 120 let regexp = (function() { | 120 let regexp = (function() { |
| 121 try { | 121 try { |
| 122 return new RegExp(source, m + i + g); | 122 return new RegExp(source, m + i + g); |
| 123 } catch (e) { | 123 } catch (e) { |
| 124 return e; | 124 return e; |
| 125 } | 125 } |
| 126 | 126 |
| 127 })(); | 127 })(); |
| 128 if (regexp instanceof RegExp) | 128 if (dart.notNull(dart.as(regexp instanceof RegExp, core.bool))) |
| 129 return regexp; | 129 return regexp; |
| 130 let errorMessage = String(regexp); | 130 let errorMessage = dart.as(String(regexp), core.String); |
| 131 dart.throw(new core.FormatException(`Illegal RegExp pattern: ${source}, ${
errorMessage}`)); | 131 dart.throw(new core.FormatException(`Illegal RegExp pattern: ${source}, ${
errorMessage}`)); |
| 132 } | 132 } |
| 133 firstMatch(string) { | 133 firstMatch(string) { |
| 134 let m = dart.as(this[_nativeRegExp].exec(checkString(string)), core.List$(
core.String)); | 134 let m = dart.as(this[_nativeRegExp].exec(dart.dcall(checkString, string)),
core.List$(core.String)); |
| 135 if (m == null) | 135 if (m == null) |
| 136 return null; | 136 return null; |
| 137 return new _MatchImplementation(this, m); | 137 return new _MatchImplementation(this, m); |
| 138 } | 138 } |
| 139 hasMatch(string) { | 139 hasMatch(string) { |
| 140 return this[_nativeRegExp].test(checkString(string)); | 140 return dart.as(this[_nativeRegExp].test(dart.dcall(checkString, string)),
core.bool); |
| 141 } | 141 } |
| 142 stringMatch(string) { | 142 stringMatch(string) { |
| 143 let match = this.firstMatch(string); | 143 let match = dart.dcall(this.firstMatch, string); |
| 144 if (match != null) | 144 if (match != null) |
| 145 return match.group(0); | 145 return dart.as(dart.dsend(match, 'group', 0), core.String); |
| 146 return null; | 146 return null; |
| 147 } | 147 } |
| 148 allMatches(string, start) { | 148 allMatches(string, start) { |
| 149 if (start === void 0) | 149 if (start === void 0) |
| 150 start = 0; | 150 start = 0; |
| 151 checkString(string); | 151 dart.dcall(checkString, string); |
| 152 checkInt(start); | 152 dart.dcall(checkInt, start); |
| 153 if (dart.notNull(start) < 0 || dart.notNull(start) > dart.notNull(string[d
artx.length])) { | 153 if (dart.notNull(start) < 0 || dart.notNull(start) > dart.notNull(string[d
artx.length])) { |
| 154 dart.throw(new core.RangeError.range(start, 0, string[dartx.length])); | 154 dart.throw(new core.RangeError.range(start, 0, string[dartx.length])); |
| 155 } | 155 } |
| 156 return new _AllMatchesIterable(this, string, start); | 156 return new _AllMatchesIterable(this, string, start); |
| 157 } | 157 } |
| 158 [_execGlobal](string, start) { | 158 [_execGlobal](string, start) { |
| 159 let regexp = this[_nativeGlobalVersion]; | 159 let regexp = this[_nativeGlobalVersion]; |
| 160 regexp.lastIndex = start; | 160 regexp.lastIndex = start; |
| 161 let match = dart.as(regexp.exec(string), core.List); | 161 let match = dart.as(regexp.exec(string), core.List); |
| 162 if (match == null) | 162 if (match == null) |
| (...skipping 10 matching lines...) Expand all Loading... |
| 173 return null; | 173 return null; |
| 174 match[dartx.length] = dart.notNull(match[dartx.length]) - 1; | 174 match[dartx.length] = dart.notNull(match[dartx.length]) - 1; |
| 175 return new _MatchImplementation(this, dart.as(match, core.List$(core.Strin
g))); | 175 return new _MatchImplementation(this, dart.as(match, core.List$(core.Strin
g))); |
| 176 } | 176 } |
| 177 matchAsPrefix(string, start) { | 177 matchAsPrefix(string, start) { |
| 178 if (start === void 0) | 178 if (start === void 0) |
| 179 start = 0; | 179 start = 0; |
| 180 if (dart.notNull(start) < 0 || dart.notNull(start) > dart.notNull(string[d
artx.length])) { | 180 if (dart.notNull(start) < 0 || dart.notNull(start) > dart.notNull(string[d
artx.length])) { |
| 181 dart.throw(new core.RangeError.range(start, 0, string[dartx.length])); | 181 dart.throw(new core.RangeError.range(start, 0, string[dartx.length])); |
| 182 } | 182 } |
| 183 return this[_execAnchored](string, start); | 183 return dart.dcall(this[_execAnchored], string, start); |
| 184 } | 184 } |
| 185 get isMultiLine() { | 185 get isMultiLine() { |
| 186 return this[_isMultiLine]; | 186 return this[_isMultiLine]; |
| 187 } | 187 } |
| 188 get isCaseSensitive() { | 188 get isCaseSensitive() { |
| 189 return this[_isCaseSensitive]; | 189 return this[_isCaseSensitive]; |
| 190 } | 190 } |
| 191 } | 191 } |
| 192 JSSyntaxRegExp[dart.implements] = () => [core.RegExp]; | 192 JSSyntaxRegExp[dart.implements] = () => [core.RegExp]; |
| 193 dart.setSignature(JSSyntaxRegExp, { | 193 dart.setSignature(JSSyntaxRegExp, { |
| (...skipping 13 matching lines...) Expand all Loading... |
| 207 dart.defineExtensionMembers(JSSyntaxRegExp, ['allMatches', 'matchAsPrefix']); | 207 dart.defineExtensionMembers(JSSyntaxRegExp, ['allMatches', 'matchAsPrefix']); |
| 208 let _match = Symbol('_match'); | 208 let _match = Symbol('_match'); |
| 209 class _MatchImplementation extends core.Object { | 209 class _MatchImplementation extends core.Object { |
| 210 _MatchImplementation(pattern, match) { | 210 _MatchImplementation(pattern, match) { |
| 211 this.pattern = pattern; | 211 this.pattern = pattern; |
| 212 this[_match] = match; | 212 this[_match] = match; |
| 213 dart.assert(typeof this[_match].input == 'string'); | 213 dart.assert(typeof this[_match].input == 'string'); |
| 214 dart.assert(typeof this[_match].index == 'number'); | 214 dart.assert(typeof this[_match].index == 'number'); |
| 215 } | 215 } |
| 216 get input() { | 216 get input() { |
| 217 return this[_match].input; | 217 return dart.as(this[_match].input, core.String); |
| 218 } | 218 } |
| 219 get start() { | 219 get start() { |
| 220 return this[_match].index; | 220 return dart.as(this[_match].index, core.int); |
| 221 } | 221 } |
| 222 get end() { | 222 get end() { |
| 223 return dart.notNull(this.start) + dart.notNull(this[_match][dartx.get](0)[
dartx.length]); | 223 return dart.notNull(this.start) + dart.notNull(this[_match][dartx.get](0)[
dartx.length]); |
| 224 } | 224 } |
| 225 group(index) { | 225 group(index) { |
| 226 return this[_match][dartx.get](index); | 226 return this[_match][dartx.get](index); |
| 227 } | 227 } |
| 228 get(index) { | 228 get(index) { |
| 229 return this.group(index); | 229 return dart.dcall(this.group, index); |
| 230 } | 230 } |
| 231 get groupCount() { | 231 get groupCount() { |
| 232 return dart.notNull(this[_match][dartx.length]) - 1; | 232 return dart.notNull(this[_match][dartx.length]) - 1; |
| 233 } | 233 } |
| 234 groups(groups) { | 234 groups(groups) { |
| 235 let out = dart.list([], core.String); | 235 let out = dart.list([], core.String); |
| 236 for (let i of groups) { | 236 for (let i of groups) { |
| 237 out[dartx.add](this.group(i)); | 237 dart.dcall(out[dartx.add], dart.dcall(this.group, i)); |
| 238 } | 238 } |
| 239 return out; | 239 return out; |
| 240 } | 240 } |
| 241 } | 241 } |
| 242 _MatchImplementation[dart.implements] = () => [core.Match]; | 242 _MatchImplementation[dart.implements] = () => [core.Match]; |
| 243 dart.setSignature(_MatchImplementation, { | 243 dart.setSignature(_MatchImplementation, { |
| 244 constructors: () => ({_MatchImplementation: [_MatchImplementation, [core.Pat
tern, core.List$(core.String)]]}), | 244 constructors: () => ({_MatchImplementation: [_MatchImplementation, [core.Pat
tern, core.List$(core.String)]]}), |
| 245 methods: () => ({ | 245 methods: () => ({ |
| 246 group: [core.String, [core.int]], | 246 group: [core.String, [core.int]], |
| 247 get: [core.String, [core.int]], | 247 get: [core.String, [core.int]], |
| (...skipping 28 matching lines...) Expand all Loading... |
| 276 this[_nextIndex] = nextIndex; | 276 this[_nextIndex] = nextIndex; |
| 277 this[_current] = null; | 277 this[_current] = null; |
| 278 } | 278 } |
| 279 get current() { | 279 get current() { |
| 280 return this[_current]; | 280 return this[_current]; |
| 281 } | 281 } |
| 282 moveNext() { | 282 moveNext() { |
| 283 if (this[_string] == null) | 283 if (this[_string] == null) |
| 284 return false; | 284 return false; |
| 285 if (dart.notNull(this[_nextIndex]) <= dart.notNull(this[_string][dartx.len
gth])) { | 285 if (dart.notNull(this[_nextIndex]) <= dart.notNull(this[_string][dartx.len
gth])) { |
| 286 let match = this[_regExp][_execGlobal](this[_string], this[_nextIndex]); | 286 let match = dart.dcall(this[_regExp][_execGlobal], this[_string], this[_
nextIndex]); |
| 287 if (match != null) { | 287 if (match != null) { |
| 288 this[_current] = match; | 288 this[_current] = dart.as(match, core.Match); |
| 289 let nextIndex = match.end; | 289 let nextIndex = dart.as(dart.dload(match, 'end'), core.int); |
| 290 if (match.start == nextIndex) { | 290 if (dart.equals(dart.dload(match, 'start'), nextIndex)) { |
| 291 nextIndex = dart.notNull(nextIndex) + 1; | 291 nextIndex = dart.notNull(nextIndex) + 1; |
| 292 } | 292 } |
| 293 this[_nextIndex] = nextIndex; | 293 this[_nextIndex] = nextIndex; |
| 294 return true; | 294 return true; |
| 295 } | 295 } |
| 296 } | 296 } |
| 297 this[_current] = null; | 297 this[_current] = null; |
| 298 this[_string] = null; | 298 this[_string] = null; |
| 299 return false; | 299 return false; |
| 300 } | 300 } |
| 301 } | 301 } |
| 302 _AllMatchesIterator[dart.implements] = () => [core.Iterator$(core.Match)]; | 302 _AllMatchesIterator[dart.implements] = () => [core.Iterator$(core.Match)]; |
| 303 dart.setSignature(_AllMatchesIterator, { | 303 dart.setSignature(_AllMatchesIterator, { |
| 304 constructors: () => ({_AllMatchesIterator: [_AllMatchesIterator, [JSSyntaxRe
gExp, core.String, core.int]]}), | 304 constructors: () => ({_AllMatchesIterator: [_AllMatchesIterator, [JSSyntaxRe
gExp, core.String, core.int]]}), |
| 305 methods: () => ({moveNext: [core.bool, []]}) | 305 methods: () => ({moveNext: [core.bool, []]}) |
| 306 }); | 306 }); |
| 307 function firstMatchAfter(regExp, string, start) { | 307 function firstMatchAfter(regExp, string, start) { |
| 308 return regExp[_execGlobal](string, start); | 308 return dart.dcall(regExp[_execGlobal], string, start); |
| 309 } | 309 } |
| 310 dart.fn(firstMatchAfter, core.Match, [JSSyntaxRegExp, core.String, core.int]); | 310 dart.fn(firstMatchAfter, core.Match, [JSSyntaxRegExp, core.String, core.int]); |
| 311 class StringMatch extends core.Object { | 311 class StringMatch extends core.Object { |
| 312 StringMatch(start, input, pattern) { | 312 StringMatch(start, input, pattern) { |
| 313 this.start = start; | 313 this.start = start; |
| 314 this.input = input; | 314 this.input = input; |
| 315 this.pattern = pattern; | 315 this.pattern = pattern; |
| 316 } | 316 } |
| 317 get end() { | 317 get end() { |
| 318 return dart.notNull(this.start) + dart.notNull(this.pattern[dartx.length])
; | 318 return dart.notNull(this.start) + dart.notNull(this.pattern[dartx.length])
; |
| 319 } | 319 } |
| 320 get(g) { | 320 get(g) { |
| 321 return this.group(g); | 321 return dart.dcall(this.group, g); |
| 322 } | 322 } |
| 323 get groupCount() { | 323 get groupCount() { |
| 324 return 0; | 324 return 0; |
| 325 } | 325 } |
| 326 group(group_) { | 326 group(group_) { |
| 327 if (group_ != 0) { | 327 if (group_ != 0) { |
| 328 dart.throw(new core.RangeError.value(group_)); | 328 dart.throw(new core.RangeError.value(group_)); |
| 329 } | 329 } |
| 330 return this.pattern; | 330 return this.pattern; |
| 331 } | 331 } |
| 332 groups(groups_) { | 332 groups(groups_) { |
| 333 let result = core.List$(core.String).new(); | 333 let result = core.List$(core.String).new(); |
| 334 for (let g of groups_) { | 334 for (let g of groups_) { |
| 335 result[dartx.add](this.group(g)); | 335 dart.dcall(result[dartx.add], dart.dcall(this.group, g)); |
| 336 } | 336 } |
| 337 return result; | 337 return result; |
| 338 } | 338 } |
| 339 } | 339 } |
| 340 StringMatch[dart.implements] = () => [core.Match]; | 340 StringMatch[dart.implements] = () => [core.Match]; |
| 341 dart.setSignature(StringMatch, { | 341 dart.setSignature(StringMatch, { |
| 342 constructors: () => ({StringMatch: [StringMatch, [core.int, core.String, cor
e.String]]}), | 342 constructors: () => ({StringMatch: [StringMatch, [core.int, core.String, cor
e.String]]}), |
| 343 methods: () => ({ | 343 methods: () => ({ |
| 344 get: [core.String, [core.int]], | 344 get: [core.String, [core.int]], |
| 345 group: [core.String, [core.int]], | 345 group: [core.String, [core.int]], |
| 346 groups: [core.List$(core.String), [core.List$(core.int)]] | 346 groups: [core.List$(core.String), [core.List$(core.int)]] |
| 347 }) | 347 }) |
| 348 }); | 348 }); |
| 349 function allMatchesInStringUnchecked(needle, haystack, startIndex) { | 349 function allMatchesInStringUnchecked(needle, haystack, startIndex) { |
| 350 let result = core.List$(core.Match).new(); | 350 let result = core.List$(core.Match).new(); |
| 351 let length = haystack[dartx.length]; | 351 let length = haystack[dartx.length]; |
| 352 let patternLength = needle[dartx.length]; | 352 let patternLength = needle[dartx.length]; |
| 353 while (true) { | 353 while (true) { |
| 354 let position = haystack[dartx.indexOf](needle, startIndex); | 354 let position = dart.dcall(haystack[dartx.indexOf], needle, startIndex); |
| 355 if (position == -1) { | 355 if (position == -1) { |
| 356 break; | 356 break; |
| 357 } | 357 } |
| 358 result[dartx.add](new StringMatch(position, haystack, needle)); | 358 dart.dcall(result[dartx.add], new StringMatch(position, haystack, needle))
; |
| 359 let endIndex = dart.notNull(position) + dart.notNull(patternLength); | 359 let endIndex = dart.notNull(position) + dart.notNull(patternLength); |
| 360 if (endIndex == length) { | 360 if (endIndex == length) { |
| 361 break; | 361 break; |
| 362 } else if (position == endIndex) { | 362 } else if (position == endIndex) { |
| 363 startIndex = dart.notNull(startIndex) + 1; | 363 startIndex = dart.notNull(startIndex) + 1; |
| 364 } else { | 364 } else { |
| 365 startIndex = endIndex; | 365 startIndex = endIndex; |
| 366 } | 366 } |
| 367 } | 367 } |
| 368 return result; | 368 return result; |
| (...skipping 19 matching lines...) Expand all Loading... |
| 388 let match = dart.dsend(regexp, _execGlobal, receiver, startIndex); | 388 let match = dart.dsend(regexp, _execGlobal, receiver, startIndex); |
| 389 if (match == null) | 389 if (match == null) |
| 390 return receiver; | 390 return receiver; |
| 391 let start = dart.dload(match, 'start'); | 391 let start = dart.dload(match, 'start'); |
| 392 let end = dart.dload(match, 'end'); | 392 let end = dart.dload(match, 'end'); |
| 393 return `${dart.dsend(receiver, 'substring', 0, start)}${to}${dart.dsend(rece
iver, 'substring', end)}`; | 393 return `${dart.dsend(receiver, 'substring', 0, start)}${to}${dart.dsend(rece
iver, 'substring', end)}`; |
| 394 } | 394 } |
| 395 dart.fn(stringReplaceFirstRE); | 395 dart.fn(stringReplaceFirstRE); |
| 396 let ESCAPE_REGEXP = '[[\\]{}()*+?.\\\\^$|]'; | 396 let ESCAPE_REGEXP = '[[\\]{}()*+?.\\\\^$|]'; |
| 397 function stringReplaceAllUnchecked(receiver, from, to) { | 397 function stringReplaceAllUnchecked(receiver, from, to) { |
| 398 checkString(to); | 398 dart.dcall(checkString, to); |
| 399 if (typeof from == 'string') { | 399 if (typeof from == 'string') { |
| 400 if (dart.equals(from, "")) { | 400 if (dart.equals(from, "")) { |
| 401 if (dart.equals(receiver, "")) { | 401 if (dart.equals(receiver, "")) { |
| 402 return to; | 402 return to; |
| 403 } else { | 403 } else { |
| 404 let result = new core.StringBuffer(); | 404 let result = new core.StringBuffer(); |
| 405 let length = dart.as(dart.dload(receiver, 'length'), core.int); | 405 let length = dart.as(dart.dload(receiver, 'length'), core.int); |
| 406 result.write(to); | 406 dart.dcall(result.write, to); |
| 407 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNu
ll(i) + 1) { | 407 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNu
ll(i) + 1) { |
| 408 result.write(dart.dindex(receiver, i)); | 408 dart.dcall(result.write, dart.dindex(receiver, i)); |
| 409 result.write(to); | 409 dart.dcall(result.write, to); |
| 410 } | 410 } |
| 411 return dart.toString(result); | 411 return dart.dcall(result.toString); |
| 412 } | 412 } |
| 413 } else { | 413 } else { |
| 414 let quoter = new RegExp(ESCAPE_REGEXP, 'g'); | 414 let quoter = new RegExp(ESCAPE_REGEXP, 'g'); |
| 415 let quoted = from.replace(quoter, "\\$&"); | 415 let quoted = from.replace(quoter, "\\$&"); |
| 416 let replacer = new RegExp(quoted, 'g'); | 416 let replacer = new RegExp(quoted, 'g'); |
| 417 return stringReplaceJS(receiver, replacer, to); | 417 return dart.dcall(stringReplaceJS, receiver, replacer, to); |
| 418 } | 418 } |
| 419 } else if (dart.is(from, JSSyntaxRegExp)) { | 419 } else if (dart.is(from, JSSyntaxRegExp)) { |
| 420 let re = regExpGetGlobalNative(dart.as(from, JSSyntaxRegExp)); | 420 let re = dart.dcall(regExpGetGlobalNative, from); |
| 421 return stringReplaceJS(receiver, re, to); | 421 return dart.dcall(stringReplaceJS, receiver, re, to); |
| 422 } else { | 422 } else { |
| 423 checkNull(from); | 423 dart.dcall(checkNull, from); |
| 424 dart.throw("String.replaceAll(Pattern) UNIMPLEMENTED"); | 424 dart.throw("String.replaceAll(Pattern) UNIMPLEMENTED"); |
| 425 } | 425 } |
| 426 } | 426 } |
| 427 dart.fn(stringReplaceAllUnchecked); | 427 dart.fn(stringReplaceAllUnchecked); |
| 428 function _matchString(match) { | 428 function _matchString(match) { |
| 429 return match.get(0); | 429 return match.get(0); |
| 430 } | 430 } |
| 431 dart.fn(_matchString, core.String, [core.Match]); | 431 dart.fn(_matchString, core.String, [core.Match]); |
| 432 function _stringIdentity(string) { | 432 function _stringIdentity(string) { |
| 433 return string; | 433 return string; |
| 434 } | 434 } |
| 435 dart.fn(_stringIdentity, core.String, [core.String]); | 435 dart.fn(_stringIdentity, core.String, [core.String]); |
| 436 function stringReplaceAllFuncUnchecked(receiver, pattern, onMatch, onNonMatch)
{ | 436 function stringReplaceAllFuncUnchecked(receiver, pattern, onMatch, onNonMatch)
{ |
| 437 if (!dart.is(pattern, core.Pattern)) { | 437 if (!dart.is(pattern, core.Pattern)) { |
| 438 dart.throw(new core.ArgumentError(`${pattern} is not a Pattern`)); | 438 dart.throw(new core.ArgumentError(`${pattern} is not a Pattern`)); |
| 439 } | 439 } |
| 440 if (onMatch == null) | 440 if (onMatch == null) |
| 441 onMatch = _matchString; | 441 onMatch = _matchString; |
| 442 if (onNonMatch == null) | 442 if (onNonMatch == null) |
| 443 onNonMatch = _stringIdentity; | 443 onNonMatch = _stringIdentity; |
| 444 if (typeof pattern == 'string') { | 444 if (typeof pattern == 'string') { |
| 445 return stringReplaceAllStringFuncUnchecked(receiver, pattern, onMatch, onN
onMatch); | 445 return dart.dcall(stringReplaceAllStringFuncUnchecked, receiver, pattern,
onMatch, onNonMatch); |
| 446 } | 446 } |
| 447 let buffer = new core.StringBuffer(); | 447 let buffer = new core.StringBuffer(); |
| 448 let startIndex = 0; | 448 let startIndex = 0; |
| 449 for (let match of dart.as(dart.dsend(pattern, 'allMatches', receiver), core.
Iterable$(core.Match))) { | 449 for (let match of dart.as(dart.dsend(pattern, 'allMatches', receiver), core.
Iterable$(core.Match))) { |
| 450 buffer.write(dart.dcall(onNonMatch, dart.dsend(receiver, 'substring', star
tIndex, match.start))); | 450 dart.dcall(buffer.write, dart.dcall(onNonMatch, dart.dsend(receiver, 'subs
tring', startIndex, match.start))); |
| 451 buffer.write(dart.dcall(onMatch, match)); | 451 dart.dcall(buffer.write, dart.dcall(onMatch, match)); |
| 452 startIndex = match.end; | 452 startIndex = match.end; |
| 453 } | 453 } |
| 454 buffer.write(dart.dcall(onNonMatch, dart.dsend(receiver, 'substring', startI
ndex))); | 454 dart.dcall(buffer.write, dart.dcall(onNonMatch, dart.dsend(receiver, 'substr
ing', startIndex))); |
| 455 return dart.toString(buffer); | 455 return dart.dcall(buffer.toString); |
| 456 } | 456 } |
| 457 dart.fn(stringReplaceAllFuncUnchecked); | 457 dart.fn(stringReplaceAllFuncUnchecked); |
| 458 function stringReplaceAllEmptyFuncUnchecked(receiver, onMatch, onNonMatch) { | 458 function stringReplaceAllEmptyFuncUnchecked(receiver, onMatch, onNonMatch) { |
| 459 let buffer = new core.StringBuffer(); | 459 let buffer = new core.StringBuffer(); |
| 460 let length = dart.as(dart.dload(receiver, 'length'), core.int); | 460 let length = dart.as(dart.dload(receiver, 'length'), core.int); |
| 461 let i = 0; | 461 let i = 0; |
| 462 buffer.write(dart.dcall(onNonMatch, "")); | 462 dart.dcall(buffer.write, dart.dcall(onNonMatch, "")); |
| 463 while (dart.notNull(i) < dart.notNull(length)) { | 463 while (dart.notNull(i) < dart.notNull(length)) { |
| 464 buffer.write(dart.dcall(onMatch, new StringMatch(i, dart.as(receiver, core
.String), ""))); | 464 dart.dcall(buffer.write, dart.dcall(onMatch, new StringMatch(i, dart.as(re
ceiver, core.String), ""))); |
| 465 let code = dart.as(dart.dsend(receiver, 'codeUnitAt', i), core.int); | 465 let code = dart.as(dart.dsend(receiver, 'codeUnitAt', i), core.int); |
| 466 if ((dart.notNull(code) & ~1023) == 55296 && dart.notNull(length) > dart.n
otNull(i) + 1) { | 466 if ((dart.notNull(code) & ~1023) == 55296 && dart.notNull(length) > dart.n
otNull(i) + 1) { |
| 467 code = dart.as(dart.dsend(receiver, 'codeUnitAt', dart.notNull(i) + 1),
core.int); | 467 code = dart.as(dart.dsend(receiver, 'codeUnitAt', dart.notNull(i) + 1),
core.int); |
| 468 if ((dart.notNull(code) & ~1023) == 56320) { | 468 if ((dart.notNull(code) & ~1023) == 56320) { |
| 469 buffer.write(dart.dcall(onNonMatch, dart.dsend(receiver, 'substring',
i, dart.notNull(i) + 2))); | 469 dart.dcall(buffer.write, dart.dcall(onNonMatch, dart.dsend(receiver, '
substring', i, dart.notNull(i) + 2))); |
| 470 i = dart.notNull(i) + 2; | 470 i = dart.notNull(i) + 2; |
| 471 continue; | 471 continue; |
| 472 } | 472 } |
| 473 } | 473 } |
| 474 buffer.write(dart.dcall(onNonMatch, dart.dindex(receiver, i))); | 474 dart.dcall(buffer.write, dart.dcall(onNonMatch, dart.dindex(receiver, i)))
; |
| 475 i = dart.notNull(i) + 1; | 475 i = dart.notNull(i) + 1; |
| 476 } | 476 } |
| 477 buffer.write(dart.dcall(onMatch, new StringMatch(i, dart.as(receiver, core.S
tring), ""))); | 477 dart.dcall(buffer.write, dart.dcall(onMatch, new StringMatch(i, dart.as(rece
iver, core.String), ""))); |
| 478 buffer.write(dart.dcall(onNonMatch, "")); | 478 dart.dcall(buffer.write, dart.dcall(onNonMatch, "")); |
| 479 return dart.toString(buffer); | 479 return dart.dcall(buffer.toString); |
| 480 } | 480 } |
| 481 dart.fn(stringReplaceAllEmptyFuncUnchecked); | 481 dart.fn(stringReplaceAllEmptyFuncUnchecked); |
| 482 function stringReplaceAllStringFuncUnchecked(receiver, pattern, onMatch, onNon
Match) { | 482 function stringReplaceAllStringFuncUnchecked(receiver, pattern, onMatch, onNon
Match) { |
| 483 let patternLength = dart.as(dart.dload(pattern, 'length'), core.int); | 483 let patternLength = dart.as(dart.dload(pattern, 'length'), core.int); |
| 484 if (patternLength == 0) { | 484 if (patternLength == 0) { |
| 485 return stringReplaceAllEmptyFuncUnchecked(receiver, onMatch, onNonMatch); | 485 return dart.dcall(stringReplaceAllEmptyFuncUnchecked, receiver, onMatch, o
nNonMatch); |
| 486 } | 486 } |
| 487 let length = dart.as(dart.dload(receiver, 'length'), core.int); | 487 let length = dart.as(dart.dload(receiver, 'length'), core.int); |
| 488 let buffer = new core.StringBuffer(); | 488 let buffer = new core.StringBuffer(); |
| 489 let startIndex = 0; | 489 let startIndex = 0; |
| 490 while (dart.notNull(startIndex) < dart.notNull(length)) { | 490 while (dart.notNull(startIndex) < dart.notNull(length)) { |
| 491 let position = dart.as(dart.dsend(receiver, 'indexOf', pattern, startIndex
), core.int); | 491 let position = dart.as(dart.dsend(receiver, 'indexOf', pattern, startIndex
), core.int); |
| 492 if (position == -1) { | 492 if (position == -1) { |
| 493 break; | 493 break; |
| 494 } | 494 } |
| 495 buffer.write(dart.dcall(onNonMatch, dart.dsend(receiver, 'substring', star
tIndex, position))); | 495 dart.dcall(buffer.write, dart.dcall(onNonMatch, dart.dsend(receiver, 'subs
tring', startIndex, position))); |
| 496 buffer.write(dart.dcall(onMatch, new StringMatch(position, dart.as(receive
r, core.String), dart.as(pattern, core.String)))); | 496 dart.dcall(buffer.write, dart.dcall(onMatch, new StringMatch(position, dar
t.as(receiver, core.String), dart.as(pattern, core.String)))); |
| 497 startIndex = dart.notNull(position) + dart.notNull(patternLength); | 497 startIndex = dart.notNull(position) + dart.notNull(patternLength); |
| 498 } | 498 } |
| 499 buffer.write(dart.dcall(onNonMatch, dart.dsend(receiver, 'substring', startI
ndex))); | 499 dart.dcall(buffer.write, dart.dcall(onNonMatch, dart.dsend(receiver, 'substr
ing', startIndex))); |
| 500 return dart.toString(buffer); | 500 return dart.dcall(buffer.toString); |
| 501 } | 501 } |
| 502 dart.fn(stringReplaceAllStringFuncUnchecked); | 502 dart.fn(stringReplaceAllStringFuncUnchecked); |
| 503 function stringReplaceFirstUnchecked(receiver, from, to, startIndex) { | 503 function stringReplaceFirstUnchecked(receiver, from, to, startIndex) { |
| 504 if (startIndex === void 0) | 504 if (startIndex === void 0) |
| 505 startIndex = 0; | 505 startIndex = 0; |
| 506 if (typeof from == 'string') { | 506 if (typeof from == 'string') { |
| 507 let index = dart.dsend(receiver, 'indexOf', from, startIndex); | 507 let index = dart.dsend(receiver, 'indexOf', from, startIndex); |
| 508 if (dart.notNull(dart.as(dart.dsend(index, '<', 0), core.bool))) | 508 if (dart.notNull(dart.as(dart.dsend(index, '<', 0), core.bool))) |
| 509 return receiver; | 509 return receiver; |
| 510 return `${dart.dsend(receiver, 'substring', 0, index)}${to}` + `${dart.dse
nd(receiver, 'substring', dart.dsend(index, '+', dart.dload(from, 'length')))}`; | 510 return `${dart.dsend(receiver, 'substring', 0, index)}${to}` + `${dart.dse
nd(receiver, 'substring', dart.dsend(index, '+', dart.dload(from, 'length')))}`; |
| 511 } else if (dart.is(from, JSSyntaxRegExp)) { | 511 } else if (dart.is(from, JSSyntaxRegExp)) { |
| 512 return startIndex == 0 ? stringReplaceJS(receiver, regExpGetNative(dart.as
(from, JSSyntaxRegExp)), to) : stringReplaceFirstRE(receiver, from, to, startInd
ex); | 512 return startIndex == 0 ? dart.dcall(stringReplaceJS, receiver, dart.dcall(
regExpGetNative, from), to) : dart.dcall(stringReplaceFirstRE, receiver, from, t
o, startIndex); |
| 513 } else { | 513 } else { |
| 514 checkNull(from); | 514 dart.dcall(checkNull, from); |
| 515 dart.throw("String.replace(Pattern) UNIMPLEMENTED"); | 515 dart.throw("String.replace(Pattern) UNIMPLEMENTED"); |
| 516 } | 516 } |
| 517 } | 517 } |
| 518 dart.fn(stringReplaceFirstUnchecked, dart.dynamic, [dart.dynamic, dart.dynamic
, dart.dynamic], [core.int]); | 518 dart.fn(stringReplaceFirstUnchecked, dart.dynamic, [dart.dynamic, dart.dynamic
, dart.dynamic], [core.int]); |
| 519 function stringJoinUnchecked(array, separator) { | 519 function stringJoinUnchecked(array, separator) { |
| 520 return array.join(separator); | 520 return array.join(separator); |
| 521 } | 521 } |
| 522 dart.fn(stringJoinUnchecked); | 522 dart.fn(stringJoinUnchecked); |
| 523 function getRuntimeType(object) { | 523 function getRuntimeType(object) { |
| 524 return dart.as(dart.realRuntimeType(object), core.Type); | 524 return dart.as(dart.realRuntimeType(object), core.Type); |
| 525 } | 525 } |
| 526 dart.fn(getRuntimeType, core.Type, [dart.dynamic]); | 526 dart.fn(getRuntimeType, core.Type, [dart.dynamic]); |
| 527 function getIndex(array, index) { | 527 function getIndex(array, index) { |
| 528 dart.assert(isJsArray(array)); | 528 dart.assert(dart.dcall(isJsArray, array)); |
| 529 return array[index]; | 529 return array[index]; |
| 530 } | 530 } |
| 531 dart.fn(getIndex, dart.dynamic, [dart.dynamic, core.int]); | 531 dart.fn(getIndex, dart.dynamic, [dart.dynamic, core.int]); |
| 532 function getLength(array) { | 532 function getLength(array) { |
| 533 dart.assert(isJsArray(array)); | 533 dart.assert(dart.dcall(isJsArray, array)); |
| 534 return array.length; | 534 return dart.as(array.length, core.int); |
| 535 } | 535 } |
| 536 dart.fn(getLength, core.int, [dart.dynamic]); | 536 dart.fn(getLength, core.int, [dart.dynamic]); |
| 537 function isJsArray(value) { | 537 function isJsArray(value) { |
| 538 return dart.is(value, _interceptors.JSArray); | 538 return dart.is(value, _interceptors.JSArray); |
| 539 } | 539 } |
| 540 dart.fn(isJsArray, core.bool, [dart.dynamic]); | 540 dart.fn(isJsArray, core.bool, [dart.dynamic]); |
| 541 class _Patch extends core.Object { | 541 class _Patch extends core.Object { |
| 542 _Patch() { | 542 _Patch() { |
| 543 } | 543 } |
| 544 } | 544 } |
| 545 dart.setSignature(_Patch, { | 545 dart.setSignature(_Patch, { |
| 546 constructors: () => ({_Patch: [_Patch, []]}) | 546 constructors: () => ({_Patch: [_Patch, []]}) |
| 547 }); | 547 }); |
| 548 let patch = dart.const(new _Patch()); | 548 let patch = dart.const(new _Patch()); |
| 549 class InternalMap extends core.Object {} | 549 class InternalMap extends core.Object {} |
| 550 class Primitives extends core.Object { | 550 class Primitives extends core.Object { |
| 551 static initializeStatics(id) { | 551 static initializeStatics(id) { |
| 552 Primitives.mirrorFunctionCacheName = dart.notNull(Primitives.mirrorFunctio
nCacheName) + `_${id}`; | 552 Primitives.mirrorFunctionCacheName = dart.notNull(Primitives.mirrorFunctio
nCacheName) + `_${id}`; |
| 553 Primitives.mirrorInvokeCacheName = dart.notNull(Primitives.mirrorInvokeCac
heName) + `_${id}`; | 553 Primitives.mirrorInvokeCacheName = dart.notNull(Primitives.mirrorInvokeCac
heName) + `_${id}`; |
| 554 } | 554 } |
| 555 static objectHashCode(object) { | 555 static objectHashCode(object) { |
| 556 let hash = dart.as(object.$identityHash, core.int); | 556 let hash = dart.as(object.$identityHash, core.int); |
| 557 if (hash == null) { | 557 if (hash == null) { |
| 558 hash = Math.random() * 0x3fffffff | 0; | 558 hash = dart.as(Math.random() * 0x3fffffff | 0, core.int); |
| 559 object.$identityHash = hash; | 559 object.$identityHash = hash; |
| 560 } | 560 } |
| 561 return hash; | 561 return dart.as(hash, core.int); |
| 562 } | 562 } |
| 563 static _throwFormatException(string) { | 563 static _throwFormatException(string) { |
| 564 dart.throw(new core.FormatException(string)); | 564 dart.throw(new core.FormatException(string)); |
| 565 } | 565 } |
| 566 static parseInt(source, radix, handleError) { | 566 static parseInt(source, radix, handleError) { |
| 567 if (handleError == null) | 567 if (handleError == null) |
| 568 handleError = dart.fn(s => dart.as(Primitives._throwFormatException(dart
.as(s, core.String)), core.int), core.int, [dart.dynamic]); | 568 handleError = dart.fn(s => dart.as(dart.dcall(Primitives._throwFormatExc
eption, s), core.int), core.int, [dart.dynamic]); |
| 569 checkString(source); | 569 dart.dcall(checkString, source); |
| 570 let match = /^\s*[+-]?((0x[a-f0-9]+)|(\d+)|([a-z0-9]+))\s*$/i.exec(source)
; | 570 let match = /^\s*[+-]?((0x[a-f0-9]+)|(\d+)|([a-z0-9]+))\s*$/i.exec(source)
; |
| 571 let digitsIndex = 1; | 571 let digitsIndex = 1; |
| 572 let hexIndex = 2; | 572 let hexIndex = 2; |
| 573 let decimalIndex = 3; | 573 let decimalIndex = 3; |
| 574 let nonDecimalHexIndex = 4; | 574 let nonDecimalHexIndex = 4; |
| 575 if (radix == null) { | 575 if (radix == null) { |
| 576 radix = 10; | 576 radix = 10; |
| 577 if (match != null) { | 577 if (match != null) { |
| 578 if (dart.dindex(match, hexIndex) != null) { | 578 if (dart.dindex(match, hexIndex) != null) { |
| 579 return parseInt(source, 16); | 579 return dart.as(parseInt(source, 16), core.int); |
| 580 } | 580 } |
| 581 if (dart.dindex(match, decimalIndex) != null) { | 581 if (dart.dindex(match, decimalIndex) != null) { |
| 582 return parseInt(source, 10); | 582 return dart.as(parseInt(source, 10), core.int); |
| 583 } | 583 } |
| 584 return handleError(source); | 584 return handleError(source); |
| 585 } | 585 } |
| 586 } else { | 586 } else { |
| 587 if (!(typeof radix == 'number')) | 587 if (!(typeof radix == 'number')) |
| 588 dart.throw(new core.ArgumentError("Radix is not an integer")); | 588 dart.throw(new core.ArgumentError("Radix is not an integer")); |
| 589 if (dart.notNull(radix) < 2 || dart.notNull(radix) > 36) { | 589 if (dart.notNull(radix) < 2 || dart.notNull(radix) > 36) { |
| 590 dart.throw(new core.RangeError(`Radix ${radix} not in range 2..36`)); | 590 dart.throw(new core.RangeError(`Radix ${radix} not in range 2..36`)); |
| 591 } | 591 } |
| 592 if (match != null) { | 592 if (match != null) { |
| 593 if (radix == 10 && dart.dindex(match, decimalIndex) != null) { | 593 if (radix == 10 && dart.dindex(match, decimalIndex) != null) { |
| 594 return parseInt(source, 10); | 594 return dart.as(parseInt(source, 10), core.int); |
| 595 } | 595 } |
| 596 if (dart.notNull(radix) < 10 || dart.dindex(match, decimalIndex) == nu
ll) { | 596 if (dart.notNull(radix) < 10 || dart.dindex(match, decimalIndex) == nu
ll) { |
| 597 let maxCharCode = null; | 597 let maxCharCode = null; |
| 598 if (dart.notNull(radix) <= 10) { | 598 if (dart.notNull(radix) <= 10) { |
| 599 maxCharCode = 48 + dart.notNull(radix) - 1; | 599 maxCharCode = 48 + dart.notNull(radix) - 1; |
| 600 } else { | 600 } else { |
| 601 maxCharCode = 97 + dart.notNull(radix) - 10 - 1; | 601 maxCharCode = 97 + dart.notNull(radix) - 10 - 1; |
| 602 } | 602 } |
| 603 let digitsPart = dart.as(dart.dindex(match, digitsIndex), core.Strin
g); | 603 let digitsPart = dart.as(dart.dindex(match, digitsIndex), core.Strin
g); |
| 604 for (let i = 0; dart.notNull(i) < dart.notNull(digitsPart[dartx.leng
th]); i = dart.notNull(i) + 1) { | 604 for (let i = 0; dart.notNull(i) < dart.notNull(digitsPart[dartx.leng
th]); i = dart.notNull(i) + 1) { |
| 605 let characterCode = dart.notNull(digitsPart[dartx.codeUnitAt](0))
| 32; | 605 let characterCode = dart.notNull(dart.dcall(digitsPart[dartx.codeU
nitAt], 0)) | 32; |
| 606 if (dart.notNull(digitsPart[dartx.codeUnitAt](i)) > dart.notNull(m
axCharCode)) { | 606 if (dart.notNull(dart.dcall(digitsPart[dartx.codeUnitAt], i)) > da
rt.notNull(maxCharCode)) { |
| 607 return handleError(source); | 607 return handleError(source); |
| 608 } | 608 } |
| 609 } | 609 } |
| 610 } | 610 } |
| 611 } | 611 } |
| 612 } | 612 } |
| 613 if (match == null) | 613 if (match == null) |
| 614 return handleError(source); | 614 return handleError(source); |
| 615 return parseInt(source, radix); | 615 return dart.as(parseInt(source, radix), core.int); |
| 616 } | 616 } |
| 617 static parseDouble(source, handleError) { | 617 static parseDouble(source, handleError) { |
| 618 checkString(source); | 618 dart.dcall(checkString, source); |
| 619 if (handleError == null) | 619 if (handleError == null) |
| 620 handleError = dart.fn(s => dart.as(Primitives._throwFormatException(dart
.as(s, core.String)), core.double), core.double, [dart.dynamic]); | 620 handleError = dart.fn(s => dart.as(dart.dcall(Primitives._throwFormatExc
eption, s), core.double), core.double, [dart.dynamic]); |
| 621 if (!/^\s*[+-]?(?:Infinity|NaN|(?:\.\d+|\d+(?:\.\d*)?)(?:[eE][+-]?\d+)?)\s
*$/.test(source)) { | 621 if (!dart.notNull(dart.as(/^\s*[+-]?(?:Infinity|NaN|(?:\.\d+|\d+(?:\.\d*)?
)(?:[eE][+-]?\d+)?)\s*$/.test(source), core.bool))) { |
| 622 return handleError(source); | 622 return handleError(source); |
| 623 } | 623 } |
| 624 let result = parseFloat(source); | 624 let result = parseFloat(source); |
| 625 if (dart.notNull(result[dartx.isNaN])) { | 625 if (dart.notNull(dart.as(dart.dload(result, 'isNaN'), core.bool))) { |
| 626 let trimmed = source[dartx.trim](); | 626 let trimmed = dart.dcall(source[dartx.trim]); |
| 627 if (trimmed == 'NaN' || trimmed == '+NaN' || trimmed == '-NaN') { | 627 if (dart.equals(trimmed, 'NaN') || dart.equals(trimmed, '+NaN') || dart.
equals(trimmed, '-NaN')) { |
| 628 return result; | 628 return dart.as(result, core.double); |
| 629 } | 629 } |
| 630 return handleError(source); | 630 return handleError(source); |
| 631 } | 631 } |
| 632 return result; | 632 return dart.as(result, core.double); |
| 633 } | 633 } |
| 634 static objectTypeName(object) { | 634 static objectTypeName(object) { |
| 635 return dart.toString(getRuntimeType(object)); | 635 return dart.dcall(dart.dcall(getRuntimeType, object).toString); |
| 636 } | 636 } |
| 637 static objectToString(object) { | 637 static objectToString(object) { |
| 638 let name = dart.typeName(dart.realRuntimeType(object)); | 638 let name = dart.as(dart.typeName(dart.realRuntimeType(object)), core.Strin
g); |
| 639 return `Instance of '${name}'`; | 639 return `Instance of '${name}'`; |
| 640 } | 640 } |
| 641 static dateNow() { | 641 static dateNow() { |
| 642 return Date.now(); | 642 return dart.as(Date.now(), core.num); |
| 643 } | 643 } |
| 644 static initTicker() { | 644 static initTicker() { |
| 645 if (Primitives.timerFrequency != null) | 645 if (Primitives.timerFrequency != null) |
| 646 return; | 646 return; |
| 647 Primitives.timerFrequency = 1000; | 647 Primitives.timerFrequency = 1000; |
| 648 Primitives.timerTicks = Primitives.dateNow; | 648 Primitives.timerTicks = Primitives.dateNow; |
| 649 if (typeof window == "undefined") | 649 if (dart.notNull(dart.as(typeof window == "undefined", core.bool))) |
| 650 return; | 650 return; |
| 651 let jsWindow = window; | 651 let jsWindow = window; |
| 652 if (jsWindow == null) | 652 if (jsWindow == null) |
| 653 return; | 653 return; |
| 654 let performance = jsWindow.performance; | 654 let performance = jsWindow.performance; |
| 655 if (performance == null) | 655 if (performance == null) |
| 656 return; | 656 return; |
| 657 if (typeof performance.now != "function") | 657 if (dart.notNull(dart.as(typeof performance.now != "function", core.bool))
) |
| 658 return; | 658 return; |
| 659 Primitives.timerFrequency = 1000000; | 659 Primitives.timerFrequency = 1000000; |
| 660 Primitives.timerTicks = dart.fn(() => (1000 * performance.now())[dartx.flo
or](), core.int, []); | 660 Primitives.timerTicks = dart.fn(() => dart.dcall((1000 * dart.notNull(dart
.as(performance.now(), core.num)))[dartx.floor]), core.int, []); |
| 661 } | 661 } |
| 662 static get isD8() { | 662 static get isD8() { |
| 663 return typeof version == "function" && typeof os == "object" && "system" i
n os; | 663 return dart.as(typeof version == "function" && typeof os == "object" && "s
ystem" in os, core.bool); |
| 664 } | 664 } |
| 665 static get isJsshell() { | 665 static get isJsshell() { |
| 666 return typeof version == "function" && typeof system == "function"; | 666 return dart.as(typeof version == "function" && typeof system == "function"
, core.bool); |
| 667 } | 667 } |
| 668 static currentUri() { | 668 static currentUri() { |
| 669 if (!!self.location) { | 669 if (dart.notNull(dart.as(!!self.location, core.bool))) { |
| 670 return self.location.href; | 670 return dart.as(self.location.href, core.String); |
| 671 } | 671 } |
| 672 return null; | 672 return null; |
| 673 } | 673 } |
| 674 static _fromCharCodeApply(array) { | 674 static _fromCharCodeApply(array) { |
| 675 let result = ""; | 675 let result = ""; |
| 676 let kMaxApply = 500; | 676 let kMaxApply = 500; |
| 677 let end = array[dartx.length]; | 677 let end = array[dartx.length]; |
| 678 for (let i = 0; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) +
dart.notNull(kMaxApply)) { | 678 for (let i = 0; dart.notNull(dart.as(dart.dsend(i, '<', end), core.bool));
i = dart.dsend(i, '+', kMaxApply)) { |
| 679 let subarray = null; | 679 let subarray = null; |
| 680 if (dart.notNull(end) <= dart.notNull(kMaxApply)) { | 680 if (dart.notNull(end) <= dart.notNull(dart.as(kMaxApply, core.num))) { |
| 681 subarray = array; | 681 subarray = array; |
| 682 } else { | 682 } else { |
| 683 subarray = array.slice(i, dart.notNull(i) + dart.notNull(kMaxApply) <
dart.notNull(end) ? dart.notNull(i) + dart.notNull(kMaxApply) : end); | 683 subarray = array.slice(i, dart.notNull(dart.as(dart.dsend(dart.dsend(i
, '+', kMaxApply), '<', end), core.bool)) ? dart.dsend(i, '+', kMaxApply) : end)
; |
| 684 } | 684 } |
| 685 result = result + String.fromCharCode.apply(null, subarray); | 685 result = dart.as(result + String.fromCharCode.apply(null, subarray), cor
e.String); |
| 686 } | 686 } |
| 687 return result; | 687 return result; |
| 688 } | 688 } |
| 689 static stringFromCodePoints(codePoints) { | 689 static stringFromCodePoints(codePoints) { |
| 690 let a = dart.list([], core.int); | 690 let a = dart.list([], core.int); |
| 691 for (let i of dart.as(codePoints, core.Iterable)) { | 691 for (let i of dart.as(codePoints, core.Iterable)) { |
| 692 if (!(typeof i == 'number')) | 692 if (!(typeof i == 'number')) |
| 693 dart.throw(new core.ArgumentError(i)); | 693 dart.throw(new core.ArgumentError(i)); |
| 694 if (dart.notNull(dart.as(dart.dsend(i, '<=', 65535), core.bool))) { | 694 if (dart.notNull(dart.as(dart.dsend(i, '<=', 65535), core.bool))) { |
| 695 a[dartx.add](dart.as(i, core.int)); | 695 dart.dcall(a[dartx.add], i); |
| 696 } else if (dart.notNull(dart.as(dart.dsend(i, '<=', 1114111), core.bool)
)) { | 696 } else if (dart.notNull(dart.as(dart.dsend(i, '<=', 1114111), core.bool)
)) { |
| 697 a[dartx.add]((55296)[dartx['+']](dart.as(dart.dsend(dart.dsend(dart.ds
end(i, '-', 65536), '>>', 10), '&', 1023), core.num))); | 697 dart.dcall(a[dartx.add], (55296)[dartx['+']](dart.as(dart.dsend(dart.d
send(dart.dsend(i, '-', 65536), '>>', 10), '&', 1023), core.num))); |
| 698 a[dartx.add]((56320)[dartx['+']](dart.as(dart.dsend(i, '&', 1023), cor
e.num))); | 698 dart.dcall(a[dartx.add], (56320)[dartx['+']](dart.as(dart.dsend(i, '&'
, 1023), core.num))); |
| 699 } else { | 699 } else { |
| 700 dart.throw(new core.ArgumentError(i)); | 700 dart.throw(new core.ArgumentError(i)); |
| 701 } | 701 } |
| 702 } | 702 } |
| 703 return Primitives._fromCharCodeApply(a); | 703 return dart.dcall(Primitives._fromCharCodeApply, a); |
| 704 } | 704 } |
| 705 static stringFromCharCodes(charCodes) { | 705 static stringFromCharCodes(charCodes) { |
| 706 for (let i of dart.as(charCodes, core.Iterable)) { | 706 for (let i of dart.as(charCodes, core.Iterable)) { |
| 707 if (!(typeof i == 'number')) | 707 if (!(typeof i == 'number')) |
| 708 dart.throw(new core.ArgumentError(i)); | 708 dart.throw(new core.ArgumentError(i)); |
| 709 if (dart.notNull(dart.as(dart.dsend(i, '<', 0), core.bool))) | 709 if (dart.notNull(dart.as(dart.dsend(i, '<', 0), core.bool))) |
| 710 dart.throw(new core.ArgumentError(i)); | 710 dart.throw(new core.ArgumentError(i)); |
| 711 if (dart.notNull(dart.as(dart.dsend(i, '>', 65535), core.bool))) | 711 if (dart.notNull(dart.as(dart.dsend(i, '>', 65535), core.bool))) |
| 712 return Primitives.stringFromCodePoints(charCodes); | 712 return dart.dcall(Primitives.stringFromCodePoints, charCodes); |
| 713 } | 713 } |
| 714 return Primitives._fromCharCodeApply(dart.as(charCodes, core.List$(core.in
t))); | 714 return dart.dcall(Primitives._fromCharCodeApply, charCodes); |
| 715 } | 715 } |
| 716 static stringFromCharCode(charCode) { | 716 static stringFromCharCode(charCode) { |
| 717 if (0 <= dart.notNull(dart.as(charCode, core.num))) { | 717 if (0 <= dart.notNull(dart.as(charCode, core.num))) { |
| 718 if (dart.notNull(dart.as(dart.dsend(charCode, '<=', 65535), core.bool)))
{ | 718 if (dart.notNull(dart.as(dart.dsend(charCode, '<=', 65535), core.bool)))
{ |
| 719 return String.fromCharCode(charCode); | 719 return dart.as(String.fromCharCode(charCode), core.String); |
| 720 } | 720 } |
| 721 if (dart.notNull(dart.as(dart.dsend(charCode, '<=', 1114111), core.bool)
)) { | 721 if (dart.notNull(dart.as(dart.dsend(charCode, '<=', 1114111), core.bool)
)) { |
| 722 let bits = dart.dsend(charCode, '-', 65536); | 722 let bits = dart.dsend(charCode, '-', 65536); |
| 723 let low = (56320)[dartx['|']](dart.as(dart.dsend(bits, '&', 1023), cor
e.int)); | 723 let low = (56320)[dartx['|']](dart.as(dart.dsend(bits, '&', 1023), cor
e.int)); |
| 724 let high = (55296)[dartx['|']](dart.as(dart.dsend(bits, '>>', 10), cor
e.int)); | 724 let high = (55296)[dartx['|']](dart.as(dart.dsend(bits, '>>', 10), cor
e.int)); |
| 725 return String.fromCharCode(high, low); | 725 return dart.as(String.fromCharCode(high, low), core.String); |
| 726 } | 726 } |
| 727 } | 727 } |
| 728 dart.throw(new core.RangeError.range(dart.as(charCode, core.num), 0, 11141
11)); | 728 dart.throw(new core.RangeError.range(dart.as(charCode, core.num), 0, 11141
11)); |
| 729 } | 729 } |
| 730 static stringConcatUnchecked(string1, string2) { | 730 static stringConcatUnchecked(string1, string2) { |
| 731 return _foreign_helper.JS_STRING_CONCAT(string1, string2); | 731 return dart.dcall(_foreign_helper.JS_STRING_CONCAT, string1, string2); |
| 732 } | 732 } |
| 733 static flattenString(str) { | 733 static flattenString(str) { |
| 734 return str.charCodeAt(0) == 0 ? str : str; | 734 return dart.as(str.charCodeAt(0) == 0 ? str : str, core.String); |
| 735 } | 735 } |
| 736 static getTimeZoneName(receiver) { | 736 static getTimeZoneName(receiver) { |
| 737 let d = Primitives.lazyAsJsDate(receiver); | 737 let d = dart.dcall(Primitives.lazyAsJsDate, receiver); |
| 738 let match = dart.as(/\((.*)\)/.exec(d.toString()), core.List); | 738 let match = dart.as(/\((.*)\)/.exec(d.toString()), core.List); |
| 739 if (match != null) | 739 if (match != null) |
| 740 return dart.as(match[dartx.get](1), core.String); | 740 return dart.as(match[dartx.get](1), core.String); |
| 741 match = dart.as(/^[A-Z,a-z]{3}\s[A-Z,a-z]{3}\s\d+\s\d{2}:\d{2}:\d{2}\s([A-
Z]{3,5})\s\d{4}$/.exec(d.toString()), core.List); | 741 match = dart.as(/^[A-Z,a-z]{3}\s[A-Z,a-z]{3}\s\d+\s\d{2}:\d{2}:\d{2}\s([A-
Z]{3,5})\s\d{4}$/.exec(d.toString()), core.List); |
| 742 if (match != null) | 742 if (match != null) |
| 743 return dart.as(match[dartx.get](1), core.String); | 743 return dart.as(match[dartx.get](1), core.String); |
| 744 match = dart.as(/(?:GMT|UTC)[+-]\d{4}/.exec(d.toString()), core.List); | 744 match = dart.as(/(?:GMT|UTC)[+-]\d{4}/.exec(d.toString()), core.List); |
| 745 if (match != null) | 745 if (match != null) |
| 746 return dart.as(match[dartx.get](0), core.String); | 746 return dart.as(match[dartx.get](0), core.String); |
| 747 return ""; | 747 return ""; |
| 748 } | 748 } |
| 749 static getTimeZoneOffsetInMinutes(receiver) { | 749 static getTimeZoneOffsetInMinutes(receiver) { |
| 750 return -Primitives.lazyAsJsDate(receiver).getTimezoneOffset(); | 750 return dart.as(dart.dsend(dart.dcall(Primitives.lazyAsJsDate, receiver).ge
tTimezoneOffset(), 'unary-'), core.int); |
| 751 } | 751 } |
| 752 static valueFromDecomposedDate(years, month, day, hours, minutes, seconds, m
illiseconds, isUtc) { | 752 static valueFromDecomposedDate(years, month, day, hours, minutes, seconds, m
illiseconds, isUtc) { |
| 753 let MAX_MILLISECONDS_SINCE_EPOCH = 8640000000000000; | 753 let MAX_MILLISECONDS_SINCE_EPOCH = 8640000000000000; |
| 754 checkInt(years); | 754 dart.dcall(checkInt, years); |
| 755 checkInt(month); | 755 dart.dcall(checkInt, month); |
| 756 checkInt(day); | 756 dart.dcall(checkInt, day); |
| 757 checkInt(hours); | 757 dart.dcall(checkInt, hours); |
| 758 checkInt(minutes); | 758 dart.dcall(checkInt, minutes); |
| 759 checkInt(seconds); | 759 dart.dcall(checkInt, seconds); |
| 760 checkInt(milliseconds); | 760 dart.dcall(checkInt, milliseconds); |
| 761 checkBool(isUtc); | 761 dart.dcall(checkBool, isUtc); |
| 762 let jsMonth = dart.dsend(month, '-', 1); | 762 let jsMonth = dart.dsend(month, '-', 1); |
| 763 let value = null; | 763 let value = null; |
| 764 if (dart.notNull(dart.as(isUtc, core.bool))) { | 764 if (dart.notNull(dart.as(isUtc, core.bool))) { |
| 765 value = Date.UTC(years, jsMonth, day, hours, minutes, seconds, milliseco
nds); | 765 value = Date.UTC(years, jsMonth, day, hours, minutes, seconds, milliseco
nds); |
| 766 } else { | 766 } else { |
| 767 value = new Date(years, jsMonth, day, hours, minutes, seconds, milliseco
nds).valueOf(); | 767 value = new Date(years, jsMonth, day, hours, minutes, seconds, milliseco
nds).valueOf(); |
| 768 } | 768 } |
| 769 if (dart.notNull(dart.as(dart.dload(value, 'isNaN'), core.bool)) || dart.n
otNull(dart.as(dart.dsend(value, '<', -dart.notNull(MAX_MILLISECONDS_SINCE_EPOCH
)), core.bool)) || dart.notNull(dart.as(dart.dsend(value, '>', MAX_MILLISECONDS_
SINCE_EPOCH), core.bool))) { | 769 if (dart.notNull(dart.as(dart.dload(value, 'isNaN'), core.bool)) || dart.n
otNull(dart.as(dart.dsend(value, '<', -dart.notNull(MAX_MILLISECONDS_SINCE_EPOCH
)), core.bool)) || dart.notNull(dart.as(dart.dsend(value, '>', MAX_MILLISECONDS_
SINCE_EPOCH), core.bool))) { |
| 770 return null; | 770 return null; |
| 771 } | 771 } |
| 772 if (dart.notNull(dart.as(dart.dsend(years, '<=', 0), core.bool)) || dart.n
otNull(dart.as(dart.dsend(years, '<', 100), core.bool))) | 772 if (dart.notNull(dart.as(dart.dsend(years, '<=', 0), core.bool)) || dart.n
otNull(dart.as(dart.dsend(years, '<', 100), core.bool))) |
| 773 return Primitives.patchUpY2K(value, years, isUtc); | 773 return dart.dcall(Primitives.patchUpY2K, value, years, isUtc); |
| 774 return value; | 774 return value; |
| 775 } | 775 } |
| 776 static patchUpY2K(value, years, isUtc) { | 776 static patchUpY2K(value, years, isUtc) { |
| 777 let date = new Date(value); | 777 let date = new Date(value); |
| 778 if (dart.notNull(dart.as(isUtc, core.bool))) { | 778 if (dart.notNull(dart.as(isUtc, core.bool))) { |
| 779 date.setUTCFullYear(years); | 779 date.setUTCFullYear(years); |
| 780 } else { | 780 } else { |
| 781 date.setFullYear(years); | 781 date.setFullYear(years); |
| 782 } | 782 } |
| 783 return date.valueOf(); | 783 return date.valueOf(); |
| 784 } | 784 } |
| 785 static lazyAsJsDate(receiver) { | 785 static lazyAsJsDate(receiver) { |
| 786 if (receiver.date === void 0) { | 786 if (dart.notNull(dart.as(receiver.date === void 0, core.bool))) { |
| 787 receiver.date = new Date(dart.dload(receiver, 'millisecondsSinceEpoch'))
; | 787 receiver.date = new Date(dart.dload(receiver, 'millisecondsSinceEpoch'))
; |
| 788 } | 788 } |
| 789 return receiver.date; | 789 return receiver.date; |
| 790 } | 790 } |
| 791 static getYear(receiver) { | 791 static getYear(receiver) { |
| 792 return dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.bool)) ? P
rimitives.lazyAsJsDate(receiver).getUTCFullYear() + 0 : Primitives.lazyAsJsDate(
receiver).getFullYear() + 0; | 792 return dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.bool)) ? d
art.dcall(Primitives.lazyAsJsDate, receiver).getUTCFullYear() + 0 : dart.dcall(P
rimitives.lazyAsJsDate, receiver).getFullYear() + 0; |
| 793 } | 793 } |
| 794 static getMonth(receiver) { | 794 static getMonth(receiver) { |
| 795 return dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.bool)) ? P
rimitives.lazyAsJsDate(receiver).getUTCMonth() + 1 : Primitives.lazyAsJsDate(rec
eiver).getMonth() + 1; | 795 return dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.bool)) ? d
art.dcall(Primitives.lazyAsJsDate, receiver).getUTCMonth() + 1 : dart.dcall(Prim
itives.lazyAsJsDate, receiver).getMonth() + 1; |
| 796 } | 796 } |
| 797 static getDay(receiver) { | 797 static getDay(receiver) { |
| 798 return dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.bool)) ? P
rimitives.lazyAsJsDate(receiver).getUTCDate() + 0 : Primitives.lazyAsJsDate(rece
iver).getDate() + 0; | 798 return dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.bool)) ? d
art.dcall(Primitives.lazyAsJsDate, receiver).getUTCDate() + 0 : dart.dcall(Primi
tives.lazyAsJsDate, receiver).getDate() + 0; |
| 799 } | 799 } |
| 800 static getHours(receiver) { | 800 static getHours(receiver) { |
| 801 return dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.bool)) ? P
rimitives.lazyAsJsDate(receiver).getUTCHours() + 0 : Primitives.lazyAsJsDate(rec
eiver).getHours() + 0; | 801 return dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.bool)) ? d
art.dcall(Primitives.lazyAsJsDate, receiver).getUTCHours() + 0 : dart.dcall(Prim
itives.lazyAsJsDate, receiver).getHours() + 0; |
| 802 } | 802 } |
| 803 static getMinutes(receiver) { | 803 static getMinutes(receiver) { |
| 804 return dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.bool)) ? P
rimitives.lazyAsJsDate(receiver).getUTCMinutes() + 0 : Primitives.lazyAsJsDate(r
eceiver).getMinutes() + 0; | 804 return dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.bool)) ? d
art.dcall(Primitives.lazyAsJsDate, receiver).getUTCMinutes() + 0 : dart.dcall(Pr
imitives.lazyAsJsDate, receiver).getMinutes() + 0; |
| 805 } | 805 } |
| 806 static getSeconds(receiver) { | 806 static getSeconds(receiver) { |
| 807 return dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.bool)) ? P
rimitives.lazyAsJsDate(receiver).getUTCSeconds() + 0 : Primitives.lazyAsJsDate(r
eceiver).getSeconds() + 0; | 807 return dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.bool)) ? d
art.dcall(Primitives.lazyAsJsDate, receiver).getUTCSeconds() + 0 : dart.dcall(Pr
imitives.lazyAsJsDate, receiver).getSeconds() + 0; |
| 808 } | 808 } |
| 809 static getMilliseconds(receiver) { | 809 static getMilliseconds(receiver) { |
| 810 return dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.bool)) ? P
rimitives.lazyAsJsDate(receiver).getUTCMilliseconds() + 0 : Primitives.lazyAsJsD
ate(receiver).getMilliseconds() + 0; | 810 return dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.bool)) ? d
art.dcall(Primitives.lazyAsJsDate, receiver).getUTCMilliseconds() + 0 : dart.dca
ll(Primitives.lazyAsJsDate, receiver).getMilliseconds() + 0; |
| 811 } | 811 } |
| 812 static getWeekday(receiver) { | 812 static getWeekday(receiver) { |
| 813 let weekday = dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.boo
l)) ? Primitives.lazyAsJsDate(receiver).getUTCDay() + 0 : Primitives.lazyAsJsDat
e(receiver).getDay() + 0; | 813 let weekday = dart.notNull(dart.as(dart.dload(receiver, 'isUtc'), core.boo
l)) ? dart.as(dart.dcall(Primitives.lazyAsJsDate, receiver).getUTCDay() + 0, cor
e.int) : dart.as(dart.dcall(Primitives.lazyAsJsDate, receiver).getDay() + 0, cor
e.int); |
| 814 return (dart.notNull(weekday) + 6) % 7 + 1; | 814 return (dart.notNull(weekday) + 6) % 7 + 1; |
| 815 } | 815 } |
| 816 static valueFromDateString(str) { | 816 static valueFromDateString(str) { |
| 817 if (!(typeof str == 'string')) | 817 if (!(typeof str == 'string')) |
| 818 dart.throw(new core.ArgumentError(str)); | 818 dart.throw(new core.ArgumentError(str)); |
| 819 let value = Date.parse(str); | 819 let value = Date.parse(str); |
| 820 if (dart.notNull(value[dartx.isNaN])) | 820 if (dart.notNull(dart.as(dart.dload(value, 'isNaN'), core.bool))) |
| 821 dart.throw(new core.ArgumentError(str)); | 821 dart.throw(new core.ArgumentError(str)); |
| 822 return value; | 822 return value; |
| 823 } | 823 } |
| 824 static getProperty(object, key) { | 824 static getProperty(object, key) { |
| 825 if (object == null || typeof object == 'boolean' || dart.is(object, core.n
um) || typeof object == 'string') { | 825 if (object == null || typeof object == 'boolean' || dart.is(object, core.n
um) || typeof object == 'string') { |
| 826 dart.throw(new core.ArgumentError(object)); | 826 dart.throw(new core.ArgumentError(object)); |
| 827 } | 827 } |
| 828 return object[key]; | 828 return object[key]; |
| 829 } | 829 } |
| 830 static setProperty(object, key, value) { | 830 static setProperty(object, key, value) { |
| 831 if (object == null || typeof object == 'boolean' || dart.is(object, core.n
um) || typeof object == 'string') { | 831 if (object == null || typeof object == 'boolean' || dart.is(object, core.n
um) || typeof object == 'string') { |
| 832 dart.throw(new core.ArgumentError(object)); | 832 dart.throw(new core.ArgumentError(object)); |
| 833 } | 833 } |
| 834 object[key] = value; | 834 object[key] = value; |
| 835 } | 835 } |
| 836 static identicalImplementation(a, b) { | 836 static identicalImplementation(a, b) { |
| 837 return a == null ? b == null : a === b; | 837 return dart.notNull(dart.as(a == null, core.bool)) ? dart.as(b == null, co
re.bool) : dart.as(a === b, core.bool); |
| 838 } | 838 } |
| 839 static extractStackTrace(error) { | 839 static extractStackTrace(error) { |
| 840 return getTraceFromException(error.$thrownJsError); | 840 return dart.dcall(getTraceFromException, error.$thrownJsError); |
| 841 } | 841 } |
| 842 } | 842 } |
| 843 dart.setSignature(Primitives, { | 843 dart.setSignature(Primitives, { |
| 844 statics: () => ({ | 844 statics: () => ({ |
| 845 initializeStatics: [dart.void, [core.int]], | 845 initializeStatics: [dart.void, [core.int]], |
| 846 objectHashCode: [core.int, [dart.dynamic]], | 846 objectHashCode: [core.int, [dart.dynamic]], |
| 847 _throwFormatException: [dart.dynamic, [core.String]], | 847 _throwFormatException: [dart.dynamic, [core.String]], |
| 848 parseInt: [core.int, [core.String, core.int, dart.functionType(core.int, [
core.String])]], | 848 parseInt: [core.int, [core.String, core.int, dart.functionType(core.int, [
core.String])]], |
| 849 parseDouble: [core.double, [core.String, dart.functionType(core.double, [c
ore.String])]], | 849 parseDouble: [core.double, [core.String, dart.functionType(core.double, [c
ore.String])]], |
| 850 objectTypeName: [core.String, [core.Object]], | 850 objectTypeName: [core.String, [core.Object]], |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 989 let _trace = Symbol('_trace'); | 989 let _trace = Symbol('_trace'); |
| 990 class _StackTrace extends core.Object { | 990 class _StackTrace extends core.Object { |
| 991 _StackTrace(exception) { | 991 _StackTrace(exception) { |
| 992 this[_exception] = exception; | 992 this[_exception] = exception; |
| 993 this[_trace] = null; | 993 this[_trace] = null; |
| 994 } | 994 } |
| 995 toString() { | 995 toString() { |
| 996 if (this[_trace] != null) | 996 if (this[_trace] != null) |
| 997 return this[_trace]; | 997 return this[_trace]; |
| 998 let trace = null; | 998 let trace = null; |
| 999 if (typeof this[_exception] === "object") { | 999 if (dart.notNull(dart.as(typeof this[_exception] === "object", core.bool))
) { |
| 1000 trace = dart.as(this[_exception].stack, core.String); | 1000 trace = dart.as(this[_exception].stack, core.String); |
| 1001 } | 1001 } |
| 1002 return this[_trace] = trace == null ? '' : trace; | 1002 return this[_trace] = trace == null ? '' : trace; |
| 1003 } | 1003 } |
| 1004 } | 1004 } |
| 1005 _StackTrace[dart.implements] = () => [core.StackTrace]; | 1005 _StackTrace[dart.implements] = () => [core.StackTrace]; |
| 1006 dart.setSignature(_StackTrace, { | 1006 dart.setSignature(_StackTrace, { |
| 1007 constructors: () => ({_StackTrace: [_StackTrace, [dart.dynamic]]}) | 1007 constructors: () => ({_StackTrace: [_StackTrace, [dart.dynamic]]}) |
| 1008 }); | 1008 }); |
| 1009 function objectHashCode(object) { | 1009 function objectHashCode(object) { |
| 1010 if (object == null || typeof object != 'object') { | 1010 if (object == null || dart.notNull(dart.as(typeof object != 'object', core.b
ool))) { |
| 1011 return dart.hashCode(object); | 1011 return dart.as(dart.dload(object, 'hashCode'), core.int); |
| 1012 } else { | 1012 } else { |
| 1013 return Primitives.objectHashCode(object); | 1013 return dart.dcall(Primitives.objectHashCode, object); |
| 1014 } | 1014 } |
| 1015 } | 1015 } |
| 1016 dart.fn(objectHashCode, core.int, [dart.dynamic]); | 1016 dart.fn(objectHashCode, core.int, [dart.dynamic]); |
| 1017 function fillLiteralMap(keyValuePairs, result) { | 1017 function fillLiteralMap(keyValuePairs, result) { |
| 1018 let index = 0; | 1018 let index = 0; |
| 1019 let length = getLength(keyValuePairs); | 1019 let length = dart.dcall(getLength, keyValuePairs); |
| 1020 while (dart.notNull(index) < dart.notNull(length)) { | 1020 while (dart.notNull(index) < dart.notNull(length)) { |
| 1021 let key = getIndex(keyValuePairs, (() => { | 1021 let key = dart.dcall(getIndex, keyValuePairs, (() => { |
| 1022 let x = index; | 1022 let x = index; |
| 1023 index = dart.notNull(x) + 1; | 1023 index = dart.notNull(x) + 1; |
| 1024 return x; | 1024 return x; |
| 1025 })()); | 1025 })()); |
| 1026 let value = getIndex(keyValuePairs, (() => { | 1026 let value = dart.dcall(getIndex, keyValuePairs, (() => { |
| 1027 let x = index; | 1027 let x = index; |
| 1028 index = dart.notNull(x) + 1; | 1028 index = dart.notNull(x) + 1; |
| 1029 return x; | 1029 return x; |
| 1030 })()); | 1030 })()); |
| 1031 result.set(key, value); | 1031 result.set(key, value); |
| 1032 } | 1032 } |
| 1033 return result; | 1033 return result; |
| 1034 } | 1034 } |
| 1035 dart.fn(fillLiteralMap, dart.dynamic, [dart.dynamic, core.Map]); | 1035 dart.fn(fillLiteralMap, dart.dynamic, [dart.dynamic, core.Map]); |
| 1036 function jsHasOwnProperty(jsObject, property) { | 1036 function jsHasOwnProperty(jsObject, property) { |
| 1037 return jsObject.hasOwnProperty(property); | 1037 return dart.as(jsObject.hasOwnProperty(property), core.bool); |
| 1038 } | 1038 } |
| 1039 dart.fn(jsHasOwnProperty, core.bool, [dart.dynamic, core.String]); | 1039 dart.fn(jsHasOwnProperty, core.bool, [dart.dynamic, core.String]); |
| 1040 function jsPropertyAccess(jsObject, property) { | 1040 function jsPropertyAccess(jsObject, property) { |
| 1041 return jsObject[property]; | 1041 return jsObject[property]; |
| 1042 } | 1042 } |
| 1043 dart.fn(jsPropertyAccess, dart.dynamic, [dart.dynamic, core.String]); | 1043 dart.fn(jsPropertyAccess, dart.dynamic, [dart.dynamic, core.String]); |
| 1044 function getFallThroughError() { | 1044 function getFallThroughError() { |
| 1045 return new FallThroughErrorImplementation(); | 1045 return new FallThroughErrorImplementation(); |
| 1046 } | 1046 } |
| 1047 dart.fn(getFallThroughError); | 1047 dart.fn(getFallThroughError); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 1065 JSName(name) { | 1065 JSName(name) { |
| 1066 this.name = name; | 1066 this.name = name; |
| 1067 } | 1067 } |
| 1068 } | 1068 } |
| 1069 dart.setSignature(JSName, { | 1069 dart.setSignature(JSName, { |
| 1070 constructors: () => ({JSName: [JSName, [core.String]]}) | 1070 constructors: () => ({JSName: [JSName, [core.String]]}) |
| 1071 }); | 1071 }); |
| 1072 class JavaScriptIndexingBehavior extends _interceptors.JSMutableIndexable {} | 1072 class JavaScriptIndexingBehavior extends _interceptors.JSMutableIndexable {} |
| 1073 class TypeErrorImplementation extends core.Error { | 1073 class TypeErrorImplementation extends core.Error { |
| 1074 TypeErrorImplementation(value, type) { | 1074 TypeErrorImplementation(value, type) { |
| 1075 this.message = `type '${Primitives.objectTypeName(value)}' is not a subtyp
e ` + `of type '${type}'`; | 1075 this.message = `type '${dart.dcall(Primitives.objectTypeName, value)}' is
not a subtype ` + `of type '${type}'`; |
| 1076 super.Error(); | 1076 super.Error(); |
| 1077 } | 1077 } |
| 1078 fromMessage(message) { | 1078 fromMessage(message) { |
| 1079 this.message = message; | 1079 this.message = message; |
| 1080 super.Error(); | 1080 super.Error(); |
| 1081 } | 1081 } |
| 1082 toString() { | 1082 toString() { |
| 1083 return this.message; | 1083 return this.message; |
| 1084 } | 1084 } |
| 1085 } | 1085 } |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1121 super.Error(); | 1121 super.Error(); |
| 1122 } | 1122 } |
| 1123 toString() { | 1123 toString() { |
| 1124 return `RuntimeError: ${this.message}`; | 1124 return `RuntimeError: ${this.message}`; |
| 1125 } | 1125 } |
| 1126 } | 1126 } |
| 1127 dart.setSignature(RuntimeError, { | 1127 dart.setSignature(RuntimeError, { |
| 1128 constructors: () => ({RuntimeError: [RuntimeError, [dart.dynamic]]}) | 1128 constructors: () => ({RuntimeError: [RuntimeError, [dart.dynamic]]}) |
| 1129 }); | 1129 }); |
| 1130 function random64() { | 1130 function random64() { |
| 1131 let int32a = Math.random() * 0x100000000 >>> 0; | 1131 let int32a = dart.as(Math.random() * 0x100000000 >>> 0, core.int); |
| 1132 let int32b = Math.random() * 0x100000000 >>> 0; | 1132 let int32b = dart.as(Math.random() * 0x100000000 >>> 0, core.int); |
| 1133 return dart.notNull(int32a) + dart.notNull(int32b) * 4294967296; | 1133 return dart.notNull(int32a) + dart.notNull(int32b) * 4294967296; |
| 1134 } | 1134 } |
| 1135 dart.fn(random64, core.int, []); | 1135 dart.fn(random64, core.int, []); |
| 1136 function jsonEncodeNative(string) { | 1136 function jsonEncodeNative(string) { |
| 1137 return JSON.stringify(string); | 1137 return dart.as(JSON.stringify(string), core.String); |
| 1138 } | 1138 } |
| 1139 dart.fn(jsonEncodeNative, core.String, [core.String]); | 1139 dart.fn(jsonEncodeNative, core.String, [core.String]); |
| 1140 let _jsIterator = Symbol('_jsIterator'); | 1140 let _jsIterator = Symbol('_jsIterator'); |
| 1141 let SyncIterator$ = dart.generic(function(E) { | 1141 let SyncIterator$ = dart.generic(function(E) { |
| 1142 class SyncIterator extends core.Object { | 1142 class SyncIterator extends core.Object { |
| 1143 SyncIterator(jsIterator) { | 1143 SyncIterator(jsIterator) { |
| 1144 this[_jsIterator] = jsIterator; | 1144 this[_jsIterator] = jsIterator; |
| 1145 this[_current] = null; | 1145 this[_current] = null; |
| 1146 } | 1146 } |
| 1147 get current() { | 1147 get current() { |
| 1148 return this[_current]; | 1148 return this[_current]; |
| 1149 } | 1149 } |
| 1150 moveNext() { | 1150 moveNext() { |
| 1151 let ret = this[_jsIterator].next(); | 1151 let ret = this[_jsIterator].next(); |
| 1152 this[_current] = dart.as(ret.value, E); | 1152 this[_current] = dart.as(ret.value, E); |
| 1153 return !ret.done; | 1153 return dart.as(!ret.done, core.bool); |
| 1154 } | 1154 } |
| 1155 } | 1155 } |
| 1156 SyncIterator[dart.implements] = () => [core.Iterator$(E)]; | 1156 SyncIterator[dart.implements] = () => [core.Iterator$(E)]; |
| 1157 dart.setSignature(SyncIterator, { | 1157 dart.setSignature(SyncIterator, { |
| 1158 constructors: () => ({SyncIterator: [SyncIterator$(E), [dart.dynamic]]}), | 1158 constructors: () => ({SyncIterator: [SyncIterator$(E), [dart.dynamic]]}), |
| 1159 methods: () => ({moveNext: [core.bool, []]}) | 1159 methods: () => ({moveNext: [core.bool, []]}) |
| 1160 }); | 1160 }); |
| 1161 return SyncIterator; | 1161 return SyncIterator; |
| 1162 }); | 1162 }); |
| 1163 let SyncIterator = SyncIterator$(); | 1163 let SyncIterator = SyncIterator$(); |
| 1164 let _generator = Symbol('_generator'); | 1164 let _generator = Symbol('_generator'); |
| 1165 let _args = Symbol('_args'); | 1165 let _args = Symbol('_args'); |
| 1166 let SyncIterable$ = dart.generic(function(E) { | 1166 let SyncIterable$ = dart.generic(function(E) { |
| 1167 class SyncIterable extends collection.IterableBase$(E) { | 1167 class SyncIterable extends collection.IterableBase$(E) { |
| 1168 SyncIterable(generator, args) { | 1168 SyncIterable(generator, args) { |
| 1169 this[_generator] = generator; | 1169 this[_generator] = generator; |
| 1170 this[_args] = args; | 1170 this[_args] = args; |
| 1171 super.IterableBase(); | 1171 super.IterableBase(); |
| 1172 } | 1172 } |
| 1173 [_jsIterator]() { | 1173 [_jsIterator]() { |
| 1174 return this[_generator](...this[_args]); | 1174 return this[_generator](...this[_args]); |
| 1175 } | 1175 } |
| 1176 get iterator() { | 1176 get iterator() { |
| 1177 return new (SyncIterator$(E))(this[_jsIterator]()); | 1177 return new (SyncIterator$(E))(dart.dcall(this[_jsIterator])); |
| 1178 } | 1178 } |
| 1179 } | 1179 } |
| 1180 dart.setSignature(SyncIterable, { | 1180 dart.setSignature(SyncIterable, { |
| 1181 constructors: () => ({SyncIterable: [SyncIterable$(E), [dart.dynamic, dart
.dynamic]]}), | 1181 constructors: () => ({SyncIterable: [SyncIterable$(E), [dart.dynamic, dart
.dynamic]]}), |
| 1182 methods: () => ({[_jsIterator]: [dart.dynamic, []]}) | 1182 methods: () => ({[_jsIterator]: [dart.dynamic, []]}) |
| 1183 }); | 1183 }); |
| 1184 dart.defineExtensionMembers(SyncIterable, ['iterator']); | 1184 dart.defineExtensionMembers(SyncIterable, ['iterator']); |
| 1185 return SyncIterable; | 1185 return SyncIterable; |
| 1186 }); | 1186 }); |
| 1187 let SyncIterable = SyncIterable$(); | 1187 let SyncIterable = SyncIterable$(); |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1242 exports.CastErrorImplementation = CastErrorImplementation; | 1242 exports.CastErrorImplementation = CastErrorImplementation; |
| 1243 exports.FallThroughErrorImplementation = FallThroughErrorImplementation; | 1243 exports.FallThroughErrorImplementation = FallThroughErrorImplementation; |
| 1244 exports.RuntimeError = RuntimeError; | 1244 exports.RuntimeError = RuntimeError; |
| 1245 exports.random64 = random64; | 1245 exports.random64 = random64; |
| 1246 exports.jsonEncodeNative = jsonEncodeNative; | 1246 exports.jsonEncodeNative = jsonEncodeNative; |
| 1247 exports.SyncIterator$ = SyncIterator$; | 1247 exports.SyncIterator$ = SyncIterator$; |
| 1248 exports.SyncIterator = SyncIterator; | 1248 exports.SyncIterator = SyncIterator; |
| 1249 exports.SyncIterable$ = SyncIterable$; | 1249 exports.SyncIterable$ = SyncIterable$; |
| 1250 exports.SyncIterable = SyncIterable; | 1250 exports.SyncIterable = SyncIterable; |
| 1251 }); | 1251 }); |
| OLD | NEW |