Index: dart/sdk/lib/_internal/lib/js_mirrors.dart |
diff --git a/dart/sdk/lib/_internal/lib/js_mirrors.dart b/dart/sdk/lib/_internal/lib/js_mirrors.dart |
index ba809de98874a716724c141d3153732464e8504d..cb4897515bf99a2eaedaacf7ac7245b686bb4ace 100644 |
--- a/dart/sdk/lib/_internal/lib/js_mirrors.dart |
+++ b/dart/sdk/lib/_internal/lib/js_mirrors.dart |
@@ -1631,7 +1631,10 @@ class JsClosureMirror extends JsInstanceMirror implements ClosureMirror { |
MethodMirror get function { |
String cacheName = Primitives.mirrorFunctionCacheName; |
JsMethodMirror cachedFunction; |
- // TODO(ahe): Restore caching. |
+ // TODO(ahe): Restore caching. We used to have a one-to-one correspondence |
+ // between a method that could be torn off and a constructor (the bound |
+ // closure classes). But now all tear-offs share the same constructor (a |
+ // class called BoundClosure in js_helper.dart). |
//= JS('JsMethodMirror|Null', r'#.constructor[#]', reflectee, cacheName); |
if (cachedFunction != null) return cachedFunction; |
disableTreeShaking(); |
@@ -1769,6 +1772,7 @@ class JsMethodMirror extends JsDeclarationMirror implements MethodMirror { |
var functionType = info.functionType; |
var type; |
if (functionType is int) { |
+ // A reference to a type variable in init.metadata. |
type = new JsFunctionTypeMirror(info.computeFunctionRti(null), this); |
assert(_parameterCount == type.parameters.length); |
} else if (isTopLevel) { |