| 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 10 matching lines...) Expand all Loading... |
| 21 } | 21 } |
| 22 }); | 22 }); |
| 23 function reflect(reflectee) { | 23 function reflect(reflectee) { |
| 24 return new JsInstanceMirror._(reflectee); | 24 return new JsInstanceMirror._(reflectee); |
| 25 } | 25 } |
| 26 dart.fn(reflect, mirrors.InstanceMirror, [dart.dynamic]); | 26 dart.fn(reflect, mirrors.InstanceMirror, [dart.dynamic]); |
| 27 function reflectType(key) { | 27 function reflectType(key) { |
| 28 return new JsClassMirror._(key); | 28 return new JsClassMirror._(key); |
| 29 } | 29 } |
| 30 dart.fn(reflectType, mirrors.TypeMirror, [core.Type]); | 30 dart.fn(reflectType, mirrors.TypeMirror, [core.Type]); |
| 31 dart.defineLazyProperties(exports, { | 31 const _dart = dart; |
| 32 get _dart() { | 32 const _metadata = _dart.metadata; |
| 33 return dart; | |
| 34 }, | |
| 35 get _metadata() { | |
| 36 return exports._dart.metadata; | |
| 37 } | |
| 38 }); | |
| 39 function _dload(obj, name) { | 33 function _dload(obj, name) { |
| 40 return exports._dart.dload(obj, name); | 34 return _dart.dload(obj, name); |
| 41 } | 35 } |
| 42 dart.fn(_dload, dart.dynamic, [dart.dynamic, core.String]); | 36 dart.fn(_dload, dart.dynamic, [dart.dynamic, core.String]); |
| 43 function _dput(obj, name, val) { | 37 function _dput(obj, name, val) { |
| 44 exports._dart.dput(obj, name, val); | 38 _dart.dput(obj, name, val); |
| 45 } | 39 } |
| 46 dart.fn(_dput, dart.void, [dart.dynamic, core.String, dart.dynamic]); | 40 dart.fn(_dput, dart.void, [dart.dynamic, core.String, dart.dynamic]); |
| 47 function _dsend(obj, name, args) { | 41 function _dsend(obj, name, args) { |
| 48 return exports._dart.dsend(obj, name, ...args); | 42 return _dart.dsend(obj, name, ...args); |
| 49 } | 43 } |
| 50 dart.fn(_dsend, dart.dynamic, [dart.dynamic, core.String, core.List]); | 44 dart.fn(_dsend, dart.dynamic, [dart.dynamic, core.String, core.List]); |
| 51 const _toJsMap = Symbol('_toJsMap'); | 45 const _toJsMap = Symbol('_toJsMap'); |
| 52 class JsInstanceMirror extends core.Object { | 46 class JsInstanceMirror extends core.Object { |
| 53 _(reflectee) { | 47 _(reflectee) { |
| 54 this.reflectee = reflectee; | 48 this.reflectee = reflectee; |
| 55 } | 49 } |
| 56 get type() { | 50 get type() { |
| 57 return dart.throw(new core.UnimplementedError("ClassMirror.type unimplemen
ted")); | 51 return dart.throw(new core.UnimplementedError("ClassMirror.type unimplemen
ted")); |
| 58 } | 52 } |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 96 dart.setSignature(JsInstanceMirror, { | 90 dart.setSignature(JsInstanceMirror, { |
| 97 constructors: () => ({_: [JsInstanceMirror, [core.Object]]}), | 91 constructors: () => ({_: [JsInstanceMirror, [core.Object]]}), |
| 98 methods: () => ({ | 92 methods: () => ({ |
| 99 delegate: [dart.dynamic, [core.Invocation]], | 93 delegate: [dart.dynamic, [core.Invocation]], |
| 100 getField: [mirrors.InstanceMirror, [core.Symbol]], | 94 getField: [mirrors.InstanceMirror, [core.Symbol]], |
| 101 setField: [mirrors.InstanceMirror, [core.Symbol, core.Object]], | 95 setField: [mirrors.InstanceMirror, [core.Symbol, core.Object]], |
| 102 invoke: [mirrors.InstanceMirror, [core.Symbol, core.List], [core.Map$(core
.Symbol, dart.dynamic)]], | 96 invoke: [mirrors.InstanceMirror, [core.Symbol, core.List], [core.Map$(core
.Symbol, dart.dynamic)]], |
| 103 [_toJsMap]: [dart.dynamic, [core.Map$(core.Symbol, dart.dynamic)]] | 97 [_toJsMap]: [dart.dynamic, [core.Map$(core.Symbol, dart.dynamic)]] |
| 104 }) | 98 }) |
| 105 }); | 99 }); |
| 106 const _metadata = Symbol('_metadata'); | 100 const _metadata$ = Symbol('_metadata'); |
| 107 const _declarations = Symbol('_declarations'); | 101 const _declarations = Symbol('_declarations'); |
| 108 const _cls = Symbol('_cls'); | 102 const _cls = Symbol('_cls'); |
| 109 class JsClassMirror extends core.Object { | 103 class JsClassMirror extends core.Object { |
| 110 get metadata() { | 104 get metadata() { |
| 111 return this[_metadata]; | 105 return this[_metadata$]; |
| 112 } | 106 } |
| 113 get declarations() { | 107 get declarations() { |
| 114 return this[_declarations]; | 108 return this[_declarations]; |
| 115 } | 109 } |
| 116 _(cls) { | 110 _(cls) { |
| 117 this[_cls] = cls; | 111 this[_cls] = cls; |
| 118 this.simpleName = core.Symbol.new(cls.name); | 112 this.simpleName = core.Symbol.new(cls.name); |
| 119 this[_metadata] = null; | 113 this[_metadata$] = null; |
| 120 this[_declarations] = null; | 114 this[_declarations] = null; |
| 121 let fn = this[_cls][dart.metadata]; | 115 let fn = this[_cls][dart.metadata]; |
| 122 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)); | 116 this[_metadata$] = fn == null ? dart.list([], mirrors.InstanceMirror) : co
re.List$(mirrors.InstanceMirror).from(dart.as(dart.dsend(dart.dcall(fn), 'map',
dart.fn(i => new JsInstanceMirror._(i), JsInstanceMirror, [dart.dynamic])), core
.Iterable)); |
| 123 this[_declarations] = core.Map$(core.Symbol, mirrors.MethodMirror).new(); | 117 this[_declarations] = core.Map$(core.Symbol, mirrors.MethodMirror).new(); |
| 124 this[_declarations].set(this.simpleName, new JsMethodMirror._(this, this[_
cls])); | 118 this[_declarations].set(this.simpleName, new JsMethodMirror._(this, this[_
cls])); |
| 125 } | 119 } |
| 126 newInstance(constructorName, args, namedArgs) { | 120 newInstance(constructorName, args, namedArgs) { |
| 127 if (namedArgs === void 0) | 121 if (namedArgs === void 0) |
| 128 namedArgs = null; | 122 namedArgs = null; |
| 129 dart.assert(getName(constructorName) == ""); | 123 dart.assert(getName(constructorName) == ""); |
| 130 dart.assert(namedArgs == null || dart.notNull(namedArgs.isEmpty)); | 124 dart.assert(namedArgs == null || dart.notNull(namedArgs.isEmpty)); |
| 131 let instance = new this[_cls](...args); | 125 let instance = new this[_cls](...args); |
| 132 return new JsInstanceMirror._(instance); | 126 return new JsInstanceMirror._(instance); |
| (...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 337 constructors: () => ({_: [JsParameterMirror, [core.String, core.Type, core.L
ist]]}) | 331 constructors: () => ({_: [JsParameterMirror, [core.String, core.Type, core.L
ist]]}) |
| 338 }); | 332 }); |
| 339 const _method = Symbol('_method'); | 333 const _method = Symbol('_method'); |
| 340 const _params = Symbol('_params'); | 334 const _params = Symbol('_params'); |
| 341 const _createParameterMirrorList = Symbol('_createParameterMirrorList'); | 335 const _createParameterMirrorList = Symbol('_createParameterMirrorList'); |
| 342 class JsMethodMirror extends core.Object { | 336 class JsMethodMirror extends core.Object { |
| 343 _(cls, method) { | 337 _(cls, method) { |
| 344 this[_method] = method; | 338 this[_method] = method; |
| 345 this[_name] = getName(cls.simpleName); | 339 this[_name] = getName(cls.simpleName); |
| 346 this[_params] = null; | 340 this[_params] = null; |
| 347 let ftype = exports._dart.classGetConstructorType(cls[_cls]); | 341 let ftype = _dart.classGetConstructorType(cls[_cls]); |
| 348 this[_params] = this[_createParameterMirrorList](ftype); | 342 this[_params] = this[_createParameterMirrorList](ftype); |
| 349 } | 343 } |
| 350 get constructorName() { | 344 get constructorName() { |
| 351 return core.Symbol.new(''); | 345 return core.Symbol.new(''); |
| 352 } | 346 } |
| 353 get parameters() { | 347 get parameters() { |
| 354 return this[_params]; | 348 return this[_params]; |
| 355 } | 349 } |
| 356 [_createParameterMirrorList](ftype) { | 350 [_createParameterMirrorList](ftype) { |
| 357 if (ftype == null) { | 351 if (ftype == null) { |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 448 exports.getName = getName; | 442 exports.getName = getName; |
| 449 exports.getSymbol = getSymbol; | 443 exports.getSymbol = getSymbol; |
| 450 exports.reflect = reflect; | 444 exports.reflect = reflect; |
| 451 exports.reflectType = reflectType; | 445 exports.reflectType = reflectType; |
| 452 exports.JsInstanceMirror = JsInstanceMirror; | 446 exports.JsInstanceMirror = JsInstanceMirror; |
| 453 exports.JsClassMirror = JsClassMirror; | 447 exports.JsClassMirror = JsClassMirror; |
| 454 exports.JsTypeMirror = JsTypeMirror; | 448 exports.JsTypeMirror = JsTypeMirror; |
| 455 exports.JsParameterMirror = JsParameterMirror; | 449 exports.JsParameterMirror = JsParameterMirror; |
| 456 exports.JsMethodMirror = JsMethodMirror; | 450 exports.JsMethodMirror = JsMethodMirror; |
| 457 }); | 451 }); |
| OLD | NEW |