| Index: sdk/lib/_internal/compiler/js_lib/js_mirrors.dart
|
| diff --git a/sdk/lib/_internal/compiler/js_lib/js_mirrors.dart b/sdk/lib/_internal/compiler/js_lib/js_mirrors.dart
|
| index ff7e9c509ae724e7ca4ffbb3bd9c019a2fa627b8..c69e159d9803716540224ef8862e6814bfdb8b75 100644
|
| --- a/sdk/lib/_internal/compiler/js_lib/js_mirrors.dart
|
| +++ b/sdk/lib/_internal/compiler/js_lib/js_mirrors.dart
|
| @@ -28,6 +28,7 @@ import 'dart:_foreign_helper' show
|
| JS_EMBEDDED_GLOBAL,
|
| JS_GET_NAME,
|
| JS_TYPEDEF_TAG,
|
| + JS_FUNCTION_TYPE_TAG,
|
| JS_FUNCTION_TYPE_RETURN_TYPE_TAG,
|
| JS_FUNCTION_TYPE_VOID_RETURN_TAG,
|
| JS_FUNCTION_TYPE_REQUIRED_PARAMETERS_TAG,
|
| @@ -56,7 +57,6 @@ import 'dart:_js_helper' show
|
| getMetadata,
|
| getType,
|
| getRuntimeType,
|
| - isDartFunctionType,
|
| runtimeTypeToString,
|
| setRuntimeTypeInfo,
|
| throwInvalidReflectionError,
|
| @@ -2855,10 +2855,12 @@ TypeMirror typeMirrorFromRuntimeTypeRepresentation(
|
| getMangledTypeName(createRuntimeType(representation)));
|
| }
|
| String typedefPropertyName = JS_TYPEDEF_TAG();
|
| + String functionTagPropertyName = JS_FUNCTION_TYPE_TAG();
|
| if (type != null && JS('', '#[#]', type, typedefPropertyName) != null) {
|
| return typeMirrorFromRuntimeTypeRepresentation(
|
| owner, JS('', '#[#]', type, typedefPropertyName));
|
| - } else if (type != null && isDartFunctionType(type)) {
|
| + } else if (type != null &&
|
| + JS('', '#[#]', type, functionTagPropertyName) != null) {
|
| return new JsFunctionTypeMirror(type, owner);
|
| }
|
| return reflectClass(Function);
|
|
|