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); |