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

Side by Side Diff: lib/runtime/dart/_interceptors.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
« no previous file with comments | « no previous file | lib/runtime/dart/_internal.js » ('j') | lib/runtime/dart_runtime.js » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 var _interceptors; 1 var _interceptors;
2 (function(exports) { 2 (function(exports) {
3 'use strict'; 3 'use strict';
4 class Interceptor extends core.Object { 4 class Interceptor extends core.Object {
5 Interceptor() { 5 Interceptor() {
6 } 6 }
7 ['=='](other) { 7 ['=='](other) {
8 return core.identical(this, other); 8 return core.identical(this, other);
9 } 9 }
10 get hashCode() { 10 get hashCode() {
11 return _js_helper.Primitives.objectHashCode(this); 11 return _js_helper.Primitives.objectHashCode(this);
12 } 12 }
13 toString() { 13 toString() {
14 return _js_helper.Primitives.objectToString(this); 14 return _js_helper.Primitives.objectToString(this);
15 } 15 }
16 noSuchMethod(invocation) { 16 noSuchMethod(invocation) {
17 throw new core.NoSuchMethodError(this, invocation.memberName, invocation.p ositionalArguments, invocation.namedArguments); 17 throw new core.NoSuchMethodError(this, invocation.memberName, invocation.p ositionalArguments, invocation.namedArguments);
18 } 18 }
19 get runtimeType() { 19 get runtimeType() {
20 return _js_helper.getRuntimeType(this); 20 return _js_helper.getRuntimeType(this);
21 } 21 }
22 } 22 }
23 let JSArray$ = dart.generic(function(E) { 23 let JSArray$ = dart.generic(function(E) {
24 class JSArray extends Interceptor { 24 class JSArray extends Interceptor {
25 JSArray() { 25 JSArray() {
26 super.Interceptor(); 26 super.Interceptor();
27 } 27 }
28 JSArray$fixed(length) { 28 JSArray$fixed(length) {
29 if (dart.notNull(!(typeof length == number)) || dart.notNull(length) < 0 ) { 29 if (dart.notNull(!(typeof length == 'number')) || dart.notNull(length) < 0) {
30 throw new core.ArgumentError(`Length must be a non-negative integer: $ {length}`); 30 throw new core.ArgumentError(`Length must be a non-negative integer: $ {length}`);
31 } 31 }
32 return new JSArray.markFixed(new Array(length)); 32 return new JSArray.markFixed(new Array(length));
33 } 33 }
34 JSArray$emptyGrowable() { 34 JSArray$emptyGrowable() {
35 return new JSArray.markGrowable([]); 35 return new JSArray.markGrowable([]);
36 } 36 }
37 JSArray$growable(length) { 37 JSArray$growable(length) {
38 if (dart.notNull(!(typeof length == number)) || dart.notNull(length) < 0 ) { 38 if (dart.notNull(!(typeof length == 'number')) || dart.notNull(length) < 0) {
39 throw new core.ArgumentError(`Length must be a non-negative integer: $ {length}`); 39 throw new core.ArgumentError(`Length must be a non-negative integer: $ {length}`);
40 } 40 }
41 return new JSArray.markGrowable(new Array(length)); 41 return new JSArray.markGrowable(new Array(length));
42 } 42 }
43 JSArray$typed(allocation) { 43 JSArray$typed(allocation) {
44 return dart.as(allocation, JSArray$(E)); 44 return dart.as(allocation, JSArray$(E));
45 } 45 }
46 JSArray$markFixed(allocation) { 46 JSArray$markFixed(allocation) {
47 return dart.as(markFixedList(new JSArray.typed(allocation)), JSArray$(E) ); 47 return dart.as(markFixedList(new JSArray.typed(allocation)), JSArray$(E) );
48 } 48 }
(...skipping 12 matching lines...) Expand all
61 checkGrowable(reason) { 61 checkGrowable(reason) {
62 if (!dart.is(this, JSExtendableArray)) { 62 if (!dart.is(this, JSExtendableArray)) {
63 throw new core.UnsupportedError(dart.as(reason, core.String)); 63 throw new core.UnsupportedError(dart.as(reason, core.String));
64 } 64 }
65 } 65 }
66 add(value) { 66 add(value) {
67 this.checkGrowable('add'); 67 this.checkGrowable('add');
68 this.push(value); 68 this.push(value);
69 } 69 }
70 removeAt(index) { 70 removeAt(index) {
71 if (!(typeof index == number)) 71 if (!(typeof index == 'number'))
72 throw new core.ArgumentError(index); 72 throw new core.ArgumentError(index);
73 if (dart.notNull(index) < 0 || dart.notNull(index) >= dart.notNull(this. length)) { 73 if (dart.notNull(index) < 0 || dart.notNull(index) >= dart.notNull(this. length)) {
74 throw new core.RangeError.value(index); 74 throw new core.RangeError.value(index);
75 } 75 }
76 this.checkGrowable('removeAt'); 76 this.checkGrowable('removeAt');
77 return dart.as(this.splice(index, 1)[0], E); 77 return dart.as(this.splice(index, 1)[0], E);
78 } 78 }
79 insert(index, value) { 79 insert(index, value) {
80 if (!(typeof index == number)) 80 if (!(typeof index == 'number'))
81 throw new core.ArgumentError(index); 81 throw new core.ArgumentError(index);
82 if (dart.notNull(index) < 0 || dart.notNull(index) > dart.notNull(this.l ength)) { 82 if (dart.notNull(index) < 0 || dart.notNull(index) > dart.notNull(this.l ength)) {
83 throw new core.RangeError.value(index); 83 throw new core.RangeError.value(index);
84 } 84 }
85 this.checkGrowable('insert'); 85 this.checkGrowable('insert');
86 this.splice(index, 0, value); 86 this.splice(index, 0, value);
87 } 87 }
88 insertAll(index, iterable) { 88 insertAll(index, iterable) {
89 this.checkGrowable('insertAll'); 89 this.checkGrowable('insertAll');
90 _internal.IterableMixinWorkaround.insertAllList(this, index, iterable); 90 _internal.IterableMixinWorkaround.insertAllList(this, index, iterable);
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 singleWhere(test) { 179 singleWhere(test) {
180 return dart.as(_internal.IterableMixinWorkaround.singleWhere(this, test) , E); 180 return dart.as(_internal.IterableMixinWorkaround.singleWhere(this, test) , E);
181 } 181 }
182 elementAt(index) { 182 elementAt(index) {
183 return this.get(index); 183 return this.get(index);
184 } 184 }
185 sublist(start, end) { 185 sublist(start, end) {
186 if (end === void 0) 186 if (end === void 0)
187 end = null; 187 end = null;
188 _js_helper.checkNull(start); 188 _js_helper.checkNull(start);
189 if (!(typeof start == number)) 189 if (!(typeof start == 'number'))
190 throw new core.ArgumentError(start); 190 throw new core.ArgumentError(start);
191 if (dart.notNull(start) < 0 || dart.notNull(start) > dart.notNull(this.l ength)) { 191 if (dart.notNull(start) < 0 || dart.notNull(start) > dart.notNull(this.l ength)) {
192 throw new core.RangeError.range(start, 0, this.length); 192 throw new core.RangeError.range(start, 0, this.length);
193 } 193 }
194 if (end === null) { 194 if (end === null) {
195 end = this.length; 195 end = this.length;
196 } else { 196 } else {
197 if (!(typeof end == number)) 197 if (!(typeof end == 'number'))
198 throw new core.ArgumentError(end); 198 throw new core.ArgumentError(end);
199 if (dart.notNull(end) < dart.notNull(start) || dart.notNull(end) > dar t.notNull(this.length)) { 199 if (dart.notNull(end) < dart.notNull(start) || dart.notNull(end) > dar t.notNull(this.length)) {
200 throw new core.RangeError.range(end, start, this.length); 200 throw new core.RangeError.range(end, start, this.length);
201 } 201 }
202 } 202 }
203 if (start === end) 203 if (start === end)
204 return new List.from([]); 204 return new core.List$(E).from([]);
205 return new JSArray.markGrowable(this.slice(start, end)); 205 return new JSArray.markGrowable(this.slice(start, end));
206 } 206 }
207 getRange(start, end) { 207 getRange(start, end) {
208 return new _internal.IterableMixinWorkaround().getRangeList(this, start, end); 208 return new _internal.IterableMixinWorkaround().getRangeList(this, start, end);
209 } 209 }
210 get first() { 210 get first() {
211 if (dart.notNull(this.length) > 0) 211 if (dart.notNull(this.length) > 0)
212 return this.get(0); 212 return this.get(0);
213 throw new core.StateError("No elements"); 213 throw new core.StateError("No elements");
214 } 214 }
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 get iterator() { 312 get iterator() {
313 return new _internal.ListIterator(this); 313 return new _internal.ListIterator(this);
314 } 314 }
315 get hashCode() { 315 get hashCode() {
316 return _js_helper.Primitives.objectHashCode(this); 316 return _js_helper.Primitives.objectHashCode(this);
317 } 317 }
318 get length() { 318 get length() {
319 return dart.as(this.length, core.int); 319 return dart.as(this.length, core.int);
320 } 320 }
321 set length(newLength) { 321 set length(newLength) {
322 if (!(typeof newLength == number)) 322 if (!(typeof newLength == 'number'))
323 throw new core.ArgumentError(newLength); 323 throw new core.ArgumentError(newLength);
324 if (dart.notNull(newLength) < 0) 324 if (dart.notNull(newLength) < 0)
325 throw new core.RangeError.value(newLength); 325 throw new core.RangeError.value(newLength);
326 this.checkGrowable('set length'); 326 this.checkGrowable('set length');
327 this.length = newLength; 327 this.length = newLength;
328 } 328 }
329 get(index) { 329 get(index) {
330 if (!(typeof index == number)) 330 if (!(typeof index == 'number'))
331 throw new core.ArgumentError(index); 331 throw new core.ArgumentError(index);
332 if (dart.notNull(index) >= dart.notNull(this.length) || dart.notNull(ind ex) < 0) 332 if (dart.notNull(index) >= dart.notNull(this.length) || dart.notNull(ind ex) < 0)
333 throw new core.RangeError.value(index); 333 throw new core.RangeError.value(index);
334 return dart.as(this[index], E); 334 return dart.as(this[index], E);
335 } 335 }
336 set(index, value) { 336 set(index, value) {
337 this.checkMutable('indexed set'); 337 this.checkMutable('indexed set');
338 if (!(typeof index == number)) 338 if (!(typeof index == 'number'))
339 throw new core.ArgumentError(index); 339 throw new core.ArgumentError(index);
340 if (dart.notNull(index) >= dart.notNull(this.length) || dart.notNull(ind ex) < 0) 340 if (dart.notNull(index) >= dart.notNull(this.length) || dart.notNull(ind ex) < 0)
341 throw new core.RangeError.value(index); 341 throw new core.RangeError.value(index);
342 this[index] = value; 342 this[index] = value;
343 } 343 }
344 asMap() { 344 asMap() {
345 return new _internal.IterableMixinWorkaround().asMapList(this); 345 return new _internal.IterableMixinWorkaround().asMapList(this);
346 } 346 }
347 } 347 }
348 dart.defineNamedConstructor(JSArray, 'fixed'); 348 dart.defineNamedConstructor(JSArray, 'fixed');
(...skipping 416 matching lines...) Expand 10 before | Expand all | Expand 10 after
765 } 765 }
766 let _defaultSplit = Symbol('_defaultSplit'); 766 let _defaultSplit = Symbol('_defaultSplit');
767 let _isWhitespace$ = Symbol('_isWhitespace'); 767 let _isWhitespace$ = Symbol('_isWhitespace');
768 let _skipLeadingWhitespace$ = Symbol('_skipLeadingWhitespace'); 768 let _skipLeadingWhitespace$ = Symbol('_skipLeadingWhitespace');
769 let _skipTrailingWhitespace$ = Symbol('_skipTrailingWhitespace'); 769 let _skipTrailingWhitespace$ = Symbol('_skipTrailingWhitespace');
770 class JSString extends Interceptor { 770 class JSString extends Interceptor {
771 JSString() { 771 JSString() {
772 super.Interceptor(); 772 super.Interceptor();
773 } 773 }
774 codeUnitAt(index) { 774 codeUnitAt(index) {
775 if (!(typeof index == number)) 775 if (!(typeof index == 'number'))
776 throw new core.ArgumentError(index); 776 throw new core.ArgumentError(index);
777 if (dart.notNull(index) < 0) 777 if (dart.notNull(index) < 0)
778 throw new core.RangeError.value(index); 778 throw new core.RangeError.value(index);
779 if (dart.notNull(index) >= dart.notNull(this.length)) 779 if (dart.notNull(index) >= dart.notNull(this.length))
780 throw new core.RangeError.value(index); 780 throw new core.RangeError.value(index);
781 return dart.as(this.charCodeAt(index), core.int); 781 return dart.as(this.charCodeAt(index), core.int);
782 } 782 }
783 allMatches(string, start) { 783 allMatches(string, start) {
784 if (start === void 0) 784 if (start === void 0)
785 start = 0; 785 start = 0;
(...skipping 13 matching lines...) Expand all
799 if (dart.notNull(start) + dart.notNull(this.length) > dart.notNull(string. length)) 799 if (dart.notNull(start) + dart.notNull(this.length) > dart.notNull(string. length))
800 return null; 800 return null;
801 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); i = dart.notN ull(i) + 1) { 801 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); i = dart.notN ull(i) + 1) {
802 if (string.codeUnitAt(dart.notNull(start) + dart.notNull(i)) !== this.co deUnitAt(i)) { 802 if (string.codeUnitAt(dart.notNull(start) + dart.notNull(i)) !== this.co deUnitAt(i)) {
803 return null; 803 return null;
804 } 804 }
805 } 805 }
806 return new _js_helper.StringMatch(start, string, this); 806 return new _js_helper.StringMatch(start, string, this);
807 } 807 }
808 ['+'](other) { 808 ['+'](other) {
809 if (!(typeof other == string)) 809 if (!(typeof other == 'string'))
810 throw new core.ArgumentError(other); 810 throw new core.ArgumentError(other);
811 return this + other; 811 return this + other;
812 } 812 }
813 endsWith(other) { 813 endsWith(other) {
814 _js_helper.checkString(other); 814 _js_helper.checkString(other);
815 let otherLength = other.length; 815 let otherLength = other.length;
816 if (dart.notNull(otherLength) > dart.notNull(this.length)) 816 if (dart.notNull(otherLength) > dart.notNull(this.length))
817 return false; 817 return false;
818 return dart.equals(other, this.substring(dart.notNull(this.length) - dart. notNull(otherLength))); 818 return dart.equals(other, this.substring(dart.notNull(this.length) - dart. notNull(otherLength)));
819 } 819 }
(...skipping 14 matching lines...) Expand all
834 startIndex = 0; 834 startIndex = 0;
835 _js_helper.checkString(to); 835 _js_helper.checkString(to);
836 _js_helper.checkInt(startIndex); 836 _js_helper.checkInt(startIndex);
837 if (dart.notNull(startIndex) < 0 || dart.notNull(startIndex) > dart.notNul l(this.length)) { 837 if (dart.notNull(startIndex) < 0 || dart.notNull(startIndex) > dart.notNul l(this.length)) {
838 throw new core.RangeError.range(startIndex, 0, this.length); 838 throw new core.RangeError.range(startIndex, 0, this.length);
839 } 839 }
840 return dart.as(_js_helper.stringReplaceFirstUnchecked(this, from, to, star tIndex), core.String); 840 return dart.as(_js_helper.stringReplaceFirstUnchecked(this, from, to, star tIndex), core.String);
841 } 841 }
842 split(pattern) { 842 split(pattern) {
843 _js_helper.checkNull(pattern); 843 _js_helper.checkNull(pattern);
844 if (typeof pattern == string) { 844 if (typeof pattern == 'string') {
845 return dart.as(this.split(pattern), core.List$(core.String)); 845 return dart.as(this.split(pattern), core.List$(core.String));
846 } else if (dart.notNull(dart.is(pattern, _js_helper.JSSyntaxRegExp)) && _j s_helper.regExpCaptureCount(pattern) === 0) { 846 } else if (dart.notNull(dart.is(pattern, _js_helper.JSSyntaxRegExp)) && _j s_helper.regExpCaptureCount(pattern) === 0) {
847 let re = _js_helper.regExpGetNative(pattern); 847 let re = _js_helper.regExpGetNative(pattern);
848 return dart.as(this.split(re), core.List$(core.String)); 848 return dart.as(this.split(re), core.List$(core.String));
849 } else { 849 } else {
850 return this[_defaultSplit](pattern); 850 return this[_defaultSplit](pattern);
851 } 851 }
852 } 852 }
853 [_defaultSplit](pattern) { 853 [_defaultSplit](pattern) {
854 let result = new List.from([]); 854 let result = new core.List$(core.String).from([]);
855 let start = 0; 855 let start = 0;
856 let length = 1; 856 let length = 1;
857 for (let match of pattern.allMatches(this)) { 857 for (let match of pattern.allMatches(this)) {
858 let matchStart = dart.as(dart.dload(match, 'start'), core.int); 858 let matchStart = dart.as(dart.dload(match, 'start'), core.int);
859 let matchEnd = dart.as(dart.dload(match, 'end'), core.int); 859 let matchEnd = dart.as(dart.dload(match, 'end'), core.int);
860 length = dart.notNull(matchEnd) - dart.notNull(matchStart); 860 length = dart.notNull(matchEnd) - dart.notNull(matchStart);
861 if (length === 0 && start === matchStart) { 861 if (length === 0 && start === matchStart) {
862 continue; 862 continue;
863 } 863 }
864 let end = matchStart; 864 let end = matchStart;
865 result.add(this.substring(start, end)); 865 result.add(this.substring(start, end));
866 start = matchEnd; 866 start = matchEnd;
867 } 867 }
868 if (dart.notNull(start) < dart.notNull(this.length) || dart.notNull(length ) > 0) { 868 if (dart.notNull(start) < dart.notNull(this.length) || dart.notNull(length ) > 0) {
869 result.add(this.substring(start)); 869 result.add(this.substring(start));
870 } 870 }
871 return result; 871 return result;
872 } 872 }
873 startsWith(pattern, index) { 873 startsWith(pattern, index) {
874 if (index === void 0) 874 if (index === void 0)
875 index = 0; 875 index = 0;
876 _js_helper.checkInt(index); 876 _js_helper.checkInt(index);
877 if (dart.notNull(index) < 0 || dart.notNull(index) > dart.notNull(this.len gth)) { 877 if (dart.notNull(index) < 0 || dart.notNull(index) > dart.notNull(this.len gth)) {
878 throw new core.RangeError.range(index, 0, this.length); 878 throw new core.RangeError.range(index, 0, this.length);
879 } 879 }
880 if (typeof pattern == string) { 880 if (typeof pattern == 'string') {
881 let other = pattern; 881 let other = pattern;
882 let otherLength = other.length; 882 let otherLength = other.length;
883 let endIndex = dart.notNull(index) + dart.notNull(otherLength); 883 let endIndex = dart.notNull(index) + dart.notNull(otherLength);
884 if (dart.notNull(endIndex) > dart.notNull(this.length)) 884 if (dart.notNull(endIndex) > dart.notNull(this.length))
885 return false; 885 return false;
886 return dart.equals(other, this.substring(index, endIndex)); 886 return dart.equals(other, this.substring(index, endIndex));
887 } 887 }
888 return pattern.matchAsPrefix(this, index) !== null; 888 return pattern.matchAsPrefix(this, index) !== null;
889 } 889 }
890 substring(startIndex, endIndex) { 890 substring(startIndex, endIndex) {
(...skipping 21 matching lines...) Expand all
912 if (dart.notNull(codeUnit) < 256) { 912 if (dart.notNull(codeUnit) < 256) {
913 switch (codeUnit) { 913 switch (codeUnit) {
914 case 9: 914 case 9:
915 case 10: 915 case 10:
916 case 11: 916 case 11:
917 case 12: 917 case 12:
918 case 13: 918 case 13:
919 case 32: 919 case 32:
920 case 133: 920 case 133:
921 case 160: 921 case 160:
922 {
922 return true; 923 return true;
924 }
923 default: 925 default:
926 {
924 return false; 927 return false;
928 }
925 } 929 }
926 } 930 }
927 switch (codeUnit) { 931 switch (codeUnit) {
928 case 5760: 932 case 5760:
929 case 6158: 933 case 6158:
930 case 8192: 934 case 8192:
931 case 8193: 935 case 8193:
932 case 8194: 936 case 8194:
933 case 8195: 937 case 8195:
934 case 8196: 938 case 8196:
935 case 8197: 939 case 8197:
936 case 8198: 940 case 8198:
937 case 8199: 941 case 8199:
938 case 8200: 942 case 8200:
939 case 8201: 943 case 8201:
940 case 8202: 944 case 8202:
941 case 8232: 945 case 8232:
942 case 8233: 946 case 8233:
943 case 8239: 947 case 8239:
944 case 8287: 948 case 8287:
945 case 12288: 949 case 12288:
946 case 65279: 950 case 65279:
951 {
947 return true; 952 return true;
953 }
948 default: 954 default:
955 {
949 return false; 956 return false;
957 }
950 } 958 }
951 } 959 }
952 static [_skipLeadingWhitespace$](string, index) { 960 static [_skipLeadingWhitespace$](string, index) {
953 let SPACE = 32; 961 let SPACE = 32;
954 let CARRIAGE_RETURN = 13; 962 let CARRIAGE_RETURN = 13;
955 while (dart.notNull(index) < dart.notNull(string.length)) { 963 while (dart.notNull(index) < dart.notNull(string.length)) {
956 let codeUnit = string.codeUnitAt(index); 964 let codeUnit = string.codeUnitAt(index);
957 if (codeUnit !== SPACE && codeUnit !== CARRIAGE_RETURN && !dart.notNull( _isWhitespace(codeUnit))) { 965 if (codeUnit !== SPACE && codeUnit !== CARRIAGE_RETURN && !dart.notNull( _isWhitespace(codeUnit))) {
958 break; 966 break;
959 } 967 }
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
1078 get codeUnits() { 1086 get codeUnits() {
1079 return new _CodeUnits(this); 1087 return new _CodeUnits(this);
1080 } 1088 }
1081 get runes() { 1089 get runes() {
1082 return new core.Runes(this); 1090 return new core.Runes(this);
1083 } 1091 }
1084 indexOf(pattern, start) { 1092 indexOf(pattern, start) {
1085 if (start === void 0) 1093 if (start === void 0)
1086 start = 0; 1094 start = 0;
1087 _js_helper.checkNull(pattern); 1095 _js_helper.checkNull(pattern);
1088 if (!(typeof start == number)) 1096 if (!(typeof start == 'number'))
1089 throw new core.ArgumentError(start); 1097 throw new core.ArgumentError(start);
1090 if (dart.notNull(start) < 0 || dart.notNull(start) > dart.notNull(this.len gth)) { 1098 if (dart.notNull(start) < 0 || dart.notNull(start) > dart.notNull(this.len gth)) {
1091 throw new core.RangeError.range(start, 0, this.length); 1099 throw new core.RangeError.range(start, 0, this.length);
1092 } 1100 }
1093 if (typeof pattern == string) { 1101 if (typeof pattern == 'string') {
1094 return this.indexOf(pattern, start); 1102 return this.indexOf(pattern, start);
1095 } 1103 }
1096 if (dart.is(pattern, _js_helper.JSSyntaxRegExp)) { 1104 if (dart.is(pattern, _js_helper.JSSyntaxRegExp)) {
1097 let re = pattern; 1105 let re = pattern;
1098 let match = _js_helper.firstMatchAfter(re, this, start); 1106 let match = _js_helper.firstMatchAfter(re, this, start);
1099 return match === null ? -1 : match.start; 1107 return match === null ? -1 : match.start;
1100 } 1108 }
1101 for (let i = start; dart.notNull(i) <= dart.notNull(this.length); i = dart .notNull(i) + 1) { 1109 for (let i = start; dart.notNull(i) <= dart.notNull(this.length); i = dart .notNull(i) + 1) {
1102 if (pattern.matchAsPrefix(this, i) !== null) 1110 if (pattern.matchAsPrefix(this, i) !== null)
1103 return i; 1111 return i;
1104 } 1112 }
1105 return -1; 1113 return -1;
1106 } 1114 }
1107 lastIndexOf(pattern, start) { 1115 lastIndexOf(pattern, start) {
1108 if (start === void 0) 1116 if (start === void 0)
1109 start = null; 1117 start = null;
1110 _js_helper.checkNull(pattern); 1118 _js_helper.checkNull(pattern);
1111 if (start === null) { 1119 if (start === null) {
1112 start = this.length; 1120 start = this.length;
1113 } else if (!(typeof start == number)) { 1121 } else if (!(typeof start == 'number')) {
1114 throw new core.ArgumentError(start); 1122 throw new core.ArgumentError(start);
1115 } else if (dart.notNull(start) < 0 || dart.notNull(start) > dart.notNull(t his.length)) { 1123 } else if (dart.notNull(start) < 0 || dart.notNull(start) > dart.notNull(t his.length)) {
1116 throw new core.RangeError.range(start, 0, this.length); 1124 throw new core.RangeError.range(start, 0, this.length);
1117 } 1125 }
1118 if (typeof pattern == string) { 1126 if (typeof pattern == 'string') {
1119 let other = pattern; 1127 let other = pattern;
1120 if (dart.notNull(start) + dart.notNull(other.length) > dart.notNull(this .length)) { 1128 if (dart.notNull(start) + dart.notNull(other.length) > dart.notNull(this .length)) {
1121 start = dart.notNull(this.length) - dart.notNull(other.length); 1129 start = dart.notNull(this.length) - dart.notNull(other.length);
1122 } 1130 }
1123 return dart.as(_js_helper.stringLastIndexOfUnchecked(this, other, start) , core.int); 1131 return dart.as(_js_helper.stringLastIndexOfUnchecked(this, other, start) , core.int);
1124 } 1132 }
1125 for (let i = start; dart.notNull(i) >= 0; i = dart.notNull(i) - 1) { 1133 for (let i = start; dart.notNull(i) >= 0; i = dart.notNull(i) - 1) {
1126 if (pattern.matchAsPrefix(this, i) !== null) 1134 if (pattern.matchAsPrefix(this, i) !== null)
1127 return i; 1135 return i;
1128 } 1136 }
1129 return -1; 1137 return -1;
1130 } 1138 }
1131 contains(other, startIndex) { 1139 contains(other, startIndex) {
1132 if (startIndex === void 0) 1140 if (startIndex === void 0)
1133 startIndex = 0; 1141 startIndex = 0;
1134 _js_helper.checkNull(other); 1142 _js_helper.checkNull(other);
1135 if (dart.notNull(startIndex) < 0 || dart.notNull(startIndex) > dart.notNul l(this.length)) { 1143 if (dart.notNull(startIndex) < 0 || dart.notNull(startIndex) > dart.notNul l(this.length)) {
1136 throw new core.RangeError.range(startIndex, 0, this.length); 1144 throw new core.RangeError.range(startIndex, 0, this.length);
1137 } 1145 }
1138 return dart.as(_js_helper.stringContainsUnchecked(this, other, startIndex) , core.bool); 1146 return dart.as(_js_helper.stringContainsUnchecked(this, other, startIndex) , core.bool);
1139 } 1147 }
1140 get isEmpty() { 1148 get isEmpty() {
1141 return this.length === 0; 1149 return this.length === 0;
1142 } 1150 }
1143 get isNotEmpty() { 1151 get isNotEmpty() {
1144 return !dart.notNull(this.isEmpty); 1152 return !dart.notNull(this.isEmpty);
1145 } 1153 }
1146 compareTo(other) { 1154 compareTo(other) {
1147 if (!(typeof other == string)) 1155 if (!(typeof other == 'string'))
1148 throw new core.ArgumentError(other); 1156 throw new core.ArgumentError(other);
1149 return dart.equals(this, other) ? 0 : this < other ? -1 : 1; 1157 return dart.equals(this, other) ? 0 : this < other ? -1 : 1;
1150 } 1158 }
1151 toString() { 1159 toString() {
1152 return this; 1160 return this;
1153 } 1161 }
1154 get hashCode() { 1162 get hashCode() {
1155 let hash = 0; 1163 let hash = 0;
1156 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); i = dart.notN ull(i) + 1) { 1164 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); i = dart.notN ull(i) + 1) {
1157 hash = 536870911 & dart.notNull(hash) + this.charCodeAt(i); 1165 hash = 536870911 & dart.notNull(hash) + this.charCodeAt(i);
1158 hash = 536870911 & dart.notNull(hash) + ((524287 & dart.notNull(hash)) < < 10); 1166 hash = 536870911 & dart.notNull(hash) + ((524287 & dart.notNull(hash)) < < 10);
1159 hash = hash ^ hash >> 6; 1167 hash = hash ^ hash >> 6;
1160 } 1168 }
1161 hash = 536870911 & dart.notNull(hash) + ((67108863 & dart.notNull(hash)) < < 3); 1169 hash = 536870911 & dart.notNull(hash) + ((67108863 & dart.notNull(hash)) < < 3);
1162 hash = hash ^ hash >> 11; 1170 hash = hash ^ hash >> 11;
1163 return 536870911 & dart.notNull(hash) + ((16383 & dart.notNull(hash)) << 1 5); 1171 return 536870911 & dart.notNull(hash) + ((16383 & dart.notNull(hash)) << 1 5);
1164 } 1172 }
1165 get runtimeType() { 1173 get runtimeType() {
1166 return core.String; 1174 return core.String;
1167 } 1175 }
1168 get length() { 1176 get length() {
1169 return this.length; 1177 return this.length;
1170 } 1178 }
1171 get(index) { 1179 get(index) {
1172 if (!(typeof index == number)) 1180 if (!(typeof index == 'number'))
1173 throw new core.ArgumentError(index); 1181 throw new core.ArgumentError(index);
1174 if (dart.notNull(index) >= dart.notNull(this.length) || dart.notNull(index ) < 0) 1182 if (dart.notNull(index) >= dart.notNull(this.length) || dart.notNull(index ) < 0)
1175 throw new core.RangeError.value(index); 1183 throw new core.RangeError.value(index);
1176 return this[index]; 1184 return this[index];
1177 } 1185 }
1178 } 1186 }
1179 let _string = Symbol('_string'); 1187 let _string = Symbol('_string');
1180 class _CodeUnits extends _internal.UnmodifiableListBase$(core.int) { 1188 class _CodeUnits extends _internal.UnmodifiableListBase$(core.int) {
1181 _CodeUnits(string$) { 1189 _CodeUnits(string$) {
1182 this[_string] = string$; 1190 this[_string] = string$;
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after
1409 exports.findInterceptorForType = findInterceptorForType; 1417 exports.findInterceptorForType = findInterceptorForType;
1410 exports.JSBool = JSBool; 1418 exports.JSBool = JSBool;
1411 exports.JSNull = JSNull; 1419 exports.JSNull = JSNull;
1412 exports.JSIndexable = JSIndexable; 1420 exports.JSIndexable = JSIndexable;
1413 exports.JSMutableIndexable = JSMutableIndexable; 1421 exports.JSMutableIndexable = JSMutableIndexable;
1414 exports.JSObject = JSObject; 1422 exports.JSObject = JSObject;
1415 exports.JavaScriptObject = JavaScriptObject; 1423 exports.JavaScriptObject = JavaScriptObject;
1416 exports.PlainJavaScriptObject = PlainJavaScriptObject; 1424 exports.PlainJavaScriptObject = PlainJavaScriptObject;
1417 exports.UnknownJavaScriptObject = UnknownJavaScriptObject; 1425 exports.UnknownJavaScriptObject = UnknownJavaScriptObject;
1418 })(_interceptors || (_interceptors = {})); 1426 })(_interceptors || (_interceptors = {}));
OLDNEW
« no previous file with comments | « no previous file | lib/runtime/dart/_internal.js » ('j') | lib/runtime/dart_runtime.js » ('J')

Powered by Google App Engine
This is Rietveld 408576698