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

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

Issue 1138793002: Tag closures with their types (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Rebase Created 5 years, 7 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 _interceptors = dart.defineLibrary(_interceptors, {}); 1 var _interceptors = dart.defineLibrary(_interceptors, {});
2 var core = dart.import(core); 2 var core = dart.import(core);
3 var _js_helper = dart.lazyImport(_js_helper); 3 var _js_helper = dart.lazyImport(_js_helper);
4 var _internal = dart.import(_internal); 4 var _internal = dart.import(_internal);
5 var _foreign_helper = dart.import(_foreign_helper); 5 var _foreign_helper = dart.import(_foreign_helper);
6 var _js_embedded_names = dart.import(_js_embedded_names); 6 var _js_embedded_names = dart.import(_js_embedded_names);
7 (function(exports, core, _js_helper, _internal, _foreign_helper, _js_embedded_na mes) { 7 (function(exports, core, _js_helper, _internal, _foreign_helper, _js_embedded_na mes) {
8 'use strict'; 8 'use strict';
9 let JSArray = Array; 9 let JSArray = Array;
10 let JSMutableArray$ = dart.generic(function(E) { 10 let JSMutableArray$ = dart.generic(function(E) {
11 class JSMutableArray extends JSArray$(E) { 11 class JSMutableArray extends JSArray$(E) {
12 JSMutableArray() { 12 JSMutableArray() {
13 super.JSArray(); 13 super.JSArray();
14 } 14 }
15 } 15 }
16 JSMutableArray[dart.implements] = () => [JSMutableIndexable]; 16 JSMutableArray[dart.implements] = () => [JSMutableIndexable];
17 dart.setSignature(JSMutableArray, {});
17 return JSMutableArray; 18 return JSMutableArray;
18 }); 19 });
19 let JSMutableArray = JSMutableArray$(); 20 let JSMutableArray = JSMutableArray$();
20 let JSFixedArray$ = dart.generic(function(E) { 21 let JSFixedArray$ = dart.generic(function(E) {
21 class JSFixedArray extends JSMutableArray$(E) {} 22 class JSFixedArray extends JSMutableArray$(E) {}
23 dart.setSignature(JSFixedArray, {});
22 return JSFixedArray; 24 return JSFixedArray;
23 }); 25 });
24 let JSFixedArray = JSFixedArray$(); 26 let JSFixedArray = JSFixedArray$();
25 let JSExtendableArray$ = dart.generic(function(E) { 27 let JSExtendableArray$ = dart.generic(function(E) {
26 class JSExtendableArray extends JSMutableArray$(E) {} 28 class JSExtendableArray extends JSMutableArray$(E) {}
29 dart.setSignature(JSExtendableArray, {});
27 return JSExtendableArray; 30 return JSExtendableArray;
28 }); 31 });
29 let JSExtendableArray = JSExtendableArray$(); 32 let JSExtendableArray = JSExtendableArray$();
30 class Interceptor extends core.Object { 33 class Interceptor extends core.Object {
31 Interceptor() { 34 Interceptor() {
32 } 35 }
33 ['=='](other) { 36 ['=='](other) {
34 return core.identical(this, other); 37 return core.identical(this, other);
35 } 38 }
36 get hashCode() { 39 get hashCode() {
37 return _js_helper.Primitives.objectHashCode(this); 40 return _js_helper.Primitives.objectHashCode(this);
38 } 41 }
39 toString() { 42 toString() {
40 return _js_helper.Primitives.objectToString(this); 43 return _js_helper.Primitives.objectToString(this);
41 } 44 }
42 noSuchMethod(invocation) { 45 noSuchMethod(invocation) {
43 throw new core.NoSuchMethodError(this, invocation.memberName, invocation.p ositionalArguments, invocation.namedArguments); 46 throw new core.NoSuchMethodError(this, invocation.memberName, invocation.p ositionalArguments, invocation.namedArguments);
44 } 47 }
45 get runtimeType() { 48 get runtimeType() {
46 return _js_helper.getRuntimeType(this); 49 return _js_helper.getRuntimeType(this);
47 } 50 }
48 } 51 }
52 dart.setSignature(Interceptor, {
53 methods: () => ({
54 '==': dart.functionType(core.bool, [core.Object]),
55 toString: dart.functionType(core.String, []),
56 noSuchMethod: dart.functionType(dart.dynamic, [core.Invocation])
57 })
58 });
49 let _isInt32 = Symbol('_isInt32'); 59 let _isInt32 = Symbol('_isInt32');
50 let _tdivFast = Symbol('_tdivFast'); 60 let _tdivFast = Symbol('_tdivFast');
51 let _tdivSlow = Symbol('_tdivSlow'); 61 let _tdivSlow = Symbol('_tdivSlow');
52 let _shlPositive = Symbol('_shlPositive'); 62 let _shlPositive = Symbol('_shlPositive');
53 let _shrReceiverPositive = Symbol('_shrReceiverPositive'); 63 let _shrReceiverPositive = Symbol('_shrReceiverPositive');
54 let _shrOtherPositive = Symbol('_shrOtherPositive'); 64 let _shrOtherPositive = Symbol('_shrOtherPositive');
55 let _shrBothPositive = Symbol('_shrBothPositive'); 65 let _shrBothPositive = Symbol('_shrBothPositive');
56 class JSNumber extends Interceptor { 66 class JSNumber extends Interceptor {
57 JSNumber() { 67 JSNumber() {
58 super.Interceptor(); 68 super.Interceptor();
(...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after
352 ['>='](other) { 362 ['>='](other) {
353 if (!dart.is(other, core.num)) 363 if (!dart.is(other, core.num))
354 throw new core.ArgumentError(other); 364 throw new core.ArgumentError(other);
355 return this >= other; 365 return this >= other;
356 } 366 }
357 get runtimeType() { 367 get runtimeType() {
358 return core.num; 368 return core.num;
359 } 369 }
360 } 370 }
361 JSNumber[dart.implements] = () => [core.num]; 371 JSNumber[dart.implements] = () => [core.num];
372 dart.setSignature(JSNumber, {
373 methods: () => ({
374 compareTo: dart.functionType(core.int, [core.num]),
375 remainder: dart.functionType(core.num, [core.num]),
376 abs: dart.functionType(core.num, []),
377 toInt: dart.functionType(core.int, []),
378 truncate: dart.functionType(core.int, []),
379 ceil: dart.functionType(core.int, []),
380 floor: dart.functionType(core.int, []),
381 round: dart.functionType(core.int, []),
382 ceilToDouble: dart.functionType(core.double, []),
383 floorToDouble: dart.functionType(core.double, []),
384 roundToDouble: dart.functionType(core.double, []),
385 truncateToDouble: dart.functionType(core.double, []),
386 clamp: dart.functionType(core.num, [core.num, core.num]),
387 toDouble: dart.functionType(core.double, []),
388 toStringAsFixed: dart.functionType(core.String, [core.int]),
389 toStringAsExponential: dart.functionType(core.String, [], [core.int]),
390 toStringAsPrecision: dart.functionType(core.String, [core.int]),
391 toRadixString: dart.functionType(core.String, [core.int]),
392 toString: dart.functionType(core.String, []),
393 'unary-': dart.functionType(core.num, []),
394 '+': dart.functionType(core.num, [core.num]),
395 '-': dart.functionType(core.num, [core.num]),
396 '/': dart.functionType(core.double, [core.num]),
397 '*': dart.functionType(core.num, [core.num]),
398 '%': dart.functionType(core.num, [core.num]),
399 [_isInt32]: dart.functionType(core.bool, [dart.dynamic]),
400 '~/': dart.functionType(core.int, [core.num]),
401 [_tdivFast]: dart.functionType(core.int, [core.num]),
402 [_tdivSlow]: dart.functionType(core.int, [core.num]),
403 '<<': dart.functionType(core.num, [core.num]),
404 [_shlPositive]: dart.functionType(core.num, [core.num]),
405 '>>': dart.functionType(core.num, [core.num]),
406 [_shrOtherPositive]: dart.functionType(core.num, [core.num]),
407 [_shrReceiverPositive]: dart.functionType(core.num, [core.num]),
408 [_shrBothPositive]: dart.functionType(core.num, [core.num]),
409 '&': dart.functionType(core.num, [core.num]),
410 '|': dart.functionType(core.num, [core.num]),
411 '^': dart.functionType(core.num, [core.num]),
412 '<': dart.functionType(core.bool, [core.num]),
413 '>': dart.functionType(core.bool, [core.num]),
414 '<=': dart.functionType(core.bool, [core.num]),
415 '>=': dart.functionType(core.bool, [core.num])
416 }),
417 statics: () => ({_handleIEtoString: dart.functionType(core.String, [core.Str ing])}),
418 names: ['_handleIEtoString']
419 });
362 JSNumber._MIN_INT32 = -2147483648; 420 JSNumber._MIN_INT32 = -2147483648;
363 JSNumber._MAX_INT32 = 2147483647; 421 JSNumber._MAX_INT32 = 2147483647;
364 class JSInt extends JSNumber { 422 class JSInt extends JSNumber {
365 JSInt() { 423 JSInt() {
366 super.JSNumber(); 424 super.JSNumber();
367 } 425 }
368 get isEven() { 426 get isEven() {
369 return this['&'](1) == 0; 427 return this['&'](1) == 0;
370 } 428 }
371 get isOdd() { 429 get isOdd() {
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
412 return i; 470 return i;
413 } 471 }
414 get runtimeType() { 472 get runtimeType() {
415 return core.int; 473 return core.int;
416 } 474 }
417 ['~']() { 475 ['~']() {
418 return dart.as(~this >>> 0, core.int); 476 return dart.as(~this >>> 0, core.int);
419 } 477 }
420 } 478 }
421 JSInt[dart.implements] = () => [core.int, core.double]; 479 JSInt[dart.implements] = () => [core.int, core.double];
480 dart.setSignature(JSInt, {
481 methods: () => ({
482 toUnsigned: dart.functionType(core.int, [core.int]),
483 toSigned: dart.functionType(core.int, [core.int]),
484 '~': dart.functionType(core.int, [])
485 }),
486 statics: () => ({
487 _bitCount: dart.functionType(core.int, [core.int]),
488 _shru: dart.functionType(dart.dynamic, [core.int, core.int]),
489 _shrs: dart.functionType(dart.dynamic, [core.int, core.int]),
490 _ors: dart.functionType(dart.dynamic, [core.int, core.int]),
491 _spread: dart.functionType(core.int, [core.int])
492 }),
493 names: ['_bitCount', '_shru', '_shrs', '_ors', '_spread']
494 });
422 class JSDouble extends JSNumber { 495 class JSDouble extends JSNumber {
423 JSDouble() { 496 JSDouble() {
424 super.JSNumber(); 497 super.JSNumber();
425 } 498 }
426 get runtimeType() { 499 get runtimeType() {
427 return core.double; 500 return core.double;
428 } 501 }
429 } 502 }
430 JSDouble[dart.implements] = () => [core.double]; 503 JSDouble[dart.implements] = () => [core.double];
504 dart.setSignature(JSDouble, {});
431 class JSPositiveInt extends JSInt { 505 class JSPositiveInt extends JSInt {
432 JSPositiveInt() { 506 JSPositiveInt() {
433 super.JSInt(); 507 super.JSInt();
434 } 508 }
435 } 509 }
510 dart.setSignature(JSPositiveInt, {});
436 class JSUInt32 extends JSPositiveInt {} 511 class JSUInt32 extends JSPositiveInt {}
512 dart.setSignature(JSUInt32, {});
437 class JSUInt31 extends JSUInt32 {} 513 class JSUInt31 extends JSUInt32 {}
514 dart.setSignature(JSUInt31, {});
438 let _defaultSplit = Symbol('_defaultSplit'); 515 let _defaultSplit = Symbol('_defaultSplit');
439 class JSString extends Interceptor { 516 class JSString extends Interceptor {
440 JSString() { 517 JSString() {
441 super.Interceptor(); 518 super.Interceptor();
442 } 519 }
443 codeUnitAt(index) { 520 codeUnitAt(index) {
444 if (!(typeof index == 'number')) 521 if (!(typeof index == 'number'))
445 throw new core.ArgumentError(index); 522 throw new core.ArgumentError(index);
446 if (dart.notNull(index) < 0) 523 if (dart.notNull(index) < 0)
447 throw new core.RangeError.value(index); 524 throw new core.RangeError.value(index);
(...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after
847 } 924 }
848 get(index) { 925 get(index) {
849 if (!(typeof index == 'number')) 926 if (!(typeof index == 'number'))
850 throw new core.ArgumentError(index); 927 throw new core.ArgumentError(index);
851 if (dart.notNull(index) >= dart.notNull(this.length) || dart.notNull(index ) < 0) 928 if (dart.notNull(index) >= dart.notNull(this.length) || dart.notNull(index ) < 0)
852 throw new core.RangeError.value(index); 929 throw new core.RangeError.value(index);
853 return this[index]; 930 return this[index];
854 } 931 }
855 } 932 }
856 JSString[dart.implements] = () => [core.String, JSIndexable]; 933 JSString[dart.implements] = () => [core.String, JSIndexable];
934 dart.setSignature(JSString, {
935 methods: () => ({
936 codeUnitAt: dart.functionType(core.int, [core.int]),
937 allMatches: dart.functionType(core.Iterable$(core.Match), [core.String], [ core.int]),
938 matchAsPrefix: dart.functionType(core.Match, [core.String], [core.int]),
939 '+': dart.functionType(core.String, [core.String]),
940 endsWith: dart.functionType(core.bool, [core.String]),
941 replaceAll: dart.functionType(core.String, [core.Pattern, core.String]),
942 replaceAllMapped: dart.functionType(core.String, [core.Pattern, dart.funct ionType(core.String, [core.Match])]),
943 splitMapJoin: dart.functionType(core.String, [core.Pattern], {nMatc: dart. functionType(core.String, [core.Match]), nNonMatc: dart.functionType(core.String , [core.String])}),
944 replaceFirst: dart.functionType(core.String, [core.Pattern, core.String], [core.int]),
945 split: dart.functionType(core.List$(core.String), [core.Pattern]),
946 [_defaultSplit]: dart.functionType(core.List$(core.String), [core.Pattern] ),
947 startsWith: dart.functionType(core.bool, [core.Pattern], [core.int]),
948 substring: dart.functionType(core.String, [core.int], [core.int]),
949 toLowerCase: dart.functionType(core.String, []),
950 toUpperCase: dart.functionType(core.String, []),
951 trim: dart.functionType(core.String, []),
952 trimLeft: dart.functionType(core.String, []),
953 trimRight: dart.functionType(core.String, []),
954 '*': dart.functionType(core.String, [core.int]),
955 padLeft: dart.functionType(core.String, [core.int], [core.String]),
956 padRight: dart.functionType(core.String, [core.int], [core.String]),
957 indexOf: dart.functionType(core.int, [core.Pattern], [core.int]),
958 lastIndexOf: dart.functionType(core.int, [core.Pattern], [core.int]),
959 contains: dart.functionType(core.bool, [core.Pattern], [core.int]),
960 compareTo: dart.functionType(core.int, [core.String]),
961 toString: dart.functionType(core.String, []),
962 get: dart.functionType(core.String, [core.int])
963 }),
964 statics: () => ({
965 _isWhitespace: dart.functionType(core.bool, [core.int]),
966 _skipLeadingWhitespace: dart.functionType(core.int, [core.String, core.int ]),
967 _skipTrailingWhitespace: dart.functionType(core.int, [core.String, core.in t])
968 }),
969 names: ['_isWhitespace', '_skipLeadingWhitespace', '_skipTrailingWhitespace' ]
970 });
857 let _string = Symbol('_string'); 971 let _string = Symbol('_string');
858 class _CodeUnits extends _internal.UnmodifiableListBase$(core.int) { 972 class _CodeUnits extends _internal.UnmodifiableListBase$(core.int) {
859 _CodeUnits(string) { 973 _CodeUnits(string) {
860 this[_string] = string; 974 this[_string] = string;
861 } 975 }
862 get [core.$length]() { 976 get [core.$length]() {
863 return this[_string].length; 977 return this[_string].length;
864 } 978 }
865 [core.$get](i) { 979 [core.$get](i) {
866 return this[_string].codeUnitAt(i); 980 return this[_string].codeUnitAt(i);
867 } 981 }
868 } 982 }
869 // Function _symbolToString: (Symbol) → String 983 dart.setSignature(_CodeUnits, {
984 methods: () => ({[core.$get]: dart.functionType(core.int, [core.int])})
985 });
870 function _symbolToString(symbol) { 986 function _symbolToString(symbol) {
871 return _internal.Symbol.getName(dart.as(symbol, _internal.Symbol)); 987 return _internal.Symbol.getName(dart.as(symbol, _internal.Symbol));
872 } 988 }
873 // Function _symbolMapToStringMap: (Map<Symbol, dynamic>) → dynamic 989 dart.fn(_symbolToString, core.String, [core.Symbol]);
874 function _symbolMapToStringMap(map) { 990 function _symbolMapToStringMap(map) {
875 if (map == null) 991 if (map == null)
876 return null; 992 return null;
877 let result = new (core.Map$(core.String, dart.dynamic))(); 993 let result = new (core.Map$(core.String, dart.dynamic))();
878 map.forEach((key, value) => { 994 map.forEach(dart.fn((key, value) => {
879 result.set(_symbolToString(key), value); 995 result.set(_symbolToString(key), value);
880 }); 996 }, dart.dynamic, [core.Symbol, dart.dynamic]));
881 return result; 997 return result;
882 } 998 }
883 // Function getInterceptor: (dynamic) → dynamic 999 dart.fn(_symbolMapToStringMap, dart.dynamic, [core.Map$(core.Symbol, dart.dyna mic)]);
884 function getInterceptor(object) { 1000 function getInterceptor(object) {
885 return void 0; 1001 return void 0;
886 } 1002 }
887 // Function getDispatchProperty: (dynamic) → dynamic 1003 dart.fn(getInterceptor);
888 function getDispatchProperty(object) { 1004 function getDispatchProperty(object) {
889 return object[_foreign_helper.JS_EMBEDDED_GLOBAL('String', _js_embedded_name s.DISPATCH_PROPERTY_NAME)]; 1005 return object[_foreign_helper.JS_EMBEDDED_GLOBAL('String', _js_embedded_name s.DISPATCH_PROPERTY_NAME)];
890 } 1006 }
891 // Function setDispatchProperty: (dynamic, dynamic) → dynamic 1007 dart.fn(getDispatchProperty);
892 function setDispatchProperty(object, value) { 1008 function setDispatchProperty(object, value) {
893 _js_helper.defineProperty(object, dart.as(_foreign_helper.JS_EMBEDDED_GLOBAL ('String', _js_embedded_names.DISPATCH_PROPERTY_NAME), core.String), value); 1009 _js_helper.defineProperty(object, dart.as(_foreign_helper.JS_EMBEDDED_GLOBAL ('String', _js_embedded_names.DISPATCH_PROPERTY_NAME), core.String), value);
894 } 1010 }
895 // Function makeDispatchRecord: (dynamic, dynamic, dynamic, dynamic) → dynamic 1011 dart.fn(setDispatchProperty);
896 function makeDispatchRecord(interceptor, proto, extension, indexability) { 1012 function makeDispatchRecord(interceptor, proto, extension, indexability) {
897 return {i: interceptor, p: proto, e: extension, x: indexability}; 1013 return {i: interceptor, p: proto, e: extension, x: indexability};
898 } 1014 }
899 // Function dispatchRecordInterceptor: (dynamic) → dynamic 1015 dart.fn(makeDispatchRecord);
900 function dispatchRecordInterceptor(record) { 1016 function dispatchRecordInterceptor(record) {
901 return record.i; 1017 return record.i;
902 } 1018 }
903 // Function dispatchRecordProto: (dynamic) → dynamic 1019 dart.fn(dispatchRecordInterceptor);
904 function dispatchRecordProto(record) { 1020 function dispatchRecordProto(record) {
905 return record.p; 1021 return record.p;
906 } 1022 }
907 // Function dispatchRecordExtension: (dynamic) → dynamic 1023 dart.fn(dispatchRecordProto);
908 function dispatchRecordExtension(record) { 1024 function dispatchRecordExtension(record) {
909 return record.e; 1025 return record.e;
910 } 1026 }
911 // Function dispatchRecordIndexability: (dynamic) → dynamic 1027 dart.fn(dispatchRecordExtension);
912 function dispatchRecordIndexability(record) { 1028 function dispatchRecordIndexability(record) {
913 return record.x; 1029 return record.x;
914 } 1030 }
915 // Function getNativeInterceptor: (dynamic) → dynamic 1031 dart.fn(dispatchRecordIndexability);
916 function getNativeInterceptor(object) { 1032 function getNativeInterceptor(object) {
917 let record = getDispatchProperty(object); 1033 let record = getDispatchProperty(object);
918 if (record == null) { 1034 if (record == null) {
919 if (_js_helper.initNativeDispatchFlag == null) { 1035 if (_js_helper.initNativeDispatchFlag == null) {
920 _js_helper.initNativeDispatch(); 1036 _js_helper.initNativeDispatch();
921 record = getDispatchProperty(object); 1037 record = getDispatchProperty(object);
922 } 1038 }
923 } 1039 }
924 if (record != null) { 1040 if (record != null) {
925 let proto = dispatchRecordProto(record); 1041 let proto = dispatchRecordProto(record);
(...skipping 15 matching lines...) Expand all
941 if (interceptor == null) { 1057 if (interceptor == null) {
942 let proto = Object.getPrototypeOf(object); 1058 let proto = Object.getPrototypeOf(object);
943 if (proto == null || proto === Object.prototype) { 1059 if (proto == null || proto === Object.prototype) {
944 return _foreign_helper.JS_INTERCEPTOR_CONSTANT(PlainJavaScriptObject); 1060 return _foreign_helper.JS_INTERCEPTOR_CONSTANT(PlainJavaScriptObject);
945 } else { 1061 } else {
946 return _foreign_helper.JS_INTERCEPTOR_CONSTANT(UnknownJavaScriptObject); 1062 return _foreign_helper.JS_INTERCEPTOR_CONSTANT(UnknownJavaScriptObject);
947 } 1063 }
948 } 1064 }
949 return interceptor; 1065 return interceptor;
950 } 1066 }
1067 dart.fn(getNativeInterceptor);
951 dart.copyProperties(exports, { 1068 dart.copyProperties(exports, {
952 get mapTypeToInterceptor() { 1069 get mapTypeToInterceptor() {
953 return _foreign_helper.JS_EMBEDDED_GLOBAL('', _js_embedded_names.MAP_TYPE_ TO_INTERCEPTOR); 1070 return _foreign_helper.JS_EMBEDDED_GLOBAL('', _js_embedded_names.MAP_TYPE_ TO_INTERCEPTOR);
954 } 1071 }
955 }); 1072 });
956 // Function findIndexForNativeSubclassType: (Type) → int
957 function findIndexForNativeSubclassType(type) { 1073 function findIndexForNativeSubclassType(type) {
958 if (exports.mapTypeToInterceptor == null) 1074 if (exports.mapTypeToInterceptor == null)
959 return null; 1075 return null;
960 let map = dart.as(exports.mapTypeToInterceptor, core.List); 1076 let map = dart.as(exports.mapTypeToInterceptor, core.List);
961 for (let i = 0; dart.notNull(i) + 1 < dart.notNull(map[core.$length]); i = d art.notNull(i) + 3) { 1077 for (let i = 0; dart.notNull(i) + 1 < dart.notNull(map[core.$length]); i = d art.notNull(i) + 3) {
962 if (dart.equals(type, map[core.$get](i))) { 1078 if (dart.equals(type, map[core.$get](i))) {
963 return i; 1079 return i;
964 } 1080 }
965 } 1081 }
966 return null; 1082 return null;
967 } 1083 }
968 // Function findInterceptorConstructorForType: (Type) → dynamic 1084 dart.fn(findIndexForNativeSubclassType, core.int, [core.Type]);
969 function findInterceptorConstructorForType(type) { 1085 function findInterceptorConstructorForType(type) {
970 let index = findIndexForNativeSubclassType(type); 1086 let index = findIndexForNativeSubclassType(type);
971 if (index == null) 1087 if (index == null)
972 return null; 1088 return null;
973 let map = dart.as(exports.mapTypeToInterceptor, core.List); 1089 let map = dart.as(exports.mapTypeToInterceptor, core.List);
974 return map[core.$get](dart.notNull(index) + 1); 1090 return map[core.$get](dart.notNull(index) + 1);
975 } 1091 }
976 // Function findConstructorForNativeSubclassType: (Type, String) → dynamic 1092 dart.fn(findInterceptorConstructorForType, dart.dynamic, [core.Type]);
977 function findConstructorForNativeSubclassType(type, name) { 1093 function findConstructorForNativeSubclassType(type, name) {
978 let index = findIndexForNativeSubclassType(type); 1094 let index = findIndexForNativeSubclassType(type);
979 if (index == null) 1095 if (index == null)
980 return null; 1096 return null;
981 let map = dart.as(exports.mapTypeToInterceptor, core.List); 1097 let map = dart.as(exports.mapTypeToInterceptor, core.List);
982 let constructorMap = map[core.$get](dart.notNull(index) + 2); 1098 let constructorMap = map[core.$get](dart.notNull(index) + 2);
983 let constructorFn = constructorMap[name]; 1099 let constructorFn = constructorMap[name];
984 return constructorFn; 1100 return constructorFn;
985 } 1101 }
986 // Function findInterceptorForType: (Type) → dynamic 1102 dart.fn(findConstructorForNativeSubclassType, dart.dynamic, [core.Type, core.S tring]);
987 function findInterceptorForType(type) { 1103 function findInterceptorForType(type) {
988 let constructor = findInterceptorConstructorForType(type); 1104 let constructor = findInterceptorConstructorForType(type);
989 if (constructor == null) 1105 if (constructor == null)
990 return null; 1106 return null;
991 return constructor.prototype; 1107 return constructor.prototype;
992 } 1108 }
1109 dart.fn(findInterceptorForType, dart.dynamic, [core.Type]);
993 class JSBool extends Interceptor { 1110 class JSBool extends Interceptor {
994 JSBool() { 1111 JSBool() {
995 super.Interceptor(); 1112 super.Interceptor();
996 } 1113 }
997 toString() { 1114 toString() {
998 return String(this); 1115 return String(this);
999 } 1116 }
1000 get hashCode() { 1117 get hashCode() {
1001 return this ? 2 * 3 * 23 * 3761 : 269 * 811; 1118 return this ? 2 * 3 * 23 * 3761 : 269 * 811;
1002 } 1119 }
1003 get runtimeType() { 1120 get runtimeType() {
1004 return core.bool; 1121 return core.bool;
1005 } 1122 }
1006 } 1123 }
1007 JSBool[dart.implements] = () => [core.bool]; 1124 JSBool[dart.implements] = () => [core.bool];
1125 dart.setSignature(JSBool, {
1126 methods: () => ({toString: dart.functionType(core.String, [])})
1127 });
1008 class JSNull extends Interceptor { 1128 class JSNull extends Interceptor {
1009 JSNull() { 1129 JSNull() {
1010 super.Interceptor(); 1130 super.Interceptor();
1011 } 1131 }
1012 ['=='](other) { 1132 ['=='](other) {
1013 return core.identical(null, other); 1133 return core.identical(null, other);
1014 } 1134 }
1015 toString() { 1135 toString() {
1016 return 'null'; 1136 return 'null';
1017 } 1137 }
1018 get hashCode() { 1138 get hashCode() {
1019 return 0; 1139 return 0;
1020 } 1140 }
1021 get runtimeType() { 1141 get runtimeType() {
1022 return core.Null; 1142 return core.Null;
1023 } 1143 }
1024 noSuchMethod(invocation) { 1144 noSuchMethod(invocation) {
1025 return super.noSuchMethod(invocation); 1145 return super.noSuchMethod(invocation);
1026 } 1146 }
1027 } 1147 }
1028 JSNull[dart.implements] = () => [core.Null]; 1148 JSNull[dart.implements] = () => [core.Null];
1149 dart.setSignature(JSNull, {
1150 methods: () => ({
1151 '==': dart.functionType(core.bool, [dart.dynamic]),
1152 toString: dart.functionType(core.String, []),
1153 noSuchMethod: dart.functionType(dart.dynamic, [core.Invocation])
1154 })
1155 });
1029 class JSIndexable extends core.Object {} 1156 class JSIndexable extends core.Object {}
1157 dart.setSignature(JSIndexable, {});
1030 class JSMutableIndexable extends JSIndexable {} 1158 class JSMutableIndexable extends JSIndexable {}
1159 dart.setSignature(JSMutableIndexable, {});
1031 class JSObject extends core.Object {} 1160 class JSObject extends core.Object {}
1161 dart.setSignature(JSObject, {});
1032 class JavaScriptObject extends Interceptor { 1162 class JavaScriptObject extends Interceptor {
1033 JavaScriptObject() { 1163 JavaScriptObject() {
1034 super.Interceptor(); 1164 super.Interceptor();
1035 } 1165 }
1036 get hashCode() { 1166 get hashCode() {
1037 return 0; 1167 return 0;
1038 } 1168 }
1039 get runtimeType() { 1169 get runtimeType() {
1040 return JSObject; 1170 return JSObject;
1041 } 1171 }
1042 } 1172 }
1043 JavaScriptObject[dart.implements] = () => [JSObject]; 1173 JavaScriptObject[dart.implements] = () => [JSObject];
1174 dart.setSignature(JavaScriptObject, {});
1044 class PlainJavaScriptObject extends JavaScriptObject { 1175 class PlainJavaScriptObject extends JavaScriptObject {
1045 PlainJavaScriptObject() { 1176 PlainJavaScriptObject() {
1046 super.JavaScriptObject(); 1177 super.JavaScriptObject();
1047 } 1178 }
1048 } 1179 }
1180 dart.setSignature(PlainJavaScriptObject, {});
1049 class UnknownJavaScriptObject extends JavaScriptObject { 1181 class UnknownJavaScriptObject extends JavaScriptObject {
1050 UnknownJavaScriptObject() { 1182 UnknownJavaScriptObject() {
1051 super.JavaScriptObject(); 1183 super.JavaScriptObject();
1052 } 1184 }
1053 toString() { 1185 toString() {
1054 return String(this); 1186 return String(this);
1055 } 1187 }
1056 } 1188 }
1189 dart.setSignature(UnknownJavaScriptObject, {
1190 methods: () => ({toString: dart.functionType(core.String, [])})
1191 });
1057 // Exports: 1192 // Exports:
1058 exports.JSArray = JSArray; 1193 exports.JSArray = JSArray;
1059 exports.JSMutableArray$ = JSMutableArray$; 1194 exports.JSMutableArray$ = JSMutableArray$;
1060 exports.JSMutableArray = JSMutableArray; 1195 exports.JSMutableArray = JSMutableArray;
1061 exports.JSFixedArray$ = JSFixedArray$; 1196 exports.JSFixedArray$ = JSFixedArray$;
1062 exports.JSFixedArray = JSFixedArray; 1197 exports.JSFixedArray = JSFixedArray;
1063 exports.JSExtendableArray$ = JSExtendableArray$; 1198 exports.JSExtendableArray$ = JSExtendableArray$;
1064 exports.JSExtendableArray = JSExtendableArray; 1199 exports.JSExtendableArray = JSExtendableArray;
1065 exports.Interceptor = Interceptor; 1200 exports.Interceptor = Interceptor;
1066 exports.JSNumber = JSNumber; 1201 exports.JSNumber = JSNumber;
(...skipping 18 matching lines...) Expand all
1085 exports.findInterceptorForType = findInterceptorForType; 1220 exports.findInterceptorForType = findInterceptorForType;
1086 exports.JSBool = JSBool; 1221 exports.JSBool = JSBool;
1087 exports.JSNull = JSNull; 1222 exports.JSNull = JSNull;
1088 exports.JSIndexable = JSIndexable; 1223 exports.JSIndexable = JSIndexable;
1089 exports.JSMutableIndexable = JSMutableIndexable; 1224 exports.JSMutableIndexable = JSMutableIndexable;
1090 exports.JSObject = JSObject; 1225 exports.JSObject = JSObject;
1091 exports.JavaScriptObject = JavaScriptObject; 1226 exports.JavaScriptObject = JavaScriptObject;
1092 exports.PlainJavaScriptObject = PlainJavaScriptObject; 1227 exports.PlainJavaScriptObject = PlainJavaScriptObject;
1093 exports.UnknownJavaScriptObject = UnknownJavaScriptObject; 1228 exports.UnknownJavaScriptObject = UnknownJavaScriptObject;
1094 })(_interceptors, core, _js_helper, _internal, _foreign_helper, _js_embedded_nam es); 1229 })(_interceptors, core, _js_helper, _internal, _foreign_helper, _js_embedded_nam es);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698