| 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 c9d9c75840d447d2835c6959baa402f779f4251d..096d12d5174322c7fe12b447f7ad99e830485464 100644
|
| --- a/pkg/dev_compiler/lib/js/legacy/dart_sdk.js
|
| +++ b/pkg/dev_compiler/lib/js/legacy/dart_sdk.js
|
| @@ -617,11 +617,12 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| let TypeToTypeMirror = () => (TypeToTypeMirror = dart.constFn(dart.definiteFunctionType(mirrors.TypeMirror, [core.Type])))();
|
| let dynamicAndListTodynamic = () => (dynamicAndListTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [dart.dynamic, core.List])))();
|
| let dynamicAndStringAndListTodynamic = () => (dynamicAndStringAndListTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [dart.dynamic, core.String, core.List])))();
|
| - let dynamicToMap = () => (dynamicToMap = dart.constFn(dart.definiteFunctionType(core.Map, [dart.dynamic])))();
|
| + let SymbolTodynamic = () => (SymbolTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [core.Symbol])))();
|
| + let dynamicToSymbol = () => (dynamicToSymbol = dart.constFn(dart.definiteFunctionType(core.Symbol, [dart.dynamic])))();
|
| + let dynamicToMapOfSymbol$dynamic = () => (dynamicToMapOfSymbol$dynamic = dart.constFn(dart.definiteFunctionType(MapOfSymbol$dynamic(), [dart.dynamic])))();
|
| let TypeAndInvocationTodynamic = () => (TypeAndInvocationTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [core.Type, core.Invocation])))();
|
| let SymbolAnddynamicTovoid = () => (SymbolAnddynamicTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [core.Symbol, dart.dynamic])))();
|
| let MapOfSymbol$dynamicTodynamic = () => (MapOfSymbol$dynamicTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [MapOfSymbol$dynamic()])))();
|
| - let StringAnddynamicTovoid = () => (StringAnddynamicTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [core.String, dart.dynamic])))();
|
| let dynamicToTypeMirror = () => (dynamicToTypeMirror = dart.constFn(dart.definiteFunctionType(mirrors.TypeMirror, [dart.dynamic])))();
|
| let dynamicAnddynamicAnddynamicTovoid = () => (dynamicAnddynamicAnddynamicTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [dart.dynamic, dart.dynamic, dart.dynamic])))();
|
| let ListToList = () => (ListToList = dart.constFn(dart.definiteFunctionType(core.List, [core.List])))();
|
| @@ -679,6 +680,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| let ObjectToint = () => (ObjectToint = dart.constFn(dart.definiteFunctionType(core.int, [core.Object])))();
|
| let ObjectTovoid = () => (ObjectTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [core.Object])))();
|
| let StringAndStringTovoid$ = () => (StringAndStringTovoid$ = dart.constFn(dart.definiteFunctionType(dart.void, [core.String, core.String])))();
|
| + let StringAnddynamicTovoid = () => (StringAnddynamicTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [core.String, dart.dynamic])))();
|
| let MapOfString$StringAndStringToMapOfString$String = () => (MapOfString$StringAndStringToMapOfString$String = dart.constFn(dart.definiteFunctionType(MapOfString$String(), [MapOfString$String(), core.String])))();
|
| let intAndintAndintTovoid = () => (intAndintAndintTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [core.int, core.int, core.int])))();
|
| let String__Tovoid = () => (String__Tovoid = dart.constFn(dart.definiteFunctionType(dart.void, [core.String], [dart.dynamic])))();
|
| @@ -750,6 +752,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| let NodeAndNodeTovoid = () => (NodeAndNodeTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [html$.Node, html$.Node])))();
|
| let dynamicToImageData = () => (dynamicToImageData = dart.constFn(dart.definiteFunctionType(html$.ImageData, [dart.dynamic])))();
|
| let ImageDataTodynamic = () => (ImageDataTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [html$.ImageData])))();
|
| + let dynamicToMap = () => (dynamicToMap = dart.constFn(dart.definiteFunctionType(core.Map, [dart.dynamic])))();
|
| let Map__Todynamic = () => (Map__Todynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [core.Map], [dynamicTovoid()])))();
|
| let ListOfStringToList = () => (ListOfStringToList = dart.constFn(dart.definiteFunctionType(core.List, [ListOfString()])))();
|
| let dynamicToDateTime = () => (dynamicToDateTime = dart.constFn(dart.definiteFunctionType(core.DateTime, [dart.dynamic])))();
|
| @@ -781,10 +784,10 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| return Mixin;
|
| };
|
| dart.getMixins = function(clazz) {
|
| - return clazz[dart._mixins];
|
| + return Object.hasOwnProperty.call(clazz, dart._mixins) ? clazz[dart._mixins] : null;
|
| };
|
| dart.getImplements = function(clazz) {
|
| - return clazz[dart.implements];
|
| + return Object.hasOwnProperty.call(clazz, dart.implements) ? clazz[dart.implements] : null;
|
| };
|
| dart.flattenFutures = function(builder) {
|
| function flatten(T) {
|
| @@ -8658,18 +8661,26 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| });
|
| _internal.Sort._INSERTION_SORT_THRESHOLD = 32;
|
| const _name = Symbol('_name');
|
| + const _nativeSymbol = Symbol('_nativeSymbol');
|
| _internal.Symbol = class Symbol extends core.Object {
|
| new(name) {
|
| this[_name] = name;
|
| + this[_nativeSymbol] = null;
|
| + }
|
| + es6(name, nativeSymbol) {
|
| + this[_name] = name;
|
| + this[_nativeSymbol] = nativeSymbol;
|
| }
|
| unvalidated(name) {
|
| this[_name] = name;
|
| + this[_nativeSymbol] = null;
|
| }
|
| validated(name) {
|
| this[_name] = _internal.Symbol.validatePublicSymbol(name);
|
| + this[_nativeSymbol] = null;
|
| }
|
| ['=='](other) {
|
| - return _internal.Symbol.is(other) && this[_name] == other[_name];
|
| + return _internal.Symbol.is(other) && this[_name] == other[_name] && dart.equals(this[_nativeSymbol], other[_nativeSymbol]);
|
| }
|
| get hashCode() {
|
| let hash = this._hashCode;
|
| @@ -8685,6 +8696,9 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| static getName(symbol) {
|
| return symbol[_name];
|
| }
|
| + static getNativeSymbol(symbol) {
|
| + return symbol[_nativeSymbol];
|
| + }
|
| static validatePublicSymbol(name) {
|
| if (dart.test(name[dartx.isEmpty]) || dart.test(_internal.Symbol.publicSymbolPattern.hasMatch(name))) return name;
|
| if (dart.test(name[dartx.startsWith]('_'))) {
|
| @@ -8696,16 +8710,21 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| return dart.test(name[dartx.isEmpty]) || dart.test(_internal.Symbol.symbolPattern.hasMatch(name));
|
| }
|
| };
|
| + dart.defineNamedConstructor(_internal.Symbol, 'es6');
|
| dart.defineNamedConstructor(_internal.Symbol, 'unvalidated');
|
| dart.defineNamedConstructor(_internal.Symbol, 'validated');
|
| _internal.Symbol[dart.implements] = () => [core.Symbol];
|
| dart.setSignature(_internal.Symbol, {
|
| constructors: () => ({
|
| new: dart.definiteFunctionType(_internal.Symbol, [core.String]),
|
| + es6: dart.definiteFunctionType(_internal.Symbol, [core.String, dart.dynamic]),
|
| unvalidated: dart.definiteFunctionType(_internal.Symbol, [core.String]),
|
| validated: dart.definiteFunctionType(_internal.Symbol, [core.String])
|
| }),
|
| - fields: () => ({[_name]: core.String}),
|
| + fields: () => ({
|
| + [_name]: core.String,
|
| + [_nativeSymbol]: dart.dynamic
|
| + }),
|
| methods: () => ({'==': dart.definiteFunctionType(core.bool, [core.Object])}),
|
| sfields: () => ({
|
| reservedWordRE: core.String,
|
| @@ -8717,10 +8736,11 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| }),
|
| statics: () => ({
|
| getName: dart.definiteFunctionType(core.String, [_internal.Symbol]),
|
| + getNativeSymbol: dart.definiteFunctionType(dart.dynamic, [_internal.Symbol]),
|
| validatePublicSymbol: dart.definiteFunctionType(core.String, [core.String]),
|
| isValidSymbol: dart.definiteFunctionType(core.bool, [core.String])
|
| }),
|
| - names: ['getName', 'validatePublicSymbol', 'isValidSymbol']
|
| + names: ['getName', 'getNativeSymbol', 'validatePublicSymbol', 'isValidSymbol']
|
| });
|
| _internal.Symbol.reservedWordRE = '(?:assert|break|c(?:a(?:se|tch)|lass|on(?:st|tinue))|d(?:efault|o)|' + 'e(?:lse|num|xtends)|f(?:alse|inal(?:ly)?|or)|i[fns]|n(?:ew|ull)|' + 'ret(?:hrow|urn)|s(?:uper|witch)|t(?:h(?:is|row)|r(?:ue|y))|' + 'v(?:ar|oid)|w(?:hile|ith))';
|
| _internal.Symbol.operatorRE = '(?:[\\-+*/%&|^]|\\[\\]=?|==|~/?|<[<=]?|>[>=]?|unary-)';
|
| @@ -13231,73 +13251,109 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| return _js_mirrors._dart.definiteFunctionType(type, []);
|
| };
|
| dart.fn(_js_mirrors._defaultConstructorType, dynamicTodynamic$());
|
| + _js_mirrors._getMixins = function(type) {
|
| + return _js_mirrors._dart.getMixins(type, []);
|
| + };
|
| + dart.fn(_js_mirrors._getMixins, dynamicTodynamic$());
|
| _js_mirrors._Lazy$ = dart.generic(T => {
|
| const _Lazy = dart.typedef('_Lazy', () => dart.functionType(T, []));
|
| return _Lazy;
|
| });
|
| _js_mirrors._Lazy = _Lazy();
|
| + _js_mirrors._getESSymbol = function(symbol) {
|
| + return _internal.Symbol.getNativeSymbol(_internal.Symbol.as(symbol));
|
| + };
|
| + dart.lazyFn(_js_mirrors._getESSymbol, () => SymbolTodynamic());
|
| + _js_mirrors._getMember = function(symbol) {
|
| + let privateSymbol = _js_mirrors._getESSymbol(symbol);
|
| + if (privateSymbol != null) {
|
| + return privateSymbol;
|
| + }
|
| + return _js_mirrors.getName(symbol);
|
| + };
|
| + dart.lazyFn(_js_mirrors._getMember, () => SymbolTodynamic());
|
| _js_mirrors._getNameForESSymbol = function(member) {
|
| + dart.assert(typeof member == "symbol");
|
| let str = dart.toString(member);
|
| dart.assert(dart.test(str[dartx.startsWith]('Symbol(')) && dart.test(str[dartx.endsWith](')')));
|
| return str[dartx.substring](7, dart.notNull(str[dartx.length]) - 1);
|
| };
|
| dart.lazyFn(_js_mirrors._getNameForESSymbol, () => dynamicToString());
|
| + _js_mirrors._getSymbolForESSymbol = function(member) {
|
| + let name = _js_mirrors._getNameForESSymbol(member);
|
| + return new _internal.Symbol.es6(name, member);
|
| + };
|
| + dart.lazyFn(_js_mirrors._getSymbolForESSymbol, () => dynamicToSymbol());
|
| + _js_mirrors._getSymbolForMember = function(member) {
|
| + if (typeof member == 'string') {
|
| + return core.Symbol.new(member);
|
| + } else {
|
| + let name = _js_mirrors._getNameForESSymbol(member);
|
| + return new _internal.Symbol.es6(name, member);
|
| + }
|
| + };
|
| + dart.lazyFn(_js_mirrors._getSymbolForMember, () => dynamicToSymbol());
|
| _js_mirrors._toDartMap = function(data) {
|
| - if (data == null) return dart.map();
|
| - let map = _js_mirrors._dart.map(data);
|
| + if (data == null) return dart.map({}, core.Symbol, dart.dynamic);
|
| + let map = MapOfSymbol$dynamic().new();
|
| + let publicMembers = Object.getOwnPropertyNames(data);
|
| + for (let member of core.Iterable._check(publicMembers)) {
|
| + let symbol = core.Symbol.new(core.String._check(member));
|
| + map[dartx._set](symbol, data[member]);
|
| + }
|
| let privateMembers = Object.getOwnPropertySymbols(data);
|
| for (let member of core.Iterable._check(privateMembers)) {
|
| - let name = _js_mirrors._getNameForESSymbol(member);
|
| - map[dartx._set](name, data[member]);
|
| + let symbol = _js_mirrors._getSymbolForESSymbol(member);
|
| + map[dartx._set](symbol, data[member]);
|
| }
|
| return map;
|
| };
|
| - dart.lazyFn(_js_mirrors._toDartMap, () => dynamicToMap());
|
| + dart.lazyFn(_js_mirrors._toDartMap, () => dynamicToMapOfSymbol$dynamic());
|
| _js_mirrors._getConstructors = function(obj) {
|
| let sig = _js_mirrors._dart.getConstructorSig(obj);
|
| return _js_mirrors._toDartMap(sig);
|
| };
|
| - dart.lazyFn(_js_mirrors._getConstructors, () => dynamicToMap());
|
| + dart.lazyFn(_js_mirrors._getConstructors, () => dynamicToMapOfSymbol$dynamic());
|
| _js_mirrors._getFields = function(obj) {
|
| let sig = _js_mirrors._dart.getFieldSig(obj);
|
| return _js_mirrors._toDartMap(sig);
|
| };
|
| - dart.lazyFn(_js_mirrors._getFields, () => dynamicToMap());
|
| + dart.lazyFn(_js_mirrors._getFields, () => dynamicToMapOfSymbol$dynamic());
|
| _js_mirrors._getMethods = function(obj) {
|
| let sig = _js_mirrors._dart.getMethodSig(obj);
|
| return _js_mirrors._toDartMap(sig);
|
| };
|
| - dart.lazyFn(_js_mirrors._getMethods, () => dynamicToMap());
|
| + dart.lazyFn(_js_mirrors._getMethods, () => dynamicToMapOfSymbol$dynamic());
|
| _js_mirrors._getGetters = function(obj) {
|
| let sig = _js_mirrors._dart.getGetterSig(obj);
|
| return _js_mirrors._toDartMap(sig);
|
| };
|
| - dart.lazyFn(_js_mirrors._getGetters, () => dynamicToMap());
|
| + dart.lazyFn(_js_mirrors._getGetters, () => dynamicToMapOfSymbol$dynamic());
|
| _js_mirrors._getSetters = function(obj) {
|
| let sig = _js_mirrors._dart.getSetterSig(obj);
|
| return _js_mirrors._toDartMap(sig);
|
| };
|
| - dart.lazyFn(_js_mirrors._getSetters, () => dynamicToMap());
|
| + dart.lazyFn(_js_mirrors._getSetters, () => dynamicToMapOfSymbol$dynamic());
|
| _js_mirrors._getStaticFields = function(obj) {
|
| let sig = _js_mirrors._dart.getStaticFieldSig(obj);
|
| return _js_mirrors._toDartMap(sig);
|
| };
|
| - dart.lazyFn(_js_mirrors._getStaticFields, () => dynamicToMap());
|
| + dart.lazyFn(_js_mirrors._getStaticFields, () => dynamicToMapOfSymbol$dynamic());
|
| _js_mirrors._getStatics = function(obj) {
|
| let sig = _js_mirrors._dart.getStaticSig(obj);
|
| return _js_mirrors._toDartMap(sig);
|
| };
|
| - dart.lazyFn(_js_mirrors._getStatics, () => dynamicToMap());
|
| + dart.lazyFn(_js_mirrors._getStatics, () => dynamicToMapOfSymbol$dynamic());
|
| _js_mirrors._getStaticGetters = function(obj) {
|
| let sig = _js_mirrors._dart.getStaticGetterSig(obj);
|
| return _js_mirrors._toDartMap(sig);
|
| };
|
| - dart.lazyFn(_js_mirrors._getStaticGetters, () => dynamicToMap());
|
| + dart.lazyFn(_js_mirrors._getStaticGetters, () => dynamicToMapOfSymbol$dynamic());
|
| _js_mirrors._getStaticSetters = function(obj) {
|
| let sig = _js_mirrors._dart.getStaticSetterSig(obj);
|
| return _js_mirrors._toDartMap(sig);
|
| };
|
| - dart.lazyFn(_js_mirrors._getStaticSetters, () => dynamicToMap());
|
| + dart.lazyFn(_js_mirrors._getStaticSetters, () => dynamicToMapOfSymbol$dynamic());
|
| _js_mirrors._unwrap = function(obj) {
|
| return _js_mirrors._dart.unwrapType(obj);
|
| };
|
| @@ -13436,15 +13492,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| [_getAccessor](reflectee, symbol, args, namedArgs) {
|
| if (args === void 0) args = null;
|
| if (namedArgs === void 0) namedArgs = null;
|
| - let name = _js_mirrors.getName(symbol);
|
| - if (!dart.test(name[dartx.startsWith]('_'))) return name;
|
| - let privateMembers = Object.getOwnPropertySymbols(reflectee);
|
| - dart.dsend(privateMembers, 'addAll', Object.getOwnPropertySymbols(reflectee.__proto__));
|
| - for (let member of core.Iterable._check(privateMembers)) {
|
| - let privateName = _js_mirrors._getNameForESSymbol(member);
|
| - if (name == privateName) return member;
|
| - }
|
| - return new core.NoSuchMethodError(reflectee, symbol, args, namedArgs);
|
| + return _js_mirrors._getMember(symbol);
|
| }
|
| getField(symbol) {
|
| let name = this[_getAccessor](this.reflectee, symbol);
|
| @@ -13521,6 +13569,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| let const$0;
|
| const _declarations = Symbol('_declarations');
|
| const _raw = Symbol('_raw');
|
| + const _mixin = Symbol('_mixin');
|
| const _typeArguments = Symbol('_typeArguments');
|
| let const$1;
|
| _js_mirrors.JsClassMirror = class JsClassMirror extends _js_mirrors.JsMirror {
|
| @@ -13537,67 +13586,66 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| this[_declarations] = MapOfSymbol$DeclarationMirror().new();
|
| let unwrapped = _js_mirrors._unwrap(this[_cls]);
|
| let constructors = _js_mirrors._getConstructors(unwrapped);
|
| - constructors[dartx.forEach](dart.fn((name, ft) => {
|
| - let symbol = core.Symbol.new(name);
|
| - this[_declarations][dartx._set](symbol, new _js_mirrors.JsMethodMirror._constructor(this, name, ft));
|
| - }, StringAnddynamicTovoid()));
|
| + constructors[dartx.forEach](dart.fn((symbol, ft) => {
|
| + let name = _js_mirrors.getName(symbol);
|
| + this[_declarations][dartx._set](symbol, new _js_mirrors.JsMethodMirror._constructor(this, symbol, ft));
|
| + }, SymbolAnddynamicTovoid()));
|
| if (dart.test(constructors[dartx.isEmpty])) {
|
| let name = 'new';
|
| let ft = _js_mirrors._defaultConstructorType(_js_mirrors._unwrap(this[_cls]));
|
| let symbol = core.Symbol.new(name);
|
| - this[_declarations][dartx._set](symbol, new _js_mirrors.JsMethodMirror._constructor(this, name, ft));
|
| + this[_declarations][dartx._set](symbol, new _js_mirrors.JsMethodMirror._constructor(this, symbol, ft));
|
| }
|
| let fields = _js_mirrors._getFields(unwrapped);
|
| - fields[dartx.forEach](dart.fn((name, t) => {
|
| - let symbol = core.Symbol.new(name);
|
| + fields[dartx.forEach](dart.fn((symbol, t) => {
|
| let metadata = [];
|
| if (core.List.is(t)) {
|
| metadata = core.List._check(dart.dsend(dart.dsend(t, 'skip', 1), 'toList'));
|
| t = dart.dindex(t, 0);
|
| }
|
| - this[_declarations][dartx._set](symbol, new _js_mirrors.JsVariableMirror._(name, core.Type._check(_js_mirrors._wrap(t)), metadata));
|
| - }, StringAnddynamicTovoid()));
|
| + this[_declarations][dartx._set](symbol, new _js_mirrors.JsVariableMirror._(symbol, core.Type._check(_js_mirrors._wrap(t)), metadata));
|
| + }, SymbolAnddynamicTovoid()));
|
| let methods = _js_mirrors._getMethods(unwrapped);
|
| - methods[dartx.forEach](dart.fn((name, ft) => {
|
| - let symbol = core.Symbol.new(name);
|
| - this[_declarations][dartx._set](symbol, new _js_mirrors.JsMethodMirror._instanceMethod(this, name, ft));
|
| - }, StringAnddynamicTovoid()));
|
| + methods[dartx.forEach](dart.fn((symbol, ft) => {
|
| + let name = _js_mirrors.getName(symbol);
|
| + this[_declarations][dartx._set](symbol, new _js_mirrors.JsMethodMirror._instanceMethod(this, symbol, ft));
|
| + }, SymbolAnddynamicTovoid()));
|
| let getters = _js_mirrors._getGetters(unwrapped);
|
| - getters[dartx.forEach](dart.fn((name, ft) => {
|
| - let symbol = core.Symbol.new(name);
|
| - this[_declarations][dartx._set](symbol, new _js_mirrors.JsMethodMirror._instanceMethod(this, name, ft));
|
| - }, StringAnddynamicTovoid()));
|
| + getters[dartx.forEach](dart.fn((symbol, ft) => {
|
| + let name = _js_mirrors.getName(symbol);
|
| + this[_declarations][dartx._set](symbol, new _js_mirrors.JsMethodMirror._instanceMethod(this, symbol, ft));
|
| + }, SymbolAnddynamicTovoid()));
|
| let setters = _js_mirrors._getSetters(unwrapped);
|
| - setters[dartx.forEach](dart.fn((name, ft) => {
|
| - name = dart.notNull(name) + '=';
|
| - let symbol = core.Symbol.new(name);
|
| - this[_declarations][dartx._set](symbol, new _js_mirrors.JsMethodMirror._instanceMethod(this, name, ft));
|
| - }, StringAnddynamicTovoid()));
|
| + setters[dartx.forEach](dart.fn((symbol, ft) => {
|
| + let name = dart.notNull(_js_mirrors.getName(symbol)) + '=';
|
| + symbol = new _internal.Symbol.es6(name, _js_mirrors._getESSymbol(symbol));
|
| + this[_declarations][dartx._set](symbol, new _js_mirrors.JsMethodMirror._instanceMethod(this, symbol, ft));
|
| + }, SymbolAnddynamicTovoid()));
|
| let staticFields = _js_mirrors._getStaticFields(unwrapped);
|
| - staticFields[dartx.forEach](dart.fn((name, t) => {
|
| - let symbol = core.Symbol.new(name);
|
| + staticFields[dartx.forEach](dart.fn((symbol, t) => {
|
| + let name = _js_mirrors.getName(symbol);
|
| let metadata = [];
|
| if (core.List.is(t)) {
|
| metadata = core.List._check(dart.dsend(dart.dsend(t, 'skip', 1), 'toList'));
|
| t = dart.dindex(t, 0);
|
| }
|
| - this[_declarations][dartx._set](symbol, new _js_mirrors.JsVariableMirror._(name, core.Type._check(_js_mirrors._wrap(t)), metadata));
|
| - }, StringAnddynamicTovoid()));
|
| + this[_declarations][dartx._set](symbol, new _js_mirrors.JsVariableMirror._(symbol, core.Type._check(_js_mirrors._wrap(t)), metadata));
|
| + }, SymbolAnddynamicTovoid()));
|
| let statics = _js_mirrors._getStatics(unwrapped);
|
| - statics[dartx.forEach](dart.fn((name, ft) => {
|
| - let symbol = core.Symbol.new(name);
|
| - this[_declarations][dartx._set](symbol, new _js_mirrors.JsMethodMirror._staticMethod(this, name, ft));
|
| - }, StringAnddynamicTovoid()));
|
| + statics[dartx.forEach](dart.fn((symbol, ft) => {
|
| + let name = _js_mirrors.getName(symbol);
|
| + this[_declarations][dartx._set](symbol, new _js_mirrors.JsMethodMirror._staticMethod(this, symbol, ft));
|
| + }, SymbolAnddynamicTovoid()));
|
| let staticGetters = _js_mirrors._getStaticGetters(unwrapped);
|
| - staticGetters[dartx.forEach](dart.fn((name, ft) => {
|
| - let symbol = core.Symbol.new(name);
|
| - this[_declarations][dartx._set](symbol, new _js_mirrors.JsMethodMirror._staticMethod(this, name, ft));
|
| - }, StringAnddynamicTovoid()));
|
| + staticGetters[dartx.forEach](dart.fn((symbol, ft) => {
|
| + let name = _js_mirrors.getName(symbol);
|
| + this[_declarations][dartx._set](symbol, new _js_mirrors.JsMethodMirror._staticMethod(this, symbol, ft));
|
| + }, SymbolAnddynamicTovoid()));
|
| let staticSetters = _js_mirrors._getStaticSetters(unwrapped);
|
| - staticSetters[dartx.forEach](dart.fn((name, ft) => {
|
| - let symbol = core.Symbol.new(name);
|
| - this[_declarations][dartx._set](symbol, new _js_mirrors.JsMethodMirror._staticMethod(this, name, ft));
|
| - }, StringAnddynamicTovoid()));
|
| + staticSetters[dartx.forEach](dart.fn((symbol, ft) => {
|
| + let name = _js_mirrors.getName(symbol);
|
| + this[_declarations][dartx._set](symbol, new _js_mirrors.JsMethodMirror._staticMethod(this, symbol, ft));
|
| + }, SymbolAnddynamicTovoid()));
|
| this[_declarations] = MapOfSymbol$DeclarationMirror().unmodifiable(this[_declarations]);
|
| }
|
| return this[_declarations];
|
| @@ -13606,7 +13654,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| this[_cls] = cls;
|
| this[_raw] = _js_mirrors._getGenericClass(_js_mirrors._unwrap(cls));
|
| this.simpleName = core.Symbol.new(_js_mirrors._unwrap(cls).name);
|
| - this.mixin = null;
|
| + this[_mixin] = null;
|
| this[_typeArguments] = null;
|
| this[_metadata$] = null;
|
| this[_declarations] = null;
|
| @@ -13677,6 +13725,21 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| return mirrors.ClassMirror._check(_js_mirrors.reflectType(core.Type._check(_js_mirrors._wrap(_js_mirrors._unwrap(this[_cls]).__proto__))));
|
| }
|
| }
|
| + get mixin() {
|
| + if (this[_mixin] != null) {
|
| + return this[_mixin];
|
| + }
|
| + let mixins = _js_mirrors._getMixins(_js_mirrors._unwrap(this[_cls]));
|
| + if (mixins == null || dart.test(dart.dload(mixins, 'isEmpty'))) {
|
| + this[_mixin] = this;
|
| + return this[_mixin];
|
| + }
|
| + if (dart.test(dart.dsend(dart.dload(mixins, 'length'), '>', 1))) {
|
| + dart.throw(new core.UnsupportedError("ClassMirror.mixin not yet supported for " + dart.str`classes (${this[_cls]}) with multiple mixins`));
|
| + }
|
| + this[_mixin] = mirrors.ClassMirror._check(_js_mirrors.reflectType(core.Type._check(_js_mirrors._wrap(dart.dindex(mixins, 0)))));
|
| + return this[_mixin];
|
| + }
|
| toString() {
|
| return dart.str`ClassMirror on '${this[_cls]}'`;
|
| }
|
| @@ -13725,7 +13788,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| [_cls]: core.Type,
|
| simpleName: core.Symbol,
|
| [_raw]: dart.dynamic,
|
| - mixin: mirrors.ClassMirror,
|
| + [_mixin]: mirrors.ClassMirror,
|
| [_typeArguments]: ListOfTypeMirror(),
|
| [_metadata$]: ListOfInstanceMirror(),
|
| [_declarations]: MapOfSymbol$DeclarationMirror()
|
| @@ -13739,7 +13802,8 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| isOriginalDeclaration: dart.definiteFunctionType(core.bool, []),
|
| typeArguments: dart.definiteFunctionType(core.List$(mirrors.TypeMirror), []),
|
| originalDeclaration: dart.definiteFunctionType(mirrors.TypeMirror, []),
|
| - superclass: dart.definiteFunctionType(mirrors.ClassMirror, [])
|
| + superclass: dart.definiteFunctionType(mirrors.ClassMirror, []),
|
| + mixin: dart.definiteFunctionType(mirrors.ClassMirror, [])
|
| }),
|
| methods: () => ({
|
| newInstance: dart.definiteFunctionType(mirrors.InstanceMirror, [core.Symbol, core.List], [MapOfSymbol$dynamic()]),
|
| @@ -13748,13 +13812,15 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| invoke: dart.definiteFunctionType(mirrors.InstanceMirror, [core.Symbol, core.List], [MapOfSymbol$dynamic()])
|
| })
|
| });
|
| + const _symbol = Symbol('_symbol');
|
| const _name$ = Symbol('_name');
|
| _js_mirrors.JsVariableMirror = class JsVariableMirror extends _js_mirrors.JsMirror {
|
| get simpleName() {
|
| - return core.Symbol.new(this[_name$]);
|
| + return this[_symbol];
|
| }
|
| - _(name, t, annotations) {
|
| - this[_name$] = name;
|
| + _(symbol, t, annotations) {
|
| + this[_symbol] = symbol;
|
| + this[_name$] = _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;
|
| @@ -13785,8 +13851,9 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| dart.defineNamedConstructor(_js_mirrors.JsVariableMirror, '_');
|
| _js_mirrors.JsVariableMirror[dart.implements] = () => [mirrors.VariableMirror];
|
| dart.setSignature(_js_mirrors.JsVariableMirror, {
|
| - constructors: () => ({_: dart.definiteFunctionType(_js_mirrors.JsVariableMirror, [core.String, core.Type, core.List])}),
|
| + constructors: () => ({_: dart.definiteFunctionType(_js_mirrors.JsVariableMirror, [core.Symbol, core.Type, core.List])}),
|
| fields: () => ({
|
| + [_symbol]: core.Symbol,
|
| [_name$]: core.String,
|
| type: mirrors.TypeMirror,
|
| metadata: ListOfInstanceMirror(),
|
| @@ -13796,8 +13863,8 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| getters: () => ({simpleName: dart.definiteFunctionType(core.Symbol, [])})
|
| });
|
| _js_mirrors.JsParameterMirror = class JsParameterMirror extends _js_mirrors.JsVariableMirror {
|
| - _(name, t, annotations) {
|
| - super._(name, t, annotations);
|
| + _(member, t, annotations) {
|
| + super._(member, t, annotations);
|
| }
|
| toString() {
|
| return dart.str`ParameterMirror on '${this[_name$]}'`;
|
| @@ -13836,7 +13903,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| dart.defineNamedConstructor(_js_mirrors.JsParameterMirror, '_');
|
| _js_mirrors.JsParameterMirror[dart.implements] = () => [mirrors.ParameterMirror];
|
| dart.setSignature(_js_mirrors.JsParameterMirror, {
|
| - constructors: () => ({_: dart.definiteFunctionType(_js_mirrors.JsParameterMirror, [core.String, core.Type, core.List])})
|
| + constructors: () => ({_: dart.definiteFunctionType(_js_mirrors.JsParameterMirror, [core.Symbol, core.Type, core.List])})
|
| });
|
| const _params = Symbol('_params');
|
| const _createParameterMirrorList = Symbol('_createParameterMirrorList');
|
| @@ -13851,10 +13918,11 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| return this[_name$][dartx.startsWith]('_');
|
| }
|
| get simpleName() {
|
| - return core.Symbol.new(this[_name$]);
|
| + return this[_symbol];
|
| }
|
| - _constructor(cls, name, ftype) {
|
| - this[_name$] = name;
|
| + _constructor(cls, symbol, ftype) {
|
| + this[_symbol] = symbol;
|
| + this[_name$] = _js_mirrors.getName(symbol);
|
| this.isConstructor = true;
|
| this.isStatic = false;
|
| this[_params] = null;
|
| @@ -13862,8 +13930,9 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| this.isFinal = false;
|
| this[_createParameterMirrorList](ftype);
|
| }
|
| - _instanceMethod(cls, name, ftype) {
|
| - this[_name$] = name;
|
| + _instanceMethod(cls, symbol, ftype) {
|
| + this[_symbol] = symbol;
|
| + this[_name$] = _js_mirrors.getName(symbol);
|
| this.isConstructor = false;
|
| this.isStatic = false;
|
| this[_params] = null;
|
| @@ -13871,8 +13940,9 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| this.isFinal = false;
|
| this[_createParameterMirrorList](ftype);
|
| }
|
| - _staticMethod(cls, name, ftype) {
|
| - this[_name$] = name;
|
| + _staticMethod(cls, symbol, ftype) {
|
| + this[_symbol] = symbol;
|
| + this[_name$] = _js_mirrors.getName(symbol);
|
| this.isConstructor = false;
|
| this.isStatic = true;
|
| this[_params] = null;
|
| @@ -13881,7 +13951,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| this[_createParameterMirrorList](ftype);
|
| }
|
| get constructorName() {
|
| - return dart.test(this.isConstructor) ? core.Symbol.new(this[_name$]) : null;
|
| + return dart.test(this.isConstructor) ? this[_symbol] : null;
|
| }
|
| get parameters() {
|
| return this[_params];
|
| @@ -13910,13 +13980,13 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| for (let i = 0; i < dart.notNull(args[dartx.length]); ++i) {
|
| let type = args[dartx._get](i);
|
| let metadata = dart.dindex(dart.dload(ftype, 'metadata'), i);
|
| - let param = new _js_mirrors.JsParameterMirror._('', core.Type._check(_js_mirrors._wrap(type)), core.List._check(metadata));
|
| + let param = new _js_mirrors.JsParameterMirror._(core.Symbol.new(''), core.Type._check(_js_mirrors._wrap(type)), core.List._check(metadata));
|
| params[dartx._set](i, param);
|
| }
|
| for (let i = 0; i < dart.notNull(opts[dartx.length]); ++i) {
|
| let type = opts[dartx._get](i);
|
| let metadata = dart.dindex(dart.dload(ftype, 'metadata'), dart.notNull(args[dartx.length]) + i);
|
| - let param = new _js_mirrors.JsParameterMirror._('', core.Type._check(_js_mirrors._wrap(type)), core.List._check(metadata));
|
| + let param = new _js_mirrors.JsParameterMirror._(core.Symbol.new(''), core.Type._check(_js_mirrors._wrap(type)), core.List._check(metadata));
|
| params[dartx._set](i + dart.notNull(args[dartx.length]), param);
|
| }
|
| this[_params] = ListOfParameterMirror().unmodifiable(params);
|
| @@ -13976,11 +14046,12 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| _js_mirrors.JsMethodMirror[dart.implements] = () => [mirrors.MethodMirror];
|
| dart.setSignature(_js_mirrors.JsMethodMirror, {
|
| constructors: () => ({
|
| - _constructor: dart.definiteFunctionType(_js_mirrors.JsMethodMirror, [_js_mirrors.JsClassMirror, core.String, dart.dynamic]),
|
| - _instanceMethod: dart.definiteFunctionType(_js_mirrors.JsMethodMirror, [_js_mirrors.JsClassMirror, core.String, dart.dynamic]),
|
| - _staticMethod: dart.definiteFunctionType(_js_mirrors.JsMethodMirror, [_js_mirrors.JsClassMirror, core.String, dart.dynamic])
|
| + _constructor: dart.definiteFunctionType(_js_mirrors.JsMethodMirror, [_js_mirrors.JsClassMirror, core.Symbol, dart.dynamic]),
|
| + _instanceMethod: dart.definiteFunctionType(_js_mirrors.JsMethodMirror, [_js_mirrors.JsClassMirror, core.Symbol, dart.dynamic]),
|
| + _staticMethod: dart.definiteFunctionType(_js_mirrors.JsMethodMirror, [_js_mirrors.JsClassMirror, core.Symbol, dart.dynamic])
|
| }),
|
| fields: () => ({
|
| + [_symbol]: core.Symbol,
|
| [_name$]: core.String,
|
| [_params]: ListOfParameterMirror(),
|
| [_metadata$]: ListOfInstanceMirror(),
|
|
|