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

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

Issue 1042003002: fix list literal initialization call fix typeof calls for primitive JS types add dart/collection.js… (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 8 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
OLDNEW
1 var _js_helper; 1 var _js_helper;
2 (function(exports) { 2 (function(exports) {
3 'use strict'; 3 'use strict';
4 class NoSideEffects extends core.Object { 4 class NoSideEffects extends core.Object {
5 NoSideEffects() { 5 NoSideEffects() {
6 } 6 }
7 } 7 }
8 class NoThrows extends core.Object { 8 class NoThrows extends core.Object {
9 NoThrows() { 9 NoThrows() {
10 } 10 }
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 ConstantStringMap$_(length, jsObject$, keys$) { 68 ConstantStringMap$_(length, jsObject$, keys$) {
69 this.length = length; 69 this.length = length;
70 this[_jsObject] = jsObject$; 70 this[_jsObject] = jsObject$;
71 this[_keys] = keys$; 71 this[_keys] = keys$;
72 super.ConstantMap$_(); 72 super.ConstantMap$_();
73 } 73 }
74 containsValue(needle) { 74 containsValue(needle) {
75 return this.values.any((value) => dart.equals(value, needle)); 75 return this.values.any((value) => dart.equals(value, needle));
76 } 76 }
77 containsKey(key) { 77 containsKey(key) {
78 if (!(typeof key == string)) 78 if (!(typeof key == 'string'))
79 return false; 79 return false;
80 if (dart.equals('__proto__', key)) 80 if (dart.equals('__proto__', key))
81 return false; 81 return false;
82 return jsHasOwnProperty(this[_jsObject], dart.as(key, core.String)); 82 return jsHasOwnProperty(this[_jsObject], dart.as(key, core.String));
83 } 83 }
84 get(key) { 84 get(key) {
85 if (!dart.notNull(this.containsKey(key))) 85 if (!dart.notNull(this.containsKey(key)))
86 return null; 86 return null;
87 return dart.as(this[_fetch](key), V); 87 return dart.as(this[_fetch](key), V);
88 } 88 }
(...skipping 19 matching lines...) Expand all
108 }); 108 });
109 let ConstantStringMap = ConstantStringMap$(dart.dynamic, dart.dynamic); 109 let ConstantStringMap = ConstantStringMap$(dart.dynamic, dart.dynamic);
110 let _protoValue = Symbol('_protoValue'); 110 let _protoValue = Symbol('_protoValue');
111 let ConstantProtoMap$ = dart.generic(function(K, V) { 111 let ConstantProtoMap$ = dart.generic(function(K, V) {
112 class ConstantProtoMap extends ConstantStringMap$(K, V) { 112 class ConstantProtoMap extends ConstantStringMap$(K, V) {
113 ConstantProtoMap$_(length, jsObject, keys, protoValue) { 113 ConstantProtoMap$_(length, jsObject, keys, protoValue) {
114 this[_protoValue] = protoValue; 114 this[_protoValue] = protoValue;
115 super.ConstantStringMap$_(dart.as(length, core.int), jsObject, dart.as(k eys, core.List$(K))); 115 super.ConstantStringMap$_(dart.as(length, core.int), jsObject, dart.as(k eys, core.List$(K)));
116 } 116 }
117 containsKey(key) { 117 containsKey(key) {
118 if (!(typeof key == string)) 118 if (!(typeof key == 'string'))
119 return false; 119 return false;
120 if (dart.equals('__proto__', key)) 120 if (dart.equals('__proto__', key))
121 return true; 121 return true;
122 return jsHasOwnProperty(this[_jsObject], dart.as(key, core.String)); 122 return jsHasOwnProperty(this[_jsObject], dart.as(key, core.String));
123 } 123 }
124 [_fetch](key) { 124 [_fetch](key) {
125 return dart.equals('__proto__', key) ? this[_protoValue] : jsPropertyAcc ess(this[_jsObject], dart.as(key, core.String)); 125 return dart.equals('__proto__', key) ? this[_protoValue] : jsPropertyAcc ess(this[_jsObject], dart.as(key, core.String));
126 } 126 }
127 } 127 }
128 dart.defineNamedConstructor(ConstantProtoMap, '_'); 128 dart.defineNamedConstructor(ConstantProtoMap, '_');
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after
406 hooks = applyHooksTransformer(_fallbackConstructorHooksTransformer, hooks); 406 hooks = applyHooksTransformer(_fallbackConstructorHooksTransformer, hooks);
407 hooks = applyHooksTransformer(_firefoxHooksTransformer, hooks); 407 hooks = applyHooksTransformer(_firefoxHooksTransformer, hooks);
408 hooks = applyHooksTransformer(_ieHooksTransformer, hooks); 408 hooks = applyHooksTransformer(_ieHooksTransformer, hooks);
409 hooks = applyHooksTransformer(_operaHooksTransformer, hooks); 409 hooks = applyHooksTransformer(_operaHooksTransformer, hooks);
410 hooks = applyHooksTransformer(_safariHooksTransformer, hooks); 410 hooks = applyHooksTransformer(_safariHooksTransformer, hooks);
411 hooks = applyHooksTransformer(_fixDocumentHooksTransformer, hooks); 411 hooks = applyHooksTransformer(_fixDocumentHooksTransformer, hooks);
412 hooks = applyHooksTransformer(_dartExperimentalFixupGetTagHooksTransformer, hooks); 412 hooks = applyHooksTransformer(_dartExperimentalFixupGetTagHooksTransformer, hooks);
413 if (typeof dartNativeDispatchHooksTransformer != "undefined") { 413 if (typeof dartNativeDispatchHooksTransformer != "undefined") {
414 let transformers = dartNativeDispatchHooksTransformer; 414 let transformers = dartNativeDispatchHooksTransformer;
415 if (typeof transformers == "function") { 415 if (typeof transformers == "function") {
416 transformers = new List.from([transformers]); 416 transformers = new core.List.from([transformers]);
417 } 417 }
418 if (transformers.constructor == Array) { 418 if (transformers.constructor == Array) {
419 for (let i = 0; dart.notNull(i) < transformers.length; i = dart.notNull( i) + 1) { 419 for (let i = 0; dart.notNull(i) < transformers.length; i = dart.notNull( i) + 1) {
420 let transformer = transformers[i]; 420 let transformer = transformers[i];
421 if (typeof transformer == "function") { 421 if (typeof transformer == "function") {
422 hooks = applyHooksTransformer(transformer, hooks); 422 hooks = applyHooksTransformer(transformer, hooks);
423 } 423 }
424 } 424 }
425 } 425 }
426 } 426 }
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
573 } 573 }
574 get isCaseSensitive() { 574 get isCaseSensitive() {
575 return this[_isCaseSensitive]; 575 return this[_isCaseSensitive];
576 } 576 }
577 } 577 }
578 let _match = Symbol('_match'); 578 let _match = Symbol('_match');
579 class _MatchImplementation extends core.Object { 579 class _MatchImplementation extends core.Object {
580 _MatchImplementation(pattern, match$) { 580 _MatchImplementation(pattern, match$) {
581 this.pattern = pattern; 581 this.pattern = pattern;
582 this[_match] = match$; 582 this[_match] = match$;
583 dart.assert(typeof this[_match].input == string); 583 dart.assert(typeof this[_match].input == 'string');
584 dart.assert(typeof this[_match].index == number); 584 dart.assert(typeof this[_match].index == 'number');
585 } 585 }
586 get input() { 586 get input() {
587 return this[_match].input; 587 return this[_match].input;
588 } 588 }
589 get start() { 589 get start() {
590 return this[_match].index; 590 return this[_match].index;
591 } 591 }
592 get end() { 592 get end() {
593 return dart.notNull(this.start) + dart.notNull(this[_match].get(0).length) ; 593 return dart.notNull(this.start) + dart.notNull(this[_match].get(0).length) ;
594 } 594 }
595 group(index) { 595 group(index) {
596 return this[_match].get(index); 596 return this[_match].get(index);
597 } 597 }
598 get(index) { 598 get(index) {
599 return this.group(index); 599 return this.group(index);
600 } 600 }
601 get groupCount() { 601 get groupCount() {
602 return dart.notNull(this[_match].length) - 1; 602 return dart.notNull(this[_match].length) - 1;
603 } 603 }
604 groups(groups) { 604 groups(groups) {
605 let out = dart.as(new List.from([]), core.List$(core.String)); 605 let out = dart.as(new core.List.from([]), core.List$(core.String));
606 for (let i of groups) { 606 for (let i of groups) {
607 out.add(this.group(i)); 607 out.add(this.group(i));
608 } 608 }
609 return out; 609 return out;
610 } 610 }
611 } 611 }
612 let _re = Symbol('_re'); 612 let _re = Symbol('_re');
613 let _string = Symbol('_string'); 613 let _string = Symbol('_string');
614 let _start = Symbol('_start'); 614 let _start = Symbol('_start');
615 class _AllMatchesIterable extends collection.IterableBase$(core.Match) { 615 class _AllMatchesIterable extends collection.IterableBase$(core.Match) {
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
706 } else if (position === endIndex) { 706 } else if (position === endIndex) {
707 startIndex = dart.notNull(startIndex) + 1; 707 startIndex = dart.notNull(startIndex) + 1;
708 } else { 708 } else {
709 startIndex = endIndex; 709 startIndex = endIndex;
710 } 710 }
711 } 711 }
712 return result; 712 return result;
713 } 713 }
714 // Function stringContainsUnchecked: (dynamic, dynamic, dynamic) → dynamic 714 // Function stringContainsUnchecked: (dynamic, dynamic, dynamic) → dynamic
715 function stringContainsUnchecked(receiver, other, startIndex) { 715 function stringContainsUnchecked(receiver, other, startIndex) {
716 if (typeof other == string) { 716 if (typeof other == 'string') {
717 return !dart.equals(dart.dinvoke(receiver, 'indexOf', other, startIndex), -1); 717 return !dart.equals(dart.dinvoke(receiver, 'indexOf', other, startIndex), -1);
718 } else if (dart.is(other, JSSyntaxRegExp)) { 718 } else if (dart.is(other, JSSyntaxRegExp)) {
719 return dart.dinvoke(other, 'hasMatch', dart.dinvoke(receiver, 'substring', startIndex)); 719 return dart.dinvoke(other, 'hasMatch', dart.dinvoke(receiver, 'substring', startIndex));
720 } else { 720 } else {
721 let substr = dart.dinvoke(receiver, 'substring', startIndex); 721 let substr = dart.dinvoke(receiver, 'substring', startIndex);
722 return dart.dload(dart.dinvoke(other, 'allMatches', substr), 'isNotEmpty') ; 722 return dart.dload(dart.dinvoke(other, 'allMatches', substr), 'isNotEmpty') ;
723 } 723 }
724 } 724 }
725 // Function stringReplaceJS: (dynamic, dynamic, dynamic) → dynamic 725 // Function stringReplaceJS: (dynamic, dynamic, dynamic) → dynamic
726 function stringReplaceJS(receiver, replacer, to) { 726 function stringReplaceJS(receiver, replacer, to) {
727 to = to.replace(/\$/g, "$$$$"); 727 to = to.replace(/\$/g, "$$$$");
728 return receiver.replace(replacer, to); 728 return receiver.replace(replacer, to);
729 } 729 }
730 // Function stringReplaceFirstRE: (dynamic, dynamic, dynamic, dynamic) → dynam ic 730 // Function stringReplaceFirstRE: (dynamic, dynamic, dynamic, dynamic) → dynam ic
731 function stringReplaceFirstRE(receiver, regexp, to, startIndex) { 731 function stringReplaceFirstRE(receiver, regexp, to, startIndex) {
732 let match = dart.dinvoke(regexp, '_execGlobal', receiver, startIndex); 732 let match = dart.dinvoke(regexp, '_execGlobal', receiver, startIndex);
733 if (match === null) 733 if (match === null)
734 return receiver; 734 return receiver;
735 let start = dart.dload(match, 'start'); 735 let start = dart.dload(match, 'start');
736 let end = dart.dload(match, 'end'); 736 let end = dart.dload(match, 'end');
737 return `${dart.dinvoke(receiver, 'substring', 0, start)}${to}${dart.dinvoke( receiver, 'substring', end)}`; 737 return `${dart.dinvoke(receiver, 'substring', 0, start)}${to}${dart.dinvoke( receiver, 'substring', end)}`;
738 } 738 }
739 let ESCAPE_REGEXP = '[[\\]{}()*+?.\\\\^$|]'; 739 let ESCAPE_REGEXP = '[[\\]{}()*+?.\\\\^$|]';
740 // Function stringReplaceAllUnchecked: (dynamic, dynamic, dynamic) → dynamic 740 // Function stringReplaceAllUnchecked: (dynamic, dynamic, dynamic) → dynamic
741 function stringReplaceAllUnchecked(receiver, from, to) { 741 function stringReplaceAllUnchecked(receiver, from, to) {
742 checkString(to); 742 checkString(to);
743 if (typeof from == string) { 743 if (typeof from == 'string') {
744 if (dart.equals(from, "")) { 744 if (dart.equals(from, "")) {
745 if (dart.equals(receiver, "")) { 745 if (dart.equals(receiver, "")) {
746 return to; 746 return to;
747 } else { 747 } else {
748 let result = new core.StringBuffer(); 748 let result = new core.StringBuffer();
749 let length = dart.as(dart.dload(receiver, 'length'), core.int); 749 let length = dart.as(dart.dload(receiver, 'length'), core.int);
750 result.write(to); 750 result.write(to);
751 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNu ll(i) + 1) { 751 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNu ll(i) + 1) {
752 result.write(dart.dindex(receiver, i)); 752 result.write(dart.dindex(receiver, i));
753 result.write(to); 753 result.write(to);
(...skipping 24 matching lines...) Expand all
778 } 778 }
779 // Function stringReplaceAllFuncUnchecked: (dynamic, dynamic, dynamic, dynamic ) → dynamic 779 // Function stringReplaceAllFuncUnchecked: (dynamic, dynamic, dynamic, dynamic ) → dynamic
780 function stringReplaceAllFuncUnchecked(receiver, pattern, onMatch, onNonMatch) { 780 function stringReplaceAllFuncUnchecked(receiver, pattern, onMatch, onNonMatch) {
781 if (!dart.is(pattern, core.Pattern)) { 781 if (!dart.is(pattern, core.Pattern)) {
782 throw new core.ArgumentError(`${pattern} is not a Pattern`); 782 throw new core.ArgumentError(`${pattern} is not a Pattern`);
783 } 783 }
784 if (onMatch === null) 784 if (onMatch === null)
785 onMatch = _matchString; 785 onMatch = _matchString;
786 if (onNonMatch === null) 786 if (onNonMatch === null)
787 onNonMatch = _stringIdentity; 787 onNonMatch = _stringIdentity;
788 if (typeof pattern == string) { 788 if (typeof pattern == 'string') {
789 return stringReplaceAllStringFuncUnchecked(receiver, pattern, onMatch, onN onMatch); 789 return stringReplaceAllStringFuncUnchecked(receiver, pattern, onMatch, onN onMatch);
790 } 790 }
791 let buffer = new core.StringBuffer(); 791 let buffer = new core.StringBuffer();
792 let startIndex = 0; 792 let startIndex = 0;
793 for (let match of dart.dinvoke(pattern, 'allMatches', receiver)) { 793 for (let match of dart.dinvoke(pattern, 'allMatches', receiver)) {
794 buffer.write(dart.dinvokef(onNonMatch, dart.dinvoke(receiver, 'substring', startIndex, match.start))); 794 buffer.write(dart.dinvokef(onNonMatch, dart.dinvoke(receiver, 'substring', startIndex, match.start)));
795 buffer.write(dart.dinvokef(onMatch, match)); 795 buffer.write(dart.dinvokef(onMatch, match));
796 startIndex = match.end; 796 startIndex = match.end;
797 } 797 }
798 buffer.write(dart.dinvokef(onNonMatch, dart.dinvoke(receiver, 'substring', s tartIndex))); 798 buffer.write(dart.dinvokef(onNonMatch, dart.dinvoke(receiver, 'substring', s tartIndex)));
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
840 buffer.write(dart.dinvokef(onMatch, new StringMatch(position, dart.as(rece iver, core.String), dart.as(pattern, core.String)))); 840 buffer.write(dart.dinvokef(onMatch, new StringMatch(position, dart.as(rece iver, core.String), dart.as(pattern, core.String))));
841 startIndex = dart.notNull(position) + dart.notNull(patternLength); 841 startIndex = dart.notNull(position) + dart.notNull(patternLength);
842 } 842 }
843 buffer.write(dart.dinvokef(onNonMatch, dart.dinvoke(receiver, 'substring', s tartIndex))); 843 buffer.write(dart.dinvokef(onNonMatch, dart.dinvoke(receiver, 'substring', s tartIndex)));
844 return buffer.toString(); 844 return buffer.toString();
845 } 845 }
846 // Function stringReplaceFirstUnchecked: (dynamic, dynamic, dynamic, [int]) → dynamic 846 // Function stringReplaceFirstUnchecked: (dynamic, dynamic, dynamic, [int]) → dynamic
847 function stringReplaceFirstUnchecked(receiver, from, to, startIndex) { 847 function stringReplaceFirstUnchecked(receiver, from, to, startIndex) {
848 if (startIndex === void 0) 848 if (startIndex === void 0)
849 startIndex = 0; 849 startIndex = 0;
850 if (typeof from == string) { 850 if (typeof from == 'string') {
851 let index = dart.dinvoke(receiver, 'indexOf', from, startIndex); 851 let index = dart.dinvoke(receiver, 'indexOf', from, startIndex);
852 if (dart.dbinary(index, '<', 0)) 852 if (dart.dbinary(index, '<', 0))
853 return receiver; 853 return receiver;
854 return `${dart.dinvoke(receiver, 'substring', 0, index)}${to}` + `${dart.d invoke(receiver, 'substring', dart.dbinary(index, '+', dart.dload(from, 'length' )))}`; 854 return `${dart.dinvoke(receiver, 'substring', 0, index)}${to}` + `${dart.d invoke(receiver, 'substring', dart.dbinary(index, '+', dart.dload(from, 'length' )))}`;
855 } else if (dart.is(from, JSSyntaxRegExp)) { 855 } else if (dart.is(from, JSSyntaxRegExp)) {
856 return startIndex === 0 ? stringReplaceJS(receiver, regExpGetNative(dart.a s(from, JSSyntaxRegExp)), to) : stringReplaceFirstRE(receiver, from, to, startIn dex); 856 return startIndex === 0 ? stringReplaceJS(receiver, regExpGetNative(dart.a s(from, JSSyntaxRegExp)), to) : stringReplaceFirstRE(receiver, from, to, startIn dex);
857 } else { 857 } else {
858 checkNull(from); 858 checkNull(from);
859 throw "String.replace(Pattern) UNIMPLEMENTED"; 859 throw "String.replace(Pattern) UNIMPLEMENTED";
860 } 860 }
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
947 } 947 }
948 // Function runtimeTypeToString: (dynamic, {onTypeVariable: (int) → String}) → String 948 // Function runtimeTypeToString: (dynamic, {onTypeVariable: (int) → String}) → String
949 function runtimeTypeToString(type, opts) { 949 function runtimeTypeToString(type, opts) {
950 let onTypeVariable = opts && 'onTypeVariable' in opts ? opts.onTypeVariable : null; 950 let onTypeVariable = opts && 'onTypeVariable' in opts ? opts.onTypeVariable : null;
951 if (type === null) { 951 if (type === null) {
952 return 'dynamic'; 952 return 'dynamic';
953 } else if (isJsArray(type)) { 953 } else if (isJsArray(type)) {
954 return getRuntimeTypeAsString(type, {onTypeVariable: onTypeVariable}); 954 return getRuntimeTypeAsString(type, {onTypeVariable: onTypeVariable});
955 } else if (isJsFunction(type)) { 955 } else if (isJsFunction(type)) {
956 return getConstructorName(type); 956 return getConstructorName(type);
957 } else if (typeof type == number) { 957 } else if (typeof type == 'number') {
958 if (onTypeVariable === null) { 958 if (onTypeVariable === null) {
959 return dart.as(dart.dinvoke(type, 'toString'), core.String); 959 return dart.as(dart.dinvoke(type, 'toString'), core.String);
960 } else { 960 } else {
961 return onTypeVariable(dart.as(type, core.int)); 961 return onTypeVariable(dart.as(type, core.int));
962 } 962 }
963 } else { 963 } else {
964 return null; 964 return null;
965 } 965 }
966 } 966 }
967 // Function joinArguments: (dynamic, int, {onTypeVariable: (int) → String}) → String 967 // Function joinArguments: (dynamic, int, {onTypeVariable: (int) → String}) → String
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after
1340 function isJsIndexable(object, record) { 1340 function isJsIndexable(object, record) {
1341 if (record !== null) { 1341 if (record !== null) {
1342 let result = _interceptors.dispatchRecordIndexability(record); 1342 let result = _interceptors.dispatchRecordIndexability(record);
1343 if (result !== null) 1343 if (result !== null)
1344 return dart.as(result, core.bool); 1344 return dart.as(result, core.bool);
1345 } 1345 }
1346 return dart.is(object, exports.JavaScriptIndexingBehavior); 1346 return dart.is(object, exports.JavaScriptIndexingBehavior);
1347 } 1347 }
1348 // Function S: (dynamic) → String 1348 // Function S: (dynamic) → String
1349 function S(value) { 1349 function S(value) {
1350 if (typeof value == string) 1350 if (typeof value == 'string')
1351 return dart.as(value, core.String); 1351 return dart.as(value, core.String);
1352 if (dart.is(value, core.num)) { 1352 if (dart.is(value, core.num)) {
1353 if (!dart.equals(value, 0)) { 1353 if (!dart.equals(value, 0)) {
1354 return "" + value; 1354 return "" + value;
1355 } 1355 }
1356 } else if (true === value) { 1356 } else if (true === value) {
1357 return 'true'; 1357 return 'true';
1358 } else if (false === value) { 1358 } else if (false === value) {
1359 return 'false'; 1359 return 'false';
1360 } else if (value === null) { 1360 } else if (value === null) {
1361 return 'null'; 1361 return 'null';
1362 } 1362 }
1363 let res = dart.dinvoke(value, 'toString'); 1363 let res = dart.dinvoke(value, 'toString');
1364 if (!(typeof res == string)) 1364 if (!(typeof res == 'string'))
1365 throw new core.ArgumentError(value); 1365 throw new core.ArgumentError(value);
1366 return dart.as(res, core.String); 1366 return dart.as(res, core.String);
1367 } 1367 }
1368 // Function createInvocationMirror: (String, dynamic, dynamic, dynamic, dynami c) → dynamic 1368 // Function createInvocationMirror: (String, dynamic, dynamic, dynamic, dynami c) → dynamic
1369 function createInvocationMirror(name, internalName, kind, arguments, argumentN ames) { 1369 function createInvocationMirror(name, internalName, kind, arguments, argumentN ames) {
1370 return new JSInvocationMirror(name, dart.as(internalName, core.String), dart .as(kind, core.int), dart.as(arguments, core.List), dart.as(argumentNames, core. List)); 1370 return new JSInvocationMirror(name, dart.as(internalName, core.String), dart .as(kind, core.int), dart.as(arguments, core.List), dart.as(argumentNames, core. List));
1371 } 1371 }
1372 // Function createUnmangledInvocationMirror: (Symbol, dynamic, dynamic, dynami c, dynamic) → dynamic 1372 // Function createUnmangledInvocationMirror: (Symbol, dynamic, dynamic, dynami c, dynamic) → dynamic
1373 function createUnmangledInvocationMirror(symbol, internalName, kind, arguments , argumentNames) { 1373 function createUnmangledInvocationMirror(symbol, internalName, kind, arguments , argumentNames) {
1374 return new JSInvocationMirror(symbol, dart.as(internalName, core.String), da rt.as(kind, core.int), dart.as(arguments, core.List), dart.as(argumentNames, cor e.List)); 1374 return new JSInvocationMirror(symbol, dart.as(internalName, core.String), da rt.as(kind, core.int), dart.as(arguments, core.List), dart.as(argumentNames, cor e.List));
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
1425 return this[_kind] === JSInvocationMirror.GETTER; 1425 return this[_kind] === JSInvocationMirror.GETTER;
1426 } 1426 }
1427 get isSetter() { 1427 get isSetter() {
1428 return this[_kind] === JSInvocationMirror.SETTER; 1428 return this[_kind] === JSInvocationMirror.SETTER;
1429 } 1429 }
1430 get isAccessor() { 1430 get isAccessor() {
1431 return this[_kind] !== JSInvocationMirror.METHOD; 1431 return this[_kind] !== JSInvocationMirror.METHOD;
1432 } 1432 }
1433 get positionalArguments() { 1433 get positionalArguments() {
1434 if (this.isGetter) 1434 if (this.isGetter)
1435 return /* Unimplemented const */new List.from([]); 1435 return /* Unimplemented const */new core.List.from([]);
1436 let argumentCount = dart.notNull(this[_arguments].length) - dart.notNull(t his[_namedArgumentNames].length); 1436 let argumentCount = dart.notNull(this[_arguments].length) - dart.notNull(t his[_namedArgumentNames].length);
1437 if (argumentCount === 0) 1437 if (argumentCount === 0)
1438 return /* Unimplemented const */new List.from([]); 1438 return /* Unimplemented const */new core.List.from([]);
1439 let list = new List.from([]); 1439 let list = new core.List.from([]);
1440 for (let index = 0; dart.notNull(index) < dart.notNull(argumentCount); ind ex = dart.notNull(index) + 1) { 1440 for (let index = 0; dart.notNull(index) < dart.notNull(argumentCount); ind ex = dart.notNull(index) + 1) {
1441 list.add(this[_arguments].get(index)); 1441 list.add(this[_arguments].get(index));
1442 } 1442 }
1443 return dart.as(makeLiteralListConst(list), core.List); 1443 return dart.as(makeLiteralListConst(list), core.List);
1444 } 1444 }
1445 get namedArguments() { 1445 get namedArguments() {
1446 if (this.isAccessor) 1446 if (this.isAccessor)
1447 return dart.map(); 1447 return dart.map();
1448 let namedArgumentCount = this[_namedArgumentNames].length; 1448 let namedArgumentCount = this[_namedArgumentNames].length;
1449 let namedArgumentsStartIndex = dart.notNull(this[_arguments].length) - dar t.notNull(namedArgumentCount); 1449 let namedArgumentsStartIndex = dart.notNull(this[_arguments].length) - dar t.notNull(namedArgumentCount);
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
1524 } 1524 }
1525 get isGetterStub() { 1525 get isGetterStub() {
1526 return !!this.jsFunction.$getterStub; 1526 return !!this.jsFunction.$getterStub;
1527 } 1527 }
1528 invokeOn(victim, arguments) { 1528 invokeOn(victim, arguments) {
1529 let receiver = victim; 1529 let receiver = victim;
1530 if (!dart.notNull(this.isIntercepted)) { 1530 if (!dart.notNull(this.isIntercepted)) {
1531 if (!dart.is(arguments, _interceptors.JSArray)) 1531 if (!dart.is(arguments, _interceptors.JSArray))
1532 arguments = new core.List.from(arguments); 1532 arguments = new core.List.from(arguments);
1533 } else { 1533 } else {
1534 arguments = new List.from([victim]); 1534 arguments = new core.List.from([victim]);
1535 arguments.addAll(arguments); 1535 arguments.addAll(arguments);
1536 if (this.cachedInterceptor !== null) 1536 if (this.cachedInterceptor !== null)
1537 receiver = this.cachedInterceptor; 1537 receiver = this.cachedInterceptor;
1538 } 1538 }
1539 return this.jsFunction.apply(receiver, arguments); 1539 return this.jsFunction.apply(receiver, arguments);
1540 } 1540 }
1541 } 1541 }
1542 class CachedCatchAllInvocation extends CachedInvocation { 1542 class CachedCatchAllInvocation extends CachedInvocation {
1543 CachedCatchAllInvocation(name, jsFunction, isIntercepted, cachedInterceptor) { 1543 CachedCatchAllInvocation(name, jsFunction, isIntercepted, cachedInterceptor) {
1544 this.info = new ReflectionInfo(jsFunction); 1544 this.info = new ReflectionInfo(jsFunction);
(...skipping 10 matching lines...) Expand all
1555 if (dart.is(arguments, _interceptors.JSArray)) { 1555 if (dart.is(arguments, _interceptors.JSArray)) {
1556 providedArgumentCount = arguments.length; 1556 providedArgumentCount = arguments.length;
1557 if (dart.notNull(providedArgumentCount) < dart.notNull(fullParameterCo unt)) { 1557 if (dart.notNull(providedArgumentCount) < dart.notNull(fullParameterCo unt)) {
1558 arguments = new core.List.from(arguments); 1558 arguments = new core.List.from(arguments);
1559 } 1559 }
1560 } else { 1560 } else {
1561 arguments = new core.List.from(arguments); 1561 arguments = new core.List.from(arguments);
1562 providedArgumentCount = arguments.length; 1562 providedArgumentCount = arguments.length;
1563 } 1563 }
1564 } else { 1564 } else {
1565 arguments = new List.from([victim]); 1565 arguments = new core.List.from([victim]);
1566 arguments.addAll(arguments); 1566 arguments.addAll(arguments);
1567 if (this.cachedInterceptor !== null) 1567 if (this.cachedInterceptor !== null)
1568 receiver = this.cachedInterceptor; 1568 receiver = this.cachedInterceptor;
1569 providedArgumentCount = dart.notNull(arguments.length) - 1; 1569 providedArgumentCount = dart.notNull(arguments.length) - 1;
1570 } 1570 }
1571 if (dart.notNull(this.info.areOptionalParametersNamed) && dart.notNull(pro videdArgumentCount) > dart.notNull(this.info.requiredParameterCount)) { 1571 if (dart.notNull(this.info.areOptionalParametersNamed) && dart.notNull(pro videdArgumentCount) > dart.notNull(this.info.requiredParameterCount)) {
1572 throw new UnimplementedNoSuchMethodError(`Invocation of unstubbed method '${this.info.reflectionName}'` + ` with ${arguments.length} arguments.`); 1572 throw new UnimplementedNoSuchMethodError(`Invocation of unstubbed method '${this.info.reflectionName}'` + ` with ${arguments.length} arguments.`);
1573 } else if (dart.notNull(providedArgumentCount) < dart.notNull(this.info.re quiredParameterCount)) { 1573 } else if (dart.notNull(providedArgumentCount) < dart.notNull(this.info.re quiredParameterCount)) {
1574 throw new UnimplementedNoSuchMethodError(`Invocation of unstubbed method '${this.info.reflectionName}'` + ` with ${providedArgumentCount} arguments (too few).`); 1574 throw new UnimplementedNoSuchMethodError(`Invocation of unstubbed method '${this.info.reflectionName}'` + ` with ${providedArgumentCount} arguments (too few).`);
1575 } else if (dart.notNull(providedArgumentCount) > dart.notNull(fullParamete rCount)) { 1575 } else if (dart.notNull(providedArgumentCount) > dart.notNull(fullParamete rCount)) {
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
1737 if (match !== null) { 1737 if (match !== null) {
1738 if (dart.dindex(match, hexIndex) !== null) { 1738 if (dart.dindex(match, hexIndex) !== null) {
1739 return parseInt(source, 16); 1739 return parseInt(source, 16);
1740 } 1740 }
1741 if (dart.dindex(match, decimalIndex) !== null) { 1741 if (dart.dindex(match, decimalIndex) !== null) {
1742 return parseInt(source, 10); 1742 return parseInt(source, 10);
1743 } 1743 }
1744 return handleError(source); 1744 return handleError(source);
1745 } 1745 }
1746 } else { 1746 } else {
1747 if (!(typeof radix == number)) 1747 if (!(typeof radix == 'number'))
1748 throw new core.ArgumentError("Radix is not an integer"); 1748 throw new core.ArgumentError("Radix is not an integer");
1749 if (dart.notNull(radix) < 2 || dart.notNull(radix) > 36) { 1749 if (dart.notNull(radix) < 2 || dart.notNull(radix) > 36) {
1750 throw new core.RangeError(`Radix ${radix} not in range 2..36`); 1750 throw new core.RangeError(`Radix ${radix} not in range 2..36`);
1751 } 1751 }
1752 if (match !== null) { 1752 if (match !== null) {
1753 if (radix === 10 && dart.notNull(dart.dindex(match, decimalIndex) !== null)) { 1753 if (radix === 10 && dart.notNull(dart.dindex(match, decimalIndex) !== null)) {
1754 return parseInt(source, 10); 1754 return parseInt(source, 10);
1755 } 1755 }
1756 if (dart.notNull(radix) < 10 || dart.notNull(dart.dindex(match, decima lIndex) === null)) { 1756 if (dart.notNull(radix) < 10 || dart.notNull(dart.dindex(match, decima lIndex) === null)) {
1757 let maxCharCode = null; 1757 let maxCharCode = null;
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
1791 } 1791 }
1792 return result; 1792 return result;
1793 } 1793 }
1794 static formatType(className, typeArguments) { 1794 static formatType(className, typeArguments) {
1795 return _js_names.unmangleAllIdentifiersIfPreservedAnyways(`${className}${j oinArguments(typeArguments, 0)}`); 1795 return _js_names.unmangleAllIdentifiersIfPreservedAnyways(`${className}${j oinArguments(typeArguments, 0)}`);
1796 } 1796 }
1797 static objectTypeName(object) { 1797 static objectTypeName(object) {
1798 let name = constructorNameFallback(_interceptors.getInterceptor(object)); 1798 let name = constructorNameFallback(_interceptors.getInterceptor(object));
1799 if (dart.equals(name, 'Object')) { 1799 if (dart.equals(name, 'Object')) {
1800 let decompiled = String(object.constructor).match(/^\s*function\s*(\S*)\ s*\(/)[1]; 1800 let decompiled = String(object.constructor).match(/^\s*function\s*(\S*)\ s*\(/)[1];
1801 if (typeof decompiled == string) 1801 if (typeof decompiled == 'string')
1802 if (/^\w+$/.test(decompiled)) 1802 if (/^\w+$/.test(decompiled))
1803 name = dart.as(decompiled, core.String); 1803 name = dart.as(decompiled, core.String);
1804 } 1804 }
1805 if (dart.notNull(name.length) > 1 && dart.notNull(core.identical(name.code UnitAt(0), Primitives.DOLLAR_CHAR_VALUE))) { 1805 if (dart.notNull(name.length) > 1 && dart.notNull(core.identical(name.code UnitAt(0), Primitives.DOLLAR_CHAR_VALUE))) {
1806 name = name.substring(1); 1806 name = name.substring(1);
1807 } 1807 }
1808 return formatType(name, dart.as(getRuntimeTypeInfo(object), core.List)); 1808 return formatType(name, dart.as(getRuntimeTypeInfo(object), core.List));
1809 } 1809 }
1810 static objectToString(object) { 1810 static objectToString(object) {
1811 let name = objectTypeName(object); 1811 let name = objectTypeName(object);
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
1854 if (dart.notNull(end) <= dart.notNull(kMaxApply)) { 1854 if (dart.notNull(end) <= dart.notNull(kMaxApply)) {
1855 subarray = array; 1855 subarray = array;
1856 } else { 1856 } else {
1857 subarray = array.slice(i, dart.notNull(i) + dart.notNull(kMaxApply) < dart.notNull(end) ? dart.notNull(i) + dart.notNull(kMaxApply) : end); 1857 subarray = array.slice(i, dart.notNull(i) + dart.notNull(kMaxApply) < dart.notNull(end) ? dart.notNull(i) + dart.notNull(kMaxApply) : end);
1858 } 1858 }
1859 result = result + String.fromCharCode.apply(null, subarray); 1859 result = result + String.fromCharCode.apply(null, subarray);
1860 } 1860 }
1861 return result; 1861 return result;
1862 } 1862 }
1863 static stringFromCodePoints(codePoints) { 1863 static stringFromCodePoints(codePoints) {
1864 let a = new List.from([]); 1864 let a = new core.List$(core.int).from([]);
1865 for (let i of codePoints) { 1865 for (let i of codePoints) {
1866 if (!(typeof i == number)) 1866 if (!(typeof i == 'number'))
1867 throw new core.ArgumentError(i); 1867 throw new core.ArgumentError(i);
1868 if (dart.dbinary(i, '<=', 65535)) { 1868 if (dart.dbinary(i, '<=', 65535)) {
1869 a.add(dart.as(i, core.int)); 1869 a.add(dart.as(i, core.int));
1870 } else if (dart.dbinary(i, '<=', 1114111)) { 1870 } else if (dart.dbinary(i, '<=', 1114111)) {
1871 a.add(55296['+'](dart.dbinary(dart.dbinary(dart.dbinary(i, '-', 65536) , '>>', 10), '&', 1023))); 1871 a.add(55296['+'](dart.dbinary(dart.dbinary(dart.dbinary(i, '-', 65536) , '>>', 10), '&', 1023)));
1872 a.add(56320['+'](dart.dbinary(i, '&', 1023))); 1872 a.add(56320['+'](dart.dbinary(i, '&', 1023)));
1873 } else { 1873 } else {
1874 throw new core.ArgumentError(i); 1874 throw new core.ArgumentError(i);
1875 } 1875 }
1876 } 1876 }
1877 return _fromCharCodeApply(a); 1877 return _fromCharCodeApply(a);
1878 } 1878 }
1879 static stringFromCharCodes(charCodes) { 1879 static stringFromCharCodes(charCodes) {
1880 for (let i of charCodes) { 1880 for (let i of charCodes) {
1881 if (!(typeof i == number)) 1881 if (!(typeof i == 'number'))
1882 throw new core.ArgumentError(i); 1882 throw new core.ArgumentError(i);
1883 if (dart.dbinary(i, '<', 0)) 1883 if (dart.dbinary(i, '<', 0))
1884 throw new core.ArgumentError(i); 1884 throw new core.ArgumentError(i);
1885 if (dart.dbinary(i, '>', 65535)) 1885 if (dart.dbinary(i, '>', 65535))
1886 return stringFromCodePoints(charCodes); 1886 return stringFromCodePoints(charCodes);
1887 } 1887 }
1888 return _fromCharCodeApply(dart.as(charCodes, core.List$(core.int))); 1888 return _fromCharCodeApply(dart.as(charCodes, core.List$(core.int)));
1889 } 1889 }
1890 static stringFromCharCode(charCode) { 1890 static stringFromCharCode(charCode) {
1891 if (0['<='](charCode)) { 1891 if (0['<='](charCode)) {
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
1981 return dart.dload(receiver, 'isUtc') ? lazyAsJsDate(receiver).getUTCSecond s() + 0 : lazyAsJsDate(receiver).getSeconds() + 0; 1981 return dart.dload(receiver, 'isUtc') ? lazyAsJsDate(receiver).getUTCSecond s() + 0 : lazyAsJsDate(receiver).getSeconds() + 0;
1982 } 1982 }
1983 static getMilliseconds(receiver) { 1983 static getMilliseconds(receiver) {
1984 return dart.dload(receiver, 'isUtc') ? lazyAsJsDate(receiver).getUTCMillis econds() + 0 : lazyAsJsDate(receiver).getMilliseconds() + 0; 1984 return dart.dload(receiver, 'isUtc') ? lazyAsJsDate(receiver).getUTCMillis econds() + 0 : lazyAsJsDate(receiver).getMilliseconds() + 0;
1985 } 1985 }
1986 static getWeekday(receiver) { 1986 static getWeekday(receiver) {
1987 let weekday = dart.dload(receiver, 'isUtc') ? lazyAsJsDate(receiver).getUT CDay() + 0 : lazyAsJsDate(receiver).getDay() + 0; 1987 let weekday = dart.dload(receiver, 'isUtc') ? lazyAsJsDate(receiver).getUT CDay() + 0 : lazyAsJsDate(receiver).getDay() + 0;
1988 return (dart.notNull(weekday) + 6) % 7 + 1; 1988 return (dart.notNull(weekday) + 6) % 7 + 1;
1989 } 1989 }
1990 static valueFromDateString(str) { 1990 static valueFromDateString(str) {
1991 if (!(typeof str == string)) 1991 if (!(typeof str == 'string'))
1992 throw new core.ArgumentError(str); 1992 throw new core.ArgumentError(str);
1993 let value = Date.parse(str); 1993 let value = Date.parse(str);
1994 if (value.isNaN) 1994 if (value.isNaN)
1995 throw new core.ArgumentError(str); 1995 throw new core.ArgumentError(str);
1996 return value; 1996 return value;
1997 } 1997 }
1998 static getProperty(object, key) { 1998 static getProperty(object, key) {
1999 if (dart.notNull(object === null) || dart.notNull(typeof object == boolean ) || dart.notNull(dart.is(object, core.num)) || dart.notNull(typeof object == st ring)) { 1999 if (dart.notNull(object === null) || dart.notNull(typeof object == 'boolea n') || dart.notNull(dart.is(object, core.num)) || dart.notNull(typeof object == 'string')) {
2000 throw new core.ArgumentError(object); 2000 throw new core.ArgumentError(object);
2001 } 2001 }
2002 return object[key]; 2002 return object[key];
2003 } 2003 }
2004 static setProperty(object, key, value) { 2004 static setProperty(object, key, value) {
2005 if (dart.notNull(object === null) || dart.notNull(typeof object == boolean ) || dart.notNull(dart.is(object, core.num)) || dart.notNull(typeof object == st ring)) { 2005 if (dart.notNull(object === null) || dart.notNull(typeof object == 'boolea n') || dart.notNull(dart.is(object, core.num)) || dart.notNull(typeof object == 'string')) {
2006 throw new core.ArgumentError(object); 2006 throw new core.ArgumentError(object);
2007 } 2007 }
2008 object[key] = value; 2008 object[key] = value;
2009 } 2009 }
2010 static functionNoSuchMethod(func, positionalArguments, namedArguments) { 2010 static functionNoSuchMethod(func, positionalArguments, namedArguments) {
2011 let argumentCount = 0; 2011 let argumentCount = 0;
2012 let arguments = new List.from([]); 2012 let arguments = new core.List.from([]);
2013 let namedArgumentList = new List.from([]); 2013 let namedArgumentList = new core.List.from([]);
2014 if (positionalArguments !== null) { 2014 if (positionalArguments !== null) {
2015 argumentCount = positionalArguments.length; 2015 argumentCount = positionalArguments.length;
2016 arguments.addAll(positionalArguments); 2016 arguments.addAll(positionalArguments);
2017 } 2017 }
2018 let names = ''; 2018 let names = '';
2019 if (dart.notNull(namedArguments !== null) && !dart.notNull(namedArguments. isEmpty)) { 2019 if (dart.notNull(namedArguments !== null) && !dart.notNull(namedArguments. isEmpty)) {
2020 namedArguments.forEach(((name, argument) => { 2020 namedArguments.forEach(((name, argument) => {
2021 names = `${names}$${name}`; 2021 names = `${names}$${name}`;
2022 namedArgumentList.add(name); 2022 namedArgumentList.add(name);
2023 arguments.add(argument); 2023 arguments.add(argument);
(...skipping 10 matching lines...) Expand all
2034 let argumentCount = 0; 2034 let argumentCount = 0;
2035 let arguments = null; 2035 let arguments = null;
2036 if (positionalArguments !== null) { 2036 if (positionalArguments !== null) {
2037 if (positionalArguments instanceof Array) { 2037 if (positionalArguments instanceof Array) {
2038 arguments = positionalArguments; 2038 arguments = positionalArguments;
2039 } else { 2039 } else {
2040 arguments = new core.List.from(positionalArguments); 2040 arguments = new core.List.from(positionalArguments);
2041 } 2041 }
2042 argumentCount = arguments.length; 2042 argumentCount = arguments.length;
2043 } else { 2043 } else {
2044 arguments = new List.from([]); 2044 arguments = new core.List.from([]);
2045 } 2045 }
2046 let selectorName = `${_foreign_helper.JS_GET_NAME("CALL_PREFIX")}$${argume ntCount}`; 2046 let selectorName = `${_foreign_helper.JS_GET_NAME("CALL_PREFIX")}$${argume ntCount}`;
2047 let jsFunction = func[selectorName]; 2047 let jsFunction = func[selectorName];
2048 if (jsFunction === null) { 2048 if (jsFunction === null) {
2049 return functionNoSuchMethod(func, positionalArguments, null); 2049 return functionNoSuchMethod(func, positionalArguments, null);
2050 } 2050 }
2051 return jsFunction.apply(func, arguments); 2051 return jsFunction.apply(func, arguments);
2052 } 2052 }
2053 static applyFunctionWithNamedArguments(func, positionalArguments, namedArgum ents) { 2053 static applyFunctionWithNamedArguments(func, positionalArguments, namedArgum ents) {
2054 if (namedArguments.isEmpty) { 2054 if (namedArguments.isEmpty) {
2055 return applyFunctionWithPositionalArguments(func, positionalArguments); 2055 return applyFunctionWithPositionalArguments(func, positionalArguments);
2056 } 2056 }
2057 let interceptor = _interceptors.getInterceptor(func); 2057 let interceptor = _interceptors.getInterceptor(func);
2058 let jsFunction = interceptor["call*"]; 2058 let jsFunction = interceptor["call*"];
2059 if (jsFunction === null) { 2059 if (jsFunction === null) {
2060 return functionNoSuchMethod(func, positionalArguments, namedArguments); 2060 return functionNoSuchMethod(func, positionalArguments, namedArguments);
2061 } 2061 }
2062 let info = new ReflectionInfo(jsFunction); 2062 let info = new ReflectionInfo(jsFunction);
2063 if (dart.notNull(info === null) || !dart.notNull(info.areOptionalParameter sNamed)) { 2063 if (dart.notNull(info === null) || !dart.notNull(info.areOptionalParameter sNamed)) {
2064 return functionNoSuchMethod(func, positionalArguments, namedArguments); 2064 return functionNoSuchMethod(func, positionalArguments, namedArguments);
2065 } 2065 }
2066 if (positionalArguments !== null) { 2066 if (positionalArguments !== null) {
2067 positionalArguments = new core.List.from(positionalArguments); 2067 positionalArguments = new core.List.from(positionalArguments);
2068 } else { 2068 } else {
2069 positionalArguments = new List.from([]); 2069 positionalArguments = new core.List.from([]);
2070 } 2070 }
2071 if (info.requiredParameterCount !== positionalArguments.length) { 2071 if (info.requiredParameterCount !== positionalArguments.length) {
2072 return functionNoSuchMethod(func, positionalArguments, namedArguments); 2072 return functionNoSuchMethod(func, positionalArguments, namedArguments);
2073 } 2073 }
2074 let defaultArguments = new core.Map(); 2074 let defaultArguments = new core.Map();
2075 for (let i = 0; dart.notNull(i) < dart.notNull(info.optionalParameterCount ); i = dart.notNull(i) + 1) { 2075 for (let i = 0; dart.notNull(i) < dart.notNull(info.optionalParameterCount ); i = dart.notNull(i) + 1) {
2076 let index = dart.notNull(i) + dart.notNull(info.requiredParameterCount); 2076 let index = dart.notNull(i) + dart.notNull(info.requiredParameterCount);
2077 let parameterName = info.parameterNameInOrder(index); 2077 let parameterName = info.parameterNameInOrder(index);
2078 let value = info.defaultValueInOrder(index); 2078 let value = info.defaultValueInOrder(index);
2079 let defaultValue = getMetadata(value); 2079 let defaultValue = getMetadata(value);
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
2123 } 2123 }
2124 } 2124 }
2125 // Function iae: (dynamic) → dynamic 2125 // Function iae: (dynamic) → dynamic
2126 function iae(argument) { 2126 function iae(argument) {
2127 throw new core.ArgumentError(argument); 2127 throw new core.ArgumentError(argument);
2128 } 2128 }
2129 // Function ioore: (dynamic, dynamic) → dynamic 2129 // Function ioore: (dynamic, dynamic) → dynamic
2130 function ioore(receiver, index) { 2130 function ioore(receiver, index) {
2131 if (receiver === null) 2131 if (receiver === null)
2132 dart.dload(receiver, 'length'); 2132 dart.dload(receiver, 'length');
2133 if (!(typeof index == number)) 2133 if (!(typeof index == 'number'))
2134 iae(index); 2134 iae(index);
2135 throw new core.RangeError.value(dart.as(index, core.num)); 2135 throw new core.RangeError.value(dart.as(index, core.num));
2136 } 2136 }
2137 // Function stringLastIndexOfUnchecked: (dynamic, dynamic, dynamic) → dynamic 2137 // Function stringLastIndexOfUnchecked: (dynamic, dynamic, dynamic) → dynamic
2138 function stringLastIndexOfUnchecked(receiver, element, start) { 2138 function stringLastIndexOfUnchecked(receiver, element, start) {
2139 return receiver.lastIndexOf(element, start); 2139 return receiver.lastIndexOf(element, start);
2140 } 2140 }
2141 // Function checkNull: (dynamic) → dynamic 2141 // Function checkNull: (dynamic) → dynamic
2142 function checkNull(object) { 2142 function checkNull(object) {
2143 if (object === null) 2143 if (object === null)
2144 throw new core.ArgumentError(null); 2144 throw new core.ArgumentError(null);
2145 return object; 2145 return object;
2146 } 2146 }
2147 // Function checkNum: (dynamic) → dynamic 2147 // Function checkNum: (dynamic) → dynamic
2148 function checkNum(value) { 2148 function checkNum(value) {
2149 if (!dart.is(value, core.num)) { 2149 if (!dart.is(value, core.num)) {
2150 throw new core.ArgumentError(value); 2150 throw new core.ArgumentError(value);
2151 } 2151 }
2152 return value; 2152 return value;
2153 } 2153 }
2154 // Function checkInt: (dynamic) → dynamic 2154 // Function checkInt: (dynamic) → dynamic
2155 function checkInt(value) { 2155 function checkInt(value) {
2156 if (!(typeof value == number)) { 2156 if (!(typeof value == 'number')) {
2157 throw new core.ArgumentError(value); 2157 throw new core.ArgumentError(value);
2158 } 2158 }
2159 return value; 2159 return value;
2160 } 2160 }
2161 // Function checkBool: (dynamic) → dynamic 2161 // Function checkBool: (dynamic) → dynamic
2162 function checkBool(value) { 2162 function checkBool(value) {
2163 if (!(typeof value == boolean)) { 2163 if (!(typeof value == 'boolean')) {
2164 throw new core.ArgumentError(value); 2164 throw new core.ArgumentError(value);
2165 } 2165 }
2166 return value; 2166 return value;
2167 } 2167 }
2168 // Function checkString: (dynamic) → dynamic 2168 // Function checkString: (dynamic) → dynamic
2169 function checkString(value) { 2169 function checkString(value) {
2170 if (!(typeof value == string)) { 2170 if (!(typeof value == 'string')) {
2171 throw new core.ArgumentError(value); 2171 throw new core.ArgumentError(value);
2172 } 2172 }
2173 return value; 2173 return value;
2174 } 2174 }
2175 // Function wrapException: (dynamic) → dynamic 2175 // Function wrapException: (dynamic) → dynamic
2176 function wrapException(ex) { 2176 function wrapException(ex) {
2177 if (ex === null) 2177 if (ex === null)
2178 ex = new core.NullThrownError(); 2178 ex = new core.NullThrownError();
2179 let wrapper = new Error(); 2179 let wrapper = new Error();
2180 wrapper.dartException = ex; 2180 wrapper.dartException = ex;
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
2257 toString: function() { 2257 toString: function() {
2258 return "$receiver$"; 2258 return "$receiver$";
2259 } 2259 }
2260 }; 2260 };
2261 } 2261 }
2262 static extractPattern(message) { 2262 static extractPattern(message) {
2263 message = message.replace(String({}), '$receiver$'); 2263 message = message.replace(String({}), '$receiver$');
2264 message = message.replace(new RegExp(ESCAPE_REGEXP, 'g'), '\\$&'); 2264 message = message.replace(new RegExp(ESCAPE_REGEXP, 'g'), '\\$&');
2265 let match = dart.as(message.match(/\\\$[a-zA-Z]+\\\$/g), core.List$(core.S tring)); 2265 let match = dart.as(message.match(/\\\$[a-zA-Z]+\\\$/g), core.List$(core.S tring));
2266 if (match === null) 2266 if (match === null)
2267 match = dart.as(new List.from([]), core.List$(core.String)); 2267 match = dart.as(new core.List.from([]), core.List$(core.String));
2268 let arguments = match.indexOf('\\$arguments\\$'); 2268 let arguments = match.indexOf('\\$arguments\\$');
2269 let argumentsExpr = match.indexOf('\\$argumentsExpr\\$'); 2269 let argumentsExpr = match.indexOf('\\$argumentsExpr\\$');
2270 let expr = match.indexOf('\\$expr\\$'); 2270 let expr = match.indexOf('\\$expr\\$');
2271 let method = match.indexOf('\\$method\\$'); 2271 let method = match.indexOf('\\$method\\$');
2272 let receiver = match.indexOf('\\$receiver\\$'); 2272 let receiver = match.indexOf('\\$receiver\\$');
2273 let pattern = message.replace('\\$arguments\\$', '((?:x|[^x])*)').replace( '\\$argumentsExpr\\$', '((?:x|[^x])*)').replace('\\$expr\\$', '((?:x|[^x])*)').r eplace('\\$method\\$', '((?:x|[^x])*)').replace('\\$receiver\\$', '((?:x|[^x])*) '); 2273 let pattern = message.replace('\\$arguments\\$', '((?:x|[^x])*)').replace( '\\$argumentsExpr\\$', '((?:x|[^x])*)').replace('\\$expr\\$', '((?:x|[^x])*)').r eplace('\\$method\\$', '((?:x|[^x])*)').replace('\\$receiver\\$', '((?:x|[^x])*) ');
2274 return new TypeErrorDecoder(arguments, argumentsExpr, expr, method, receiv er, pattern); 2274 return new TypeErrorDecoder(arguments, argumentsExpr, expr, method, receiv er, pattern);
2275 } 2275 }
2276 static provokeCallErrorOn(expression) { 2276 static provokeCallErrorOn(expression) {
2277 let func = function($expr$) { 2277 let func = function($expr$) {
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
2435 return ex; 2435 return ex;
2436 } 2436 }
2437 let message = ex.message; 2437 let message = ex.message;
2438 if ("number" in ex && typeof ex.number == "number") { 2438 if ("number" in ex && typeof ex.number == "number") {
2439 let number = ex.number; 2439 let number = ex.number;
2440 let ieErrorCode = dart.notNull(number) & 65535; 2440 let ieErrorCode = dart.notNull(number) & 65535;
2441 let ieFacilityNumber = dart.notNull(number) >> 16 & 8191; 2441 let ieFacilityNumber = dart.notNull(number) >> 16 & 8191;
2442 if (ieFacilityNumber === 10) { 2442 if (ieFacilityNumber === 10) {
2443 switch (ieErrorCode) { 2443 switch (ieErrorCode) {
2444 case 438: 2444 case 438:
2445 {
2445 return saveStackTrace(new JsNoSuchMethodError(`${message} (Error ${i eErrorCode})`, null)); 2446 return saveStackTrace(new JsNoSuchMethodError(`${message} (Error ${i eErrorCode})`, null));
2447 }
2446 case 445: 2448 case 445:
2447 case 5007: 2449 case 5007:
2450 {
2448 return saveStackTrace(new NullError(`${message} (Error ${ieErrorCode })`, null)); 2451 return saveStackTrace(new NullError(`${message} (Error ${ieErrorCode })`, null));
2452 }
2449 } 2453 }
2450 } 2454 }
2451 } 2455 }
2452 if (ex instanceof TypeError) { 2456 if (ex instanceof TypeError) {
2453 let match = null; 2457 let match = null;
2454 let nsme = TypeErrorDecoder.noSuchMethodPattern; 2458 let nsme = TypeErrorDecoder.noSuchMethodPattern;
2455 let notClosure = TypeErrorDecoder.notClosurePattern; 2459 let notClosure = TypeErrorDecoder.notClosurePattern;
2456 let nullCall = TypeErrorDecoder.nullCallPattern; 2460 let nullCall = TypeErrorDecoder.nullCallPattern;
2457 let nullLiteralCall = TypeErrorDecoder.nullLiteralCallPattern; 2461 let nullLiteralCall = TypeErrorDecoder.nullLiteralCallPattern;
2458 let undefCall = TypeErrorDecoder.undefinedCallPattern; 2462 let undefCall = TypeErrorDecoder.undefinedCallPattern;
2459 let undefLiteralCall = TypeErrorDecoder.undefinedLiteralCallPattern; 2463 let undefLiteralCall = TypeErrorDecoder.undefinedLiteralCallPattern;
2460 let nullProperty = TypeErrorDecoder.nullPropertyPattern; 2464 let nullProperty = TypeErrorDecoder.nullPropertyPattern;
2461 let nullLiteralProperty = TypeErrorDecoder.nullLiteralPropertyPattern; 2465 let nullLiteralProperty = TypeErrorDecoder.nullLiteralPropertyPattern;
2462 let undefProperty = TypeErrorDecoder.undefinedPropertyPattern; 2466 let undefProperty = TypeErrorDecoder.undefinedPropertyPattern;
2463 let undefLiteralProperty = TypeErrorDecoder.undefinedLiteralPropertyPatter n; 2467 let undefLiteralProperty = TypeErrorDecoder.undefinedLiteralPropertyPatter n;
2464 if ((match = dart.dinvoke(nsme, 'matchTypeError', message)) !== null) { 2468 if ((match = dart.dinvoke(nsme, 'matchTypeError', message)) !== null) {
2465 return saveStackTrace(new JsNoSuchMethodError(dart.as(message, core.Stri ng), match)); 2469 return saveStackTrace(new JsNoSuchMethodError(dart.as(message, core.Stri ng), match));
2466 } else if ((match = dart.dinvoke(notClosure, 'matchTypeError', message)) ! == null) { 2470 } else if ((match = dart.dinvoke(notClosure, 'matchTypeError', message)) ! == null) {
2467 match.method = "call"; 2471 match.method = "call";
2468 return saveStackTrace(new JsNoSuchMethodError(dart.as(message, core.Stri ng), match)); 2472 return saveStackTrace(new JsNoSuchMethodError(dart.as(message, core.Stri ng), match));
2469 } else if (dart.notNull((match = dart.dinvoke(nullCall, 'matchTypeError', message)) !== null) || dart.notNull((match = dart.dinvoke(nullLiteralCall, 'matc hTypeError', message)) !== null) || dart.notNull((match = dart.dinvoke(undefCall , 'matchTypeError', message)) !== null) || dart.notNull((match = dart.dinvoke(un defLiteralCall, 'matchTypeError', message)) !== null) || dart.notNull((match = d art.dinvoke(nullProperty, 'matchTypeError', message)) !== null) || dart.notNull( (match = dart.dinvoke(nullLiteralCall, 'matchTypeError', message)) !== null) || dart.notNull((match = dart.dinvoke(undefProperty, 'matchTypeError', message)) != = null) || dart.notNull((match = dart.dinvoke(undefLiteralProperty, 'matchTypeEr ror', message)) !== null)) { 2473 } else if (dart.notNull((match = dart.dinvoke(nullCall, 'matchTypeError', message)) !== null) || dart.notNull((match = dart.dinvoke(nullLiteralCall, 'matc hTypeError', message)) !== null) || dart.notNull((match = dart.dinvoke(undefCall , 'matchTypeError', message)) !== null) || dart.notNull((match = dart.dinvoke(un defLiteralCall, 'matchTypeError', message)) !== null) || dart.notNull((match = d art.dinvoke(nullProperty, 'matchTypeError', message)) !== null) || dart.notNull( (match = dart.dinvoke(nullLiteralCall, 'matchTypeError', message)) !== null) || dart.notNull((match = dart.dinvoke(undefProperty, 'matchTypeError', message)) != = null) || dart.notNull((match = dart.dinvoke(undefLiteralProperty, 'matchTypeEr ror', message)) !== null)) {
2470 return saveStackTrace(new NullError(dart.as(message, core.String), match )); 2474 return saveStackTrace(new NullError(dart.as(message, core.String), match ));
2471 } 2475 }
2472 return saveStackTrace(new UnknownJsTypeError(dart.as(typeof message == str ing ? message : '', core.String))); 2476 return saveStackTrace(new UnknownJsTypeError(dart.as(typeof message == 'st ring' ? message : '', core.String)));
2473 } 2477 }
2474 if (ex instanceof RangeError) { 2478 if (ex instanceof RangeError) {
2475 if (dart.notNull(typeof message == string) && dart.notNull(contains(dart.a s(message, core.String), 'call stack'))) { 2479 if (dart.notNull(typeof message == 'string') && dart.notNull(contains(dart .as(message, core.String), 'call stack'))) {
2476 return new core.StackOverflowError(); 2480 return new core.StackOverflowError();
2477 } 2481 }
2478 return saveStackTrace(new core.ArgumentError()); 2482 return saveStackTrace(new core.ArgumentError());
2479 } 2483 }
2480 if (typeof InternalError == "function" && ex instanceof InternalError) { 2484 if (typeof InternalError == "function" && ex instanceof InternalError) {
2481 if (dart.notNull(typeof message == string) && dart.notNull(dart.equals(mes sage, 'too much recursion'))) { 2485 if (dart.notNull(typeof message == 'string') && dart.notNull(dart.equals(m essage, 'too much recursion'))) {
2482 return new core.StackOverflowError(); 2486 return new core.StackOverflowError();
2483 } 2487 }
2484 } 2488 }
2485 return ex; 2489 return ex;
2486 } 2490 }
2487 // Function getTraceFromException: (dynamic) → StackTrace 2491 // Function getTraceFromException: (dynamic) → StackTrace
2488 function getTraceFromException(exception) { 2492 function getTraceFromException(exception) {
2489 return new _StackTrace(exception); 2493 return new _StackTrace(exception);
2490 } 2494 }
2491 let _exception = Symbol('_exception'); 2495 let _exception = Symbol('_exception');
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
2618 } 2622 }
2619 prototype["call*"] = trampoline; 2623 prototype["call*"] = trampoline;
2620 return constructor; 2624 return constructor;
2621 } 2625 }
2622 static cspForwardCall(arity, isSuperCall, stubName, func) { 2626 static cspForwardCall(arity, isSuperCall, stubName, func) {
2623 let getSelf = _foreign_helper.RAW_DART_FUNCTION_REF(BoundClosure.selfOf); 2627 let getSelf = _foreign_helper.RAW_DART_FUNCTION_REF(BoundClosure.selfOf);
2624 if (isSuperCall) 2628 if (isSuperCall)
2625 arity = -1; 2629 arity = -1;
2626 switch (arity) { 2630 switch (arity) {
2627 case 0: 2631 case 0:
2632 {
2628 return function(n, S) { 2633 return function(n, S) {
2629 return function() { 2634 return function() {
2630 return S(this)[n](); 2635 return S(this)[n]();
2631 }; 2636 };
2632 }(stubName, getSelf); 2637 }(stubName, getSelf);
2638 }
2633 case 1: 2639 case 1:
2640 {
2634 return function(n, S) { 2641 return function(n, S) {
2635 return function(a) { 2642 return function(a) {
2636 return S(this)[n](a); 2643 return S(this)[n](a);
2637 }; 2644 };
2638 }(stubName, getSelf); 2645 }(stubName, getSelf);
2646 }
2639 case 2: 2647 case 2:
2648 {
2640 return function(n, S) { 2649 return function(n, S) {
2641 return function(a, b) { 2650 return function(a, b) {
2642 return S(this)[n](a, b); 2651 return S(this)[n](a, b);
2643 }; 2652 };
2644 }(stubName, getSelf); 2653 }(stubName, getSelf);
2654 }
2645 case 3: 2655 case 3:
2656 {
2646 return function(n, S) { 2657 return function(n, S) {
2647 return function(a, b, c) { 2658 return function(a, b, c) {
2648 return S(this)[n](a, b, c); 2659 return S(this)[n](a, b, c);
2649 }; 2660 };
2650 }(stubName, getSelf); 2661 }(stubName, getSelf);
2662 }
2651 case 4: 2663 case 4:
2664 {
2652 return function(n, S) { 2665 return function(n, S) {
2653 return function(a, b, c, d) { 2666 return function(a, b, c, d) {
2654 return S(this)[n](a, b, c, d); 2667 return S(this)[n](a, b, c, d);
2655 }; 2668 };
2656 }(stubName, getSelf); 2669 }(stubName, getSelf);
2670 }
2657 case 5: 2671 case 5:
2672 {
2658 return function(n, S) { 2673 return function(n, S) {
2659 return function(a, b, c, d, e) { 2674 return function(a, b, c, d, e) {
2660 return S(this)[n](a, b, c, d, e); 2675 return S(this)[n](a, b, c, d, e);
2661 }; 2676 };
2662 }(stubName, getSelf); 2677 }(stubName, getSelf);
2678 }
2663 default: 2679 default:
2680 {
2664 return function(f, s) { 2681 return function(f, s) {
2665 return function() { 2682 return function() {
2666 return f.apply(s(this), arguments); 2683 return f.apply(s(this), arguments);
2667 }; 2684 };
2668 }(func, getSelf); 2685 }(func, getSelf);
2686 }
2669 } 2687 }
2670 } 2688 }
2671 static get isCsp() { 2689 static get isCsp() {
2672 return typeof dart_precompiled == "function"; 2690 return typeof dart_precompiled == "function";
2673 } 2691 }
2674 static forwardCallTo(receiver, func, isIntercepted) { 2692 static forwardCallTo(receiver, func, isIntercepted) {
2675 if (isIntercepted) 2693 if (isIntercepted)
2676 return forwardInterceptedCallTo(receiver, func); 2694 return forwardInterceptedCallTo(receiver, func);
2677 let stubName = dart.as(func.$stubName, core.String); 2695 let stubName = dart.as(func.$stubName, core.String);
2678 let arity = func.length; 2696 let arity = func.length;
2679 let lookedUpFunction = receiver[stubName]; 2697 let lookedUpFunction = receiver[stubName];
2680 let isSuperCall = !dart.notNull(core.identical(func, lookedUpFunction)); 2698 let isSuperCall = !dart.notNull(core.identical(func, lookedUpFunction));
2681 if (dart.notNull(isCsp) || dart.notNull(isSuperCall) || dart.notNull(arity ) >= 27) { 2699 if (dart.notNull(isCsp) || dart.notNull(isSuperCall) || dart.notNull(arity ) >= 27) {
2682 return cspForwardCall(arity, isSuperCall, stubName, func); 2700 return cspForwardCall(arity, isSuperCall, stubName, func);
2683 } 2701 }
2684 if (arity === 0) { 2702 if (arity === 0) {
2685 return new Function('return function(){' + `return this.${BoundClosure.s elfFieldName()}.${stubName}();` + `${((x$) => functionCounter = dart.notNull(x$) + 1, x$)(functionCounter)}` + '}')(); 2703 return new Function('return function(){' + `return this.${BoundClosure.s elfFieldName()}.${stubName}();` + `${((x$) => functionCounter = dart.notNull(x$) + 1, x$)(functionCounter)}` + '}')();
2686 } 2704 }
2687 dart.assert(1 <= dart.notNull(arity) && dart.notNull(arity) < 27); 2705 dart.assert(1 <= dart.notNull(arity) && dart.notNull(arity) < 27);
2688 let arguments = "abcdefghijklmnopqrstuvwxyz".split("").splice(0, arity).jo in(","); 2706 let arguments = "abcdefghijklmnopqrstuvwxyz".split("").splice(0, arity).jo in(",");
2689 return new Function(`return function(${arguments}){` + `return this.${Boun dClosure.selfFieldName()}.${stubName}(${arguments});` + `${((x$) => functionCoun ter = dart.notNull(x$) + 1, x$)(functionCounter)}` + '}')(); 2707 return new Function(`return function(${arguments}){` + `return this.${Boun dClosure.selfFieldName()}.${stubName}(${arguments});` + `${((x$) => functionCoun ter = dart.notNull(x$) + 1, x$)(functionCounter)}` + '}')();
2690 } 2708 }
2691 static cspForwardInterceptedCall(arity, isSuperCall, name, func) { 2709 static cspForwardInterceptedCall(arity, isSuperCall, name, func) {
2692 let getSelf = _foreign_helper.RAW_DART_FUNCTION_REF(BoundClosure.selfOf); 2710 let getSelf = _foreign_helper.RAW_DART_FUNCTION_REF(BoundClosure.selfOf);
2693 let getReceiver = _foreign_helper.RAW_DART_FUNCTION_REF(BoundClosure.recei verOf); 2711 let getReceiver = _foreign_helper.RAW_DART_FUNCTION_REF(BoundClosure.recei verOf);
2694 if (isSuperCall) 2712 if (isSuperCall)
2695 arity = -1; 2713 arity = -1;
2696 switch (arity) { 2714 switch (arity) {
2697 case 0: 2715 case 0:
2716 {
2698 throw new RuntimeError('Intercepted function with no arguments.'); 2717 throw new RuntimeError('Intercepted function with no arguments.');
2718 }
2699 case 1: 2719 case 1:
2720 {
2700 return function(n, s, r) { 2721 return function(n, s, r) {
2701 return function() { 2722 return function() {
2702 return s(this)[n](r(this)); 2723 return s(this)[n](r(this));
2703 }; 2724 };
2704 }(name, getSelf, getReceiver); 2725 }(name, getSelf, getReceiver);
2726 }
2705 case 2: 2727 case 2:
2728 {
2706 return function(n, s, r) { 2729 return function(n, s, r) {
2707 return function(a) { 2730 return function(a) {
2708 return s(this)[n](r(this), a); 2731 return s(this)[n](r(this), a);
2709 }; 2732 };
2710 }(name, getSelf, getReceiver); 2733 }(name, getSelf, getReceiver);
2734 }
2711 case 3: 2735 case 3:
2736 {
2712 return function(n, s, r) { 2737 return function(n, s, r) {
2713 return function(a, b) { 2738 return function(a, b) {
2714 return s(this)[n](r(this), a, b); 2739 return s(this)[n](r(this), a, b);
2715 }; 2740 };
2716 }(name, getSelf, getReceiver); 2741 }(name, getSelf, getReceiver);
2742 }
2717 case 4: 2743 case 4:
2744 {
2718 return function(n, s, r) { 2745 return function(n, s, r) {
2719 return function(a, b, c) { 2746 return function(a, b, c) {
2720 return s(this)[n](r(this), a, b, c); 2747 return s(this)[n](r(this), a, b, c);
2721 }; 2748 };
2722 }(name, getSelf, getReceiver); 2749 }(name, getSelf, getReceiver);
2750 }
2723 case 5: 2751 case 5:
2752 {
2724 return function(n, s, r) { 2753 return function(n, s, r) {
2725 return function(a, b, c, d) { 2754 return function(a, b, c, d) {
2726 return s(this)[n](r(this), a, b, c, d); 2755 return s(this)[n](r(this), a, b, c, d);
2727 }; 2756 };
2728 }(name, getSelf, getReceiver); 2757 }(name, getSelf, getReceiver);
2758 }
2729 case 6: 2759 case 6:
2760 {
2730 return function(n, s, r) { 2761 return function(n, s, r) {
2731 return function(a, b, c, d, e) { 2762 return function(a, b, c, d, e) {
2732 return s(this)[n](r(this), a, b, c, d, e); 2763 return s(this)[n](r(this), a, b, c, d, e);
2733 }; 2764 };
2734 }(name, getSelf, getReceiver); 2765 }(name, getSelf, getReceiver);
2766 }
2735 default: 2767 default:
2768 {
2736 return function(f, s, r, a) { 2769 return function(f, s, r, a) {
2737 return function() { 2770 return function() {
2738 a = [r(this)]; 2771 a = [r(this)];
2739 Array.prototype.push.apply(a, arguments); 2772 Array.prototype.push.apply(a, arguments);
2740 return f.apply(s(this), a); 2773 return f.apply(s(this), a);
2741 }; 2774 };
2742 }(func, getSelf, getReceiver); 2775 }(func, getSelf, getReceiver);
2776 }
2743 } 2777 }
2744 } 2778 }
2745 static forwardInterceptedCallTo(receiver, func) { 2779 static forwardInterceptedCallTo(receiver, func) {
2746 let selfField = BoundClosure.selfFieldName(); 2780 let selfField = BoundClosure.selfFieldName();
2747 let receiverField = BoundClosure.receiverFieldName(); 2781 let receiverField = BoundClosure.receiverFieldName();
2748 let stubName = dart.as(func.$stubName, core.String); 2782 let stubName = dart.as(func.$stubName, core.String);
2749 let arity = func.length; 2783 let arity = func.length;
2750 let isCsp = typeof dart_precompiled == "function"; 2784 let isCsp = typeof dart_precompiled == "function";
2751 let lookedUpFunction = receiver[stubName]; 2785 let lookedUpFunction = receiver[stubName];
2752 let isSuperCall = !dart.notNull(core.identical(func, lookedUpFunction)); 2786 let isSuperCall = !dart.notNull(core.identical(func, lookedUpFunction));
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
2865 this.types = types; 2899 this.types = types;
2866 } 2900 }
2867 } 2901 }
2868 class JSName extends core.Object { 2902 class JSName extends core.Object {
2869 JSName(name) { 2903 JSName(name) {
2870 this.name = name; 2904 this.name = name;
2871 } 2905 }
2872 } 2906 }
2873 // Function boolConversionCheck: (dynamic) → dynamic 2907 // Function boolConversionCheck: (dynamic) → dynamic
2874 function boolConversionCheck(value) { 2908 function boolConversionCheck(value) {
2875 if (typeof value == boolean) 2909 if (typeof value == 'boolean')
2876 return value; 2910 return value;
2877 boolTypeCheck(value); 2911 boolTypeCheck(value);
2878 dart.assert(value !== null); 2912 dart.assert(value !== null);
2879 return false; 2913 return false;
2880 } 2914 }
2881 // Function stringTypeCheck: (dynamic) → dynamic 2915 // Function stringTypeCheck: (dynamic) → dynamic
2882 function stringTypeCheck(value) { 2916 function stringTypeCheck(value) {
2883 if (value === null) 2917 if (value === null)
2884 return value; 2918 return value;
2885 if (typeof value == string) 2919 if (typeof value == 'string')
2886 return value; 2920 return value;
2887 throw new TypeErrorImplementation(value, 'String'); 2921 throw new TypeErrorImplementation(value, 'String');
2888 } 2922 }
2889 // Function stringTypeCast: (dynamic) → dynamic 2923 // Function stringTypeCast: (dynamic) → dynamic
2890 function stringTypeCast(value) { 2924 function stringTypeCast(value) {
2891 if (dart.notNull(typeof value == string) || dart.notNull(value === null)) 2925 if (dart.notNull(typeof value == 'string') || dart.notNull(value === null))
2892 return value; 2926 return value;
2893 throw new CastErrorImplementation(Primitives.objectTypeName(value), 'String' ); 2927 throw new CastErrorImplementation(Primitives.objectTypeName(value), 'String' );
2894 } 2928 }
2895 // Function doubleTypeCheck: (dynamic) → dynamic 2929 // Function doubleTypeCheck: (dynamic) → dynamic
2896 function doubleTypeCheck(value) { 2930 function doubleTypeCheck(value) {
2897 if (value === null) 2931 if (value === null)
2898 return value; 2932 return value;
2899 if (typeof value == number) 2933 if (typeof value == 'number')
2900 return value; 2934 return value;
2901 throw new TypeErrorImplementation(value, 'double'); 2935 throw new TypeErrorImplementation(value, 'double');
2902 } 2936 }
2903 // Function doubleTypeCast: (dynamic) → dynamic 2937 // Function doubleTypeCast: (dynamic) → dynamic
2904 function doubleTypeCast(value) { 2938 function doubleTypeCast(value) {
2905 if (dart.notNull(typeof value == number) || dart.notNull(value === null)) 2939 if (dart.notNull(typeof value == 'number') || dart.notNull(value === null))
2906 return value; 2940 return value;
2907 throw new CastErrorImplementation(Primitives.objectTypeName(value), 'double' ); 2941 throw new CastErrorImplementation(Primitives.objectTypeName(value), 'double' );
2908 } 2942 }
2909 // Function numTypeCheck: (dynamic) → dynamic 2943 // Function numTypeCheck: (dynamic) → dynamic
2910 function numTypeCheck(value) { 2944 function numTypeCheck(value) {
2911 if (value === null) 2945 if (value === null)
2912 return value; 2946 return value;
2913 if (dart.is(value, core.num)) 2947 if (dart.is(value, core.num))
2914 return value; 2948 return value;
2915 throw new TypeErrorImplementation(value, 'num'); 2949 throw new TypeErrorImplementation(value, 'num');
2916 } 2950 }
2917 // Function numTypeCast: (dynamic) → dynamic 2951 // Function numTypeCast: (dynamic) → dynamic
2918 function numTypeCast(value) { 2952 function numTypeCast(value) {
2919 if (dart.notNull(dart.is(value, core.num)) || dart.notNull(value === null)) 2953 if (dart.notNull(dart.is(value, core.num)) || dart.notNull(value === null))
2920 return value; 2954 return value;
2921 throw new CastErrorImplementation(Primitives.objectTypeName(value), 'num'); 2955 throw new CastErrorImplementation(Primitives.objectTypeName(value), 'num');
2922 } 2956 }
2923 // Function boolTypeCheck: (dynamic) → dynamic 2957 // Function boolTypeCheck: (dynamic) → dynamic
2924 function boolTypeCheck(value) { 2958 function boolTypeCheck(value) {
2925 if (value === null) 2959 if (value === null)
2926 return value; 2960 return value;
2927 if (typeof value == boolean) 2961 if (typeof value == 'boolean')
2928 return value; 2962 return value;
2929 throw new TypeErrorImplementation(value, 'bool'); 2963 throw new TypeErrorImplementation(value, 'bool');
2930 } 2964 }
2931 // Function boolTypeCast: (dynamic) → dynamic 2965 // Function boolTypeCast: (dynamic) → dynamic
2932 function boolTypeCast(value) { 2966 function boolTypeCast(value) {
2933 if (dart.notNull(typeof value == boolean) || dart.notNull(value === null)) 2967 if (dart.notNull(typeof value == 'boolean') || dart.notNull(value === null))
2934 return value; 2968 return value;
2935 throw new CastErrorImplementation(Primitives.objectTypeName(value), 'bool'); 2969 throw new CastErrorImplementation(Primitives.objectTypeName(value), 'bool');
2936 } 2970 }
2937 // Function intTypeCheck: (dynamic) → dynamic 2971 // Function intTypeCheck: (dynamic) → dynamic
2938 function intTypeCheck(value) { 2972 function intTypeCheck(value) {
2939 if (value === null) 2973 if (value === null)
2940 return value; 2974 return value;
2941 if (typeof value == number) 2975 if (typeof value == 'number')
2942 return value; 2976 return value;
2943 throw new TypeErrorImplementation(value, 'int'); 2977 throw new TypeErrorImplementation(value, 'int');
2944 } 2978 }
2945 // Function intTypeCast: (dynamic) → dynamic 2979 // Function intTypeCast: (dynamic) → dynamic
2946 function intTypeCast(value) { 2980 function intTypeCast(value) {
2947 if (dart.notNull(typeof value == number) || dart.notNull(value === null)) 2981 if (dart.notNull(typeof value == 'number') || dart.notNull(value === null))
2948 return value; 2982 return value;
2949 throw new CastErrorImplementation(Primitives.objectTypeName(value), 'int'); 2983 throw new CastErrorImplementation(Primitives.objectTypeName(value), 'int');
2950 } 2984 }
2951 // Function propertyTypeError: (dynamic, dynamic) → void 2985 // Function propertyTypeError: (dynamic, dynamic) → void
2952 function propertyTypeError(value, property) { 2986 function propertyTypeError(value, property) {
2953 let name = dart.as(dart.dinvoke(property, 'substring', 3, dart.dload(propert y, 'length')), core.String); 2987 let name = dart.as(dart.dinvoke(property, 'substring', 3, dart.dload(propert y, 'length')), core.String);
2954 throw new TypeErrorImplementation(value, name); 2988 throw new TypeErrorImplementation(value, name);
2955 } 2989 }
2956 // Function propertyTypeCastError: (dynamic, dynamic) → void 2990 // Function propertyTypeCastError: (dynamic, dynamic) → void
2957 function propertyTypeCastError(value, property) { 2991 function propertyTypeCastError(value, property) {
(...skipping 28 matching lines...) Expand all
2986 function interceptedTypeCast(value, property) { 3020 function interceptedTypeCast(value, property) {
2987 if (dart.notNull(value === null) || typeof value === "object" && _intercepto rs.getInterceptor(value)[property]) { 3021 if (dart.notNull(value === null) || typeof value === "object" && _intercepto rs.getInterceptor(value)[property]) {
2988 return value; 3022 return value;
2989 } 3023 }
2990 propertyTypeCastError(value, property); 3024 propertyTypeCastError(value, property);
2991 } 3025 }
2992 // Function numberOrStringSuperTypeCheck: (dynamic, dynamic) → dynamic 3026 // Function numberOrStringSuperTypeCheck: (dynamic, dynamic) → dynamic
2993 function numberOrStringSuperTypeCheck(value, property) { 3027 function numberOrStringSuperTypeCheck(value, property) {
2994 if (value === null) 3028 if (value === null)
2995 return value; 3029 return value;
2996 if (typeof value == string) 3030 if (typeof value == 'string')
2997 return value; 3031 return value;
2998 if (dart.is(value, core.num)) 3032 if (dart.is(value, core.num))
2999 return value; 3033 return value;
3000 if (!!value[property]) 3034 if (!!value[property])
3001 return value; 3035 return value;
3002 propertyTypeError(value, property); 3036 propertyTypeError(value, property);
3003 } 3037 }
3004 // Function numberOrStringSuperTypeCast: (dynamic, dynamic) → dynamic 3038 // Function numberOrStringSuperTypeCast: (dynamic, dynamic) → dynamic
3005 function numberOrStringSuperTypeCast(value, property) { 3039 function numberOrStringSuperTypeCast(value, property) {
3006 if (typeof value == string) 3040 if (typeof value == 'string')
3007 return value; 3041 return value;
3008 if (dart.is(value, core.num)) 3042 if (dart.is(value, core.num))
3009 return value; 3043 return value;
3010 return propertyTypeCast(value, property); 3044 return propertyTypeCast(value, property);
3011 } 3045 }
3012 // Function numberOrStringSuperNativeTypeCheck: (dynamic, dynamic) → dynamic 3046 // Function numberOrStringSuperNativeTypeCheck: (dynamic, dynamic) → dynamic
3013 function numberOrStringSuperNativeTypeCheck(value, property) { 3047 function numberOrStringSuperNativeTypeCheck(value, property) {
3014 if (value === null) 3048 if (value === null)
3015 return value; 3049 return value;
3016 if (typeof value == string) 3050 if (typeof value == 'string')
3017 return value; 3051 return value;
3018 if (dart.is(value, core.num)) 3052 if (dart.is(value, core.num))
3019 return value; 3053 return value;
3020 if (_interceptors.getInterceptor(value)[property]) 3054 if (_interceptors.getInterceptor(value)[property])
3021 return value; 3055 return value;
3022 propertyTypeError(value, property); 3056 propertyTypeError(value, property);
3023 } 3057 }
3024 // Function numberOrStringSuperNativeTypeCast: (dynamic, dynamic) → dynamic 3058 // Function numberOrStringSuperNativeTypeCast: (dynamic, dynamic) → dynamic
3025 function numberOrStringSuperNativeTypeCast(value, property) { 3059 function numberOrStringSuperNativeTypeCast(value, property) {
3026 if (value === null) 3060 if (value === null)
3027 return value; 3061 return value;
3028 if (typeof value == string) 3062 if (typeof value == 'string')
3029 return value; 3063 return value;
3030 if (dart.is(value, core.num)) 3064 if (dart.is(value, core.num))
3031 return value; 3065 return value;
3032 if (_interceptors.getInterceptor(value)[property]) 3066 if (_interceptors.getInterceptor(value)[property])
3033 return value; 3067 return value;
3034 propertyTypeCastError(value, property); 3068 propertyTypeCastError(value, property);
3035 } 3069 }
3036 // Function stringSuperTypeCheck: (dynamic, dynamic) → dynamic 3070 // Function stringSuperTypeCheck: (dynamic, dynamic) → dynamic
3037 function stringSuperTypeCheck(value, property) { 3071 function stringSuperTypeCheck(value, property) {
3038 if (value === null) 3072 if (value === null)
3039 return value; 3073 return value;
3040 if (typeof value == string) 3074 if (typeof value == 'string')
3041 return value; 3075 return value;
3042 if (!!value[property]) 3076 if (!!value[property])
3043 return value; 3077 return value;
3044 propertyTypeError(value, property); 3078 propertyTypeError(value, property);
3045 } 3079 }
3046 // Function stringSuperTypeCast: (dynamic, dynamic) → dynamic 3080 // Function stringSuperTypeCast: (dynamic, dynamic) → dynamic
3047 function stringSuperTypeCast(value, property) { 3081 function stringSuperTypeCast(value, property) {
3048 if (typeof value == string) 3082 if (typeof value == 'string')
3049 return value; 3083 return value;
3050 return propertyTypeCast(value, property); 3084 return propertyTypeCast(value, property);
3051 } 3085 }
3052 // Function stringSuperNativeTypeCheck: (dynamic, dynamic) → dynamic 3086 // Function stringSuperNativeTypeCheck: (dynamic, dynamic) → dynamic
3053 function stringSuperNativeTypeCheck(value, property) { 3087 function stringSuperNativeTypeCheck(value, property) {
3054 if (value === null) 3088 if (value === null)
3055 return value; 3089 return value;
3056 if (typeof value == string) 3090 if (typeof value == 'string')
3057 return value; 3091 return value;
3058 if (_interceptors.getInterceptor(value)[property]) 3092 if (_interceptors.getInterceptor(value)[property])
3059 return value; 3093 return value;
3060 propertyTypeError(value, property); 3094 propertyTypeError(value, property);
3061 } 3095 }
3062 // Function stringSuperNativeTypeCast: (dynamic, dynamic) → dynamic 3096 // Function stringSuperNativeTypeCast: (dynamic, dynamic) → dynamic
3063 function stringSuperNativeTypeCast(value, property) { 3097 function stringSuperNativeTypeCast(value, property) {
3064 if (dart.notNull(typeof value == string) || dart.notNull(value === null)) 3098 if (dart.notNull(typeof value == 'string') || dart.notNull(value === null))
3065 return value; 3099 return value;
3066 if (_interceptors.getInterceptor(value)[property]) 3100 if (_interceptors.getInterceptor(value)[property])
3067 return value; 3101 return value;
3068 propertyTypeCastError(value, property); 3102 propertyTypeCastError(value, property);
3069 } 3103 }
3070 // Function listTypeCheck: (dynamic) → dynamic 3104 // Function listTypeCheck: (dynamic) → dynamic
3071 function listTypeCheck(value) { 3105 function listTypeCheck(value) {
3072 if (value === null) 3106 if (value === null)
3073 return value; 3107 return value;
3074 if (dart.is(value, core.List)) 3108 if (dart.is(value, core.List))
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
3166 class FallThroughErrorImplementation extends core.FallThroughError { 3200 class FallThroughErrorImplementation extends core.FallThroughError {
3167 FallThroughErrorImplementation() { 3201 FallThroughErrorImplementation() {
3168 super.FallThroughError(); 3202 super.FallThroughError();
3169 } 3203 }
3170 toString() { 3204 toString() {
3171 return "Switch case fall-through."; 3205 return "Switch case fall-through.";
3172 } 3206 }
3173 } 3207 }
3174 // Function assertHelper: (dynamic) → void 3208 // Function assertHelper: (dynamic) → void
3175 function assertHelper(condition) { 3209 function assertHelper(condition) {
3176 if (!(typeof condition == boolean)) { 3210 if (!(typeof condition == 'boolean')) {
3177 if (dart.is(condition, core.Function)) 3211 if (dart.is(condition, core.Function))
3178 condition = dart.dinvokef(condition); 3212 condition = dart.dinvokef(condition);
3179 if (!(typeof condition == boolean)) { 3213 if (!(typeof condition == 'boolean')) {
3180 throw new TypeErrorImplementation(condition, 'bool'); 3214 throw new TypeErrorImplementation(condition, 'bool');
3181 } 3215 }
3182 } 3216 }
3183 if (true !== condition) 3217 if (true !== condition)
3184 throw new core.AssertionError(); 3218 throw new core.AssertionError();
3185 } 3219 }
3186 // Function throwNoSuchMethod: (dynamic, dynamic, dynamic, dynamic) → void 3220 // Function throwNoSuchMethod: (dynamic, dynamic, dynamic, dynamic) → void
3187 function throwNoSuchMethod(obj, name, arguments, expectedArgumentNames) { 3221 function throwNoSuchMethod(obj, name, arguments, expectedArgumentNames) {
3188 let memberName = new _internal.Symbol.unvalidated(dart.as(name, core.String) ); 3222 let memberName = new _internal.Symbol.unvalidated(dart.as(name, core.String) );
3189 throw new core.NoSuchMethodError(obj, memberName, dart.as(arguments, core.Li st), new core.Map(), dart.as(expectedArgumentNames, core.List)); 3223 throw new core.NoSuchMethodError(obj, memberName, dart.as(arguments, core.Li st), new core.Map(), dart.as(expectedArgumentNames, core.List));
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after
3417 } 3451 }
3418 // Function convertRtiToRuntimeType: (dynamic) → RuntimeType 3452 // Function convertRtiToRuntimeType: (dynamic) → RuntimeType
3419 function convertRtiToRuntimeType(rti) { 3453 function convertRtiToRuntimeType(rti) {
3420 if (rti === null) { 3454 if (rti === null) {
3421 return getDynamicRuntimeType(); 3455 return getDynamicRuntimeType();
3422 } else if (typeof rti == "function") { 3456 } else if (typeof rti == "function") {
3423 return new RuntimeTypePlain(rti.name); 3457 return new RuntimeTypePlain(rti.name);
3424 } else if (rti.constructor == Array) { 3458 } else if (rti.constructor == Array) {
3425 let list = dart.as(rti, core.List); 3459 let list = dart.as(rti, core.List);
3426 let name = list.get(0).name; 3460 let name = list.get(0).name;
3427 let arguments = new List.from([]); 3461 let arguments = new core.List.from([]);
3428 for (let i = 1; dart.notNull(i) < dart.notNull(list.length); i = dart.notN ull(i) + 1) { 3462 for (let i = 1; dart.notNull(i) < dart.notNull(list.length); i = dart.notN ull(i) + 1) {
3429 arguments.add(convertRtiToRuntimeType(list.get(i))); 3463 arguments.add(convertRtiToRuntimeType(list.get(i)));
3430 } 3464 }
3431 return new RuntimeTypeGeneric(name, dart.as(arguments, core.List$(RuntimeT ype)), rti); 3465 return new RuntimeTypeGeneric(name, dart.as(arguments, core.List$(RuntimeT ype)), rti);
3432 } else if ("func" in rti) { 3466 } else if ("func" in rti) {
3433 return new FunctionTypeInfoDecoderRing(rti).toRuntimeType(); 3467 return new FunctionTypeInfoDecoderRing(rti).toRuntimeType();
3434 } else { 3468 } else {
3435 throw new RuntimeError("Cannot convert " + `'${JSON.stringify(rti)}' to Ru ntimeType.`); 3469 throw new RuntimeError("Cannot convert " + `'${JSON.stringify(rti)}' to Ru ntimeType.`);
3436 } 3470 }
3437 } 3471 }
(...skipping 512 matching lines...) Expand 10 before | Expand all | Expand 10 after
3950 exports.UnimplementedNoSuchMethodError = UnimplementedNoSuchMethodError; 3984 exports.UnimplementedNoSuchMethodError = UnimplementedNoSuchMethodError;
3951 exports.random64 = random64; 3985 exports.random64 = random64;
3952 exports.jsonEncodeNative = jsonEncodeNative; 3986 exports.jsonEncodeNative = jsonEncodeNative;
3953 exports.getIsolateAffinityTag = getIsolateAffinityTag; 3987 exports.getIsolateAffinityTag = getIsolateAffinityTag;
3954 exports.loadDeferredLibrary = loadDeferredLibrary; 3988 exports.loadDeferredLibrary = loadDeferredLibrary;
3955 exports.MainError = MainError; 3989 exports.MainError = MainError;
3956 exports.missingMain = missingMain; 3990 exports.missingMain = missingMain;
3957 exports.badMain = badMain; 3991 exports.badMain = badMain;
3958 exports.mainHasTooManyParameters = mainHasTooManyParameters; 3992 exports.mainHasTooManyParameters = mainHasTooManyParameters;
3959 })(_js_helper || (_js_helper = {})); 3993 })(_js_helper || (_js_helper = {}));
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698