| Index: sdk/lib/_internal/lib/js_mirrors.dart
|
| diff --git a/sdk/lib/_internal/lib/js_mirrors.dart b/sdk/lib/_internal/lib/js_mirrors.dart
|
| index c54dc57cb3d3f28492c5eaa7170b8219b2b39a80..70f37ea7214b51fba374511f1ac68b3fc030490d 100644
|
| --- a/sdk/lib/_internal/lib/js_mirrors.dart
|
| +++ b/sdk/lib/_internal/lib/js_mirrors.dart
|
| @@ -2693,6 +2693,8 @@ TypeMirror typeMirrorFromRuntimeTypeRepresentation(
|
| String representation;
|
| if (type == null) {
|
| return JsMirrorSystem._dynamicType;
|
| + } else if (type is Type) {
|
| + return reflectType(type);
|
| } else if (ownerClass == null) {
|
| representation = runtimeTypeToString(type);
|
| } else if (ownerClass.isOriginalDeclaration) {
|
| @@ -2748,6 +2750,12 @@ TypeMirror typeMirrorFromRuntimeTypeRepresentation(
|
| return reflectClassByMangledName(
|
| getMangledTypeName(createRuntimeType(representation)));
|
| }
|
| + if (type != null && JS('Object|Null', '#.typedef', type) != null) {
|
| + return typeMirrorFromRuntimeTypeRepresentation(
|
| + owner, JS('Object', '#.typedef', type));
|
| + } else if (type != null && JS('Object|Null', '#.func', type) != null) {
|
| + return new JsFunctionTypeMirror(type, owner);
|
| + }
|
| return reflectClass(Function);
|
| }
|
|
|
|
|