| Index: lib/runtime/dart/_js_mirrors.js
|
| diff --git a/lib/runtime/dart/_js_mirrors.js b/lib/runtime/dart/_js_mirrors.js
|
| index 7488d5461cc5063c3732dd27f4fe923ad33fd2a3..9e2c5c7f4e75ff39369359f072b144e57dfd6af5 100644
|
| --- a/lib/runtime/dart/_js_mirrors.js
|
| +++ b/lib/runtime/dart/_js_mirrors.js
|
| @@ -135,8 +135,9 @@ dart_library.library('dart/_js_mirrors', null, /* Imports */[
|
| let interfaces = this[_cls][dart.implements];
|
| if (interfaces == null) {
|
| return dart.list([], mirrors.ClassMirror);
|
| + } else {
|
| + return dart.as(dart.dsend(dart.dcall(interfaces), 'map', dart.fn(t => new JsClassMirror._(dart.as(t, core.Type)), JsClassMirror, [dart.dynamic])), core.List$(mirrors.ClassMirror));
|
| }
|
| - dart.throw(new core.UnimplementedError("ClassMirror.superinterfaces unimplemented"));
|
| }
|
| getField(fieldName) {
|
| return dart.throw(new core.UnimplementedError("ClassMirror.getField unimplemented"));
|
| @@ -186,7 +187,7 @@ dart_library.library('dart/_js_mirrors', null, /* Imports */[
|
| return dart.throw(new core.UnimplementedError("ClassMirror.mixin unimplemented"));
|
| }
|
| get originalDeclaration() {
|
| - return dart.throw(new core.UnimplementedError("ClassMirror.originalDeclaration unimplemented"));
|
| + return this;
|
| }
|
| get owner() {
|
| return dart.throw(new core.UnimplementedError("ClassMirror.owner unimplemented"));
|
| @@ -195,13 +196,17 @@ dart_library.library('dart/_js_mirrors', null, /* Imports */[
|
| return dart.throw(new core.UnimplementedError("ClassMirror.qualifiedName unimplemented"));
|
| }
|
| get reflectedType() {
|
| - return dart.throw(new core.UnimplementedError("ClassMirror.reflectedType unimplemented"));
|
| + return this[_cls];
|
| }
|
| get staticMembers() {
|
| return dart.throw(new core.UnimplementedError("ClassMirror.staticMembers unimplemented"));
|
| }
|
| get superclass() {
|
| - return dart.throw(new core.UnimplementedError("ClassMirror.superclass unimplemented"));
|
| + if (dart.equals(this[_cls], core.Object)) {
|
| + return null;
|
| + } else {
|
| + return new JsClassMirror._(this[_cls].__proto__);
|
| + }
|
| }
|
| get typeArguments() {
|
| return dart.throw(new core.UnimplementedError("ClassMirror.typeArguments unimplemented"));
|
| @@ -414,7 +419,7 @@ dart_library.library('dart/_js_mirrors', null, /* Imports */[
|
| return dart.throw(new core.UnimplementedError("MethodMirror.location unimplemented"));
|
| }
|
| get metadata() {
|
| - return dart.throw(new core.UnimplementedError("MethodMirror.metadata unimplemented"));
|
| + return dart.list([], mirrors.InstanceMirror);
|
| }
|
| get owner() {
|
| return dart.throw(new core.UnimplementedError("MethodMirror.owner unimplemented"));
|
|
|