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

Side by Side Diff: lib/runtime/dart/_js_helper.js

Issue 1641643004: Roll analyzer to 0.27.2-alpha.1 (Closed) Base URL: https://github.com/dart-lang/dev_compiler.git@master
Patch Set: Rerun tests and format Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « lib/runtime/dart/_isolate_helper.js ('k') | lib/runtime/dart/async.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 dart_library.library('dart/_js_helper', null, /* Imports */[ 1 dart_library.library('dart/_js_helper', null, /* Imports */[
2 'dart/_runtime', 2 'dart/_runtime',
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 334 matching lines...) Expand 10 before | Expand all | Expand 10 after
345 startIndex = endIndex; 345 startIndex = endIndex;
346 } 346 }
347 } 347 }
348 return result; 348 return result;
349 } 349 }
350 dart.fn(allMatchesInStringUnchecked, core.List$(core.Match), [core.String, cor e.String, core.int]); 350 dart.fn(allMatchesInStringUnchecked, core.List$(core.Match), [core.String, cor e.String, core.int]);
351 function stringContainsUnchecked(receiver, other, startIndex) { 351 function stringContainsUnchecked(receiver, other, startIndex) {
352 if (typeof other == 'string') { 352 if (typeof other == 'string') {
353 return !dart.equals(dart.dsend(receiver, 'indexOf', other, startIndex), -1 ); 353 return !dart.equals(dart.dsend(receiver, 'indexOf', other, startIndex), -1 );
354 } else if (dart.is(other, JSSyntaxRegExp)) { 354 } else if (dart.is(other, JSSyntaxRegExp)) {
355 return dart.dsend(other, 'hasMatch', dart.dsend(receiver, 'substring', sta rtIndex)); 355 return other.hasMatch(dart.as(dart.dsend(receiver, 'substring', startIndex ), core.String));
356 } else { 356 } else {
357 let substr = dart.dsend(receiver, 'substring', startIndex); 357 let substr = dart.dsend(receiver, 'substring', startIndex);
358 return dart.dload(dart.dsend(other, 'allMatches', substr), 'isNotEmpty'); 358 return dart.dload(dart.dsend(other, 'allMatches', substr), 'isNotEmpty');
359 } 359 }
360 } 360 }
361 dart.fn(stringContainsUnchecked); 361 dart.fn(stringContainsUnchecked);
362 function stringReplaceJS(receiver, replacer, to) { 362 function stringReplaceJS(receiver, replacer, to) {
363 to = to.replace(/\$/g, "$$$$"); 363 to = to.replace(/\$/g, "$$$$");
364 return receiver.replace(replacer, to); 364 return receiver.replace(replacer, to);
365 } 365 }
366 dart.fn(stringReplaceJS); 366 dart.fn(stringReplaceJS);
367 function stringReplaceFirstRE(receiver, regexp, to, startIndex) { 367 function stringReplaceFirstRE(receiver, regexp, to, startIndex) {
368 let match = dart.dsend(regexp, _execGlobal, receiver, startIndex); 368 let match = dart.dsend(regexp, _execGlobal, receiver, startIndex);
369 if (match == null) return receiver; 369 if (match == null) return receiver;
370 let start = dart.dload(match, 'start'); 370 let start = dart.dload(match, 'start');
371 let end = dart.dload(match, 'end'); 371 let end = dart.dload(match, 'end');
372 return `${dart.dsend(receiver, 'substring', 0, start)}${to}${dart.dsend(rece iver, 'substring', end)}`; 372 return `${dart.dsend(receiver, 'substring', 0, start)}${to}${dart.dsend(rece iver, 'substring', end)}`;
373 } 373 }
374 dart.fn(stringReplaceFirstRE); 374 dart.fn(stringReplaceFirstRE);
375 const ESCAPE_REGEXP = '[[\\]{}()*+?.\\\\^$|]'; 375 const ESCAPE_REGEXP = '[[\\]{}()*+?.\\\\^$|]';
376 function stringReplaceAllUnchecked(receiver, from, to) { 376 function stringReplaceAllUnchecked(receiver, from, to) {
377 checkString(to); 377 checkString(to);
378 if (typeof from == 'string') { 378 if (typeof from == 'string') {
379 if (dart.equals(from, "")) { 379 if (from == "") {
380 if (dart.equals(receiver, "")) { 380 if (dart.equals(receiver, "")) {
381 return to; 381 return to;
382 } else { 382 } else {
383 let result = new core.StringBuffer(); 383 let result = new core.StringBuffer();
384 let length = dart.as(dart.dload(receiver, 'length'), core.int); 384 let length = dart.as(dart.dload(receiver, 'length'), core.int);
385 result.write(to); 385 result.write(to);
386 for (let i = 0; i < dart.notNull(length); i++) { 386 for (let i = 0; i < dart.notNull(length); i++) {
387 result.write(dart.dindex(receiver, i)); 387 result.write(dart.dindex(receiver, i));
388 result.write(to); 388 result.write(to);
389 } 389 }
390 return dart.toString(result); 390 return dart.toString(result);
391 } 391 }
392 } else { 392 } else {
393 let quoter = new RegExp(ESCAPE_REGEXP, 'g'); 393 let quoter = new RegExp(ESCAPE_REGEXP, 'g');
394 let quoted = from.replace(quoter, "\\$&"); 394 let quoted = from.replace(quoter, "\\$&");
395 let replacer = new RegExp(quoted, 'g'); 395 let replacer = new RegExp(quoted, 'g');
396 return stringReplaceJS(receiver, replacer, to); 396 return stringReplaceJS(receiver, replacer, to);
397 } 397 }
398 } else if (dart.is(from, JSSyntaxRegExp)) { 398 } else if (dart.is(from, JSSyntaxRegExp)) {
399 let re = regExpGetGlobalNative(dart.as(from, JSSyntaxRegExp)); 399 let re = regExpGetGlobalNative(from);
400 return stringReplaceJS(receiver, re, to); 400 return stringReplaceJS(receiver, re, to);
401 } else { 401 } else {
402 checkNull(from); 402 checkNull(from);
403 dart.throw("String.replaceAll(Pattern) UNIMPLEMENTED"); 403 dart.throw("String.replaceAll(Pattern) UNIMPLEMENTED");
404 } 404 }
405 } 405 }
406 dart.fn(stringReplaceAllUnchecked); 406 dart.fn(stringReplaceAllUnchecked);
407 function _matchString(match) { 407 function _matchString(match) {
408 return match.get(0); 408 return match.get(0);
409 } 409 }
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
475 } 475 }
476 buffer.write(dart.dcall(onNonMatch, dart.dsend(receiver, 'substring', startI ndex))); 476 buffer.write(dart.dcall(onNonMatch, dart.dsend(receiver, 'substring', startI ndex)));
477 return dart.toString(buffer); 477 return dart.toString(buffer);
478 } 478 }
479 dart.fn(stringReplaceAllStringFuncUnchecked); 479 dart.fn(stringReplaceAllStringFuncUnchecked);
480 function stringReplaceFirstUnchecked(receiver, from, to, startIndex) { 480 function stringReplaceFirstUnchecked(receiver, from, to, startIndex) {
481 if (startIndex === void 0) startIndex = 0; 481 if (startIndex === void 0) startIndex = 0;
482 if (typeof from == 'string') { 482 if (typeof from == 'string') {
483 let index = dart.dsend(receiver, 'indexOf', from, startIndex); 483 let index = dart.dsend(receiver, 'indexOf', from, startIndex);
484 if (dart.notNull(dart.as(dart.dsend(index, '<', 0), core.bool))) return re ceiver; 484 if (dart.notNull(dart.as(dart.dsend(index, '<', 0), core.bool))) return re ceiver;
485 return `${dart.dsend(receiver, 'substring', 0, index)}${to}` + `${dart.dse nd(receiver, 'substring', dart.dsend(index, '+', dart.dload(from, 'length')))}`; 485 return `${dart.dsend(receiver, 'substring', 0, index)}${to}` + `${dart.dse nd(receiver, 'substring', dart.dsend(index, '+', from[dartx.length]))}`;
486 } else if (dart.is(from, JSSyntaxRegExp)) { 486 } else if (dart.is(from, JSSyntaxRegExp)) {
487 return startIndex == 0 ? stringReplaceJS(receiver, regExpGetNative(dart.as (from, JSSyntaxRegExp)), to) : stringReplaceFirstRE(receiver, from, to, startInd ex); 487 return startIndex == 0 ? stringReplaceJS(receiver, regExpGetNative(from), to) : stringReplaceFirstRE(receiver, from, to, startIndex);
488 } else { 488 } else {
489 checkNull(from); 489 checkNull(from);
490 dart.throw("String.replace(Pattern) UNIMPLEMENTED"); 490 dart.throw("String.replace(Pattern) UNIMPLEMENTED");
491 } 491 }
492 } 492 }
493 dart.fn(stringReplaceFirstUnchecked, dart.dynamic, [dart.dynamic, dart.dynamic , dart.dynamic], [core.int]); 493 dart.fn(stringReplaceFirstUnchecked, dart.dynamic, [dart.dynamic, dart.dynamic , dart.dynamic], [core.int]);
494 function stringJoinUnchecked(array, separator) { 494 function stringJoinUnchecked(array, separator) {
495 return array.join(separator); 495 return array.join(separator);
496 } 496 }
497 dart.fn(stringJoinUnchecked); 497 dart.fn(stringJoinUnchecked);
(...skipping 687 matching lines...) Expand 10 before | Expand all | Expand 10 after
1185 exports.CastErrorImplementation = CastErrorImplementation; 1185 exports.CastErrorImplementation = CastErrorImplementation;
1186 exports.FallThroughErrorImplementation = FallThroughErrorImplementation; 1186 exports.FallThroughErrorImplementation = FallThroughErrorImplementation;
1187 exports.RuntimeError = RuntimeError; 1187 exports.RuntimeError = RuntimeError;
1188 exports.random64 = random64; 1188 exports.random64 = random64;
1189 exports.jsonEncodeNative = jsonEncodeNative; 1189 exports.jsonEncodeNative = jsonEncodeNative;
1190 exports.SyncIterator$ = SyncIterator$; 1190 exports.SyncIterator$ = SyncIterator$;
1191 exports.SyncIterator = SyncIterator; 1191 exports.SyncIterator = SyncIterator;
1192 exports.SyncIterable$ = SyncIterable$; 1192 exports.SyncIterable$ = SyncIterable$;
1193 exports.SyncIterable = SyncIterable; 1193 exports.SyncIterable = SyncIterable;
1194 }); 1194 });
OLDNEW
« no previous file with comments | « lib/runtime/dart/_isolate_helper.js ('k') | lib/runtime/dart/async.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698