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

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

Issue 1058653002: implement mixins in subtype checks, more codegen fixes (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 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 return this[_throwUnmodifiable](); 54 return this[_throwUnmodifiable]();
55 } 55 }
56 addAll(other) { 56 addAll(other) {
57 return this[_throwUnmodifiable](); 57 return this[_throwUnmodifiable]();
58 } 58 }
59 } 59 }
60 ConstantMap[dart.implements] = () => [core.Map$(K, V)]; 60 ConstantMap[dart.implements] = () => [core.Map$(K, V)];
61 dart.defineNamedConstructor(ConstantMap, _$); 61 dart.defineNamedConstructor(ConstantMap, _$);
62 return ConstantMap; 62 return ConstantMap;
63 }); 63 });
64 let ConstantMap = ConstantMap$(dart.dynamic, dart.dynamic); 64 let ConstantMap = ConstantMap$();
65 let _jsObject = Symbol('_jsObject'); 65 let _jsObject = Symbol('_jsObject');
66 let _keys = Symbol('_keys'); 66 let _keys = Symbol('_keys');
67 let _fetch = Symbol('_fetch'); 67 let _fetch = Symbol('_fetch');
68 let ConstantStringMap$ = dart.generic(function(K, V) { 68 let ConstantStringMap$ = dart.generic(function(K, V) {
69 class ConstantStringMap extends ConstantMap$(K, V) { 69 class ConstantStringMap extends ConstantMap$(K, V) {
70 [_$](length, jsObject$, keys$) { 70 [_$](length, jsObject$, keys$) {
71 this.length = length; 71 this.length = length;
72 this[_jsObject] = jsObject$; 72 this[_jsObject] = jsObject$;
73 this[_keys] = keys$; 73 this[_keys] = keys$;
74 super[_$](); 74 super[_$]();
(...skipping 27 matching lines...) Expand all
102 return new (_ConstantMapKeyIterable$(K))(this); 102 return new (_ConstantMapKeyIterable$(K))(this);
103 } 103 }
104 get values() { 104 get values() {
105 return new (_internal.MappedIterable$(K, V))(this[_keys], dart.closureWr ap(((key) => this[_fetch](key)).bind(this), "(K) → V")); 105 return new (_internal.MappedIterable$(K, V))(this[_keys], dart.closureWr ap(((key) => this[_fetch](key)).bind(this), "(K) → V"));
106 } 106 }
107 } 107 }
108 ConstantStringMap[dart.implements] = () => [_internal.EfficientLength]; 108 ConstantStringMap[dart.implements] = () => [_internal.EfficientLength];
109 dart.defineNamedConstructor(ConstantStringMap, _$); 109 dart.defineNamedConstructor(ConstantStringMap, _$);
110 return ConstantStringMap; 110 return ConstantStringMap;
111 }); 111 });
112 let ConstantStringMap = ConstantStringMap$(dart.dynamic, dart.dynamic); 112 let ConstantStringMap = ConstantStringMap$();
113 let _protoValue = Symbol('_protoValue'); 113 let _protoValue = Symbol('_protoValue');
114 let ConstantProtoMap$ = dart.generic(function(K, V) { 114 let ConstantProtoMap$ = dart.generic(function(K, V) {
115 class ConstantProtoMap extends ConstantStringMap$(K, V) { 115 class ConstantProtoMap extends ConstantStringMap$(K, V) {
116 [_$](length, jsObject, keys, protoValue) { 116 [_$](length, jsObject, keys, protoValue) {
117 this[_protoValue] = protoValue; 117 this[_protoValue] = protoValue;
118 super[_$](dart.as(length, core.int), jsObject, dart.as(keys, core.List$( K))); 118 super[_$](dart.as(length, core.int), jsObject, dart.as(keys, core.List$( K)));
119 } 119 }
120 containsKey(key) { 120 containsKey(key) {
121 if (!(typeof key == 'string')) 121 if (!(typeof key == 'string'))
122 return false; 122 return false;
123 if (dart.equals('__proto__', key)) 123 if (dart.equals('__proto__', key))
124 return true; 124 return true;
125 return jsHasOwnProperty(this[_jsObject], dart.as(key, core.String)); 125 return jsHasOwnProperty(this[_jsObject], dart.as(key, core.String));
126 } 126 }
127 [_fetch](key) { 127 [_fetch](key) {
128 return dart.equals('__proto__', key) ? this[_protoValue] : jsPropertyAcc ess(this[_jsObject], dart.as(key, core.String)); 128 return dart.equals('__proto__', key) ? this[_protoValue] : jsPropertyAcc ess(this[_jsObject], dart.as(key, core.String));
129 } 129 }
130 } 130 }
131 dart.defineNamedConstructor(ConstantProtoMap, _$); 131 dart.defineNamedConstructor(ConstantProtoMap, _$);
132 return ConstantProtoMap; 132 return ConstantProtoMap;
133 }); 133 });
134 let ConstantProtoMap = ConstantProtoMap$(dart.dynamic, dart.dynamic); 134 let ConstantProtoMap = ConstantProtoMap$();
135 let _map = Symbol('_map'); 135 let _map = Symbol('_map');
136 let _ConstantMapKeyIterable$ = dart.generic(function(K) { 136 let _ConstantMapKeyIterable$ = dart.generic(function(K) {
137 class _ConstantMapKeyIterable extends collection.IterableBase$(K) { 137 class _ConstantMapKeyIterable extends collection.IterableBase$(K) {
138 _ConstantMapKeyIterable(map$) { 138 _ConstantMapKeyIterable(map$) {
139 this[_map] = map$; 139 this[_map] = map$;
140 super.IterableBase(); 140 super.IterableBase();
141 } 141 }
142 get iterator() { 142 get iterator() {
143 return this[_map][_keys].iterator; 143 return this[_map][_keys].iterator;
144 } 144 }
145 get length() { 145 get length() {
146 return this[_map][_keys].length; 146 return this[_map][_keys].length;
147 } 147 }
148 } 148 }
149 return _ConstantMapKeyIterable; 149 return _ConstantMapKeyIterable;
150 }); 150 });
151 let _ConstantMapKeyIterable = _ConstantMapKeyIterable$(dart.dynamic); 151 let _ConstantMapKeyIterable = _ConstantMapKeyIterable$();
152 let _jsData = Symbol('_jsData'); 152 let _jsData = Symbol('_jsData');
153 let _getMap = Symbol('_getMap'); 153 let _getMap = Symbol('_getMap');
154 let GeneralConstantMap$ = dart.generic(function(K, V) { 154 let GeneralConstantMap$ = dart.generic(function(K, V) {
155 class GeneralConstantMap extends ConstantMap$(K, V) { 155 class GeneralConstantMap extends ConstantMap$(K, V) {
156 GeneralConstantMap(jsData) { 156 GeneralConstantMap(jsData) {
157 this[_jsData] = jsData; 157 this[_jsData] = jsData;
158 super[_$](); 158 super[_$]();
159 } 159 }
160 [_getMap]() { 160 [_getMap]() {
161 if (!this.$map) { 161 if (!this.$map) {
(...skipping 19 matching lines...) Expand all
181 } 181 }
182 get values() { 182 get values() {
183 return this[_getMap]().values; 183 return this[_getMap]().values;
184 } 184 }
185 get length() { 185 get length() {
186 return this[_getMap]().length; 186 return this[_getMap]().length;
187 } 187 }
188 } 188 }
189 return GeneralConstantMap; 189 return GeneralConstantMap;
190 }); 190 });
191 let GeneralConstantMap = GeneralConstantMap$(dart.dynamic, dart.dynamic); 191 let GeneralConstantMap = GeneralConstantMap$();
192 // Function contains: (String, String) → bool 192 // Function contains: (String, String) → bool
193 function contains(userAgent, name) { 193 function contains(userAgent, name) {
194 return userAgent.indexOf(name) != -1; 194 return userAgent.indexOf(name) != -1;
195 } 195 }
196 // Function arrayLength: (List<dynamic>) → int 196 // Function arrayLength: (List<dynamic>) → int
197 function arrayLength(array) { 197 function arrayLength(array) {
198 return array.length; 198 return array.length;
199 } 199 }
200 // Function arrayGet: (List<dynamic>, int) → dynamic 200 // Function arrayGet: (List<dynamic>, int) → dynamic
201 function arrayGet(array, index) { 201 function arrayGet(array, index) {
(...skipping 1130 matching lines...) Expand 10 before | Expand all | Expand 10 after
1332 } 1332 }
1333 // Function isNotIdentical: (dynamic, dynamic) → bool 1333 // Function isNotIdentical: (dynamic, dynamic) → bool
1334 function isNotIdentical(s, t) { 1334 function isNotIdentical(s, t) {
1335 return s !== t; 1335 return s !== t;
1336 } 1336 }
1337 class _Patch extends core.Object { 1337 class _Patch extends core.Object {
1338 _Patch() { 1338 _Patch() {
1339 } 1339 }
1340 } 1340 }
1341 let patch = new _Patch(); 1341 let patch = new _Patch();
1342 class InternalMap extends core.Object { 1342 class InternalMap extends core.Object {}
1343 }
1344 // Function requiresPreamble: () → dynamic 1343 // Function requiresPreamble: () → dynamic
1345 function requiresPreamble() { 1344 function requiresPreamble() {
1346 } 1345 }
1347 // Function isJsIndexable: (dynamic, dynamic) → bool 1346 // Function isJsIndexable: (dynamic, dynamic) → bool
1348 function isJsIndexable(object, record) { 1347 function isJsIndexable(object, record) {
1349 if (record != null) { 1348 if (record != null) {
1350 let result = _interceptors.dispatchRecordIndexability(record); 1349 let result = _interceptors.dispatchRecordIndexability(record);
1351 if (result != null) 1350 if (result != null)
1352 return dart.as(result, core.bool); 1351 return dart.as(result, core.bool);
1353 } 1352 }
(...skipping 1461 matching lines...) Expand 10 before | Expand all | Expand 10 after
2815 Closure.NAME_INDEX = 1; 2814 Closure.NAME_INDEX = 1;
2816 Closure.CALL_NAME_INDEX = 2; 2815 Closure.CALL_NAME_INDEX = 2;
2817 Closure.REQUIRED_PARAMETER_INDEX = 3; 2816 Closure.REQUIRED_PARAMETER_INDEX = 3;
2818 Closure.OPTIONAL_PARAMETER_INDEX = 4; 2817 Closure.OPTIONAL_PARAMETER_INDEX = 4;
2819 Closure.DEFAULT_ARGUMENTS_INDEX = 5; 2818 Closure.DEFAULT_ARGUMENTS_INDEX = 5;
2820 Closure.functionCounter = 0; 2819 Closure.functionCounter = 0;
2821 // Function closureFromTearOff: (dynamic, dynamic, dynamic, dynamic, dynamic, dynamic) → dynamic 2820 // Function closureFromTearOff: (dynamic, dynamic, dynamic, dynamic, dynamic, dynamic) → dynamic
2822 function closureFromTearOff(receiver, functions, reflectionInfo, isStatic, jsA rguments, name) { 2821 function closureFromTearOff(receiver, functions, reflectionInfo, isStatic, jsA rguments, name) {
2823 return Closure.fromTearOff(receiver, _interceptors.JSArray.markFixedList(dar t.as(functions, core.List)), _interceptors.JSArray.markFixedList(dart.as(reflect ionInfo, core.List)), !!isStatic, jsArguments, name); 2822 return Closure.fromTearOff(receiver, _interceptors.JSArray.markFixedList(dar t.as(functions, core.List)), _interceptors.JSArray.markFixedList(dart.as(reflect ionInfo, core.List)), !!isStatic, jsArguments, name);
2824 } 2823 }
2825 class TearOffClosure extends Closure { 2824 class TearOffClosure extends Closure {}
2826 }
2827 let _self = Symbol('_self'); 2825 let _self = Symbol('_self');
2828 let _target = Symbol('_target'); 2826 let _target = Symbol('_target');
2829 let _name = Symbol('_name'); 2827 let _name = Symbol('_name');
2830 class BoundClosure extends TearOffClosure { 2828 class BoundClosure extends TearOffClosure {
2831 BoundClosure(self$, target$, receiver$, name$) { 2829 BoundClosure(self$, target$, receiver$, name$) {
2832 this[_self] = self$; 2830 this[_self] = self$;
2833 this[_target] = target$; 2831 this[_target] = target$;
2834 this[_receiver] = receiver$; 2832 this[_receiver] = receiver$;
2835 this[_name] = name$; 2833 this[_name] = name$;
2836 super.TearOffClosure(); 2834 super.TearOffClosure();
(...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after
3175 throw new TypeErrorImplementation.fromMessage(dart.as(message, core.String)) ; 3173 throw new TypeErrorImplementation.fromMessage(dart.as(message, core.String)) ;
3176 } 3174 }
3177 // Function checkDeferredIsLoaded: (String, String) → void 3175 // Function checkDeferredIsLoaded: (String, String) → void
3178 function checkDeferredIsLoaded(loadId, uri) { 3176 function checkDeferredIsLoaded(loadId, uri) {
3179 if (!dart.notNull(exports._loadedLibraries.contains(loadId))) { 3177 if (!dart.notNull(exports._loadedLibraries.contains(loadId))) {
3180 throw new DeferredNotLoadedError(uri); 3178 throw new DeferredNotLoadedError(uri);
3181 } 3179 }
3182 } 3180 }
3183 dart.defineLazyClass(exports, { 3181 dart.defineLazyClass(exports, {
3184 get JavaScriptIndexingBehavior() { 3182 get JavaScriptIndexingBehavior() {
3185 class JavaScriptIndexingBehavior extends _interceptors.JSMutableIndexable { 3183 class JavaScriptIndexingBehavior extends _interceptors.JSMutableIndexable {}
3186 }
3187 return JavaScriptIndexingBehavior; 3184 return JavaScriptIndexingBehavior;
3188 } 3185 }
3189 }); 3186 });
3190 class TypeErrorImplementation extends core.Error { 3187 class TypeErrorImplementation extends core.Error {
3191 TypeErrorImplementation(value, type) { 3188 TypeErrorImplementation(value, type) {
3192 this.message = `type '${Primitives.objectTypeName(value)}' is not a subtyp e ` + `of type '${type}'`; 3189 this.message = `type '${Primitives.objectTypeName(value)}' is not a subtyp e ` + `of type '${type}'`;
3193 super.Error(); 3190 super.Error();
3194 } 3191 }
3195 fromMessage(message) { 3192 fromMessage(message) {
3196 this.message = message; 3193 this.message = message;
(...skipping 446 matching lines...) Expand 10 before | Expand all | Expand 10 after
3643 } 3640 }
3644 // Function jsonEncodeNative: (String) → String 3641 // Function jsonEncodeNative: (String) → String
3645 function jsonEncodeNative(string) { 3642 function jsonEncodeNative(string) {
3646 return JSON.stringify(string); 3643 return JSON.stringify(string);
3647 } 3644 }
3648 // Function getIsolateAffinityTag: (String) → String 3645 // Function getIsolateAffinityTag: (String) → String
3649 function getIsolateAffinityTag(name) { 3646 function getIsolateAffinityTag(name) {
3650 let isolateTagGetter = _foreign_helper.JS_EMBEDDED_GLOBAL('', _js_embedded_n ames.GET_ISOLATE_TAG); 3647 let isolateTagGetter = _foreign_helper.JS_EMBEDDED_GLOBAL('', _js_embedded_n ames.GET_ISOLATE_TAG);
3651 return isolateTagGetter(name); 3648 return isolateTagGetter(name);
3652 } 3649 }
3650 class LoadLibraryFunctionType extends core.Function {}
3653 // Function _loadLibraryWrapper: (String) → () → Future<Null> 3651 // Function _loadLibraryWrapper: (String) → () → Future<Null>
3654 function _loadLibraryWrapper(loadId) { 3652 function _loadLibraryWrapper(loadId) {
3655 return () => loadDeferredLibrary(loadId); 3653 return () => loadDeferredLibrary(loadId);
3656 } 3654 }
3657 dart.defineLazyProperties(exports, { 3655 dart.defineLazyProperties(exports, {
3658 get _loadingLibraries() { 3656 get _loadingLibraries() {
3659 return dart.map(); 3657 return dart.map();
3660 }, 3658 },
3661 get _loadedLibraries() { 3659 get _loadedLibraries() {
3662 return new (core.Set$(core.String))(); 3660 return new (core.Set$(core.String))();
3663 } 3661 }
3664 }); 3662 });
3663 class DeferredLoadCallback extends core.Function {}
3665 exports.deferredLoadHook = null; 3664 exports.deferredLoadHook = null;
3666 // Function loadDeferredLibrary: (String) → Future<Null> 3665 // Function loadDeferredLibrary: (String) → Future<Null>
3667 function loadDeferredLibrary(loadId) { 3666 function loadDeferredLibrary(loadId) {
3668 let urisMap = _foreign_helper.JS_EMBEDDED_GLOBAL('', _js_embedded_names.DEFE RRED_LIBRARY_URIS); 3667 let urisMap = _foreign_helper.JS_EMBEDDED_GLOBAL('', _js_embedded_names.DEFE RRED_LIBRARY_URIS);
3669 let uris = dart.as(urisMap[loadId], core.List$(core.String)); 3668 let uris = dart.as(urisMap[loadId], core.List$(core.String));
3670 let hashesMap = _foreign_helper.JS_EMBEDDED_GLOBAL('', _js_embedded_names.DE FERRED_LIBRARY_HASHES); 3669 let hashesMap = _foreign_helper.JS_EMBEDDED_GLOBAL('', _js_embedded_names.DE FERRED_LIBRARY_HASHES);
3671 let hashes = dart.as(hashesMap[loadId], core.List$(core.String)); 3670 let hashes = dart.as(hashesMap[loadId], core.List$(core.String));
3672 if (uris == null) 3671 if (uris == null)
3673 return dart.as(new async.Future.value(null), async.Future$(core.Null)); 3672 return dart.as(new async.Future.value(null), async.Future$(core.Null));
3674 let indices = new core.List.generate(uris.length, dart.closureWrap((i) => i, "(int) → dynamic")); 3673 let indices = new core.List.generate(uris.length, dart.closureWrap((i) => i, "(int) → dynamic"));
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
3779 // Function mainHasTooManyParameters: () → void 3778 // Function mainHasTooManyParameters: () → void
3780 function mainHasTooManyParameters() { 3779 function mainHasTooManyParameters() {
3781 throw new MainError("'main' expects too many parameters."); 3780 throw new MainError("'main' expects too many parameters.");
3782 } 3781 }
3783 // Exports: 3782 // Exports:
3784 exports.NoSideEffects = NoSideEffects; 3783 exports.NoSideEffects = NoSideEffects;
3785 exports.NoThrows = NoThrows; 3784 exports.NoThrows = NoThrows;
3786 exports.NoInline = NoInline; 3785 exports.NoInline = NoInline;
3787 exports.IrRepresentation = IrRepresentation; 3786 exports.IrRepresentation = IrRepresentation;
3788 exports.Native = Native; 3787 exports.Native = Native;
3788 exports.ConstantMap$ = ConstantMap$;
3789 exports.ConstantMap = ConstantMap; 3789 exports.ConstantMap = ConstantMap;
3790 exports.ConstantMap$ = ConstantMap$; 3790 exports.ConstantStringMap$ = ConstantStringMap$;
3791 exports.ConstantStringMap = ConstantStringMap; 3791 exports.ConstantStringMap = ConstantStringMap;
3792 exports.ConstantStringMap$ = ConstantStringMap$; 3792 exports.ConstantProtoMap$ = ConstantProtoMap$;
3793 exports.ConstantProtoMap = ConstantProtoMap; 3793 exports.ConstantProtoMap = ConstantProtoMap;
3794 exports.ConstantProtoMap$ = ConstantProtoMap$; 3794 exports.GeneralConstantMap$ = GeneralConstantMap$;
3795 exports.GeneralConstantMap = GeneralConstantMap; 3795 exports.GeneralConstantMap = GeneralConstantMap;
3796 exports.GeneralConstantMap$ = GeneralConstantMap$;
3797 exports.contains = contains; 3796 exports.contains = contains;
3798 exports.arrayLength = arrayLength; 3797 exports.arrayLength = arrayLength;
3799 exports.arrayGet = arrayGet; 3798 exports.arrayGet = arrayGet;
3800 exports.arraySet = arraySet; 3799 exports.arraySet = arraySet;
3801 exports.propertyGet = propertyGet; 3800 exports.propertyGet = propertyGet;
3802 exports.callHasOwnProperty = callHasOwnProperty; 3801 exports.callHasOwnProperty = callHasOwnProperty;
3803 exports.propertySet = propertySet; 3802 exports.propertySet = propertySet;
3804 exports.getPropertyFromPrototype = getPropertyFromPrototype; 3803 exports.getPropertyFromPrototype = getPropertyFromPrototype;
3805 exports.toStringForNativeObject = toStringForNativeObject; 3804 exports.toStringForNativeObject = toStringForNativeObject;
3806 exports.hashCodeForNativeObject = hashCodeForNativeObject; 3805 exports.hashCodeForNativeObject = hashCodeForNativeObject;
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
3996 exports.getVoidRuntimeType = getVoidRuntimeType; 3995 exports.getVoidRuntimeType = getVoidRuntimeType;
3997 exports.functionTypeTestMetaHelper = functionTypeTestMetaHelper; 3996 exports.functionTypeTestMetaHelper = functionTypeTestMetaHelper;
3998 exports.convertRtiToRuntimeType = convertRtiToRuntimeType; 3997 exports.convertRtiToRuntimeType = convertRtiToRuntimeType;
3999 exports.RuntimeTypePlain = RuntimeTypePlain; 3998 exports.RuntimeTypePlain = RuntimeTypePlain;
4000 exports.RuntimeTypeGeneric = RuntimeTypeGeneric; 3999 exports.RuntimeTypeGeneric = RuntimeTypeGeneric;
4001 exports.FunctionTypeInfoDecoderRing = FunctionTypeInfoDecoderRing; 4000 exports.FunctionTypeInfoDecoderRing = FunctionTypeInfoDecoderRing;
4002 exports.UnimplementedNoSuchMethodError = UnimplementedNoSuchMethodError; 4001 exports.UnimplementedNoSuchMethodError = UnimplementedNoSuchMethodError;
4003 exports.random64 = random64; 4002 exports.random64 = random64;
4004 exports.jsonEncodeNative = jsonEncodeNative; 4003 exports.jsonEncodeNative = jsonEncodeNative;
4005 exports.getIsolateAffinityTag = getIsolateAffinityTag; 4004 exports.getIsolateAffinityTag = getIsolateAffinityTag;
4005 exports.LoadLibraryFunctionType = LoadLibraryFunctionType;
4006 exports.DeferredLoadCallback = DeferredLoadCallback;
4006 exports.loadDeferredLibrary = loadDeferredLibrary; 4007 exports.loadDeferredLibrary = loadDeferredLibrary;
4007 exports.MainError = MainError; 4008 exports.MainError = MainError;
4008 exports.missingMain = missingMain; 4009 exports.missingMain = missingMain;
4009 exports.badMain = badMain; 4010 exports.badMain = badMain;
4010 exports.mainHasTooManyParameters = mainHasTooManyParameters; 4011 exports.mainHasTooManyParameters = mainHasTooManyParameters;
4011 })(_js_helper || (_js_helper = {})); 4012 })(_js_helper || (_js_helper = {}));
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698