| OLD | NEW |
| 1 dart_library.library('dart/_js_mirrors', null, /* Imports */[ | 1 dart_library.library('dart/_js_mirrors', null, /* Imports */[ |
| 2 'dart/_runtime', | 2 'dart/_runtime', |
| 3 'dart/_internal', | 3 'dart/_internal', |
| 4 'dart/core', | 4 'dart/core', |
| 5 'dart/mirrors' | 5 'dart/mirrors' |
| 6 ], /* Lazy imports */[ | 6 ], /* Lazy imports */[ |
| 7 ], function(exports, dart, _internal, core, mirrors) { | 7 ], function(exports, dart, _internal, core, mirrors) { |
| 8 'use strict'; | 8 'use strict'; |
| 9 let dartx = dart.dartx; | 9 let dartx = dart.dartx; |
| 10 function getName(symbol) { | 10 function getName(symbol) { |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 70 let name = getName(symbol); | 70 let name = getName(symbol); |
| 71 if (namedArgs != null) { | 71 if (namedArgs != null) { |
| 72 args = core.List.from(args); | 72 args = core.List.from(args); |
| 73 args[dartx.add](this[_toJsMap](namedArgs)); | 73 args[dartx.add](this[_toJsMap](namedArgs)); |
| 74 } | 74 } |
| 75 let result = _dsend(this.reflectee, name, args); | 75 let result = _dsend(this.reflectee, name, args); |
| 76 return new JsInstanceMirror._(result); | 76 return new JsInstanceMirror._(result); |
| 77 } | 77 } |
| 78 [_toJsMap](map) { | 78 [_toJsMap](map) { |
| 79 let obj = {}; | 79 let obj = {}; |
| 80 map.forEach(dart.fn((key, value) => { | 80 map[dartx.forEach](dart.fn((key, value) => { |
| 81 obj[getName(key)] = value; | 81 obj[getName(key)] = value; |
| 82 }, dart.void, [core.Symbol, dart.dynamic])); | 82 }, dart.void, [core.Symbol, dart.dynamic])); |
| 83 return obj; | 83 return obj; |
| 84 } | 84 } |
| 85 } | 85 } |
| 86 JsInstanceMirror[dart.implements] = () => [mirrors.InstanceMirror]; | 86 JsInstanceMirror[dart.implements] = () => [mirrors.InstanceMirror]; |
| 87 dart.defineNamedConstructor(JsInstanceMirror, '_'); | 87 dart.defineNamedConstructor(JsInstanceMirror, '_'); |
| 88 dart.setSignature(JsInstanceMirror, { | 88 dart.setSignature(JsInstanceMirror, { |
| 89 constructors: () => ({_: [JsInstanceMirror, [core.Object]]}), | 89 constructors: () => ({_: [JsInstanceMirror, [core.Object]]}), |
| 90 methods: () => ({ | 90 methods: () => ({ |
| (...skipping 15 matching lines...) Expand all Loading... |
| 106 return this[_declarations]; | 106 return this[_declarations]; |
| 107 } | 107 } |
| 108 _(cls) { | 108 _(cls) { |
| 109 this[_cls] = cls; | 109 this[_cls] = cls; |
| 110 this.simpleName = core.Symbol.new(cls.name); | 110 this.simpleName = core.Symbol.new(cls.name); |
| 111 this[_metadata] = null; | 111 this[_metadata] = null; |
| 112 this[_declarations] = null; | 112 this[_declarations] = null; |
| 113 let fn = this[_cls][dart.metadata]; | 113 let fn = this[_cls][dart.metadata]; |
| 114 this[_metadata] = fn == null ? dart.list([], mirrors.InstanceMirror) : cor
e.List$(mirrors.InstanceMirror).from(dart.as(dart.dsend(dart.dcall(fn), 'map', d
art.fn(i => new JsInstanceMirror._(i), JsInstanceMirror, [dart.dynamic])), core.
Iterable)); | 114 this[_metadata] = fn == null ? dart.list([], mirrors.InstanceMirror) : cor
e.List$(mirrors.InstanceMirror).from(dart.as(dart.dsend(dart.dcall(fn), 'map', d
art.fn(i => new JsInstanceMirror._(i), JsInstanceMirror, [dart.dynamic])), core.
Iterable)); |
| 115 this[_declarations] = core.Map$(core.Symbol, mirrors.MethodMirror).new(); | 115 this[_declarations] = core.Map$(core.Symbol, mirrors.MethodMirror).new(); |
| 116 this[_declarations].set(this.simpleName, new JsMethodMirror._(this, this[_
cls])); | 116 this[_declarations][dartx.set](this.simpleName, new JsMethodMirror._(this,
this[_cls])); |
| 117 } | 117 } |
| 118 newInstance(constructorName, args, namedArgs) { | 118 newInstance(constructorName, args, namedArgs) { |
| 119 if (namedArgs === void 0) namedArgs = null; | 119 if (namedArgs === void 0) namedArgs = null; |
| 120 dart.assert(getName(constructorName) == ""); | 120 dart.assert(getName(constructorName) == ""); |
| 121 dart.assert(namedArgs == null || dart.notNull(namedArgs.isEmpty)); | 121 dart.assert(namedArgs == null || dart.notNull(namedArgs[dartx.isEmpty])); |
| 122 let instance = new this[_cls](...args); | 122 let instance = new this[_cls](...args); |
| 123 return new JsInstanceMirror._(instance); | 123 return new JsInstanceMirror._(instance); |
| 124 } | 124 } |
| 125 get superinterfaces() { | 125 get superinterfaces() { |
| 126 let interfaceThunk = this[_cls][dart.implements]; | 126 let interfaceThunk = this[_cls][dart.implements]; |
| 127 if (interfaceThunk == null) { | 127 if (interfaceThunk == null) { |
| 128 return dart.list([], mirrors.ClassMirror); | 128 return dart.list([], mirrors.ClassMirror); |
| 129 } else { | 129 } else { |
| 130 let interfaces = dart.as(dart.dcall(interfaceThunk), core.List$(core.Typ
e)); | 130 let interfaces = dart.as(dart.dcall(interfaceThunk), core.List$(core.Typ
e)); |
| 131 return interfaces[dartx.map](dart.fn(t => new JsClassMirror._(t), JsClas
sMirror, [core.Type]))[dartx.toList](); | 131 return interfaces[dartx.map](dart.fn(t => new JsClassMirror._(t), JsClas
sMirror, [core.Type]))[dartx.toList](); |
| (...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 438 exports.getName = getName; | 438 exports.getName = getName; |
| 439 exports.getSymbol = getSymbol; | 439 exports.getSymbol = getSymbol; |
| 440 exports.reflect = reflect; | 440 exports.reflect = reflect; |
| 441 exports.reflectType = reflectType; | 441 exports.reflectType = reflectType; |
| 442 exports.JsInstanceMirror = JsInstanceMirror; | 442 exports.JsInstanceMirror = JsInstanceMirror; |
| 443 exports.JsClassMirror = JsClassMirror; | 443 exports.JsClassMirror = JsClassMirror; |
| 444 exports.JsTypeMirror = JsTypeMirror; | 444 exports.JsTypeMirror = JsTypeMirror; |
| 445 exports.JsParameterMirror = JsParameterMirror; | 445 exports.JsParameterMirror = JsParameterMirror; |
| 446 exports.JsMethodMirror = JsMethodMirror; | 446 exports.JsMethodMirror = JsMethodMirror; |
| 447 }); | 447 }); |
| OLD | NEW |