| Index: pkg/dev_compiler/lib/js/legacy/dart_sdk.js
|
| diff --git a/pkg/dev_compiler/lib/js/legacy/dart_sdk.js b/pkg/dev_compiler/lib/js/legacy/dart_sdk.js
|
| index 029beee516efc323f3e97f020a2f380247bb2e90..32574a8a45fca7ae595b1cffa04e98988d8da901 100644
|
| --- a/pkg/dev_compiler/lib/js/legacy/dart_sdk.js
|
| +++ b/pkg/dev_compiler/lib/js/legacy/dart_sdk.js
|
| @@ -634,6 +634,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| let dynamicTodynamic$ = () => (dynamicTodynamic$ = dart.constFn(dart.definiteFunctionType(dart.dynamic, [dart.dynamic])))();
|
| let StringAndStringToint = () => (StringAndStringToint = dart.constFn(dart.definiteFunctionType(core.int, [core.String, core.String])))();
|
| let VoidTo_MethodStats = () => (VoidTo_MethodStats = dart.constFn(dart.definiteFunctionType(dart._MethodStats, [])))();
|
| + let VoidToFunctionType = () => (VoidToFunctionType = dart.constFn(dart.definiteFunctionType(dart.FunctionType, [])))();
|
| let dynamicToString = () => (dynamicToString = dart.constFn(dart.definiteFunctionType(core.String, [dart.dynamic])))();
|
| let dynamicToListOfString = () => (dynamicToListOfString = dart.constFn(dart.definiteFunctionType(ListOfString(), [dart.dynamic])))();
|
| let dynamicToList = () => (dynamicToList = dart.constFn(dart.definiteFunctionType(core.List, [dart.dynamic])))();
|
| @@ -973,6 +974,27 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| dart.copyProperties(s, m[dart._methodSig]);
|
| }
|
| return s;
|
| + },
|
| + fields: () => {
|
| + let s = {};
|
| + for (let m of mixins) {
|
| + dart.copyProperties(s, m[dart._fieldSig]);
|
| + }
|
| + return s;
|
| + },
|
| + getters: () => {
|
| + let s = {};
|
| + for (let m of mixins) {
|
| + dart.copyProperties(s, m[dart._getterSig]);
|
| + }
|
| + return s;
|
| + },
|
| + setters: () => {
|
| + let s = {};
|
| + for (let m of mixins) {
|
| + dart.copyProperties(s, m[dart._setterSig]);
|
| + }
|
| + return s;
|
| }
|
| });
|
| Mixin[dart._mixins] = mixins;
|
| @@ -1075,15 +1097,24 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| dart.getGenericTypeCtor = function(value) {
|
| return value[dart._genericTypeCtor];
|
| };
|
| - dart.getMethodType = function(obj, name) {
|
| - let type = obj == null ? core.Object : obj.__proto__.constructor;
|
| - return dart.getMethodTypeFromType(type, name);
|
| + dart.getType = function(obj) {
|
| + return obj == null ? core.Object : obj.__proto__.constructor;
|
| };
|
| - dart.getMethodTypeFromType = function(type, name) {
|
| + dart.getMethodType = function(type, name) {
|
| let sigObj = type[dart._methodSig];
|
| if (sigObj === void 0) return void 0;
|
| return sigObj[name];
|
| };
|
| + dart.getFieldType = function(type, name) {
|
| + let sigObj = type[dart._fieldSig];
|
| + if (sigObj === void 0) return void 0;
|
| + return sigObj[name];
|
| + };
|
| + dart.getSetterType = function(type, name) {
|
| + let sigObj = type[dart._setterSig];
|
| + if (sigObj === void 0) return void 0;
|
| + return sigObj[name];
|
| + };
|
| dart.classGetConstructorType = function(cls, name) {
|
| if (!name) name = 'new';
|
| if (cls === void 0) return void 0;
|
| @@ -1095,7 +1126,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| dart.bind = function(obj, name, f) {
|
| if (f === void 0) f = obj[name];
|
| f = f.bind(obj);
|
| - let sig = dart.getMethodType(obj, name);
|
| + let sig = dart.getMethodType(dart.getType(obj), name);
|
| dart.assert(sig);
|
| dart.tag(f, sig);
|
| return f;
|
| @@ -1109,7 +1140,8 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| dart._setInstanceSignature = function(f, sigF, kind) {
|
| dart.defineMemoizedGetter(f, kind, () => {
|
| let sigObj = sigF();
|
| - sigObj.__proto__ = f.__proto__[kind];
|
| + let proto = f.__proto__;
|
| + sigObj.__proto__ = kind in proto ? proto[kind] : null;
|
| return sigObj;
|
| });
|
| };
|
| @@ -1170,8 +1202,22 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| dart._setStaticSetterSignature(f, staticSetters);
|
| dart._setStaticTypes(f, names);
|
| };
|
| - dart.hasMethod = function(obj, name) {
|
| - return dart.getMethodType(obj, name) !== void 0;
|
| + dart._hasSigEntry = function(type, sigF, name) {
|
| + let sigObj = type[sigF];
|
| + if (sigObj === void 0) return false;
|
| + return name in sigObj;
|
| + };
|
| + dart.hasMethod = function(type, name) {
|
| + return dart._hasSigEntry(type, dart._methodSig, name);
|
| + };
|
| + dart.hasGetter = function(type, name) {
|
| + return dart._hasSigEntry(type, dart._getterSig, name);
|
| + };
|
| + dart.hasSetter = function(type, name) {
|
| + return dart._hasSigEntry(type, dart._setterSig, name);
|
| + };
|
| + dart.hasField = function(type, name) {
|
| + return dart._hasSigEntry(type, dart._fieldSig, name);
|
| };
|
| dart.defineNamedConstructor = function(clazz, name) {
|
| let proto = clazz.prototype;
|
| @@ -1232,9 +1278,15 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| if (!jsProto) return;
|
| jsProto[dart._extensionType] = dartExtType;
|
| dart._installProperties(jsProto, extProto);
|
| - let originalSigFn = dart.getOwnPropertyDescriptor(dartExtType, dart._methodSig).get;
|
| - dart.assert(originalSigFn);
|
| - dart.defineMemoizedGetter(jsType, dart._methodSig, originalSigFn);
|
| + function updateSig(sigF) {
|
| + let originalSigFn = dart.getOwnPropertyDescriptor(dartExtType, sigF).get;
|
| + dart.assert(originalSigFn);
|
| + dart.defineMemoizedGetter(jsType, sigF, originalSigFn);
|
| + }
|
| + updateSig(dart._methodSig);
|
| + updateSig(dart._fieldSig);
|
| + updateSig(dart._getterSig);
|
| + updateSig(dart._setterSig);
|
| };
|
| dart.defineExtensionMembers = function(type, methodNames) {
|
| let proto = type.prototype;
|
| @@ -1242,14 +1294,23 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| let method = dart.getOwnPropertyDescriptor(proto, name);
|
| dart.defineProperty(proto, dart.getExtensionSymbol(name), method);
|
| }
|
| - let originalSigFn = dart.getOwnPropertyDescriptor(type, dart._methodSig).get;
|
| - dart.defineMemoizedGetter(type, dart._methodSig, function() {
|
| - let sig = originalSigFn();
|
| - for (let name of methodNames) {
|
| - sig[dart.getExtensionSymbol(name)] = sig[name];
|
| - }
|
| - return sig;
|
| - });
|
| + function upgradeSig(sigF) {
|
| + let originalSigFn = dart.getOwnPropertyDescriptor(type, sigF).get;
|
| + dart.defineMemoizedGetter(type, sigF, function() {
|
| + let sig = originalSigFn();
|
| + let propertyNames = Object.getOwnPropertyNames(sig);
|
| + for (let name of methodNames) {
|
| + if (name in sig) {
|
| + sig[dart.getExtensionSymbol(name)] = sig[name];
|
| + }
|
| + }
|
| + return sig;
|
| + });
|
| + }
|
| + upgradeSig(dart._methodSig);
|
| + upgradeSig(dart._fieldSig);
|
| + upgradeSig(dart._getterSig);
|
| + upgradeSig(dart._setterSig);
|
| };
|
| dart.setType = function(obj, type) {
|
| obj.__proto__ = type.prototype;
|
| @@ -1450,6 +1511,65 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| return dart._asInstanceOfLazyJSType(object, this);
|
| };
|
| };
|
| + dart._memoizeArray = function(map, arr, create) {
|
| + let len = arr.length;
|
| + map = dart._lookupNonTerminal(map, len);
|
| + for (var i = 0; i < len - 1; ++i) {
|
| + map = dart._lookupNonTerminal(map, arr[i]);
|
| + }
|
| + let result = map.get(arr[len - 1]);
|
| + if (result !== void 0) return result;
|
| + map.set(arr[len - 1], result = create());
|
| + return result;
|
| + };
|
| + dart._normalizeParameter = function(a) {
|
| + if (a instanceof Array) {
|
| + let result = [];
|
| + result.push(a[0] == dart.dynamic ? dart.bottom : a[0]);
|
| + result.push(a.slice(1));
|
| + return result;
|
| + }
|
| + return a == dart.dynamic ? dart.bottom : a;
|
| + };
|
| + dart._canonicalizeArray = function(definite, array, map) {
|
| + let arr = definite ? array : array.map(dart._normalizeParameter);
|
| + return dart._memoizeArray(map, arr, () => arr);
|
| + };
|
| + dart._canonicalizeNamed = function(definite, named, map) {
|
| + let key = [];
|
| + let names = dart.getOwnPropertyNames(named);
|
| + let r = {};
|
| + for (var i = 0; i < names.length; ++i) {
|
| + let name = names[i];
|
| + let type = named[name];
|
| + if (!definite) r[name] = type = dart._normalizeParameter(type);
|
| + key.push(name);
|
| + key.push(type);
|
| + }
|
| + if (!definite) named = r;
|
| + return dart._memoizeArray(map, key, () => named);
|
| + };
|
| + dart._lookupNonTerminal = function(map, key) {
|
| + let result = map.get(key);
|
| + if (result !== void 0) return result;
|
| + map.set(key, result = new Map());
|
| + return result;
|
| + };
|
| + dart._createSmall = function(count, definite, returnType, required) {
|
| + let map = dart._fnTypeSmallMap[count];
|
| + let args = definite ? required : required.map(dart._normalizeParameter);
|
| + for (var i = 0; i < count; ++i) {
|
| + map = dart._lookupNonTerminal(map, args[i]);
|
| + }
|
| + let result = map.get(returnType);
|
| + if (result !== void 0) return result;
|
| + result = new dart.FunctionType(returnType, args, [], {});
|
| + map.set(returnType, result);
|
| + return result;
|
| + };
|
| + dart.typedef = function(name, closure) {
|
| + return new dart.Typedef(name, closure);
|
| + };
|
| dart._functionType = function(definite, returnType, args, extra) {
|
| if (args === void 0 && extra === void 0) {
|
| const fnTypeParts = returnType;
|
| @@ -1468,9 +1588,6 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| dart.definiteFunctionType = function(returnType, args, extra) {
|
| return dart._functionType(true, returnType, args, extra);
|
| };
|
| - dart.typedef = function(name, closure) {
|
| - return new dart.Typedef(name, closure);
|
| - };
|
| dart.typeName = function(type) {
|
| if (type === void 0) return "undefined type";
|
| if (type === null) return "null type";
|
| @@ -1506,7 +1623,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| };
|
| dart.getImplicitFunctionType = function(type) {
|
| if (dart.test(dart.isFunctionType(type))) return type;
|
| - return dart.getMethodTypeFromType(type, 'call');
|
| + return dart.getMethodType(type, 'call');
|
| };
|
| dart.isFunctionType = function(type) {
|
| return type instanceof dart.AbstractFunctionType || type === core.Function;
|
| @@ -1764,18 +1881,32 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| let f = dart._canonicalMember(obj, field);
|
| dart._trackCall(obj);
|
| if (f != null) {
|
| - if (dart.test(dart.hasMethod(obj, f))) return dart.bind(obj, f, void 0);
|
| - return obj[f];
|
| + let type = dart.getType(obj);
|
| + if (dart.test(dart.hasField(type, f)) || dart.test(dart.hasGetter(type, f))) return obj[f];
|
| + if (dart.test(dart.hasMethod(type, f))) return dart.bind(obj, f, void 0);
|
| }
|
| - return dart.noSuchMethod(obj, new dart.InvocationImpl(core.String._check(field), [], {isGetter: true}));
|
| + return dart.noSuchMethod(obj, new dart.InvocationImpl(field, [], {isGetter: true}));
|
| };
|
| dart.dput = function(obj, field, value) {
|
| let f = dart._canonicalMember(obj, field);
|
| dart._trackCall(obj);
|
| if (f != null) {
|
| - return obj[f] = value;
|
| + let type = dart.getType(obj);
|
| + let setter = dart.getSetterType(type, f);
|
| + if (setter != void 0) {
|
| + if (dart.test(dart.instanceOfOrNull(value, setter.args[0]))) {
|
| + return obj[f] = value;
|
| + }
|
| + } else {
|
| + let field = dart.getFieldType(type, f);
|
| + if (field != void 0) {
|
| + if (dart.test(dart.instanceOfOrNull(value, field))) {
|
| + return obj[f] = value;
|
| + }
|
| + }
|
| + }
|
| }
|
| - return dart.noSuchMethod(obj, new dart.InvocationImpl(core.String._check(field), [value], {isSetter: true}));
|
| + return dart.noSuchMethod(obj, new dart.InvocationImpl(field, [value], {isSetter: true}));
|
| };
|
| dart._checkApply = function(type, actuals) {
|
| if (actuals.length < type.args.length) return false;
|
| @@ -1806,8 +1937,36 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| }
|
| return true;
|
| };
|
| + dart._toSymbolName = function(symbol) {
|
| + let str = symbol.toString();
|
| + return str.substring(7, str.length - 1);
|
| + };
|
| + dart._toDisplayName = function(name) {
|
| + if (name[0] === '_') {
|
| + switch (name) {
|
| + case '_get':
|
| + {
|
| + return '[]';
|
| + }
|
| + case '_set':
|
| + {
|
| + return '[]=';
|
| + }
|
| + case '_negate':
|
| + {
|
| + return 'unary-';
|
| + }
|
| + case '_constructor':
|
| + case '_prototype':
|
| + {
|
| + return name.substring(1);
|
| + }
|
| + }
|
| + }
|
| + return name;
|
| + };
|
| dart._dartSymbol = function(name) {
|
| - return dart.const(core.Symbol.new(name.toString()));
|
| + return core.Symbol._check(typeof name === "symbol" ? dart.const(new _internal.Symbol.es6(dart._toSymbolName(name), name)) : dart.const(core.Symbol.new(dart._toDisplayName(name))));
|
| };
|
| dart.extractNamedArgs = function(args) {
|
| if (args.length > 0) {
|
| @@ -1826,7 +1985,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| }
|
| if (!(f instanceof Function)) {
|
| if (f != null) {
|
| - ftype = dart.getMethodType(f, 'call');
|
| + ftype = dart.getMethodType(dart.getType(f), 'call');
|
| f = f.call;
|
| }
|
| if (!(f instanceof Function)) {
|
| @@ -1931,16 +2090,17 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| }
|
| }
|
| let actualTypeName = dart.typeName(actual);
|
| - let o = dart._callMethodStats[dartx.putIfAbsent](dart.str`${actualTypeName} <${src}>`, dart.fn(() => new dart._MethodStats(core.String._check(actualTypeName), src), VoidTo_MethodStats()));
|
| + let o = dart._callMethodStats[dartx.putIfAbsent](dart.str`${actualTypeName} <${src}>`, dart.fn(() => new dart._MethodStats(actualTypeName, src), VoidTo_MethodStats()));
|
| o.count = dart.notNull(o.count) + 1;
|
| };
|
| dart._callMethod = function(obj, name, typeArgs, args, displayName) {
|
| let symbol = dart._canonicalMember(obj, name);
|
| if (symbol == null) {
|
| - return dart.noSuchMethod(obj, new dart.InvocationImpl(core.String._check(displayName), core.List._check(args), {isMethod: true}));
|
| + return dart.noSuchMethod(obj, new dart.InvocationImpl(displayName, core.List._check(args), {isMethod: true}));
|
| }
|
| let f = obj != null ? obj[symbol] : null;
|
| - let ftype = dart.getMethodType(obj, symbol);
|
| + let type = dart.getType(obj);
|
| + let ftype = dart.getMethodType(type, symbol);
|
| return dart._checkAndCall(f, ftype, obj, typeArgs, args, displayName);
|
| };
|
| dart.dsend = function(obj, method, ...args) {
|
| @@ -2483,196 +2643,186 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| this[_wrappedType] = wrappedType;
|
| }
|
| toString() {
|
| - return core.String._check(dart.typeName(this[_wrappedType]));
|
| + return dart.typeName(this[_wrappedType]);
|
| }
|
| };
|
| dart.setSignature(dart.WrappedType, {
|
| constructors: () => ({new: dart.definiteFunctionType(dart.WrappedType, [dart.dynamic])}),
|
| fields: () => ({[_wrappedType]: dart.dynamic})
|
| });
|
| + const _stringValue = Symbol('_stringValue');
|
| dart.AbstractFunctionType = class AbstractFunctionType extends dart.TypeRep {
|
| - constructor() {
|
| - super();
|
| - this._stringValue = null;
|
| + new() {
|
| + this[_stringValue] = null;
|
| + super.new();
|
| }
|
| toString() {
|
| return this.name;
|
| }
|
| get name() {
|
| - if (this._stringValue) return this._stringValue;
|
| + if (this[_stringValue] != null) return this[_stringValue];
|
| let buffer = '(';
|
| for (let i = 0; i < this.args.length; ++i) {
|
| if (i > 0) {
|
| - buffer += ', ';
|
| + buffer = dart.notNull(buffer) + ', ';
|
| }
|
| - buffer += dart.typeName(this.args[i]);
|
| + buffer = dart.notNull(buffer) + dart.notNull(dart.typeName(this.args[i]));
|
| }
|
| if (this.optionals.length > 0) {
|
| - if (this.args.length > 0) buffer += ', ';
|
| - buffer += '[';
|
| + if (this.args.length > 0) {
|
| + buffer = dart.notNull(buffer) + ', ';
|
| + }
|
| + buffer = dart.notNull(buffer) + '[';
|
| for (let i = 0; i < this.optionals.length; ++i) {
|
| if (i > 0) {
|
| - buffer += ', ';
|
| + buffer = dart.notNull(buffer) + ', ';
|
| }
|
| - buffer += dart.typeName(this.optionals[i]);
|
| + buffer = dart.notNull(buffer) + dart.notNull(dart.typeName(this.optionals[i]));
|
| }
|
| - buffer += ']';
|
| + buffer = dart.notNull(buffer) + ']';
|
| } else if (Object.keys(this.named).length > 0) {
|
| - if (this.args.length > 0) buffer += ', ';
|
| - buffer += '{';
|
| - let names = dart.getOwnPropertyNames(this.named).sort();
|
| + if (this.args.length > 0) {
|
| + buffer = dart.notNull(buffer) + ', ';
|
| + }
|
| + buffer = dart.notNull(buffer) + '{';
|
| + let names = dart.getOwnPropertyNames(this.named);
|
| + names.sort();
|
| for (let i = 0; i < names.length; ++i) {
|
| if (i > 0) {
|
| - buffer += ', ';
|
| + buffer = dart.notNull(buffer) + ', ';
|
| }
|
| - buffer += names[i] + ': ' + dart.typeName(this.named[names[i]]);
|
| + let typeNameString = dart.typeName(this.named[names[i]]);
|
| + buffer = dart.notNull(buffer) + dart.str`${names[i]}: ${typeNameString}`;
|
| }
|
| - buffer += '}';
|
| + buffer = dart.notNull(buffer) + '}';
|
| }
|
| - buffer += ') -> ' + dart.typeName(this.returnType);
|
| - this._stringValue = buffer;
|
| + let returnTypeName = dart.typeName(this.returnType);
|
| + buffer = dart.notNull(buffer) + dart.str`) -> ${returnTypeName}`;
|
| + this[_stringValue] = buffer;
|
| return buffer;
|
| }
|
| };
|
| + dart.setSignature(dart.AbstractFunctionType, {
|
| + constructors: () => ({new: dart.definiteFunctionType(dart.AbstractFunctionType, [])}),
|
| + fields: () => ({[_stringValue]: core.String})
|
| + });
|
| dart._fnTypeNamedArgMap = new Map();
|
| dart._fnTypeArrayArgMap = new Map();
|
| dart._fnTypeTypeMap = new Map();
|
| dart._fnTypeSmallMap = [new Map(), new Map(), new Map()];
|
| + const _process = Symbol('_process');
|
| dart.FunctionType = class FunctionType extends dart.AbstractFunctionType {
|
| - static _memoizeArray(map, arr, create) {
|
| - let len = arr.length;
|
| - map = FunctionType._lookupNonTerminal(map, len);
|
| - for (var i = 0; i < len - 1; ++i) {
|
| - map = FunctionType._lookupNonTerminal(map, arr[i]);
|
| - }
|
| - let result = map.get(arr[len - 1]);
|
| - if (result !== void 0) return result;
|
| - map.set(arr[len - 1], result = create());
|
| - return result;
|
| - }
|
| - static _normalizeParameter(a) {
|
| - if (a instanceof Array) {
|
| - let result = [];
|
| - result.push(a[0] == dart.dynamic ? dart.bottom : a[0]);
|
| - result.push(a.slice(1));
|
| - return result;
|
| - }
|
| - return a == dart.dynamic ? dart.bottom : a;
|
| - }
|
| - static _canonicalizeArray(definite, array, map) {
|
| - let arr = definite ? array : array.map(FunctionType._normalizeParameter);
|
| - return FunctionType._memoizeArray(map, arr, () => arr);
|
| - }
|
| - static _canonicalizeNamed(definite, named, map) {
|
| - let key = [];
|
| - let names = dart.getOwnPropertyNames(named);
|
| - let r = {};
|
| - for (var i = 0; i < names.length; ++i) {
|
| - let name = names[i];
|
| - let type = named[name];
|
| - if (!definite) r[name] = type = FunctionType._normalizeParameter(type);
|
| - key.push(name);
|
| - key.push(type);
|
| - }
|
| - if (!definite) named = r;
|
| - return FunctionType._memoizeArray(map, key, () => named);
|
| - }
|
| - static _lookupNonTerminal(map, key) {
|
| - let result = map.get(key);
|
| - if (result !== void 0) return result;
|
| - map.set(key, result = new Map());
|
| - return result;
|
| - }
|
| - static _createSmall(count, definite, returnType, required) {
|
| - let map = dart._fnTypeSmallMap[count];
|
| - let args = definite ? required : required.map(FunctionType._normalizeParameter);
|
| - for (var i = 0; i < count; ++i) {
|
| - map = FunctionType._lookupNonTerminal(map, args[i]);
|
| - }
|
| - let result = map.get(returnType);
|
| - if (result !== void 0) return result;
|
| - result = new FunctionType(returnType, args, [], {});
|
| - map.set(returnType, result);
|
| - return result;
|
| - }
|
| static create(definite, returnType, args, extra) {
|
| if (extra === void 0 && args.length < 3) {
|
| - return FunctionType._createSmall(args.length, definite, returnType, args);
|
| + return dart._createSmall(args.length, definite, returnType, args);
|
| }
|
| - args = FunctionType._canonicalizeArray(definite, args, dart._fnTypeArrayArgMap);
|
| - let keys;
|
| - let create;
|
| + args = dart._canonicalizeArray(definite, args, dart._fnTypeArrayArgMap);
|
| + let keys = null;
|
| + let create = null;
|
| if (extra === void 0) {
|
| keys = [returnType, args];
|
| - create = () => new FunctionType(returnType, args, [], {});
|
| + create = dart.fn(() => new dart.FunctionType(returnType, args, [], {}), VoidToFunctionType());
|
| } else if (extra instanceof Array) {
|
| - let optionals = FunctionType._canonicalizeArray(definite, extra, dart._fnTypeArrayArgMap);
|
| + let optionals = dart._canonicalizeArray(definite, extra, dart._fnTypeArrayArgMap);
|
| keys = [returnType, args, optionals];
|
| - create = () => new FunctionType(returnType, args, optionals, {});
|
| + create = dart.fn(() => new dart.FunctionType(returnType, args, optionals, {}), VoidToFunctionType());
|
| } else {
|
| - let named = FunctionType._canonicalizeNamed(definite, extra, dart._fnTypeNamedArgMap);
|
| + let named = dart._canonicalizeNamed(definite, extra, dart._fnTypeNamedArgMap);
|
| keys = [returnType, args, named];
|
| - create = () => new FunctionType(returnType, args, [], named);
|
| + create = dart.fn(() => new dart.FunctionType(returnType, args, [], named), VoidToFunctionType());
|
| + }
|
| + return dart._memoizeArray(dart._fnTypeTypeMap, keys, create);
|
| + }
|
| + [_process](array, metadata) {
|
| + let result = [];
|
| + for (let i = 0; i < array.length; ++i) {
|
| + let arg = array[i];
|
| + if (arg instanceof Array) {
|
| + dart.dsend(metadata, 'add', arg.slice(1));
|
| + result[dartx.add](arg[0]);
|
| + } else {
|
| + metadata.push([]);
|
| + result.push(arg);
|
| + }
|
| }
|
| - return FunctionType._memoizeArray(dart._fnTypeTypeMap, keys, create);
|
| + return result;
|
| }
|
| - constructor(returnType, args, optionals, named) {
|
| - super();
|
| + new(returnType, args, optionals, named) {
|
| this.returnType = returnType;
|
| this.args = args;
|
| this.optionals = optionals;
|
| this.named = named;
|
| + this.metadata = null;
|
| + super.new();
|
| this.metadata = [];
|
| - function process(array, metadata) {
|
| - var result = [];
|
| - for (var i = 0; i < array.length; ++i) {
|
| - var arg = array[i];
|
| - if (arg instanceof Array) {
|
| - metadata.push(arg.slice(1));
|
| - result.push(arg[0]);
|
| - } else {
|
| - metadata.push([]);
|
| - result.push(arg);
|
| - }
|
| - }
|
| - return result;
|
| - }
|
| - this.args = process(this.args, this.metadata);
|
| - this.optionals = process(this.optionals, this.metadata);
|
| + this.args = this[_process](this.args, this.metadata);
|
| + this.optionals = this[_process](this.optionals, this.metadata);
|
| }
|
| };
|
| + dart.setSignature(dart.FunctionType, {
|
| + constructors: () => ({new: dart.definiteFunctionType(dart.FunctionType, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic])}),
|
| + fields: () => ({
|
| + returnType: dart.dynamic,
|
| + args: dart.dynamic,
|
| + optionals: dart.dynamic,
|
| + named: dart.dynamic,
|
| + metadata: dart.dynamic
|
| + }),
|
| + methods: () => ({[_process]: dart.definiteFunctionType(dart.dynamic, [dart.dynamic, dart.dynamic])}),
|
| + statics: () => ({create: dart.definiteFunctionType(dart.dynamic, [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic])}),
|
| + names: ['create']
|
| + });
|
| + const _name = Symbol('_name');
|
| + const _closure = Symbol('_closure');
|
| + const _functionType = Symbol('_functionType');
|
| dart.Typedef = class Typedef extends dart.AbstractFunctionType {
|
| - constructor(name, closure) {
|
| - super();
|
| - this._name = name;
|
| - this._closure = closure;
|
| - this._functionType = null;
|
| + new(name, closure) {
|
| + this[_name] = name;
|
| + this[_closure] = closure;
|
| + this[_functionType] = null;
|
| + super.new();
|
| }
|
| get name() {
|
| - return this._name;
|
| + return core.String._check(this[_name]);
|
| }
|
| get functionType() {
|
| - if (!this._functionType) {
|
| - this._functionType = this._closure();
|
| + if (this[_functionType] == null) {
|
| + this[_functionType] = this[_closure]();
|
| }
|
| - return this._functionType;
|
| + return this[_functionType];
|
| }
|
| get returnType() {
|
| return this.functionType.returnType;
|
| }
|
| get args() {
|
| - return this.functionType.args;
|
| + return core.List._check(this.functionType.args);
|
| }
|
| get optionals() {
|
| - return this.functionType.optionals;
|
| + return core.List._check(this.functionType.optionals);
|
| }
|
| get named() {
|
| return this.functionType.named;
|
| }
|
| get metadata() {
|
| - return this.functionType.metadata;
|
| + return core.List._check(this.functionType.metadata);
|
| }
|
| };
|
| + dart.setSignature(dart.Typedef, {
|
| + constructors: () => ({new: dart.definiteFunctionType(dart.Typedef, [dart.dynamic, dart.dynamic])}),
|
| + fields: () => ({
|
| + [_name]: dart.dynamic,
|
| + [_closure]: dart.dynamic,
|
| + [_functionType]: dart.AbstractFunctionType
|
| + }),
|
| + getters: () => ({
|
| + functionType: dart.definiteFunctionType(dart.AbstractFunctionType, []),
|
| + returnType: dart.definiteFunctionType(dart.dynamic, []),
|
| + args: dart.definiteFunctionType(core.List, []),
|
| + optionals: dart.definiteFunctionType(core.List, []),
|
| + named: dart.definiteFunctionType(dart.dynamic, []),
|
| + metadata: dart.definiteFunctionType(core.List, [])
|
| + })
|
| + });
|
| dart._typeFormalCount = Symbol("_typeFormalCount");
|
| dart.isSubtype = dart._subtypeMemo((t1, t2) => t1 === t2 || dart._isSubtype(t1, t2, true));
|
| dart._trapRuntimeErrors = true;
|
| @@ -2808,7 +2958,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| }
|
| };
|
| dart.setSignature(dart.InvocationImpl, {
|
| - constructors: () => ({new: dart.definiteFunctionType(dart.InvocationImpl, [core.String, core.List], {namedArguments: dart.dynamic, isMethod: core.bool, isGetter: core.bool, isSetter: core.bool})}),
|
| + constructors: () => ({new: dart.definiteFunctionType(dart.InvocationImpl, [dart.dynamic, core.List], {namedArguments: dart.dynamic, isMethod: core.bool, isGetter: core.bool, isSetter: core.bool})}),
|
| fields: () => ({
|
| memberName: core.Symbol,
|
| positionalArguments: core.List,
|
| @@ -2952,8 +3102,8 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| dart.lazyFn(_debugger.getObjectTypeName, () => dynamicToString());
|
| _debugger.getTypeName = function(type) {
|
| let name = dart.typeName(type);
|
| - if (dart.equals(name, 'JSArray<dynamic>') || dart.equals(name, 'JSObject<Array>')) return 'List<dynamic>';
|
| - return core.String._check(name);
|
| + if (name == 'JSArray<dynamic>' || name == 'JSObject<Array>') return 'List<dynamic>';
|
| + return name;
|
| };
|
| dart.lazyFn(_debugger.getTypeName, () => TypeToString());
|
| _debugger._getType = function(object) {
|
| @@ -3501,7 +3651,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| return true;
|
| }
|
| preview(object) {
|
| - return core.String._check(dart.typeName(dart.getReifiedType(object)));
|
| + return dart.typeName(dart.getReifiedType(object));
|
| }
|
| children(object) {
|
| return JSArrayOfNameValuePair().of([new _debugger.NameValuePair({name: 'signature', value: this.preview(object)}), new _debugger.NameValuePair({name: 'JavaScript Function', value: object, config: _debugger.JsonMLConfig.skipDart})]);
|
| @@ -8892,41 +9042,41 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| names: ['sort', 'sortRange', '_doSort', '_insertionSort', '_dualPivotQuicksort']
|
| });
|
| _internal.Sort._INSERTION_SORT_THRESHOLD = 32;
|
| - const _name = Symbol('_name');
|
| + const _name$ = Symbol('_name');
|
| const _nativeSymbol = Symbol('_nativeSymbol');
|
| _internal.Symbol = class Symbol extends core.Object {
|
| new(name) {
|
| - this[_name] = name;
|
| + this[_name$] = name;
|
| this[_nativeSymbol] = null;
|
| }
|
| es6(name, nativeSymbol) {
|
| - this[_name] = name;
|
| + this[_name$] = name;
|
| this[_nativeSymbol] = nativeSymbol;
|
| }
|
| unvalidated(name) {
|
| - this[_name] = name;
|
| + this[_name$] = name;
|
| this[_nativeSymbol] = null;
|
| }
|
| validated(name) {
|
| - this[_name] = _internal.Symbol.validatePublicSymbol(name);
|
| + this[_name$] = _internal.Symbol.validatePublicSymbol(name);
|
| this[_nativeSymbol] = null;
|
| }
|
| ['=='](other) {
|
| - return _internal.Symbol.is(other) && this[_name] == other[_name] && dart.equals(this[_nativeSymbol], other[_nativeSymbol]);
|
| + return _internal.Symbol.is(other) && this[_name$] == other[_name$] && dart.equals(this[_nativeSymbol], other[_nativeSymbol]);
|
| }
|
| get hashCode() {
|
| let hash = this._hashCode;
|
| if (hash != null) return hash;
|
| let arbitraryPrime = 664597;
|
| - hash = 536870911 & arbitraryPrime * dart.notNull(dart.hashCode(this[_name]));
|
| + hash = 536870911 & arbitraryPrime * dart.notNull(dart.hashCode(this[_name$]));
|
| this._hashCode = hash;
|
| return hash;
|
| }
|
| toString() {
|
| - return dart.str`Symbol("${this[_name]}")`;
|
| + return dart.str`Symbol("${this[_name$]}")`;
|
| }
|
| static getName(symbol) {
|
| - return symbol[_name];
|
| + return symbol[_name$];
|
| }
|
| static getNativeSymbol(symbol) {
|
| return symbol[_nativeSymbol];
|
| @@ -8954,7 +9104,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| validated: dart.definiteFunctionType(_internal.Symbol, [core.String])
|
| }),
|
| fields: () => ({
|
| - [_name]: core.String,
|
| + [_name$]: core.String,
|
| [_nativeSymbol]: dart.dynamic
|
| }),
|
| methods: () => ({'==': dart.definiteFunctionType(core.bool, [core.Object])}),
|
| @@ -13515,7 +13665,31 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| if (privateSymbol != null) {
|
| return privateSymbol;
|
| }
|
| - return _js_mirrors.getName(symbol);
|
| + let name = _js_mirrors.getName(symbol);
|
| + switch (name) {
|
| + case '[]':
|
| + {
|
| + name = '_get';
|
| + break;
|
| + }
|
| + case '[]=':
|
| + {
|
| + name = '_set';
|
| + break;
|
| + }
|
| + case 'unary-':
|
| + {
|
| + name = '_negate';
|
| + break;
|
| + }
|
| + case 'constructor':
|
| + case 'prototype':
|
| + {
|
| + name = dart.str`_${name}`;
|
| + break;
|
| + }
|
| + }
|
| + return name;
|
| };
|
| dart.lazyFn(_js_mirrors._getMember, () => SymbolTodynamic());
|
| _js_mirrors._getNameForESSymbol = function(member) {
|
| @@ -14059,21 +14233,21 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| })
|
| });
|
| const _symbol = Symbol('_symbol');
|
| - const _name$ = Symbol('_name');
|
| + const _name$0 = Symbol('_name');
|
| _js_mirrors.JsVariableMirror = class JsVariableMirror extends _js_mirrors.JsMirror {
|
| get simpleName() {
|
| return this[_symbol];
|
| }
|
| _(symbol, t, annotations) {
|
| this[_symbol] = symbol;
|
| - this[_name$] = _js_mirrors.getName(symbol);
|
| + this[_name$0] = _js_mirrors.getName(symbol);
|
| this.type = _js_mirrors.reflectType(t);
|
| this.metadata = ListOfInstanceMirror().unmodifiable(annotations[dartx.map](mirrors.InstanceMirror)(dart.fn(a => _js_mirrors.reflect(a), dynamicToInstanceMirror())));
|
| this.isStatic = false;
|
| this.isFinal = false;
|
| }
|
| toString() {
|
| - return dart.str`VariableMirror on '${this[_name$]}'`;
|
| + return dart.str`VariableMirror on '${this[_name$0]}'`;
|
| }
|
| get qualifiedName() {
|
| return core.Symbol._check(this.noSuchMethod(new dart.InvocationImpl('qualifiedName', [], {isGetter: true})));
|
| @@ -14100,7 +14274,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| constructors: () => ({_: dart.definiteFunctionType(_js_mirrors.JsVariableMirror, [core.Symbol, core.Type, core.List])}),
|
| fields: () => ({
|
| [_symbol]: core.Symbol,
|
| - [_name$]: core.String,
|
| + [_name$0]: core.String,
|
| type: mirrors.TypeMirror,
|
| metadata: ListOfInstanceMirror(),
|
| isStatic: core.bool,
|
| @@ -14113,7 +14287,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| super._(member, t, annotations);
|
| }
|
| toString() {
|
| - return dart.str`ParameterMirror on '${this[_name$]}'`;
|
| + return dart.str`ParameterMirror on '${this[_name$0]}'`;
|
| }
|
| get qualifiedName() {
|
| return core.Symbol._check(this.noSuchMethod(new dart.InvocationImpl('qualifiedName', [], {isGetter: true})));
|
| @@ -14158,17 +14332,17 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| let const$4;
|
| _js_mirrors.JsMethodMirror = class JsMethodMirror extends _js_mirrors.JsMirror {
|
| get isSetter() {
|
| - return this[_name$][dartx.endsWith]('=');
|
| + return this[_name$0][dartx.endsWith]('=');
|
| }
|
| get isPrivate() {
|
| - return this[_name$][dartx.startsWith]('_');
|
| + return this[_name$0][dartx.startsWith]('_');
|
| }
|
| get simpleName() {
|
| return this[_symbol];
|
| }
|
| _constructor(cls, symbol, ftype) {
|
| this[_symbol] = symbol;
|
| - this[_name$] = _js_mirrors.getName(symbol);
|
| + this[_name$0] = _js_mirrors.getName(symbol);
|
| this.isConstructor = true;
|
| this.isStatic = false;
|
| this[_params] = null;
|
| @@ -14178,7 +14352,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| }
|
| _instanceMethod(cls, symbol, ftype) {
|
| this[_symbol] = symbol;
|
| - this[_name$] = _js_mirrors.getName(symbol);
|
| + this[_name$0] = _js_mirrors.getName(symbol);
|
| this.isConstructor = false;
|
| this.isStatic = false;
|
| this[_params] = null;
|
| @@ -14188,7 +14362,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| }
|
| _staticMethod(cls, symbol, ftype) {
|
| this[_symbol] = symbol;
|
| - this[_name$] = _js_mirrors.getName(symbol);
|
| + this[_name$0] = _js_mirrors.getName(symbol);
|
| this.isConstructor = false;
|
| this.isStatic = true;
|
| this[_params] = null;
|
| @@ -14238,7 +14412,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| this[_params] = ListOfParameterMirror().unmodifiable(params);
|
| }
|
| toString() {
|
| - return dart.str`MethodMirror on '${this[_name$]}'`;
|
| + return dart.str`MethodMirror on '${this[_name$0]}'`;
|
| }
|
| get qualifiedName() {
|
| return core.Symbol._check(this.noSuchMethod(new dart.InvocationImpl('qualifiedName', [], {isGetter: true})));
|
| @@ -14298,7 +14472,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| }),
|
| fields: () => ({
|
| [_symbol]: core.Symbol,
|
| - [_name$]: core.String,
|
| + [_name$0]: core.String,
|
| [_params]: ListOfParameterMirror(),
|
| [_metadata$]: ListOfInstanceMirror(),
|
| isConstructor: core.bool,
|
| @@ -28906,7 +29080,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| const _data = Symbol('_data');
|
| const _isUpgraded = Symbol('_isUpgraded');
|
| const _upgradedMap = Symbol('_upgradedMap');
|
| - const _process = Symbol('_process');
|
| + const _process$ = Symbol('_process');
|
| const _upgrade = Symbol('_upgrade');
|
| convert._JsonMap = class _JsonMap extends core.Object {
|
| new(original) {
|
| @@ -28921,7 +29095,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| return null;
|
| } else {
|
| let result = convert._JsonMap._getProperty(this[_processed], core.String._check(key));
|
| - if (dart.test(convert._JsonMap._isUnprocessed(result))) result = this[_process](core.String._check(key));
|
| + if (dart.test(convert._JsonMap._isUnprocessed(result))) result = this[_process$](core.String._check(key));
|
| return result;
|
| }
|
| }
|
| @@ -29049,7 +29223,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| dart.assert(this[_isUpgraded]);
|
| return result;
|
| }
|
| - [_process](key) {
|
| + [_process$](key) {
|
| if (!dart.test(convert._JsonMap._hasProperty(this[_original], key))) return null;
|
| let result = convert._convertJsonToDartLazy(convert._JsonMap._getProperty(this[_original], key));
|
| return convert._JsonMap._setProperty(this[_processed], key, result);
|
| @@ -29102,7 +29276,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| forEach: dart.definiteFunctionType(dart.void, [dynamicAnddynamicTovoid()]),
|
| [_computeKeys$]: dart.definiteFunctionType(core.List$(core.String), []),
|
| [_upgrade]: dart.definiteFunctionType(core.Map, []),
|
| - [_process]: dart.definiteFunctionType(dart.dynamic, [core.String])
|
| + [_process$]: dart.definiteFunctionType(dart.dynamic, [core.String])
|
| }),
|
| statics: () => ({
|
| _hasProperty: dart.definiteFunctionType(core.bool, [dart.dynamic, core.String]),
|
| @@ -30749,7 +30923,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| return _FusedConverter;
|
| });
|
| convert._FusedConverter = _FusedConverter();
|
| - const _name$0 = Symbol('_name');
|
| + const _name$1 = Symbol('_name');
|
| let const$34;
|
| let const$35;
|
| let const$36;
|
| @@ -30760,7 +30934,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| let const$41;
|
| convert.HtmlEscapeMode = class HtmlEscapeMode extends core.Object {
|
| _(name, escapeLtGt, escapeQuot, escapeApos, escapeSlash) {
|
| - this[_name$0] = name;
|
| + this[_name$1] = name;
|
| this.escapeLtGt = escapeLtGt;
|
| this.escapeQuot = escapeQuot;
|
| this.escapeApos = escapeApos;
|
| @@ -30776,10 +30950,10 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| this.escapeQuot = escapeQuot;
|
| this.escapeApos = escapeApos;
|
| this.escapeSlash = escapeSlash;
|
| - this[_name$0] = name;
|
| + this[_name$1] = name;
|
| }
|
| toString() {
|
| - return this[_name$0];
|
| + return this[_name$1];
|
| }
|
| };
|
| dart.defineNamedConstructor(convert.HtmlEscapeMode, '_');
|
| @@ -30789,7 +30963,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| new: dart.definiteFunctionType(convert.HtmlEscapeMode, [], {name: core.String, escapeLtGt: core.bool, escapeQuot: core.bool, escapeApos: core.bool, escapeSlash: core.bool})
|
| }),
|
| fields: () => ({
|
| - [_name$0]: core.String,
|
| + [_name$1]: core.String,
|
| escapeLtGt: core.bool,
|
| escapeQuot: core.bool,
|
| escapeApos: core.bool,
|
| @@ -39309,6 +39483,9 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| }[this.index];
|
| }
|
| };
|
| + dart.setSignature(io.FileLock, {
|
| + fields: () => ({index: core.int})
|
| + });
|
| dart.defineEnumValues(io.FileLock, [
|
| 'SHARED',
|
| 'EXCLUSIVE'
|
| @@ -48383,6 +48560,9 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| }[this.index];
|
| }
|
| };
|
| + dart.setSignature(io.ProcessStartMode, {
|
| + fields: () => ({index: core.int})
|
| + });
|
| dart.defineEnumValues(io.ProcessStartMode, [
|
| 'NORMAL',
|
| 'DETACHED',
|
| @@ -48451,14 +48631,14 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| })
|
| });
|
| const _signalNumber = Symbol('_signalNumber');
|
| - const _name$1 = Symbol('_name');
|
| + const _name$2 = Symbol('_name');
|
| io.ProcessSignal = class ProcessSignal extends core.Object {
|
| _(signalNumber, name) {
|
| this[_signalNumber] = signalNumber;
|
| - this[_name$1] = name;
|
| + this[_name$2] = name;
|
| }
|
| toString() {
|
| - return this[_name$1];
|
| + return this[_name$2];
|
| }
|
| watch() {
|
| return io._ProcessUtils._watchSignal(this);
|
| @@ -48469,7 +48649,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| constructors: () => ({_: dart.definiteFunctionType(io.ProcessSignal, [core.int, core.String])}),
|
| fields: () => ({
|
| [_signalNumber]: core.int,
|
| - [_name$1]: core.String
|
| + [_name$2]: core.String
|
| }),
|
| methods: () => ({watch: dart.definiteFunctionType(async.Stream$(io.ProcessSignal), [])}),
|
| sfields: () => ({
|
|
|