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 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
125 } | 125 } |
126 newInstance(constructorName, args, namedArgs) { | 126 newInstance(constructorName, args, namedArgs) { |
127 if (namedArgs === void 0) | 127 if (namedArgs === void 0) |
128 namedArgs = null; | 128 namedArgs = null; |
129 dart.assert(getName(constructorName) == ""); | 129 dart.assert(getName(constructorName) == ""); |
130 dart.assert(namedArgs == null || dart.notNull(namedArgs.isEmpty)); | 130 dart.assert(namedArgs == null || dart.notNull(namedArgs.isEmpty)); |
131 let instance = new this[_cls](...args); | 131 let instance = new this[_cls](...args); |
132 return new JsInstanceMirror._(instance); | 132 return new JsInstanceMirror._(instance); |
133 } | 133 } |
134 get superinterfaces() { | 134 get superinterfaces() { |
135 let interfaces = this[_cls][dart.implements]; | 135 let interfaceThunk = this[_cls][dart.implements]; |
136 if (interfaces == null) { | 136 if (interfaceThunk == null) { |
137 return dart.list([], mirrors.ClassMirror); | 137 return dart.list([], mirrors.ClassMirror); |
| 138 } else { |
| 139 let interfaces = dart.as(dart.dcall(interfaceThunk), core.List$(core.Typ
e)); |
| 140 return interfaces[dartx.map](dart.fn(t => new JsClassMirror._(dart.as(t,
core.Type)), JsClassMirror, [dart.dynamic]))[dartx.toList](); |
138 } | 141 } |
139 dart.throw(new core.UnimplementedError("ClassMirror.superinterfaces unimpl
emented")); | |
140 } | 142 } |
141 getField(fieldName) { | 143 getField(fieldName) { |
142 return dart.throw(new core.UnimplementedError("ClassMirror.getField unimpl
emented")); | 144 return dart.throw(new core.UnimplementedError("ClassMirror.getField unimpl
emented")); |
143 } | 145 } |
144 invoke(memberName, positionalArguments, namedArguments) { | 146 invoke(memberName, positionalArguments, namedArguments) { |
145 if (namedArguments === void 0) | 147 if (namedArguments === void 0) |
146 namedArguments = null; | 148 namedArguments = null; |
147 return dart.throw(new core.UnimplementedError("ClassMirror.invoke unimplem
ented")); | 149 return dart.throw(new core.UnimplementedError("ClassMirror.invoke unimplem
ented")); |
148 } | 150 } |
149 isAssignableTo(other) { | 151 isAssignableTo(other) { |
(...skipping 29 matching lines...) Expand all Loading... |
179 get isTopLevel() { | 181 get isTopLevel() { |
180 return dart.throw(new core.UnimplementedError("ClassMirror.isTopLevel unim
plemented")); | 182 return dart.throw(new core.UnimplementedError("ClassMirror.isTopLevel unim
plemented")); |
181 } | 183 } |
182 get location() { | 184 get location() { |
183 return dart.throw(new core.UnimplementedError("ClassMirror.location unimpl
emented")); | 185 return dart.throw(new core.UnimplementedError("ClassMirror.location unimpl
emented")); |
184 } | 186 } |
185 get mixin() { | 187 get mixin() { |
186 return dart.throw(new core.UnimplementedError("ClassMirror.mixin unimpleme
nted")); | 188 return dart.throw(new core.UnimplementedError("ClassMirror.mixin unimpleme
nted")); |
187 } | 189 } |
188 get originalDeclaration() { | 190 get originalDeclaration() { |
189 return dart.throw(new core.UnimplementedError("ClassMirror.originalDeclara
tion unimplemented")); | 191 return this; |
190 } | 192 } |
191 get owner() { | 193 get owner() { |
192 return dart.throw(new core.UnimplementedError("ClassMirror.owner unimpleme
nted")); | 194 return dart.throw(new core.UnimplementedError("ClassMirror.owner unimpleme
nted")); |
193 } | 195 } |
194 get qualifiedName() { | 196 get qualifiedName() { |
195 return dart.throw(new core.UnimplementedError("ClassMirror.qualifiedName u
nimplemented")); | 197 return dart.throw(new core.UnimplementedError("ClassMirror.qualifiedName u
nimplemented")); |
196 } | 198 } |
197 get reflectedType() { | 199 get reflectedType() { |
198 return dart.throw(new core.UnimplementedError("ClassMirror.reflectedType u
nimplemented")); | 200 return this[_cls]; |
199 } | 201 } |
200 get staticMembers() { | 202 get staticMembers() { |
201 return dart.throw(new core.UnimplementedError("ClassMirror.staticMembers u
nimplemented")); | 203 return dart.throw(new core.UnimplementedError("ClassMirror.staticMembers u
nimplemented")); |
202 } | 204 } |
203 get superclass() { | 205 get superclass() { |
204 return dart.throw(new core.UnimplementedError("ClassMirror.superclass unim
plemented")); | 206 if (dart.equals(this[_cls], core.Object)) { |
| 207 return null; |
| 208 } else { |
| 209 return new JsClassMirror._(this[_cls].__proto__); |
| 210 } |
205 } | 211 } |
206 get typeArguments() { | 212 get typeArguments() { |
207 return dart.throw(new core.UnimplementedError("ClassMirror.typeArguments u
nimplemented")); | 213 return dart.throw(new core.UnimplementedError("ClassMirror.typeArguments u
nimplemented")); |
208 } | 214 } |
209 get typeVariables() { | 215 get typeVariables() { |
210 return dart.throw(new core.UnimplementedError("ClassMirror.typeVariables u
nimplemented")); | 216 return dart.throw(new core.UnimplementedError("ClassMirror.typeVariables u
nimplemented")); |
211 } | 217 } |
212 } | 218 } |
213 JsClassMirror[dart.implements] = () => [mirrors.ClassMirror]; | 219 JsClassMirror[dart.implements] = () => [mirrors.ClassMirror]; |
214 dart.defineNamedConstructor(JsClassMirror, '_'); | 220 dart.defineNamedConstructor(JsClassMirror, '_'); |
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
407 get isSynthetic() { | 413 get isSynthetic() { |
408 return dart.throw(new core.UnimplementedError("MethodMirror.isSynthetic un
implemented")); | 414 return dart.throw(new core.UnimplementedError("MethodMirror.isSynthetic un
implemented")); |
409 } | 415 } |
410 get isTopLevel() { | 416 get isTopLevel() { |
411 return dart.throw(new core.UnimplementedError("MethodMirror.isTopLevel uni
mplemented")); | 417 return dart.throw(new core.UnimplementedError("MethodMirror.isTopLevel uni
mplemented")); |
412 } | 418 } |
413 get location() { | 419 get location() { |
414 return dart.throw(new core.UnimplementedError("MethodMirror.location unimp
lemented")); | 420 return dart.throw(new core.UnimplementedError("MethodMirror.location unimp
lemented")); |
415 } | 421 } |
416 get metadata() { | 422 get metadata() { |
417 return dart.throw(new core.UnimplementedError("MethodMirror.metadata unimp
lemented")); | 423 return dart.list([], mirrors.InstanceMirror); |
418 } | 424 } |
419 get owner() { | 425 get owner() { |
420 return dart.throw(new core.UnimplementedError("MethodMirror.owner unimplem
ented")); | 426 return dart.throw(new core.UnimplementedError("MethodMirror.owner unimplem
ented")); |
421 } | 427 } |
422 get qualifiedName() { | 428 get qualifiedName() { |
423 return dart.throw(new core.UnimplementedError("MethodMirror.qualifiedName
unimplemented")); | 429 return dart.throw(new core.UnimplementedError("MethodMirror.qualifiedName
unimplemented")); |
424 } | 430 } |
425 get returnType() { | 431 get returnType() { |
426 return dart.throw(new core.UnimplementedError("MethodMirror.returnType uni
mplemented")); | 432 return dart.throw(new core.UnimplementedError("MethodMirror.returnType uni
mplemented")); |
427 } | 433 } |
(...skipping 14 matching lines...) Expand all Loading... |
442 exports.getName = getName; | 448 exports.getName = getName; |
443 exports.getSymbol = getSymbol; | 449 exports.getSymbol = getSymbol; |
444 exports.reflect = reflect; | 450 exports.reflect = reflect; |
445 exports.reflectType = reflectType; | 451 exports.reflectType = reflectType; |
446 exports.JsInstanceMirror = JsInstanceMirror; | 452 exports.JsInstanceMirror = JsInstanceMirror; |
447 exports.JsClassMirror = JsClassMirror; | 453 exports.JsClassMirror = JsClassMirror; |
448 exports.JsTypeMirror = JsTypeMirror; | 454 exports.JsTypeMirror = JsTypeMirror; |
449 exports.JsParameterMirror = JsParameterMirror; | 455 exports.JsParameterMirror = JsParameterMirror; |
450 exports.JsMethodMirror = JsMethodMirror; | 456 exports.JsMethodMirror = JsMethodMirror; |
451 }); | 457 }); |
OLD | NEW |